DETERMINISTIC DYNAMIC PROGRAMMING

Program Studi Statistika
Universitas Brawijaya

DETERMINISTIC DYNAMIC
PROGRAMMING



Dynamic programming problems adalah
masalah multi tahap(multistage) dimana
keputusan dibuat secara berurutan (in
sequence)



Beberapa aplikasi dari dynamic programming
antara lain:


Network




Resource allocation



Inventory control,

NETWORK PROBLEM
Untuk menemukan shortest (longest) path yang
menghubungkan dua titik dalam network
 Contoh:
Joe tinggal di new York dan akan pergi ke LA. Dia berencana
menginap di rumah temannya dalam perjalanan tersebut. Joe
punya teman di Columbus, Nashville, Louisville, Kansas,
Omaha, Dallas, San Antonio, dan Denver. Joe tahu setelah
satu hari perjalanan dia akan mencapai Columbus, Nashville
atau Louisville. Setelah perjalanan 2 hari akan mencapai
Kansas, Omaha, atau Dallas. Setelah 3 hari perjalanan akan
mencapai Denver atau San Antonio. Setelah 4 hari akan

mencapai LA. Untuk meminimalkan jarak, kemana Joe harus
menginap setiap malam dalam perjalanannya ?


NETWORK
Columbu
s
2

680

1050 580

550
1030
New
York
1

Kansas

5
610
Denver
790
8

790

900 Nashvill
e
3

760
660

Omaha
6
700

1350

770

510
Louisvill
e
4

Stage 1
Stage 5

Stage 2

830 Dallas
7

Stage 3

540

LA

10

940

San
Antonio
790
9
270

Stage 4

THE RECURSION
Ide bekerja secara backward adalah kita mulai
menyelesaikan masalah dari yang paling sederhana
untuk menyelesaikan masalah yang kompleks.
Jadi kita mulai dari kota yang hanya membutuhkan
perjalanan satu hari ke LA yaitu kota Denver dan San
Antonio (kota pada stage 4)
Kemudian kita gunakan informasi dari stage 4 untuk

menemukan jarak terpendek dari kota pada stage 3 (
yang membutuhkan 2 hari) ke LA
Demikian seterusnya sampai kita menemukan
shortest path dari kota New York ke LA

SOLUSI


Tentukan Cij = jarak kota i ke kota j



Tentukan Ft(i) = panjang shortest path
dari kota i ke kota LA dimana kota i
adalah kota pada stage t
Tentukan shortest path ke LA dari
setiap kota di setiap stage mulai dari
stage akhir




STAGE 4 COMPUTATION
Karena hanya ada satu path dari kota
pada stage 4 ke LA maka kita dapat
langsung menentukan
Jarak terpendek dari kota Denver ke kota
LA adalah
F4(8) = 1030
Dari kota San Antonio ke LA adalah
F4(9) = 1390

STAGE 3 COMPUTATION
Terdapat tiga kota pada stage 3 yaitu
kota Kansas, Omaha dan Dallas
 Dari kota Kansas terdapat 2 path
menuju kota LA yaitu
Path 1. Kansas – Denver – kemudian
mengambil shortest path dari Denver ke
LA
Path 2. Kansas – San Antonio – kemudian

mengambil shortest path dari San
Antonio ke LA


Panjang
 

C58

Path 1 didapatkan dari
+ F4(8)

Panjang Path 2 didapatkan dari
C59 + F4(9)
Sehingga Jarak terpendek dari kota 5 ke
kota 10 adalah

Dengan
 


cara yang sama, jarak terpendek
dari kota Omaha(6) ke LA adalah
Jarak terpendek dari kota Dallas ke LA
adalah

