View
9
Download
0
Category
Preview:
Citation preview
EM302 Yöneylem Araştırması 2
Dinamik Programlama
Dr. Özgür Kabak
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?
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
Aşama 1 Aşama 2 Aşama 3 Aşama 4 Aşama 5
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.
𝑓𝑡 𝑖 = min𝑗
𝑐𝑖𝑗 + 𝑓𝑡+1(𝑗)
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.
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ü??
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.
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
Stok Modelleri - Örnek
4. Ay hesaplamaları
Talep : 4 adet
Stok Modelleri
3. Ay hesaplamaları (Talep: 2 adet)
Toplam maliyet: ( ½ ) (i + x – 2) + c(x) + f4(i + x – 2)
22
2
1min
43xifxcxiif
x
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
Stok Modelleri
1. Ay hesaplamaları
Talep 1 adet
Başlangıç stoğu yok
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
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?
Kaynak Tahsisi Modelleri
Aşamalar???
Durumlar???
Her aşamada neye karar verilecek??
Yineleme formülü??
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
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
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
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
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
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.
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.
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)
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
Ağ Örneği
Ankara İstanbul
Adana
Konya
Eskişehir
15
20
30
99
59
37
20
70
Ö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
EM302 Yöneylem Araştırması 2
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 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
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 .
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
Dinamik parti hacmi modeli
Çözüm Yöntemleri
Wagner-Whitin Algoritması
Silver-Meal Sezgisel Yaklaşımı
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
Wagner-Whitin Algoritması
Örnek
K = $30;
h =$1;
c=$5;
d1 = 40; d2 = 60; d3 = 10; d4 = 20;
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*).
Silver-Meal Sezgisel Yaklaşımı
Örnek
K = $30;
h =$1;
c=$5;
d1 = 40; d2 = 60; d3 = 10; d4 = 20; d5 = 25
Recommended