Doğrusal Programlamanın Temelleri Doç.Dr.Ali Argun Karacabey
Doğrusal Programlama Nedir? Bir Doğrusal Programlama Modeli doğrusal kısıtlar altında bir doğrusal ğ fonksiyonun değerini ğ maksimize yada minimize etmeye çalışır. Doğrusal Programlama belli bir amacı gerçekleştirmek için sınırlı kaynakların etkin kullanımını ve çeşitli iliseçenekler arasında en uygun dağılımını sağlayan matematiksel bir tekniktir.
Doğrusal Fonksiyonlar y = mx+bbirbir doğrunun denklemidir ör. y = -4/3 x +6 düzenlersek: 4x + 3y = 18 2 Değişkenli Bir Doğrusal Fonk. Bir Doğrusal Fonksiyon bir pozitif, if negatif veya 0 sabitinin i i değişkenlerle çarpımlarının toplamıdır; ör. 5X 1-4X 2 + 0X 3 + 6X 4 X 12, X 1 /X 2, e -X2, X 1, vb. yer almaz
Doğrusal Kısıtlar Doğrusal Kısıtlar Şu Şekle Sahiptir <Bir Doğ. Fonksiyon> <Bir İlişki> <Bir Sabit> İlişki Aşağıdakilerden ş ğ Biridir:, =, ---- her birinde eşitlik yer alır Örnekler: 4X 1 + 5X 2-6X 3 + 2X 5 34 2X 1-5X 2 + 1X 4 47-2X 2 +8X 3 +9X 4 +2X 5 = 67 X 1 0 1 X 5 0
Bir Doğrusal Programlama Modeli Örneğiğ MAX 4X 1 + 7X 3-6X 4 s.t. 2X 1 + 3X 2-2X 4 = 20-2X 2 +9X 3 +7X 4 10-2X 1 + 3X 2 + 4X 3 + 8X 4 35 İlgili Kısıtlar Altında X 2 5 Bütün X ler 0 X 1 0, X 2 0, X 3 0, X 4 0
Bir Diğer Örnek MIN 6X 1 + 8X 2 + 11X 3 + 10X 4 + 5X 5 + 14X 6 S.T. X 1 + X 2 + X 3 20 X 4 + X 5 + X 6 30 X 1 + X 4 = 12 X 2 +X 5 = 15 X 3 + X 6 = 22 Bütün X ler 0
Bir Doğrusal Programlama Modelinin Bileşenleri Bir Doğrusal Programlama Modeli Şu Bileşenlere l Sahiptir: Bir grup karar değişkeni. Bir Amaç Fonksiyonu. Bir grup kısıtlık.
Doğrusal Programlama Modelleri Neden Önemlidir Bir çok Gerçek Hayat Problemi DP İle Modellenebilir Üretim, Pazarlama, Finans, Reklam, Tarım, Enerji gibi bir çok alanda bildik iyi uygulamalar vardır: Doğrusal Programlama modellerinin Çözümü İçin Kullanılabilen Etkin Çözüm teknikleri Vardır Doğrusal Programlama Modellerinin Çözümü İçin Geliştirilen Yazılımlar Çözüm Sonrası Analizler Açısından Oldukça Güçlüdürler
Doğrusal Programlama Modelinin Varsayımları Doğrusallık Kısıtlık Bölünebilirlik
Mobilyacı Örneği Sandalye ve koltuk üreten bir mobilyacı üretim için tahta ve boya kullanmaktadır. Bir sandalye üretimi için 3 m 3 tahta ve 1 kg boya kullanılırken, 1 koltuk için ise 4 m 3 tahta ve ½ kg boya gerekmektedir. Çeşitli ş nedenlerden dolayı mobilyacının sağlayabildiği tahta miktarı günlük 92 m3 ve boya miktarı da 20 kg ile sınırlıdır. Ürettiği sandalyelerin her biri mobilyacıya 275, koltuklar ise 300 Tl kar bırakmaktadır. Bu bilgiler ışığında mobilyacının amacı mümkün olan en yüksek karı sağlayacak üretim bileşimini seçmektir.
Mobilyacı Örneği TAHTA BOYA Br.KAR SANDALYE (X 1 1) 3 1 275 KOLTUK (X 2 ) 4 1/2 300 92 20
Mobilyacı Örneği 1. KARAR DEĞİŞKENLERİ Üretilecek Sandalye ve Koltuk Miktarları Sandalye Miktarı : X 1 Koltuk Miktarı : X 2 2. AMAÇ FONKSİYONU En Yüksek Karı Elde Etmek (Sandalye ve Koltuktan Elde Edilecek Kar Toplamını Maksimize Etmek ) Sandalyeden Elde Edilecek Kar; Sandalye sayısı * Birim Kar = X 1 *275 Koltuktan Elde Edilecek Kar; Koltuk Sayısı * Birim Kar = X 2 *300 Toplam Kar = Sandalye Karı + Koltuk Karı = 275X 1 + 300X 2
3. KISITLAR Boya Kısıtı; Mobilyacı Örneği <Sandalye ve Koltuk İçin Gerekli Boya Miktarı><İlişki><toplam boya miktarı> 1X 1 +1/2X 2 20 Tahta Kısıtı; <Sandalye ve Koltuk İçin Gerekli Tahta Miktarı><İlişki><Toplam Tahta miktarı> 3X 1 +4X 2 92
MODEL Z MAX = 275X 1 + 300X 2 ST. 1X 1 + 1/2X 2 20 3X 1 +4X 2 92 X 1 0 X 2 0
1.AŞAMA GRAFİK ÇÖZÜM Negatif Olmama KısıtlarınınSağlanması
GRAFİK ÇÖZÜM Varsayım 1: Tüm Boya Kullanılsın; - Sadece Sandalye üretirsek, 20 sandalye üretebiliriz - Sadece koltuk üretirsek, 40 koltuk üretebiliriz X 2 = 0 X 1 = 20 X 2 = 2 X 1 = 19 X 2 = 4 X 1 = 18... X 2 = 40 X 1 = 0
Varsayım 2: Tüm Tahta Kullanılsın; - Sadece Sandalye üretirsek, 30,67 sandalye üretebiliriz - Sadece koltuk üretirsek, 23 koltuk üretebiliriz X 2 = 23 X 1 = 0 X 2 = 22 X 1 = 4/3 X 2 = 21 X 1 = 8/3... X 2 = 0 X 1 = 30,67
275X1+300X2 =275.0+300.23 =6900 A (0,23) Üretim Alanı Boya Kısıtı 275X1+300X2 =275.13,6+300.12,8, Tahta Kısıtı =7580 B(136128) (13.6,12.8) 275X1+300X2 =275.20+300.0 C (20,0) =5500
Atlantis Endüstrileri Üretim Problemi Atlantis 2 çeşit oyuncak uzay çağı su tabancası üretmektedir: Uzay Yolu (Br.Kar = 8 milyon) Atılgan (Br. Kar = 5 milyon) Üretim Kaynak Miktarları 1200 kg/hafta plastik. 40 saat/hafta üretim zamanı.
Atlantis Endüstrileri Üretim Problemi Pazar Gereklilikleri Haftalık Üretim 800 Birimi Geçemez. Uzay Yolu Üretiminin Atılgan Üretimini Aşan Kısmı 450 Birimi Geçemez. Bir Br Uzay Yolu Üretimi İçin 2 kg Plastik ve 3 Dakika Üretim Zamanı, Bir Br Atılgan Üretimi İçin 1 kg Plastik ve 4 Dakika Üretim Zamanı Gerekmektedir.
Al Atlantis Endüstrileri imevcut Üretim Planı Mevcut Üretim Planının Amacı: Karı Daha Yüksek Olan Uzay Yolundan Mümkün Olduğunca ğ Çok Üretmek Kalan Kaynakları Pazar Kısıtları İçerisinde Kalmak Koşulu İle Atılgan Üretimine Aktarmak Mevcut Üretim Planına Göre: Uzay Yolu = 450 birim 8(450) + 5(100) Atılgan = 100 birim Kar = 4100 milyon/hafta
Şirket Yönetimi Şirketin Karını Daha da Artırabilecek Bir Üretim Bileşeni iolup Olmadığını Araştırmaktadır
Bir Doğrusal Programlama Modeli Bu Konuda Gerekli ve yeterli Bilgi Sunabilecektir
Atlantis Endüstrileri Üretim Problemi Karar Değişkenleriğ ş Karar Değişkenleri: X 1 = Bir Haftada Üretilen Uzay Yolu Miktarı X 2 = Bir Haftada Üretilen Atılgan Miktarı
Amaç Fonksiyonu Amaç Fonksiyonu: Haftalık Karın Maksimizasyonu Uzay Yolu Br.Kar 8 m., Atılgan Br.Kar 5 m. Kaç Tane Uzay Yolu ---??? --- X 1 Kaç Tane Atılgan ---??? --- X 2 AMAÇ FONKSİYONU MAX 8X 1 + 5X 2
Kısıtlar PLASTİK Haftada En Fazla 1200 kg Plastik Kullanılabilir Uzay Yolu Üretimi İçin Ne Kadar Plastik Kullanılacak? Her bir Uzay Yolu İçin 2 kg Haftada X 1 Tane Uzay Yolu Üretilecek Uzay Yolu Üretimi İçin Kullanılacak Plastik : 2X 1 Atılgan Üretimi İçin Ne Kadar Plastik Kullanılacak? Her Bir Atılgan İçin 1 kg Haftada X 2 Tane Atılgan Üretilecek Atılgan Üretimi İçin Kullanılacak Plastik : 1X 2 2X 1 + 1X 2 1200
Kısıtlar (Devam) Üretim Zamanı Haftada 40 Saat = 2400 dakika Uzay yolu Üretimi İçin Kaç Dakika Gerekiyor? Her Bir Birim İçin ç 3 dakika Haftada X 1 tane Uzay Yolu Üretilecek Uzay yolu Üretimi İçin Gereken Zaman (dakika): 3X 1 Uzay yolu Üretimi İçin Kaç Dakika Gerekiyor? Her Bir Birim i İçin i 4dkik dakika Haftada X 2 tane Atılgan Üretilecek Uzay yolu Üretimi İçin Gereken Zaman (dakika): 4X 2 3X 1 + 4X 2 2400
Kısıtlar (Devam) Maksimum Üretim Miktarı Haftada En Fazla 800 Birim Üretim Haftada Kaç Tane Uzay Yolu Üretilecek? X 1 Haftada Kaç Tane Atılgan Üretilecek? X 2 X 1 +X 2 800
Kısıtlar (Devam) Ürün Bileşimi Haftalık Uzay yolu Üretimi Atılgan Üretimini 450 Birimden Fazla Geçemez Haftada ada Kaç Tane Uzay Yolu Üretilecek? ece X 1 Haftada Kaç Tane Atılgan Üretilecek? X 2 X 1 X 2 + 450 X 1 -X 2 450
Kısıtlar (Devam) Negatif Olmama Kısıtı Uzay Yolu veya Atılgan Üretimi Negatif Olamaz X 1 0 1 X 2 0 Bütün X ler 0
Doğrusal Programlama Modeli Max 8X 1 + 5X 2 s.t. 2X 1 +1X 2 1200 3X 1 + 4X 2 2400 (Haftalık Kar) (Plastik) (Üretim Zamanı) X 1 + X 2 800 (Toplam Üretim) X 1 - X 2 450 (Ürün Bileşimi) i i) Bütün X ler 0 (Negatif Olmama)
2 Değişkenli Model İçin Grafik Çözüm Yöntemi Kısıtları Grafik Üzerinde Göster Olanaklı Alanların Kesişimini Belirle Bu Kesişim Alanına ÇÖZÜM ALANI denir Amaç Fonksiyonuna Herhangi Bir Değer Ver Amaç Fonksiyonunu Çözüm Alanının En Son Noktasına Değecek Şekilde İlerlet Optimal Çözüm İçin İki Değişkenli İki Denklemi Beraber Çöz Elde Edilen Değerleri Amaç Fonksiyonundaki Yerine Koy
Çözüm Alanının Belirlenmesi Blil i X 2 Negatif Olmama Kısıtları X 1
2X1+1X2 1200 (Plastik Kısıtı) Eğer Eldeki Bütün Plastik İle Sadece X1 Üretilirse; X2=0 X1 = 600 Eğer eldeki Bütün Plastik İle sadece X2 Üretilirse; X1=0 X2 = 1200
Üretim Zamanı Kısıtının Grafiğe Eklenmesi 3X1+4X2 2400 (Plastik Kısıtı) Eğer Eldeki Bütün Zaman Sadece X1 Üretimine Ayrılırsa; X2=0 X1 = 800 Eğer eldeki Bütün Zaman Sadece X2 Üretimine Ayrılırsa; X1=0 X2 = 600
Toplam Üretim Kısıtının Grafiğe Eklenmesi X1+X2 800 (Plastik Kısıtı) Eğer Sadece X1 Üretilirse; X2=0 X1 = 800 Eğer Sadece X2 Üretilirse; X1=0 X2 = 800
Ürün Bileşimi Kısıtının Grafiğe Eklenmesi X1-X2 450 (Plastik Kısıtı) Eğer Sadece X1 Üretilirse; X2=0 X1 = 450 1000 Adet X1 Üretilirse; X1=1000 1000 X2 = 550
Grafik Yöntem-Çözüm Alanının Belirlenmesi
Optimal Çözümün Bulunması- Deneme Yanılma Yöntemi
Optimal Çözümün Bulunması- Deneme Yanılma Yöntemi A Noktası : X1 = 0 X2 = 600 Z = 8 (0) + 5 (600) = 3000 B Noktası : 3X1 + 4X2 = 2400 2X1 + 1X2 = 1200 Z = 8(480) + 5(240) =5040 C Noktası: X1 - X2 = 450 2X1 + 1X2 = 1200 Z = 8(550) + 5(100) =4900 D Noktası : X1 = 450 X2 = 0 Z= 8 (450) + 5(0) = 3400 X1 = 480 X2 = 240 X1 = 550 X2 = 100
Optimal Noktanın Belirlenmesi Optimal nokta plastik miktarı ve üretim zamanı kısıtlarının kesişiminde yer almaktadır: 2X 1 + 1X 2 = 1000 3X 1 + 4X 2 = 2400 İki Denklem Beraber Çözülürse, X 1 = 480, X 2 = 240
Maksimum Karın Hesaplanması Amaç Fonksiyonu: MAX 8X 1 + 5X 2 Bulduğumuz X 1 = 480, X 2 = 240 değerlerini yerine koyarsak: 8(480) + 5(240) = 5040
Optimal Çözüm Uzay yolu = 480 birim Atılgan = 240 birim Kar = 5040 Plastik kısıtı ve üretim zamanı kısıtı tüketilmiştir. Toplam üretim miktarı 720 birimdir. i Uzay yolu üretimi atılgan üretimini 140 birim aşmaktadır
AMAÇ FONKSYONUNA RASGELE BİR DEĞER ATANIR Z max = 275X 1 +300X 2 = 5000 ve bu denkleme ait doğru ğ grafiğe ğ eklenir
AMAÇ FONKSYONUNA DAHA BÜYÜK BİR DEĞER ATANIR Z max = 275X 1 +300X 2 = 7000 ve bu denkleme ait doğru grafiğe eklenir 7000/300=25,26 7580/275=27,56