STAGE 2 COMPUTATION
Pada stage 2 terdapat 3 kota yaitu
Columbus, Nashville, dan Louisville
Terdapat 3 path dari Coulumbus ke LA yaitu
Path 1. Columbus – Kansas – kemudain
mengambil shortest path dari Kansas
Path 2. Columbus – Omaha – kemudian
mengambil shortest path dari Omaha
Path 3. Columbus – Dallas – kemudian
mengambil shortest path dari Dallas

 Panjang Path 1. adalah
C25+F3(5)
 Panjang Path 2. adalah
C26+F3(6)

 Panjang Path 3. adalah
C27+F3(7)
Sehingga Jarak terpendek dari kota
2(Columbus ) ke LA adalah




 Dengan cara yang sama, jarak
terpendek dari kota Nashville(3) ke LA
adalah

Jarak terpendek dari kota Louisville(4) ke LA
adalah

STAGE 1 COMPUTATION
Dari kota 1(New York) terdapat 3 Path
ke kota LA yaitu
Path 1. New York – Columbus – kemudian
mengikuti shortest path dari Columbus

Path 2. new York – Nashville – kemudian
mengikuti shortest pat dari Nashville
Path 3. New York – Louisville – kemudian
mengikuti shortest path dari Louisville


Jarak
 

terpendek dari kota New york (1) ke
LA (10) adalah
Penentuan Path optimal
Dari Stage 1 kota 1: 1 – 2
Dari Stage 2 kota 2 : 2 – 5
Dari Stage 3 kota 5 : 5 – 8 – 10
Jadi Path Optimal adalah 1 – 2 – 5 – 8 – 10
dengan jarak 2870

KARAKTERISTIK APLIKASI DYNAMIC PROGRAMMING


Karakteristik 1




Problem dapat dibagi menjadi beberapa stage dan
dibutuhkan sebuah keputusan pada setiap stage.

Karakteristik 2


Setiap stage memiliki beberapa state.




state, adalah informasi yang dibutuhkan pada setiap stage
untuk membuat keputusan optimal.

Karakteristik 3


Keputusan yang dipilih pada setiap stage
menggambarkan bagaimana state pada stage sekarang
ditransformasi ke state pada stage berikutnya.



Karakteristik 4


Diberikan state sekarang, keputusan optimal untuk
setiap stage yang tersisa harus tidak tergantung pada
state yang dicapai sebelumnya atau keputusan yang
diambil sebelumnya.




Ide ini dikenal sebagai the principle of optimality.

Karakteristik 5


Jika state untuk suatu problem telah diklasifikasikan ke
T stage, harus terdapat rekursi yang menghubungkan
biaya atau reward yang didapat selama stage t, t+1,
…., T terhadap biaya atau reward yang didapat dari
stages t+1, t+2, …. T.

PRODUCTION AND INVENTORY
PROBLEM


Dynamic programming dapat digunakan
untuk menyelesaikan masalah inventory
dengan karakteristik berikut:
1.

2.

Waktu dibagi menjadi beberapa periode. Periode
sekarang adalah periode 1, berikutnya periode 2
dan terakhir adalah periode T. Pada awal periode
1, permintaan selama setiap periode diketahui.
Pada awal setiap periode, perusahaan harus
menentukan berapa banyak unit yang harus
diproduksi. Kapasitas produksi selama setiap
periode terbatas.

3.

4.

5.

Permintaan pada setiap periode harus dipenuhi
tepat waktu dari inventory ataau produksi sekarang.
Selama setiap periode dimana dilakukan produksi
maka akan timbul fixed cost dan variabel cost.
Perusahaan memiliki kapasitas penyimpanan yang
terbatas. Hal ini mencerminkan batas pada end-ofperiod inventory. Holding cost per unit timbul pada
setiap period’s ending inventory.
Tujuan perusahaan adalah menentukan jadwal
produksi untuk meminimumkan total cost dari
pemenuhan permintaan tepat waktu untuk periode
1,2, …., T.







