EM0 Yöneylem Araştırması Dinamik Programlama Dr. Özgür Kabak
Kibrit Çöpü Oyunu Masa üzerinde 0 kibrit çöpü vardır İki kişi (ben ve rakibim) oynuyor: Sırası gelen 1, veya kibrit çöpü çekiyor. Ben başlıyorum, rakibim oynuyor, ben oynuyorum Son çöpü alan oyunu kaybediyor. Oyunu kazanmayı nasıl başarabilirim?
En kısa yol Ağ Problemi 680 5 790 610 550 1050 790 8 580 540 100 1 900 760 6 10 770 660 510 700 790 940 70 9 190 4 80 7
Aşama 1 Aşama Aşama Aşama 4 Aşama 5
Dinamik Programlama Uygulamalarının Özellikleri Sorun her aşamada bir karar alınaak şekilde aşamalara bölünebilir Her aşamanın kendisi ile ilgili durumları vardır. Herhangi bir aşamada seçilen karar mevut aşamadaki durumun bir sonraki aşamadaki duruma nasıl dönüştüğünü tanımlar Mevut durum verildiğinde, geri kalan aşamalar için geçerli en iyi karar öneden erişilen durumlara veya öneden seçilen kararlara dayanmamalıdır Sorundaki durumlar T aşamadan birine sınılandırılmışsa; t, t+1,...,t aşamaları boyuna kazanılan ödül veya maliyetleri, t+1, t+,..., T aşamalarında kazanılan ödül veya maliyetler ile ilişkilendiren bir yineleme vardır.
t i = min j ij + t+1 (j)
Stok Modelleri - Örnek Bir şirketin ürününe önümüzdeki dört ay boyuna talep sırasıyla 1,, ve 4 adettir. Her ayın başında şirket o ay kaç adet ürün üreteeğine karar vermek zorundadır. Üretim için hazırlık (sabit) maliyeti $ dır. Üretilen her ürün için değişken maliyet $1 dır. Her ayın sonunda eldeki her ürün için 50 lik bir stokta tutma maliyeti söz konusudur. Bir ayda en azla 5 adet ürün üretilebilir. Her ayın sonunda stokta en azla 4 adet ürün olabilir. Birini ayın başında elde ürün olmadığı varsayılaaktır. Şirket dört ay boyuna taleplerin zamanında karşılandığı ve üretim ile taşıma maliyetlerinin en küçüklendiği bir üretim çizelgesi belirlemek istemektedir.
Stok Modelleri - Örnek Talepler: 1. ay: 1 birim;. ay: birim;. ay birim; 4. ay: 4 birim Üretim hazırlık maliyeti: $ Üretim değişken maliyeti: $1 / ürün Stokta tutma maliyeti: $0.50 Üretim kapasitesi: 5 adet Stok kapasitesi: 4 adet Aşamalar??? Durumlar??? Her aşamada neye karar verileek?? Yineleme ormülü??
Stok Modelleri 1. Zaman dönemlere ayrılmıştır: 1,,,T {Aşamalar}. Her dönem başında irma elinde bulunan stoğa {Durum} göre kaç adet üretim yapaağına karar vermelidir {Karar}. Her dönemin talebi üretim veya dönem başında elde bulunan stok ile karşılanmalıdır. 4. Firmanın sınırlı bir stok kapasitesi vardır. 5. Firmanın amaı 1,,,T dönemlerindeki talepleri en az maliyetle karşılamaktır.
Aşamalar: dönemler (ay, hata, gün) 1,,,T Durumlar: dönem başı stok Karar: dönemde ne kadar üretileek Yineleme ormülü T (i) = 0 1 (i 0 ) =? t t t d i t d i d i h i t 1 min
Stok Modelleri - Örnek 4. Ay hesaplamaları Talep : 4 adet
Stok Modelleri. Ay hesaplamaları (Talep: adet) Toplam maliyet: ( ½ ) (i + ) + () + 4 (i + ) 1 min 4 i i i
Stok Modelleri. Ay hesaplamaları (Talep: adet) Toplam maliyet: ( ½ ) (i + ) + () + 4 (i + ) 1 i i i min
Stok Modelleri 1. Ay hesaplamaları Talep 1 adet Başlangıç stoğu yok
Stok Modelleri En iyi üretim çizelgesinin belirlenmesi 1 (0)=$0, 1 (0)=1 dönem sonu stok: 0 (0)=16, (0)=5 dönem sonu stok: ()=7, ()=0 dönem sonu stok:0 4 (0)=4, 4 (0)=4
Kaynak Tahsisi Modelleri Fino nun yatırım için ayırdığı $6000 ve bu yatırımı yapabileeği üç yatırım seçeneği vardır. Fino d j doları j yatırımına hararsa r j (d j ) dolar kazanç sağlayaaktır (bin dolar): r 1 (d 1 ) = 7d 1 + d 1 >0 r (d ) = d + 7 d >0 r (d ) = 4d + 5 d >0 r 1 (0) = r (0) = r (0) =0 Her bir yatırıma ayrılan para $1000 ın katları kadar olmalıdır. Fino kazanını enbüyüklemek için $6000 ı nasıl kullanmalıdır?
Kaynak Tahsisi Modelleri Aşamalar??? Durumlar??? Her aşamada neye karar verileek?? Yineleme ormülü??
Sırt Çantası Problemi Ağırlığı sırasıyla 4, ve 5 kg olan eşya 1, ve ün sağlayaağı yararlar 11, 7 ve 1 dir. 10 kg lık bir sırt çantası söz konusu olduğunda toplam aydayı en büyüklemek için sırt çantası nasıl doldurulmalıdır? Eşya Ağırlık Fayda 1 4 11 7 5 1 Aşamalar??? Durumlar??? Her aşamada neye karar verileek?? Yineleme ormülü??
Sırt Çantası Problemi (Çözüm) t (d) : d kg ağırlığın t, t+1,..., eşyalarıyla doldurulmasından elde edilen en büyük ayda. Aşama Hesaplamaları (10) = 4 (5) = (6) = (7) = (8) = (9) = 1 (0) = (1) = () = () = (4) = 0 (10) = (9) = (8) = (7) = (6) = (5) = 1 (0) = (1) = () = () = (4) = 0
Sırt Çantası Problemi (Çözüm) Aşama hesaplamaları 10 9 8 7 7 0 7 1 ma 7 7 0 7 7 1 ma 7 7 7 0 ma7 1 7 7 0 ma7 1 7 10 7 4 1 9 8 0 8 5 7 4 1 4 * 19 14 1 1 19 14 1* 1 19 * 14 1 7 14 * 0 1 0 1 0 1 0 1 6 5 4 7 0 ma7 1 7 7 0 ma 7 1 7 0 ma 7 1 7 0 ma 7 1 6 0 5 4 1 0 ma 70 1 7 14 * 1* 7 0 7 * 0 7 * 0 1 0 1 0 1 0 1 0 0 0 0 ma 70 1 1 70 0 0 0 0
Sırt Çantası Problemi (Çözüm) Aşama 1 Hesaplamaları 1 10 110 ma111 11 10 6 4 5 * 1 1 1 0 1 Sonuç olarak; en iyi çözüm nedir?
Sırt Çantası Problemi Alternati ormülasyon g(w): w ağırlığından elde edileek en büyük ayda g w = maks j b j + g(w w j ) j: eşyalar, b j : j eşyasının aydası w j : j eşyasının ağırlığı Eşya Ağırlık Fayda 1 4 11 7 5 1
Teçhizat Yenileme Modelleri Bir makinenin veya teçhizatın hizmet verme süresi arttıkça bakım maliyeti de aynı oranda yüksek olur ve üretkenliği de aynı oranda azalır. Bir makine belirli bir yaşa geldiği zaman onu yenilemek daha ekonomik olabilir. Burada sorun, makinenin en ekonomik kullanılaağı yaşın belirlenmesidir. Söz konusu sorun çoğu zaman dinamik programlama ile çözülür.
Teçhizat Yenileme Modelleri Bir otomobil tamir atölyesi, bir motor analiz makinasını her zaman hazır bulundurmalıdır. Yeni bir motor analiz makinesini $1000 a mal olmaktadır. i. yılındaki bir motor analiz makinesini onarma maliyeti şu şekildedir: m 1 = $60, m = $80, m = $10. Bir analiz makinası 1, veya yıl kullanılabilir. i yıldır kullanılan makine yenisiyle değiştirildiğinde, s i hurda değeri elde edilir. Yıllara göre hurda değerleri s 1 =$800, s =$600, s =$500. Şirketin şu an (zaman 0) yeni bir alet alması gerektiği gerçeğini göz önüne alarak geleek beş yıl için şirketin net maliyetlerini [(onarım maliyetlerii) + (değiştirme maliyetlerii) (hurda değeri)] enazlayaak bir satın alma politikası belirleyiniz.
Teçhizat Yenileme Modelleri Ağ gösterimi g t = min { t + g } g(t) : t zamanında yeni bir makine alındığında t. zamandan 5. zamana kadar karşılaşılan en küçük net maliyet (Bu değerde yeni alınan makinenın üreti ile, hurda değeri de dahildir)
Teçhizat Yenileme Modelleri Çözüm $760 $540 $60 500 600 800 10 80 60 80 60 1000 60 1000 1000 45 5 4 5 4 14 1 1 0 0 01 * $60 0 60 5 4 45 g g * $540 $50 0 60 540 60 5 4 min 5 4 g g g 800 $ 60 $780 50 $760* 540 60 5 4 min 5 4 g g g g * * 100 1060 100 60 760 50 540 760 60 4 min 1 14 1 1 g g g g * * 180 100 180 50 760 760 540 100 60 1 min 0 0 0 01 g g g g
Ağ Örneği İstanbul 0 Ankara 7 Konya 15 0 99 59 0 Eskişehir 70 Adana
Örnek Winston s.985 Problem 4 ATK-Emniyet müdürlüğü sorumlu olduğu üç bölgeye elinde bulunan beş ekibi atamak istemektedir. Aşağıdaki tabloda bölgelere atanaak ekip sayısına göre oluşması muhtemel şuç sayıları verilmiştir. Mahalle muhtarlığı Üç bölgedeki Toplam şuç sayısını azaltmak için hangi bölgeye kaç ekip atanması gerektiğini dinamik programlama ile belirleyiniz. Bölgeye atanan ekip sayısına göre suç sayıları Bölgeler 0 1 4 5 1 14 10 7 4 1 0 5 19 16 14 1 11 0 14 11 8 6 5
EM0 Yöneylem Araştırması Dinamik Programlama Dr. Özgür Kabak
Örnek Winston s.985 Problem 4 ATK-Emniyet müdürlüğü sorumlu olduğu üç bölgeye elinde bulunan beş ekibi atamak istemektedir. Aşağıdaki tabloda bölgelere atanaak ekip sayısına göre oluşması muhtemel şuç sayıları verilmiştir. Mahalle muhtarlığı Üç bölgedeki Toplam şuç sayısını azaltmak için hangi bölgeye kaç ekip atanması gerektiğini dinamik programlama ile belirleyiniz. Bölgeye atanan ekip sayısına göre suç sayıları Bölgeler 0 1 4 5 1 14 10 7 4 1 0 5 19 16 14 1 11 0 14 11 8 6 5
Dinamik parti hami modeli İlk dönemin başında t döneminin (t = 1,,..., T) d t talebi bilinmektedir. t döneminin talebi stoktan veya t dönemi üretiminden karşılanabililir. adet ürünü üretme maliyeti: (). (0) = 0 >0 için () = K + K= bir peryotta ürünü üretmenin sabit maliyet, = birim başına üretim maliyet Bir t döneminin sonu stoğu: i t Stok elde tutma maliyeti h*i t dir. i 0 birini dönemden öne elde bulunan stok miktarı Amaç her bir t dönemindeki talepleri zamanında karşılamak için toplam maliyeti en küçükleyeek i leri (t dönemindeki üretim miktarı) hesaplamak. t dönemi sonunda oluşan stok üst sınırı t. t döneminin üretim üst sınırı r t.
Dinamik parti hami modeli Talepler: d t (t=1,,,t) Üretim Maliyeti: (0) = 0 >0 için () = K + Envalter taşıma maliyeti: h*i t Amaç: Üretim miktarını belirle ( t ) Tüm talepleri zamanında karşıla Toplam maliyeti enküçükle
Dinamik parti hami modeli Çözüm Yöntemleri Wagner-Whitin Algoritması Silver-Meal Sezgisel Yaklaşımı
Wagner-Whitin Algoritması Aşamalar: dönemler (t=1,,,t) Durum:? Karar: hangi dönemler için üretim yapılaak( t den t+j e) T+1 = 0 ; Bul 1 ) *... * ( )... ( min 1 1 1 0,1,,... j t t t j t t t tj j t tj t T j t d j d d h d d d K
Wagner-Whitin Algoritması Örnek K = $0; h =$1; =$5; d 1 = 40; d = 60; d = 10; d 4 = 0;
Silver-Meal Sezgisel Yaklaşımı Dinamik parti hami problemi için sezgisel bir yaklaşım Wagner-Within algoritmasından daha kolay uygulanabilir ve en iyi çözüme yakın sonuç verir TC(t)=K+HC(t) TC(t): t dönem için üretim yapılırsa oluşaak toplam maliyet. AC t = TC(t) t Ortalama maliyet Aşağıdaki koşulu sağlayan t* ı bul: t<t*, AC(t+1) AC(t) and AC(t*+1) AC(t*).
Silver-Meal Sezgisel Yaklaşımı Örnek K = $0; h =$1; =$5; d 1 = 40; d = 60; d = 10; d 4 = 0; d 5 = 5