• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 23.04.2016 00:55:33C programlama 2 oyun
  • 20.04.2016 16:34:41Local Database
  • 15.04.2016 14:26:15Fatura kayıt işlemi
  • 21.03.2016 01:55:30C# problem

Popüler Sorular

  • 27.05.2012 05:49:50Asp.Net ile Date time alana veri ekleyemiiyorum ?
  • 2.04.2012 00:45:18.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 12.05.2012 08:44:49Acil Yardım
  • 27.05.2012 13:46:51veri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LINQ
  • LibreOffice
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

Doğrusal Programlama

Doğrusal programlama tekniği kısıtlı kaynaklarla en uygun sonucun alınmasında kullanılan bir karar verme aracı olarak tanımlanabilir. Yöneylem araştırmasında doğrusal programlama nasıl kullanılır?

08.10.2015

Yazar: Barış Tamer Akyılmaz (Google+)

Kategori: Yöneylem Araştırması

7050

DOĞRUSAL PROGRAMLAMA

Doğrusal programlama tekniği kısıtlı kaynaklarla en uygun sonucun alınmasında kullanılan bir karar verme aracı olarak tanımlanabilir. Doğrusal programlama tekniğinin iki temel dayanağı söz konusudur. Bunlar doğrusallık ve sınırlılıktır. Bir problemin doğrusal programlama problemi olabilmesi bu iki özelliğine bağlıdır. Kaynakların sınırsız olduğu koşullarda optimizasyon (eniyileme) anlamsızdır. Diğer taraftan doğrusal programlama problemlerinin tanımlanmasında üç unsurdan bahsedilebilir. Birincisi amaç fonksiyon, ikincisi karar değişkenleri, üçüncüsü ise kısıtlardır. Bir problemin doğrusal programlama problemi olarak tanımlanabilmesi bu unsurların doğrusal fonksiyon olarak tanımlanabilmesi ve yazılabilmesine bağlıdır. Doğrusal modellerin çözümü ile ilgili ilk çalışmalar 19. yüzyılın başlarında gerçekleştirilmiştir.

Ancak doğrusal programlamanın uygulamaları açısından esas gelişim gösterdiği dönem İkinci Dünya Savaşı yıllarıdır. Savaş döneminde özellikle İngiltere’deki komuta merkezinin başta lojistik ve savunma olmak üzere, birçok optimizasyon probleminin çözümü için doğrusal modelleri geliştirme çabası sadece doğrusal programlamanın değil, aynı zamanda o yıllarda "Harekat Araştırması" olarak adlandırılan günümüzde ise "Yöneylem Araştırması" disiplininin temellendirilmesinde de büyük bir rol oynamıştır.

Doğrusal programlama askeri, endüstriyel, ekonomik ve sosyal faaliyetler başta olmak üzere pekçok hayati süreçte kendisine uygulama alanı bulmuştur. Zaman içerisinde doğrusal programlama önceleri savaş döneminde Atlantik'te seyreden gemilerin seyir biçiminin, Londra hava savunması için uçaksavar bataryalarının yerleşim düzeyinin eniyilenmesi problemlerine çözüm ararken, günümüzde mal ve hizmetlerin üretiminde girdilerin enazlanıp, gelir ve faydanın ençoklanması gibi temel iktisadi sorunlara ışık tutar olmuştur. Doğrusal programlama, birçok problemin çözümünü araştırırken gelişmiş ve sorunların niteliğine göre birçok şekilde farklı yaklaşım ve türev modellerinde ortaya çıkmasını sağlamış ve böylelikle, günümüzde yöneylem araştırmasının belli başlı çalışma sahalarından biri haline gelmiştir.

Bu bağlamda tamsayılı doğrusal programlama, karmaşık tamsayılı programlama, hedef programlama, ulaştırma ve atama modelleri, şebeke modelleri, karar ağaçları, veri zarflama analizi gibi pekçok model ve yaklaşımın geliştirilmesinde ve uygulanmasında temel teşkil etmiştir. Tüm bunlar gözönüne alındığında günümüzdeki pekçok yönetimsel problemlerin anlaşılmasında doğrusal programlama modelinin anlaşılması büyük bir önem arzetmektedir.

Doğrusal programlama modelinin temel gösterimi, yazının girişinde de belirtildiği gibi, bir amaç fonksiyonu (temel doğrusal programlama için sadece bir adet amaç fonksiyonu), n adet kısıt fonksiyonu ve negatif olmama koşuluna sahip karar değişkenleri olmak üzere üç unsurdan oluşmaktadır. Bir doğrusal programlama modeli;

Amaç Fonksiyonu (Maksimum veya minimum olmak üzere 1 adet) :

 

                Maks:

Amaç fonksiyonu maksimum veya minimum olmak üzere 1 adet

 

Kısıt fonksiyonları (n adet) :

 

Kısıt fonksiyonu n adet

Kısıt fonksiyonu n adet

-------------------------------------------------------------

Kısıt fonksiyonu n adet

 

 

 

Karar değişkenleri (negatif olmama koşulu altında) :                          

               

                                                               Karar değişkenleri negatif olmama koşulu altında x1 büyük eşit 0 x1 >= 0,    Karar değişkenleri negatif olmama koşulu altında x2 büyük eşit 0 x2 >= 0, .....,  Karar değişkenleri negatif olmama koşulu altında xn büyük eşit 0 xn >= 0

