TBF 122 - Genel Matematik II DERS – 9 : Doğrusal Programlama Prof. Dr. Halil İbrahim Karakaş Başkent Üniversitesi
Doğrusal Programlama, yönetimde belli konularda karar verirken yararlanılan bir matematiksel yöntemdir. Bu yöntem, yönetim biliminin en iyi bilinen ve en çok kullanılan yöntemidir. Bu konuyu, örneklerle açıklamağa çalışacağız. Doğrusal Programlama fikri , Rus matematikçi L. W. Kantarovich ile, imalat planlamasını ele alan bir problemi çözdüğü 1939 yılında başlamıştır. Kantarovich, 1942’de yazdığı ve 1959’da yayınlanan “The best use of economic resources” başlıklı çalışmasında pek çok ekonomi proble-mine uygulanabilen “optimizasyon” tekniklerinden söz eder. Eş zamanlı olarak, Wassily Leontief de ekonomide uygula-maları bulunan doğrusal programlama teknikleri geliştir-miştir. Bu dersimizde, çok basit (iki değişkenli) doğrusal programlama problemlerini ele alacağız ve geometrik yaklaşımla çözümleri tartışacağız. Daha sonraki ders-lerimizde, çok değişkenli doğrusal programlama problemlerini ve bunların çözümü için çağdaş yöntemleri(simpleks yöntemi) tartışacağız.
Günlük Mevcut Maksimum İş Gücü İki değişkenli doğrusal programlama problemleri. Aşağıdaki problemin matematiksel modelini kuralım Problem(Üretim Planlaması). Deri giyim üzerinde çalışan bir şirket, ceket ve yelek üretmektedir. Bir ceket için kesim bölümünde 2 iş saati, dikiş bölümünde 4 iş saati harcanıyor. Bir yelek için kesim bölümünde 1 iş saati, dikim bölümünde 3 iş saati harcanıyor. Günlük toplam iş gücü, kesim bölümünde en çok 16 iş saati; dikiş bölümünde en çok 36 iş saatidir. Her bir ceket 120 TL, her bir yelek de 70 TL kâr bıraktığına ve üretilen tüm ürünlerin satılacağı varsayıldığına göre, şirketin günlük kârının maksimum olması için kaçar adet ceket ve yelek üretilmesi gerektiğini belirleyiniz. Problemin matematiksel modelini kurarken, verilenleri bir tabloda özetlemek yararlı olur. Gereken iş gücü Ceket Yelek Günlük Mevcut Maksimum İş Gücü Kesim Bölümü 2 1 16 Dikim Bölümü 4 3 36 Ürün başı kâr 120 TL 70 TL
Günlük Mevcut Maksimum İş Gücü Gereken iş gücü Ceket Yelek Günlük Mevcut Maksimum İş Gücü Kesim Bölümü 2 1 16 Dikim Bölümü 4 3 36 Ürün başı kâr 120 TL 70 TL Günde x adet ceket, y adet yelek üretilsin (değişken atama). Kâr: Kesim: Dikim: x ve y nin negatif olamayacağı da göz önüne alınırsa, şirketin üretebileceği bilgisayar sayıları, aşağıdaki eşitsizlik sistemini sağlamalıdır. Problemde, K(x,y) = 120x + 70y doğrusal fonksiyonunun yukarıdaki eşitsizlik sistemi-nin çözüm alanının hangi noktasında maksimum değerini aldığı ve maksimum değerin ne olduğu sorulmaktadır. Bu tür problemlere doğrusal programlama problemleri denir.
Problem Kısıt(lama)ları Negatif Olmama Kısıt(lama)ları Her doğrusal protgramlama pprobleminde aşağıdaki unsurlar bulunur. Maksimum vbeya minimumu istenen bir fonksiyon Amaç Fonksiyonu (Objective Function) Karar Değişkenleri (Desicion Variables) Bir doğrusal eşitsizlik sistemi Problem Kısıt(lama)ları (Problem Constraints) Negatif Olmama Kısıt(lama)ları (Nonnegative Constraints)
Doğrusal programlama probleminde hedef amaç fonksiyonunun verilen kısıtlamalar altında maksimum (veya minimum) değerini belirlemektir. Bu değere amaç fonksiyonunun en iyi değeri deir. Doğrusal programlama problemlerinin matematiksel modelleri genellikle aşa-ğıdaki formatta ifade edilir. fonksiyonunu kısıtlamaları altında maksimize ediniz. Örnek problemimizde amaç fonksiyonunun maksimum değeri istenildiği için ifade maksimize ediniz diye sonlanmaktadır. Eğer amaç fonksiyonunun minimum değeri isteniyorsa, ifade minimize ediniz diye sonlandırılır.
Örnek problemimizde olduğu gibi iki değikenli doğrusal programlama problem-leri problemde verilen doğrusal eşitsizlik sisteminin çözüm alanı ve bu çözüm alanında amaç fonksiyonunun en iyi değeri araştırılarak çözülebilir. Söz konusu çözüm alanına doğrusal progrqamlama probleminin uygun çözüm alanı ve uygun çözüm alanı kullanılarak çözüm yöntemin de geometrik yöntem denir. Geometrik Çözüm. Önceki dersimizde doğrusal fonksiyonların çözüm alan-ları üzerinde aldıkları maksimum ve minimum değerleri ile ilgili olarak elde edilen sonuçlardan Teorem. Bir doğrusal programlama probleminin en iyi çözümü varsa, o en iyi çözüm problemin uygun çözüm alanının köşe noktalarında ortaya çıkar. Teorem. a) Bir doğrusal programlama probleminin uygun çözüm alanı boş olmayan sınırlı bir küme ise, o problemin en iyi çözümü vardır. b) Bir doğrusal programlama probleminin uygun çözüm alanı sınırsız, amaç fonksiyonunun katsayıları pozitif ise ve amaç fonksiyonunun minimumu isteniyorsa, o takdirde problemin en iyi çözümü vardır; amaç fonksiyonunun maksimumu isteniyorsa, problemin en iyi çözümü yoktur.
En iyi çözüm Uygun Çözüm Alanı (Feasible Region) Köşe K(x,y) (0,0) (0,12) 840 (6,4) 1000 (8,0) 960 En iyi çözüm Uygun çözüm alanı boş olmayan sınırlı bir küme olduğundan en iyi çözüm vardır ve uygun çözüm alanının köşe noktalarında ortaya çıkacaktır. O halde verilen kısıtlamalar altında, şirketin kârının maksimum olması için 6 adet ceket ve 4 adet yelek üretilmesi gerekir. Şirketin maksimum kârı 1000 TL olacaktır.
İki değişkenli doğrusal programlama probleminin geometrik çözümü için aşağıdaki adımlar izlenebilir: Adım 1 . Veri tablosunu hazırlanır . Adım 2 . Matematiksel modeli kurulur: a) Karar değişkenlerini atanır ve amaç fonksiyonunu ifade edilir. b) Doğrusal eşitsizlik ve / veya eşitliklerden oluşan problem kısıtlamaları ifade edilir. c) Negatif olmama kısıtlamaları ifade edilir. Adım 3 . Uygun çözüm alanının grafiği çizilir ve en iyi çözüm bulunup bulun-madığına (yukarıdaki teorem doğrultusunda) karar verilir. Çözüm varsa, tüm köşe noktalarının koordinatları bulunur. Adım 4 . Amaç fonksiyonunun köşe noktalarındaki değerleri bulunur ve bir tabloda gösterilir. Adım 5 . Adım 4 teki tablodan yararlanarak en iyi çözüm belirlenir. Adım 6 . En iyi çözümü yorumlanır. Problemde sorulan sorular yanıtlanır.
Bir minimizasyon problemi örneği verelim. Problem. Üç farklı üreticiden bir merkeze her gün toplam 36 ton patates taşınmaktadır. Ton başına taşıma maliyeti birinci üreticiden 40 TL, ikinci üreticiden 30 TL, üçüncü üreticiden ise 10 TL dir. Taşıyıcı firmanın, 36 tonun tamamını yüklemek için her gün en fazla 120 dakika zamanı vardır. Bir ton patatesin yüklenmesi, birinci üreticide 1 dakika, ikinci üreticide 4 dakika, üçüncü üreticide ise 3 dakika zaman almakta ve birinci üreticiden bir günde en fazla 30 ton, ikincisinden 24 ton, üçüncüsünden ise 18 ton patates alınabilmektedir. Günlük taşıma maliyetinin en az olması için her bir üreticiden günde kaç ton patates yüklenmeli ve taşınmalıdır? Günlük taşıma maliyeti en az kaç olur? Çözüm. Veri tablosu Birinci İkinci üçüncü Toplam Zaman 1 4 3 120 Kapasite 30 24 18 36 Maliyet 40 TL 30 TL 10 İlk bakışta üç tane karar değişkeni var gibi görünmesine rağmen problemin matematiksel modeli iki değişkenli doğrusal programlama problemi olarak gerçekleştirilebilir. Bir günde birinci üreticiden x ton, ikinci üreticiden y ton patates yükleneceğini varsayar-sak, toplam 36 ton patates yükleneceğinden, üçüncü üreticiden yüklenecek patates miktarı 36 – (x + y) tondur. Bu durumda günlük taşıma maliyeti,
Çözüm. Veri tablosu Birinci İkinci üçüncü Toplam Zaman 1 4 3 120 Kapasite 30 24 18 36 Maliyet 40 TL 30 TL 10 İlk bakışta üç tane karar değişkeni var gibi görünmesine rağmen problemin matematiksel modeli iki değişkenli doğrusal programlama problemi olarak gerçekleştirilebilir. Bir günde birinci üreticiden x ton, ikinci üreticiden y ton patates yükleneceğini varsayar-sak, toplam 36 ton patates yükleneceğinden, üçüncü üreticiden yüklenecek patates miktarı 36 – (x + y) tondur. Bu durumda günlük taşıma maliyeti, olur. Problem kısıtlamalarına gelince, zaman kısıtlamasından dolayı üreticilerin verebileceği miktarlar üzerindeki kısıtlamalardan dolayı ve .
Negatif olmama kısıtlamaları ve da göz önüne alınınca problemimizin matematiksel modeli aşağıdaki gibi kurulur: fonksiyonunu kısıtlamaları altında minimize ediniz. Uygun çözüm alanının çizimini diğer slaytta yapalım.
(0,0) x y (6,24) (12,24) (2,16) Köşe M(x,y) (30,6) (18,0) 900 (30,0) 1260 (30,6) 1380 (18,0) (30,0) (12,24) 1200 (6,24) 1020 (2,16) 740 Tablodan görüyoruz ki, amaç fonksiyonunun en küçük(minimum) değeri (2,16) köşesinde 740 TL olarak ortaya çıkmaktadır. Bu, problemin en iyi çözümünü verir. Dolayısıyla, taşıyıcı firma, birinci üreticiden 2 ton, ikinci üreticiden 16 ton ve üçüncü üreticiden 18 ton patates yüklerse, taşıma masrafı minimum olur. Minimum taşıma maliyeti 740 TL dir.
Problem(Üretim Planlaması) Problem(Üretim Planlaması). Bir elektronik şirketi, masa üstü ve diz üstü bilgisayarlar üretmektedir. Bir masa üstü bilgisayar, 300 TL lik malzeme, 30 saatlik iş gücü; bir diz üstü bilgisayar ise, 600 TL lik malzeme ve 40 saatlik iş gücü gerektirmektedir. Şirketin malzeme için ayırdığı sermaye, 48000 TL dir ve sahip olduğu iş gücü de 4200 saattir. Şirket ürettiği bilgisayarların tümüne müşteri bulabilecektir ve bir masa üstü bilgi-sayardan 150 TL, bir diz üstü bilgisayardan 250 TL kâr sağlayacaktır. Şirketin kârının maksimum olması için kaç adet masa üstü ve kaç adet diz üstü bilgisayar üretilmelidir? Maksimum kâr ne olur? . Problemin matematiksel modelini kurarken, verilenleri bir tabloda özetlemek yararlı olur. Masa üstü Diz üstü Mevcut Kaynak Malzeme 300 600 48000 İş gücü 30 40 4200 Ürün başı kâr 150 TL 250 TL
Masa üstü Diz üstü Mevcut Kaynak Malzeme 300 600 48000 İş gücü 30 40 4200 Ürün başı kâr 150 TL 250 TL x adet masa üstü, y adet diz üstü bilgisayar üretilsin (değişken atama). Kâr: Malzeme: İş gücü: Bunlara negatif olmama kısıtları da eklenerek problemin matematiksel modeli aşağıdaki gibi elde edilir. K(x,y) = 150x + 250y fonksiyonunu kısıtlamaları altında maksimize ediniz.
En iyi çözüm Uygun Çözüm Alanı (Feasible Region) Köşe K(x,y) (0,0) (0,80) 20000 (100,30) 22500 (140,0) 21000 En iyi çözüm Uygun çözüm alanı boş olmayan sınırlı bir küme olduğundan en iyi çözüm vardır ve uygun çözüm alanının köşe noktalarında ortaya çıkacaktır. O halde verilen kısıtlamalar altında, şirketin kârının maksimum olması için 100 adet masa üstü ve 30 adet diz üstü bilgisayar üretilmesi gerekir. Şirketin maksimum kârı 22500 TL olacaktır.
Problem. İki tezgahı bulunan bir işletmede A ve B diye isimlendirilen iki tür ürün üretiliyor. Her iki ürün için de her iki tezgahın kullanılması gerekiyor. Eğer birinci tezgah sadece A ürünü için çalıştırılırsa, günde 40 birim A nın işini yapabiliyor; eğer bu tezgah sadece B ürünü için çalıştırılırsa, günde 60 birim B nin işini yapabiliyor. Benzer şekilde, eğer ikinci tezgah sadece A ürünü için çalıştırılırsa, günde 50 birim A; sadece B ürünü için çalıştırılırsa, günde 50 birim B nin işini yapabiliyor. İşletme, A nın her biriminden 20 TL, B nin her biriminden de 40 TL kâr sağlamaktadır. İşletmenin ürettiği tüm ürünleri satabileceği varsayılırsa, günlük kârının maksimum olması için her bir üründen günde kaç birim üretmesi gerekir? A dan x1 birim ve B den x2 birim üretildiğini varsayarak, problemimizin matematiksel modelini şöyle oluşturabiliriz: Problem kısıtlamaları olarak ortaya çıkan eşitsizlikler elde edilirken, ör-neğin birinci tezgah tüm gün A ürünü için çalıştırıldığında 40 birim A nın işini yapabildiğine göre, x1 birim A nın işini (1/40)x1 günde yapabilecek-tir. Aynı tezgah x2 birim B nin işini de (1/60) x2 günde yapar. Dolayısıyla, fonksiyonunu kısıtlamaları altında maksimize ediniz.
x2 x1 (20,30) (0,60 (0,50) (0,0) (40,0) (50,0) UYGUN ÇÖZÜM ALANI KÖŞE (40,0) 800 (20,30) 1600 (0,50) 2000 (0,0) (40,0) (50,0) x1 Değerler tablosundan, maksimum kârın x1=0 , x2 = 50 olunca elde edildiği görülür. Dola-yısıyla, maksimum kâr için sadece 50 birim B üretilmelidir. Maksimum kâr 2 000 TL dir.
kısıtlamaları altında maksimize ve minimize ediniz. Örnek. fonksiyonunu 2x1+x2 = 20 x1+x2 = 12 x1+3x2 = 30 kısıtlamaları altında maksimize ve minimize ediniz. Köşe K(x1,x2) (0,0) (0,10) 300 (3,9) 330 (8,4) 280 (10,0) 200
Örnek. fonksiyonunu kısıtlamaları altında maksimize ve minimize ediniz.
Simpleks Yöntemine Hazırlık. Üretim Planlaması probleminin matematiksel modeline x yerine x1 , y yerine x2 yazarak tekrar bakalım: fonksiyonunu kısıtlamaları altında maksimize ediniz. Problem kısıtlaması olan ilk iki kısıtlamanın sol taraflarına yeni değişkenler eklersek aşağıdaki denklem sistemi elde edilir: Karar Değişkenleri
Karar Değişkenleri Aylak Değişkenler Eğer günde 3 adet ceket (x1 = 3), 4 adet yelek (x2 = 4) üretilirse, 2.3+ 40. 1= 10 saatlik iş gücü harcanır, 6 saatlik iş gücü “aylak” kalır (s1 = 6). Benzer şekilde, 4.3+3. 4 = 24 saatlik iş gücü kullanılır, 12 saatlik iş gücü “aylak” kalır (s2 = 12). Karar değişkenleri x1 ve x2 problem kısıtlamalarını ve negatif olmama kısıtlamala-rını sağlarsa, aylak değişkenler negatif olamaz. Dolayısıyla, doğrusal programlama probleminin en iyi çözümü, problem kısıtlamalarından aylak değişkenler katılarak elde edilen doğrusal denklem sisteminin x1, x2, s1, s2 ≥ 0 olan çözümleri arasındadır. Bir doğrusal denklem sistemi verildiğinde, sistemdeki denklem sayısı kadar değişken seçilip onlara temel değişkenler, geri kalan değişkenlere de temel olmayan değişkenler denir. Denklem sisteminde temel olmayan değişkenler yerine sıfır yazılıp temel değişkenler için çözüm yapılarak bulunan çözümlere temel çözümler denir.
Örnek. Yukarıda ele aldığımız sisteminde x1 ve x2 temel değişken olarak seçilirse, temel çözüm olur. Böylece elde edilebilecek tüm temel çözümleri bir tabloda göstereceğiz.
Temel Değişkenler Temel Çözüm x1 x2 s1 s2 x1 , x2 6 4 0 0 x1 , s1 9 0 -2 0 x1 , s2 8 0 0 4 x2 , s1 0 12 4 0 x2 , s2 0 16 0 -12 s1 , s2 0 0 16 36 Temel çözümlerden her birinde (x1 , x2 ) ikilisine baktığımız zaman bu ikilinin problemimizin kısıtlamalarını ifade eden eşitsizliklerden ikisine karşılık gelen doğruların kesişim noktası olduğunu görürüz. Bir sonraki slayt bu ilişkiyi sergilemek-tedir:
x1 x2 s1 s2 -12 (x1 , x2) (6,4) (9,0) (8,0) (0,12) (0,16) (0,0) Temel Değişkenler Temel Çözüm x1 x2 s1 s2 -12 (x1 , x2) Kesişen Doğrular (6,4) (9,0) (8,0) (0,12) (0,16) (0,0) 6 4 0 0 x1 , x2 x1 , s1 9 0 -2 0 x1 , s2 8 0 0 4 x2 , s1 0 12 4 0 x2 , s2 0 16 0 s1 , s2 0 0 16 36
Temel çözümler ve onlara karşılık gelen (x1,x2) sayı ikililerini problemimizin uygun çözüm alanı ile birlikte değerlendirdiğimiz zaman (aşağıda üretim planlaması probleminin temel çözümlerini ve uygun çözüm alanını görüyor-sunuz) bir husus daha dikkatimizi çeker ki bu, tartışmamızın bundan sonrası için çok önemlidir. Şöyle ki, temel çözümlerden negatif bileşen içermeyen her bir çözüme karşılık gelen (x1,x2 ) ikilisi uygun çözüm alanının bir köşe noktasıdır. Bu bağlamda uygun çözüm alanının köşe noktaları ile temel çözümlerden negatif bileşen içermeyenler arasında bire bir eşleme vardır. Temel çözümlerden negatif bileşen içerenlere karşılık gelen (x1,x2) ikilileri uygun çözüm alanının dışında kalan noktaların koordinatlarıdır. Temel Çözümler x1 x2 s1 s2 (x1 , x2) 6 4 (6,4) 9 -2 (9,0) 8 (8,0) 12 (0,12) 16 -12 (0,16) 36 (0,0)
Temel Çözümler x1 x2 s1 s2 (x1 , x2) 6 4 (6,4) 8 (8,0) 9 -2 (9,0) 16 -12 (0,16) 12 (0,12) 36 (0,0) Temel çözümlerden negatif bileşen içermeyenlere uygun temel çözümler, negatif bileşen içerenlere uygun olmayan temel çözümler denir. Uygun temel çözümler uygun çözüm alanının köşe noktalarına karşılık gelirler. Dolayısıyla, doğrusal programlama problemlerinin çözümleri ile ilgili olarak daha önce ifade ettiğimiz teoremi yeniden şöyle ifade edebiliriz: Teorem. Bir doğrusal programlama probleminin en iyi çözümü mevcutsa, bu çözüm, uygun temel çözümlerden biri veya birkaçında ortaya çıkar.
kısıtlamaları altında maksimize ve minimize ediniz. x1+3x2 = 30 2x1+x2 = 20 x1+x2 = 12 Örnek. fonksiyonunu kısıtlamaları altında maksimize ve minimize ediniz. Temel Değişkenler x1 x2 s1 s2 s3 x1, x2, s1 3 9 5 x1, x2, s2 6 8 -2 x1, x2, s3 4 10 x1, s1, s2 30 -40 -18 x1, s1, s3 12 -4 18 x1, s2, s3 2 20 x2, s1, s2 x2, s1 , s3 -6 x2, s2 ,s3 -8 -30 s1, s2, s3