letmelerde optimizasyon dp modelleme
Post on 02-Nov-2021
16 Views
Preview:
TRANSCRIPT
İşletmelerde OptimizasyonDP Modelleme
Dr. Özgür Kabak
ÖZgür KAbak 2021
Kapalı biçimde model yazma Toplam (∑) ve her (∀) sembolleri kullanımı
𝑥! + 𝑥" +⋯+ 𝑥# → %$%!
#
𝑥$
𝑥! ≤ 4𝑥" ≤ 4 𝑥# ≤ 4, ∀𝑖 (𝑖 = 1,2,…𝑛)…𝑥$ ≤ 4
𝑥! ≤ 4𝑥" ≤ 3 𝑥# ≤ 𝑏#, ∀𝑖 (𝑖 = 1,2,…𝑛)…𝑥$ ≤ 12 𝑏# parametre olarak tanımlanır
ÖZgür KAbak 2021
Kapalı biçimde model yazma Toplam (∑) ve her (∀) sembolleri kullanımı } 𝑥!! + 𝑥"! + ⋯+ 𝑥#! ≤ 3 à ∑$%!
# 𝑥$! ≤ 3} 𝑥!" + 𝑥"" + ⋯+ 𝑥#" ≤ 8 à ∑$%!# 𝑥$" ≤ 8} ….
} 𝑥!& + 𝑥"& + ⋯+ 𝑥#& ≤ 7 à ∑$%!# 𝑥$& ≤ 7
} 2𝑥!! + 2𝑥"! + ⋯+ 4𝑥#! ≤ 3 à ∑$%!# 𝑎$!𝑥$! ≤ 3
} 3𝑥!" + 𝑥"" + ⋯+ 6𝑥#" ≤ 8 à ∑$%!# 𝑎$"𝑥$" ≤ 8} ….
} 5𝑥!& + 2𝑥"& + ⋯− 2𝑥#& ≤ 7 à ∑$%!# 𝑎$'𝑥$& ≤ 7
%!"#
$
𝑥!% ≤ 𝑏% ∀𝑗
%!"#
$
𝑎!%𝑥!% ≤ 𝑏% ∀𝑗
𝑏% , 𝑎!% parametre olarak tanımlanır.
ÖZgür KAbak 2021
Örnek 7. Ulaştırma problemi Kapalı biçimde model yazma } ATK- Beyaz beş müşterisinin taleplerini karşılamak için altı potansiyel
fabrikayı değerlendirmektedir. } Bir fabrikada üretilip, bir müşteriye gönderme birim maliyetleri tabloda
verilmiştir. } Müşterilerin talepleri kesinlikle karşılanmalıdır.} Fabrikaların kapasiteleri aşılamaz.} Birinci ve ikinci fabrikaların kapasitesinin en az %50’si kullanılmalıdır.} Araç kapasitesinden dolayı bir fabrikadan bir müşteriye en fazla 50,000 adet ürün
gönderilebilir.} Firmanın talepleri en düşük maliyetle karşılaması için gerekli DP modelini
kurunuz.Müşteri 1 Müşteri 2 Müşteri 3 Müşteri 4 Müşteri 5 Kapasite
Fabrika 1 8TL 6TL 10TL 9TL 16TL 60,000
Fabrika 2 9TL 12TL 13TL 7TL 2TL 55,000
Fabrika 3 14TL 9TL 16TL 5TL 10TL 45,000
Fabrika 4 18TL 16TL 10TL 8TL 13TL 75,000
Fabrika 5 10TL 2TL 13TL 6TL 9TL 120,000
Fabrika 6 4TL 9TL 16TL 4TL 14TL 70,000
Talepler 40,000 30,000 25,000 115,000 85,000
ÖZgür KAbak 2021
Örnek 7. Ulaştırma problemi} Karar değişkenleri
} xij : i fabrikasından j müşterisine gönderilen miktar (i = 1,2,..,6; j =1,2,…,5)} Parametreler
} 𝑐$( : i fabrikasından j müşterisine gönderme birim maliyeti} 𝑘$ : i fabrikası kapasitesi} 𝑡( : j müşterisi talebi
} DP modeli𝑀𝑖𝑛∑!∑" 𝑐!"𝑥!"Öyle ki; ∑" 𝑥!" ≤ 𝑘! ∀𝑖 kapasite kısıtları
∑! 𝑥!" ≥ 𝑡" ∀𝑗 Talep kısıtları∑" 𝑥!" ≥ 0,5𝑘! (i=1,2) 1., 2. fabrika kısıtları𝑥!" ≤ 50000 ∀(𝑖, 𝑗) Araç kapasitesi
𝑥!" ≥ 0
ÖZgür KAbak 2021
Örnek 8. Petrol Karışımı(Winston 3.8’den esinlenilmiştir)} Sunco üç tip ham petrolün (H1, H2, H3) karıştırılması ile üç tip benzin (B1, B2, B3)
üretmektedir.} Oktan derecesi ve sülfür oranı belli standartları sağlamalıdır:
} B1 ort. oktan derecesi en az 10, sülfür oranı en fazla %2} B2 ort. oktan derecesi en az 8, sülfür oranı en fazla %4} B3 ort. oktan derecesi en az 6, sülfür oranı en fazla %3
} Firmanın her benzin tipi için en fazla satabileceği talepler sırasıyla 3000, 2000 ve 1000 varil/gün’dür.
} Bununla birlikte firma herhangi bir benzinde 1 dolarlık reklam yaparak, talebi 10 varil arttırabilmektedir.
Ham petrol Oktan Sülfür
(%)Alış
($/varil) Benzin Satış ($/varil)
1 12 1 45 1 702 6 3 35 2 603 8 5 25 3 50
ÖZgür KAbak 2021
Örnek 8. ModelKarar değişkenlerixij : i. hammaddeden j. benzine konulan miktar (varil), i = 1,2,3; j=1,2,3.rj : j. benzin için yapılan reklam ($), j=1,2,3.Amaç fonksiyonu (karı enbüyüklemek)Maks Z = Kar = gelir – maliyetMaks Z = 70∑! 𝑥!" + 60∑! 𝑥!# + 50∑! 𝑥!$ − 45∑% 𝑥"% + 35∑% 𝑥#% + 25∑% 𝑥$% − ∑% 𝑟%KısıtlarOktan derecesi12𝑥"" + 6𝑥#" + 8𝑥$" ≥ 10 𝑥"" + 𝑥#" + 𝑥$" benzin 1 oktan derecesi12𝑥"# + 6𝑥## + 8𝑥$# ≥ 8 𝑥"# + 𝑥## + 𝑥$# benzin 2 oktan derecesi12𝑥"$ + 6𝑥#$ + 8𝑥$$ ≥ 6 𝑥"$ + 𝑥#$ + 𝑥$$ benzin 3 oktan derecesi Sülfür oranları𝑥"" + 3𝑥#" + 5𝑥$" ≤ 2 𝑥"" + 𝑥#" + 𝑥$" benzin 1 sülfür oranı𝑥"# + 3𝑥## + 5𝑥$# ≤ 4 𝑥"# + 𝑥## + 𝑥$# benzin 2 sülfür oranı𝑥"$ + 3𝑥#$ + 5𝑥$$ ≤ 2 𝑥"$ + 𝑥#$ + 𝑥$$ benzin 3 sülfür oranıTalepler∑! 𝑥!% ≤ 𝑇% + 10𝑟% ∀𝑗. (Tj : j. benzinin reklamsız talebi)İşaret sınırlamalarıxij , rj ³ 0, "i,j
ÖZgür KAbak 2021
Örnek 8. Model (Kapalı biçim)Karar değişkenlerixij : i. hammaddeden j. benzine konulan miktar (varil), i = 1,2,3; j=1,2,3.rj : j. benzin için yapılan reklam ($), j=1,2,3.
Parametreler:𝐴! : i hammadde alış fiyatı 𝑆% : j benzin satış fiyatı𝐾! : i hammadde oktan derecesi 𝐺% : j benzin gerekli oktan derecesi𝑈! : i hammadde sulfur oranı 𝐹% : j benzin gerekli sulfur oranıTj : j. benzinin reklamsız talebi
DP modeliMaks Z = ∑%∑! 𝑆%𝑥!% − ∑!∑% 𝐴!𝑥!% − ∑% 𝑟%Kısıtlar∑!𝐾!𝑥!% ≥ 𝐺% ∑! 𝑥!% ∀𝑗 (oktan derecesi)∑!𝑈!𝑥!% ≥ 𝐹% ∑! 𝑥!% ∀𝑗 (sulfur oranı)∑! 𝑥!% ≤ 𝑇% + 10𝑟% ∀𝑗. (Talep) xij , rj ³ 0, "i,j (İşaret sınırlamaları)
ÖZgür KAbak 2021
Mutlak Değerin DP’ye eklenmesi} Mutlak değer kullanan fonksiyonlar doğrusal değildir
} Bir f(x1, x2,…, xn) fonksiyonun mutlak değerini |f(x1, x2,…, xn)| DP’ye ekleyebilmek için bir yapay değişken (l) tanımlayarak modele aşağıdaki kısıtlar eklenir:
l ≥ f(x1, x2,…, xn)l ≥ - f(x1, x2,…, xn)
} DP’de |f(x1, x2,…, xn)| yerine l yazılır.
} Bu şekilde bir modellemenin çalışabilmesi için modelin l’yı küçükleme eğiliminde olması gerekir.
ÖZgür KAbak 2021
Örnek 9. Makine Yeri Belirleme(Bazaraa, 2010 s. 30)} Dört makine bulunan bir üretim alanına yeni bir makinenin koyulacağı yer
belirlenmek istenmektedir.
} Mevcut makinelerin koordinatları:
(3, 1), (0, -3), (-2, 2), (1, 4)
} Makineler arası mesafe Manhattan uzaklığı ile belirlenecektir.
Örneğin (3, 1) ile (0, -3) arasındaki mesafe:
│3-0│ +│1-(-3)│= 7
} Yeni makine ile diğer makineler arasındaki toplam mesafeyi en küçükleyecek yeri bulmak için bir DP modeli kurunuz.
ÖZgür KAbak 2021
Örnek 9. Makine Yeri Belirleme(Bazaraa, 2010 s. 30)} Dört makine bulunan bir üretim alanına yeni bir makinenin koyulacağı yer
belirlenmek istenmektedir.
} Mevcut makinelerin koordinatları:
(3, 1), (0, -3), (-2, 2), (1, 4)
} Makineler arası mesafe Manhattan uzaklığı ile belirlenecektir.
Örneğin (3, 1) ile (0, -3) arasındaki mesafe:
│3-0│ +│1-(-3)│= 7
} Yeni makine ile diğer makineler arasındaki toplam mesafeyi en küçükleyecek yeri bulmak için bir DP modeli kurunuz.
ÖZgür KAbak 2021
Örnek 9: Model} Karar değişkenleri} x1 ve x2, yeni makinenin koordinatları} lij : yeni makine ile i. mevcut makine arasındaki j. koordinata göre
mesafesi, i = 1,2,3,4; j = 1,2.} Parametreler } kij: i. makinenin j. koordinatı} Amaç fonksiyonu} Min ∑𝑖=14 ∑𝑗=12 𝜆𝑖𝑗} Kısıtlar} 𝜆𝑖𝑗 ≥ 𝑘𝑖𝑗 − 𝑥𝑗, ∀𝑖, 𝑗} 𝜆𝑖𝑗 ≥ −𝑘𝑖𝑗 + 𝑥𝑗 ∀𝑖, 𝑗.} İşaret sınırlamaları} x1, x2 serbest; lij ³ 0, "i,j.
Örneğin; i =1 ve j=1,2 için;l11 ³ 3 – x1 l11 ³ –3 + x1l12 ³ 1 – x2 l12 ³ –1 + x2
ÖZgür KAbak 2021
Parçalı doğrusal Konveks fonksiyonlarınDP’ye eklenmesi
Kesme noktaları: 0, 2, 5, 7, 10
x değeri arttıkça parçalı fonksiyonların eğimi artıyorsa bu fonksiyon bir parçalı doğrusal konveks fonksiyondur.
𝑓 𝑥 =
𝑥2 + 2(𝑥 − 2)
0 ≤ 𝑥 < 22 ≤ 𝑥 < 5
8 + 4(𝑥 − 5)16 + 8(𝑥 − 7)
5 ≤ 𝑥 < 77 ≤ 𝑥 ≤ 10
ÖZgür KAbak 2021
Parçalı doğrusal Konveks fonksiyonlarınDP’ye eklenmesi
} Yöntem 1.} Modelde f(x) yerine ∑#F!$ 𝑐#𝑦# , } x yerine ∑#F!$ 𝑦# yazılır, } kısıtlara 𝑦# ≤ 𝑑#G! − 𝑑#, 𝑖 = 1,… , 𝑛 − 1 ilave edilir.
} 𝑦#, 𝑖 = 1, . . . , 𝑛 − 1 karar değişkenleri, } 𝑐#, 𝑖 = 1, . . . , 𝑛 − 1 ise i’nci parçalı fonksiyonun eğimidir.
Örnek:𝑓 𝑥 = 𝑦# + 2𝑦& + 4𝑦' + 8𝑦(𝑥 = 𝑦# + 𝑦& + 𝑦' + 𝑦(𝑦# ≤ 2𝑦& ≤ 3𝑦' ≤ 2𝑦( ≤ 3
ÖZgür KAbak 2021
Parçalı doğrusal Konveks fonksiyonlarınDP’ye eklenmesi
} Yöntem 2.} Modelde f(x) yerine ∑!"#$ 𝑧!𝑓(𝑑!), } x yerine ∑!"#$ 𝑧!𝑑! yazılır, } kısıtlara ∑!"#$ 𝑧! = 1 ilave edilir. } 𝑧! , 𝑖 = 1, . . . , 𝑛 karar değişkenleri, } 𝑓(𝑑!) : i’nci kesme noktasının fonksiyon değeri
Örnek:𝑓 𝑥 = 0𝑧# + 2𝑧& + 8𝑧' + 16𝑧( + 40𝑧)𝑥 = 0𝑧# + 2𝑧& + 5𝑧' + 7𝑧( + 10𝑧)𝑧# + 𝑧& + 𝑧' + 𝑧( + 𝑧) = 1
ÖZgür KAbak 2021
Doğrusal Olmayan Konveks FonksiyonlarınDönüşümü} Doğrusal olmayan konveks amaç fonksiyonları parçalı doğrusal konveks
fonksiyona dönüştürülerek DP ile yaklaşık olarak modellenebilir.
} Bunun için öncelikle doğrusal olmayan fonksiyon n-1 parçaya bölünür ve parçalar arası doğrusal kabul edilerek parçalı fonksiyona dönüştürülür.
} Elde edilen parçalı fonksiyon verilen DP’ye ekleme yöntemlerinden biri ile DP olarak modellenir.
ÖZgür KAbak 2021
} A noktasında bulunan 10.000 varil petrol 1 ve 2 nolu boru hatlarından B noktasına taşınacaktır.
} Taşıma süresi taşınan petrol miktarına bağlıdır:
} Birinci borudan taşınan petrol miktarı x1 bin varil ise taşıma süresi x12 saat
} İkinci borudan taşınan petrol miktarı x2 bin varil ise taşıma süresi ise x21,5 saat
} İki borudan aynı anda petrol gönderilmesi durumunda taşıma süresini enküçükleyecek bir DP modelini kurunuz.
Örnek 10. Petrol Taşıma
ÖZgür KAbak 2021
Örnek 10. Model} Öncelikle taşıma süresi fonksiyonları parçalı fonksiyona dönüştürülür.} x1 ve x2, 0 ile 10 arasında değer alacakları için 0-10 aralığı 4 eşit parçaya
bölünerek fonksiyonlar parçalanabilir:
x0 0,000 0,000
2,5 6,250 3,9535 25,000 11,180
7,5 56,250 20,54010 100,000 31,623
ÖZgür KAbak 2021
Karar değişkenlerixi : i. borudan taşınan petrol miktarı (*1000 varil), fi : i. boruda taşıma süresi (saat), l : en uzun taşıma süresi (saat),zij : parçalı fonksiyonlar için yardımcı değişkenler, i =1,2, j=1,…,5.
Amaç fonksiyonuMin l
KısıtlarEn uzun taşıma süresi borulardan taşıma sürelerinden daha az olmamalı
l ³ f1l ³ f2
Birinci boru için parçalı fonksiyonun ifade edilmesi (Yöntem 2)x1 = 0z11 + 2,5 z12 + 5 z13 + 7,5 z14 + 10 z15f1 = 0z11 + 6,25 z12 + 25 z13 + 56,25 z14 + 100 z15z11 + z12 + z13 + z14 + z15 = 1
İkinci boru için parçalı fonksiyonun ifade edilmesix2 = 0z21 + 2,5 z22 + 5 z23 + 7,5 z24 + 10 z25f2 = 0z21 + 3,953 z22 + 11,18 z23 + 20,54 z24 + 31,623 z25z21 + z22 + z23 + z24 + z25= 1
Toplam taşınacak miktar 10.000 varil olmalıx1 + x2 = 10
İşaret sınırlamalarıtüm değişkenler ³ 0.
Örnek 10. Model
ÖZgür KAbak 2021
} DP modelinin çözümü:
l=f1=f2=15,781; x1=3,771; x2=6,229} Çözümdeki x1 ve x2 değerleri fonksiyonlarda kullanılırsa
f1=14,22; f2=15,546} Aynı problemin doğrusal olmayan programlama ile çözümü
f1=f2=15,112; x1=3,887; x2=6,113
} Parçalı fonksiyona dönüşüm ile elde edilen DP çözümü ile doğrusal olmayan programlama çözümü birbirine çok yakın.
} DP’nin çözümü doğrusal olmayan programlamanınkine göre daha kolay.
} Probleme DP ile daha doğru bir çözüm bulabilmek için fonksiyonlar daha fazla parçaya bölünebilir.
Örnek 10. Rapor
top related