em302 yöneylem araştırması 2 dinamik programlama · 2012-12-14 · dinamik programlama...
TRANSCRIPT
![Page 1: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/1.jpg)
EM302 Yöneylem Araştırması 2
Dinamik Programlama
Dr. Özgür Kabak
![Page 2: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/2.jpg)
Kibrit Çöpü Oyunu
Masa üzerinde 30 kibrit çöpü vardır
İki kişi (ben ve rakibim) oynuyor:
Sırası gelen 1,2 veya 3 kibrit çöpü çekiyor.
Ben başlıyorum, rakibim oynuyor, ben oynuyorum …
Son çöpü alan oyuncu kaybediyor.
Oyunu kazanmayı nasıl başarabilirim?
![Page 3: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/3.jpg)
550
770
900
1050
510
680
790
580
760
660
700
830
610
790
540
940
790
270
1030
1390
1
2
3
4
5
6
7
8
9
10
En kısa yol – Ağ Problemi
![Page 4: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/4.jpg)
Aşama 1 Aşama 2 Aşama 3 Aşama 4 Aşama 5
![Page 5: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/5.jpg)
Dinamik Programlama Uygulamalarının
Özellikleri
Sorun her aşamada bir karar alınacak şekilde aşamalara
bölünebilir
Her aşamanın kendisi ile ilgili durumları vardır.
Herhangi bir aşamada seçilen karar mevcut aşamadaki
durumun bir sonraki aşamadaki duruma nasıl
dönüştüğünü tanımlar
Mevcut durum verildiğinde, geri kalan aşamalar için
geçerli en iyi karar önceden erişilen durumlara veya
önceden seçilen kararlara dayanmamalıdır
Sorundaki durumlar T aşamadan birine sınıflandırılmışsa;
t, t+1,...,T aşamaları boyunca kazanılan ödül veya
maliyetleri, t+1, t+2,..., T aşamalarında kazanılan ödül
veya maliyetler ile ilişkilendiren bir yineleme vardır.
![Page 6: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/6.jpg)
𝑓𝑡 𝑖 = min𝑗
𝑐𝑖𝑗 + 𝑓𝑡+1(𝑗)
![Page 7: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/7.jpg)
Stok Modelleri - Örnek
Bir şirketin ürününe önümüzdeki dört ay boyunca talep sırasıyla 1, 3, 2 ve 4 adettir.
Her ayın başında şirket o ay kaç adet ürün üreteceğine karar vermek zorundadır.
Üretim için hazırlık (sabit) maliyeti $3’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 fazla 5 adet ürün üretilebilir. Her ayın sonunda stokta en fazla 4 adet ürün olabilir.
Birinci ayın başında elde ürün olmadığı varsayılacaktır. Şirket dört ay boyunca taleplerin zamanında karşılandığı ve üretim ile taşıma maliyetlerinin en küçüklendiği bir üretim çizelgesi belirlemek istemektedir.
![Page 8: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/8.jpg)
Stok Modelleri - Örnek
Talepler:
1. ay: 1 birim; 2. ay: 3 birim; 3. ay 2 birim; 4. ay: 4 birim
Üretim hazırlık maliyeti: $3
Ü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 verilecek??
Yineleme formülü??
![Page 9: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/9.jpg)
Stok Modelleri
1. Zaman dönemlere ayrılmıştır: 1,2,…,T {Aşamalar}
2. Her dönem başında firma elinde bulunan stoğa
{Durum} göre kaç adet üretim yapacağına karar
vermelidir {Karar}
3. 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 amacı 1,2,…,T dönemlerindeki talepleri
en az maliyetle karşılamaktır.
![Page 10: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/10.jpg)
Aşamalar: dönemler (ay, hafta, gün) 1,2,…,T
Durumlar: dönem başı stok
Karar: dönemde ne kadar üretilecek
Yineleme formülü
fT(i) = 0
f1(i0) = ?
tttdixx
t dxifxcdxihift
1|min
![Page 11: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/11.jpg)
Stok Modelleri - Örnek
4. Ay hesaplamaları
Talep : 4 adet
![Page 12: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/12.jpg)
Stok Modelleri
3. Ay hesaplamaları (Talep: 2 adet)
Toplam maliyet: ( ½ ) (i + x – 2) + c(x) + f4(i + x – 2)
22
2
1min
43xifxcxiif
x
![Page 13: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/13.jpg)
![Page 14: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/14.jpg)
![Page 15: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/15.jpg)
Stok Modelleri
2. Ay hesaplamaları (Talep: 3 adet)
Toplam maliyet: ( ½ ) (i + x – 3) + c(x) + f4(i + x – 3)
33
2
1min 32 xifxcxiif
x
![Page 16: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/16.jpg)
Stok Modelleri
1. Ay hesaplamaları
Talep 1 adet
Başlangıç stoğu yok
![Page 17: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/17.jpg)
Stok Modelleri
En iyi üretim çizelgesinin belirlenmesi
f1(0)=$20 , x1(0)=1 dönem sonu stok: 0
f2(0)=16, x2(0)=5 dönem sonu stok: 2
f3(2)=7, x3(2)=0 dönem sonu stok:0
f4(0)=4, x4(0)=4
![Page 18: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/18.jpg)
Kaynak Tahsisi Modelleri
Finco’nun yatırım için ayırdığı $6000 ve bu yatırımı yapabileceği üç yatırım seçeneği vardır. Finco dj doları j yatırımına harcarsa rj(dj) dolar kazanç sağlayacaktır (bin dolar):
r1(d1) = 7d1+ 2 d1>0
r2(d2) = 3d2+ 7 d2>0
r3(d3) = 4d3+ 5 d3>0
r1(0) = r2(0) = r3(0) =0
Her bir yatırıma ayrılan para $1000’ın katları kadar olmalıdır. Finco kazancını enbüyüklemek için $6000’ı nasıl kullanmalıdır?
![Page 19: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/19.jpg)
Kaynak Tahsisi Modelleri
Aşamalar???
Durumlar???
Her aşamada neye karar verilecek??
Yineleme formülü??
![Page 20: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/20.jpg)
Sırt Çantası Problemi
Ağırlığı sırasıyla 4, 3 ve 5 kg olan eşya 1, 2 ve 3’ün
sağlayacağı yararlar 11, 7 ve 12’dir. 10 kg’lık bir sırt
çantası söz konusu olduğunda toplam faydayı en
büyüklemek için sırt çantası nasıl doldurulmalıdır?
• Aşamalar???
• Durumlar???
• Her aşamada neye karar
verilecek??
• Yineleme formülü??
Eşya Ağırlık Fayda
1 4 11
2 3 7
3 5 12
![Page 21: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/21.jpg)
Sırt Çantası Problemi (Çözüm)
ft(d) : d kg ağırlığın t, t+1, ..., 3 eşyalarıyla
doldurulmasından elde edilen en büyük fayda.
Aşama 3 Hesaplamaları
f3(10) = 24
f3(5) = f3(6) = f3(7) = f3(8) = f3(9) = 12
f3(0) = f3(1) = f3(2) = f3(3) = f3(4) = 0
x3(10) = 2
x3(9) = x3(8) = x3(7) = x3(6) = x3(5) = 1
x3(0) = x3(1) = x3(2) = x3(3) = x3(4) = 0
![Page 22: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/22.jpg)
Sırt Çantası Problemi (Çözüm)
Aşama 2 hesaplamaları
3
2
1
0
21
14
19
*24
1
4
7
10
37
27
17
07
max10
2
2
2
2
3
3
3
3
2
x
x
x
x
f
f
f
f
f
3
2
1
0
*21
14
19
12
0
3
8
9
37
27
17
07
max9
2
2
2
2
3
3
3
3
2
x
x
x
x
f
f
f
f
f
2
1
0
14
*19
12
2
5
8
27
17
07
max8
2
2
2
3
3
3
2
x
x
x
f
f
f
f
2
1
0
*14
7
12
1
4
7
27
17
07
max7
2
2
2
3
3
3
2
x
x
x
f
f
f
f
2
1
0
*14
7
12
0
3
6
27
17
07
max6
2
2
2
3
3
3
2
x
x
x
f
f
f
f
1
0
7
*12
2
5
17
07max5
2
2
3
3
2x
x
f
ff
1
0
*7
0
1
4
17
07max4
2
2
3
3
2x
x
f
ff
1
0
*7
0
0
3
17
07max3
2
2
3
3
2x
x
f
ff
00207max2232
xff
00107max1232
xff
000070 232 xff
![Page 23: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/23.jpg)
Sırt Çantası Problemi (Çözüm)
Aşama 1 Hesaplamaları
Sonuç olarak; en iyi çözüm nedir?
2
1
0
22
*25
24
2
6
10
211
111
011
max10
1
1
1
2
2
2
1
x
x
x
f
f
f
f
![Page 24: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/24.jpg)
Sırt Çantası Problemi
Alternatif formülasyon
g(w): w ağırlığından elde edilecek en büyük fayda
𝑔 𝑤 = maks𝑗
𝑏𝑗 + 𝑔(𝑤 − 𝑤𝑗)
j: eşyalar,
bj: j eşyasının faydası
wj: j eşyasının ağırlığı Eşya Ağırlık Fayda
1 4 11
2 3 7
3 5 12
![Page 25: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/25.jpg)
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ılacağı
yaşın belirlenmesidir.
Söz konusu sorun çoğu zaman dinamik
programlama ile çözülür.
![Page 26: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/26.jpg)
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:
m1 = $60, m2 = $80, m3 = $120.
Bir analiz makinası 1, 2 veya 3 yıl kullanılabilir. i yıldır kullanılan makine yenisiyle değiştirildiğinde, si hurda değeri elde edilir. Yıllara göre hurda değerleri
s1=$800, s2=$600, s3=$500.
Şirketin şu an (zaman 0) yeni bir alet alması gerektiği gerçeğini göz önüne alarak gelecek beş yıl için şirketin net maliyetlerini [(onarım maliyetlerii) + (değiştirme maliyetlerii)–(hurda değeri)] enazlayacak bir satın alma politikası belirleyiniz.
![Page 27: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/27.jpg)
Teçhizat Yenileme Modelleri
Ağ gösterimi
𝑔 𝑡 = min𝑥
{𝑐𝑡𝑥 + 𝑔 𝑥 }
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 ücreti
ile, hurda değeri de dahildir)
![Page 28: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/28.jpg)
Teçhizat Yenileme Modelleri
Çözüm
760$
540$
260$
500
600
800
120
80
60
80
60
1000
60
1000
1000
45
35
34
25
24
23
14
13
12
03
02
01
c
c
c
c
c
c
c
c
c
c
c
c
*260$02605445
gcg
*
540$
520$
0
260
540
260
5
4min3
35
34
g
g
c
cg
800$260
780$520
*760$
540
260
5
4
3
min2
25
24
23
g
g
g
c
c
c
g
*
*
1020
1060
1020
260760
520540
760260
4
3
2
min1
14
13
12
g
g
g
c
c
c
g
*
*
1280
1300
1280
520760
760540
1020260
3
2
1
min0
03
02
01
g
g
g
c
c
c
g
![Page 29: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/29.jpg)
Ağ Örneği
Ankara İstanbul
Adana
Konya
Eskişehir
15
20
30
99
59
37
20
70
![Page 30: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/30.jpg)
Ö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 atanacak 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ölgeler
Bölgeye atanan ekip sayısına göre suç sayıları
0 1 2 3 4 5
1 14 10 7 4 1 0
2 25 19 16 14 12 11
3 20 14 11 8 6 5
![Page 31: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/31.jpg)
EM302 Yöneylem Araştırması 2
Dinamik Programlama
Dr. Özgür Kabak
![Page 32: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/32.jpg)
Ö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 atanacak 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ölgeler
Bölgeye atanan ekip sayısına göre suç sayıları
0 1 2 3 4 5
1 14 10 7 4 1 0
2 25 19 16 14 12 11
3 20 14 11 8 6 5
![Page 33: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/33.jpg)
Dinamik parti hacmi modeli İlk dönemin başında t döneminin (t = 1, 2, ..., T) dt talebi
bilinmektedir.
t döneminin talebi stoktan veya t dönemi üretiminden karşılanabililir.
x adet ürünü üretme maliyeti: c(x). c(0) = 0
x>0 için c(x) = K + cx
K= bir peryotta ürünü üretmenin sabit maliyet, c= birim başına üretim maliyet
Bir t döneminin sonu stoğu: it
Stok elde tutma maliyeti h*it dir.
i0 birinci dönemden önce elde bulunan stok miktarı
Amaç her bir t dönemindeki talepleri zamanında karşılamak için toplam maliyeti en küçükleyecek xi‘leri (t dönemindeki üretim miktarı) hesaplamak.
t dönemi sonunda oluşan stok üst sınırı ct .
t döneminin üretim üst sınırı rt .
![Page 34: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/34.jpg)
Dinamik parti hacmi modeli
Talepler: dt (t=1,2,…,T)
Üretim Maliyeti:
c(0) = 0
x>0 için c(x) = K + cx
Envalter taşıma maliyeti: h*it
Amaç: Üretim miktarını belirle (xt)
Tüm talepleri zamanında karşıla
Toplam maliyeti enküçükle
![Page 35: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/35.jpg)
Dinamik parti hacmi modeli
Çözüm Yöntemleri
Wagner-Whitin Algoritması
Silver-Meal Sezgisel Yaklaşımı
![Page 36: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/36.jpg)
Wagner-Whitin Algoritması
Aşamalar: dönemler (t=1,2,…,T)
Durum: ?
Karar: hangi dönemler için üretim yapılacak( t ’den t+j ’e)
fT+1 = 0 ; Bul f1
)*...*2()...(
min
211
1,...2,1,0
jtttjttttj
jttjtTj
t
djddhdddcKc
fcf
![Page 37: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/37.jpg)
Wagner-Whitin Algoritması
Örnek
K = $30;
h =$1;
c=$5;
d1 = 40; d2 = 60; d3 = 10; d4 = 20;
![Page 38: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/38.jpg)
Silver-Meal Sezgisel Yaklaşımı
Dinamik parti hacmi 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şacak toplam maliyet.
𝐴𝐶 𝑡 =𝑇𝐶(𝑡)
𝑡 Ortalama maliyet
Aşağıdaki koşulu sağlayan t* ‘ı bul:
t<t*, AC(t+1)≤AC(t) and AC(t*+1)≥AC(t*).
![Page 39: EM302 Yöneylem Araştırması 2 Dinamik Programlama · 2012-12-14 · Dinamik Programlama Uygulamalarının Özellikleri Sorun her aamada bir karar alınacak ekilde aama lara bölünebilir](https://reader030.vdocuments.net/reader030/viewer/2022040411/5ed5c0cab81c373d54329a21/html5/thumbnails/39.jpg)
Silver-Meal Sezgisel Yaklaşımı
Örnek
K = $30;
h =$1;
c=$5;
d1 = 40; d2 = 60; d3 = 10; d4 = 20; d5 = 25