Pada model ini, posisi inventory perusahaan
direview pada akhir setiap periode dan
kemudian keputusan produksi dibuat.
Model seperti ini dinamakan periodic
review model.
Model ini berlawanan dengan the continuous
review model dimana perusahaan
mengetahui posisi inventory setiap saat dan
memesan order atau memulai produksi
setiap saat.

PRODUCTION AND INVENTORY
PROBLEMS


MJ berencana memproduksi 15 mobil
selama 5 bulan yaitu bulan Mei, Juni,
Juli, Agustus dan September.

21

DATA





Maximum level produksi adalah 3 untuk Juli, dan 4
untuk setiap bulan yang lain.
Kapasitas penyimpanan adalah 2 mobil dengan
holding cost adalah $2,500 per bulan ($3,000 untuk
Mei).

Fixed costs (untuk asuransi dan lain – lain) hanya
terjadi jika mobil benar – benar diproduksi
22

TUJUAN DARI MJ
Membuat jadwal produksi yang
meminimumkan total cost

23

MJ - DEFINISI


Stage variable j: Bulan ke - j.



State variable Xj: Banyaknya
mobil di inventory pada awal bulan
ke - j



Decision variable Dj: Jumlah
produksi untuk bulan ke – j
24

MJ - DEFINISI


Stage cost function:


Fixed costs FCj(Dj) terjadi jika dalam bulan ke j terdapat produksi
mobil. Sehingga
FCj(Dj) = Sj jika Dj > 0
FCj(0) = 0 jika Dj = 0

• Production costs PCj(Dj) dalam bulan j proporsional
dengan jumlah mobil yang diproduksi
PCj(Dj) = PjDj

• Holding (storage) costs HCj(Dj) dalam bulan ke j
dibayarkan untuk mobil yang tidak terjual di akhir bulan
ke j.
Untuk bulan j =1: HC1(D1) = 3000(X1 + D1 - C1)= 3000D1 – 9000
Untuk bulan j = 2, 3, 4, 5: HCj(Dj ) =2500(X
Cj)C1 = 3
Asumsi: X
j+D
j -dan
1=0

25

MJ - DEFINISI






The optimal value function Fj(Xj) dalam bulan j
adalah minimum total cost yang terjadi dari bulan ke
j sampai 5( September), jika terdapat Xj mobil pada
inventory di awal bulan ke-j
Boundary conditions F5(X5):
F5(0) = 2,000 + 23,000(4) = $94,000; D5 = 4
F5(1) = 2,000 + 23,000(3) = $71,000; D5 = 3
F5(2) = 2,000 + 23,000(2) = $48,000; D5 = 2
Optimal solution F1(0) adalah minimum total cost dari
bulan Mei sampai September jika tidak ada inventory
awal
26

THE RECURSION
Fj(Xj) = Min{FCj(Dj) + PCj(Dj) + HCj(Dj) + Fj+1(Xj +Dj
- Cj)}, Pada semua Dj yang feasible.

Dj feasible hanya jika memenuhi kondisi berikut :
Dj + Xj  Cj ;
D3  3 for July; Dj  4 for j = 1, 2, 4, 5;
Dj + Xj - Cj  2;
Dj  0

27

RECURSIVE CALCULATIONS – STAGE 4: AUGUST
Bulan Fixed
Production
Holding
Produksi Kap inv
j August3000
Costs Sj ($) Costs
Pj ($) 2,500
Cost s Hc ($)
13,000
5
X4
0
1

Possible D4 X4 + D4 – C4
FC4
Total Optimal
Production Units Stored
Infeasible
Infeasible
4
0
3 52 0

PC4

D4=4
2

4
3

1
0

3

3 52 2.5
39 0

Permintaan

HC4

Cj4

Kap

2
F5(X4+D4–C4)

Cost Value
Infeasible
94 149.0 F4=149

71 128.5 F4=128.5
94 136.0 D4=4

28

RECURSIVE CALCULATIONS – STAGE 3:
JULY
Bulan Fixed
Production Holding
Permintaan Kap
Produksi Kap inv
jJulyCosts
Sj ($) Costs
($)
Cj
4000
9,000 Pj ($) Cost s Hc
2,500
1
2
X3