şeklinde ifade edilebilir.

 

Doğrusal programlama modelini bir örnek üzerinde uygulamaya çalışalım. Bir kimya işletmesi bir X ürünü üretmektedir. Üretmekte olduğu bu ürüne ait üretim sürecindeki parametreler aşağıdaki gibidir.                       

Yanma Noktası

>=

2800C

Özgül Ağırlığı

>=

1.00

a muhtevası

<=

% 8 hacim olarak

b muhtevası

<=

% 3 hacim olarak

 

İşletmenin ürünü, litresi sırası ile 16 TL., 20 TL. ve 25 TL. olan A, B ve C ara mallarından elde edilebilmektedir. Bu üç ara malın özellikleri aşağıdaki gibidir:

 

 

A

B

C

Yanma Noktası

2800

2700

2900

Özgül Ağırlığı

0.95

1.20

1.10

a muhtevası

7

8

11

b muhtevası

4

5

3

 

Üretici, yukarıdaki koşullara uygun olarak ürününü en düşük maliyetle üretmek istemektedir. Bu veriler ışığında model şu şekilde olacaktır.

Karar Değişkenleri

x1 = Üründeki A oranı

x2 = Üründeki B oranı

x3 = Üründeki C oranı

 

Min z =

16x1

+

20x2

+

25x3

 

 

 

x1

+

x2

+

x3

=

1

 

280x1

+

270x2

+

290x3

>=

280

 

0.95x1

+

1.20x2

+

1.10x3

<=

1.00

 

7x1

+

8x2

+

11x3

<=

8

 

4x1

+

5x2

+

3x3

<=

3

 

 

x1, x2, x3 >= 0

 

 

 

 

 

 

 

                         

 

Doğrusal programlama modelinin çözümü için günümüzde iki tane geçerli yöntem bulunmaktadır. Bunların ilki, grafik çözümüdür. Analitik düzlemde geometik yöntemi kullanarak uygun çözümü bulmaya çalışan yöntemdir. Ancak, temelde iki karar değişkeni ile sınırlıdır. Diğeri ise daha genel geçer ve jenerik bir çözüm yöntemi olan Simpleks (Simplex) algoritmasıdır. 1947 yılında Amerikalı matematikçi George Dantzig tarafından geliştirilmiştir. Grafik yöntemin gelişkin modelleri kapsamaması dolayısıyla grafik çözüm yöntemine burada değinilmeyecektir. Simpleks yöntemi, özellikle günümüzün yüksek hesap kapasitesi ve araçlarını kullanılmasına uygunluğu açısından burada temel özellikleriyle verilecektir.

Yöntem cebirsel iterasyon işlemine dayanır. Yöntemde önce başlangıç simpleks tablosu düzenlenir sonra tekrarlayıcı işlemler ile belirli bir hesap yöntemi içinde gelişen çözümlere doğru ilerleyerek optimal çözüme ulaşıncaya kadar işlemler sürdürülür. Başlangıç tablosunun standard formda ifade edilbilmesi için, modelde şu üç hususa dikkat edilmelidir.

1. Tüm kısıt fonksiyonlarını teşkil eden eşitsizlikler eşitlik haline getirilmelidir.

2. Amaç fonksiyonu sadece maksimum veya sadece mininum yönlü olmak üzere düzenlenir.

3. Bütün karar değişkenleri 0'dan büyük pozitif olmalıdır.           

Amaç fonksiyonu karar değişkeni örnek uygulama

 

Amaç Fonksiyonu

Amaç Fonksiyonu örnek uygulama

 

Kısıt Fonksiyonu 1 :

Kısıt Fonksiyonu 1 örnek uygulama

 

Kısıt Fonksiyonu 2 :

Kısıt Fonksiyonu 2 örnek uygulama

 

Kısıt Fonksiyonu 3:

Kısıt Fonksiyonu 3 örnek uygulama

 

Kısıt Fonksiyonu 4:

Kısıt Fonksiyonu 4 örnek uygulama

 

Kısıt Fonksiyonu 5:

Kısıt Fonksiyonu 5 örnek uygulama

 

Simplex Çözüm Değerleri:

Simplex Çözüm Değerleri örnek uygulama

 

Barış Tamer AKYILMAZ

Yazar Hakkında

Barış Tamer Akyılmaz

Barış Tamer Akyılmaz

-

Yazılım Mühendisi

Sosyal Medya

ORANLAR

  • 7050izleme

Arkadaşlarınla Paylaş

  • Tweet

1 Yorum

seyma esim

seyma esim

15.12.2016

merhaba benim merak ettiğim bir konu var yöneylem arastırması olacak bır konuyu c# dilinde uygulayamazmıyız yapılan tüm bu iişlemleri c# dilinde de halledilebilir mi açıkcası veriler kişi tarafından girildiğinde arka kod ekranında bu işlemleri yapmasını sağlayamazmıyız mesela bir minimizasyon işlemi yapılamaz mı ? cevap için şimdiden teşekkurler.

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.
  • merhaba benim merak ettiğim bir konu var y...

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 122146
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 68381
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 50021
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