0
1
2

Possible D3
Optimal
Production
Value
2
3
1
4 18
0
4 9

X 3 + D 3 – C3

FC3

PC3 HC3 F4(X3+D3–C3)

Units Stored
1
2
1
5
1
5

4 18
4 27
4 9
128.5
0 0
128.5

3

Total
Cost

2.5
5.0
2.5
155.5
2.5
146.5

149173.5 F3=164.5
128.5 164.5 D3=3
149164.5 F3=155.5 2
D3=2
149151.5 F3=146.5 1
D3=1

2
2

29

RECURSIVE CALCULATIONS – STAGE 2: JUNI
Bulan Fixed
Production Holding
Permintaan
Produksi Kap inv
j Costs Sj ($)
Costs Pj ($) Cost HCj Cj
June
3000
16,000
2,500
2
4
2
X

Kap

Possibl
e D2

X2 + D2 –
C2
Units
Stored

FC2

PC2

HC2

F3(X2+D2–C2)

Total
Cost

Optimal
Value

0

2
3
4

0
1
2

3
3
3

32
48
64

0
2.5
5

164.5
155.5
146.5

199.5
209
218.5

F2 =
199.5
D2 = 2

1

1
2
3

0
1
2

3
3
3

16
32
48

0
2.5
5

164.5
155.5
146.5

183.5
193
202.5

F2 =
183.5
D2 = 1

2 0
1
2

0
1
2

0
3
3

0
16
32

0
2.5
5

164.5
155.5
146.5

164.5
177
186.5

F2
=164.5
D2 = 0

2

RECURSIVE CALCULATIONS – STAGE 1: MEI
Bulan
Fixed
Production Holding
Kap inv
j
Costs Sj ($) Costs Pj ($) Cost s Hc
May
2000
21,000 $3,000
X1
Possibl X1 + D1 –
FC1
PC1
HC1
e
C1
D1
Units
Stored

0

3
4

0
1

2
2

63
84

0
3

Permintaan
($)
Cj
3
4
F2(X1+D1–
Total
Cost
C1)

199.5
183.5

264.5
272.5

Kap Produksi

2
Optimal
Value

F1= 264.5
D1 = 3

SOLUSI

Jadwal Produksi MJ yang
meminimumkan total cost
- Bulan May
: 3 Mobil
- Bulan Juni : 2 Mobil
- Bulan Juli : 3 Mobil
- Bulan Agustus: 4 Mobil
- Bulan September : 3 Mobil
Dengan biaya minimum
$264,500

RESOURCE ALLOCATION PROBLEM






Kementrian tenaga kerja memiliki dana
sebesar 5 juta dollar untuk digunakan oleh
kementrian – kementrian yang lain untuk
menciptakan tenaga kerja
Terdapat 4 kementrian yang mengajukan
permohonan dana untuk kepentingan
penciptaan tenaga kerja.
Kementrian tenaga kerja ingin
mengalokasikan dana untuk memaksimalkan
banyaknya tenaga kerja yang diciptakan
33



Data
Estimasi pekerjaan baru yang tercipta

34

SOLUSI


Kementrian tenaga kerja ingin :


Memaksimumkan total banyaknya
tenaga kerja baru



Biaya yang tersedia adalah $5 juta.

35

SOLUSI


Notasi
Dj = jumlah dana yang dialokasikan ke kementrian j, di
mana j adalah :
1 - Pendidikan, 2 - Keuangan, 3 – Perhubungan , 4 Pertanian.
Rj(Dj) = banyaknya pekerjaan baru yang tercipta jika
Kementrian j Fungsi
dibiayainonlinier
sebesar $Dj juta.



Model
Max R1(D1) + R2(D2) + R3(D3) + R4(D4)
ST
D1 + D2 + D3 + D4