63
DETERMINISTIC DYNAMIC PROGRAMMING Program Studi Statistika Universitas Brawijaya

DETERMINISTIC DYNAMIC PROGRAMMING

  • Upload
    irish

  • View
    95

  • Download
    4

Embed Size (px)

DESCRIPTION

Program Studi Statistika Universitas B rawijaya. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: DETERMINISTIC DYNAMIC PROGRAMMING

DETERMINISTIC DYNAMIC PROGRAMMING

Program Studi StatistikaUniversitas Brawijaya

Page 2: 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,

Page 3: DETERMINISTIC DYNAMIC PROGRAMMING

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 ?

Page 4: DETERMINISTIC DYNAMIC PROGRAMMING

NETWORK

680

1050 580 610

550 790 790 1030 900 760 540

660 700 940 1350 770 510 790

830 270

Stage 1 Stage 2 Stage 3 Stage 4 Stage 5

New York

1

Nashville3

Columbus2

Louisville4

Kansas5

Omaha6

Dallas7

LA10

Denver8

San Antonio

9

Page 5: DETERMINISTIC DYNAMIC PROGRAMMING

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 LADemikian seterusnya sampai kita menemukan shortest path dari kota New York ke LA

Page 6: DETERMINISTIC DYNAMIC PROGRAMMING

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

Page 7: DETERMINISTIC DYNAMIC PROGRAMMING

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 adalahF4(8) = 1030

Dari kota San Antonio ke LA adalahF4(9) = 1390

Page 8: DETERMINISTIC DYNAMIC PROGRAMMING

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 LAPath 2. Kansas – San Antonio – kemudian mengambil shortest path dari San Antonio ke LA

Page 9: DETERMINISTIC DYNAMIC PROGRAMMING

Panjang Path 1 didapatkan dari C58 + F4(8)

Panjang Path 2 didapatkan dariC59 + F4(9)

Sehingga Jarak terpendek dari kota 5 ke kota 10 adalah

Page 10: DETERMINISTIC DYNAMIC PROGRAMMING

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

Jarak terpendek dari kota Dallas ke LA adalah

Page 11: DETERMINISTIC DYNAMIC PROGRAMMING

STAGE 2 COMPUTATION

Pada stage 2 terdapat 3 kota yaitu Columbus, Nashville, dan LouisvilleTerdapat 3 path dari Coulumbus ke LA yaituPath 1. Columbus – Kansas – kemudain mengambil shortest path dari KansasPath 2. Columbus – Omaha – kemudian mengambil shortest path dari OmahaPath 3. Columbus – Dallas – kemudian mengambil shortest path dari Dallas

Page 12: DETERMINISTIC DYNAMIC PROGRAMMING

Panjang Path 1. adalah C25+F3(5)

Panjang Path 2. adalahC26+F3(6)

Panjang Path 3. adalahC27+F3(7)

Sehingga Jarak terpendek dari kota 2(Columbus ) ke LA adalah

Page 13: DETERMINISTIC DYNAMIC PROGRAMMING

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

Jarak terpendek dari kota Louisville(4) ke LA adalah

Page 14: DETERMINISTIC DYNAMIC PROGRAMMING

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 ColumbusPath 2. new York – Nashville – kemudian mengikuti shortest pat dari NashvillePath 3. New York – Louisville – kemudian mengikuti shortest path dari Louisville

Page 15: DETERMINISTIC DYNAMIC PROGRAMMING

Jarak terpendek dari kota New york (1) ke LA (10) adalahPenentuan Path optimalDari Stage 1 kota 1: 1 – 2Dari 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

Page 16: DETERMINISTIC DYNAMIC PROGRAMMING

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.

Page 17: DETERMINISTIC DYNAMIC PROGRAMMING

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.

Page 18: DETERMINISTIC DYNAMIC PROGRAMMING

PRODUCTION AND INVENTORY PROBLEM Dynamic programming dapat digunakan

untuk menyelesaikan masalah inventory dengan karakteristik berikut:

1. 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.

2. Pada awal setiap periode, perusahaan harus menentukan berapa banyak unit yang harus diproduksi. Kapasitas produksi selama setiap periode terbatas.

Page 19: DETERMINISTIC DYNAMIC PROGRAMMING

3. 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.

4. Perusahaan memiliki kapasitas penyimpanan yang terbatas. Hal ini mencerminkan batas pada end-of-period inventory. Holding cost per unit timbul pada setiap period’s ending inventory.

5. Tujuan perusahaan adalah menentukan jadwal produksi untuk meminimumkan total cost dari pemenuhan permintaan tepat waktu untuk periode 1,2, …., T.

Page 20: DETERMINISTIC DYNAMIC PROGRAMMING

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.

Page 21: DETERMINISTIC DYNAMIC PROGRAMMING

21

PRODUCTION AND INVENTORY PROBLEMS

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

Page 22: DETERMINISTIC DYNAMIC PROGRAMMING

22

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

16,000 29,000 113,000 523,000 4

DATA

Page 23: DETERMINISTIC DYNAMIC PROGRAMMING

23

Membuat jadwal produksi yang meminimumkan total cost

TUJUAN DARI MJ

Page 24: DETERMINISTIC DYNAMIC PROGRAMMING

24

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

MJ - DEFINISI

Page 25: DETERMINISTIC DYNAMIC PROGRAMMING

25

• 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(Xj+Dj - Cj)

Stage cost function: Fixed costs FCj(Dj) terjadi jika dalam bulan ke j terdapat

produksi mobil. SehinggaFCj(Dj) = Sj jika Dj > 0FCj(0) = 0 jika Dj = 0

MJ - DEFINISI

Asumsi: X1 = 0 dan C1 = 3

Page 26: DETERMINISTIC DYNAMIC PROGRAMMING

26

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

MJ - DEFINISI

Page 27: DETERMINISTIC DYNAMIC PROGRAMMING

27

Fj(Xj) = Min{FCj(Dj) + PCj(Dj) + HCj(Dj) + Fj+1(Xj +Dj - Cj)},

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

Pada semua Dj yang feasible.

THE RECURSION

Page 28: DETERMINISTIC DYNAMIC PROGRAMMING

28

RECURSIVE CALCULATIONS – STAGE 4: AUGUST

X4 Possible D4 X4 + D4 – C4 FC4 PC4 HC4 F5(X4+D4–C4) Total Optimal

Production Units Stored Cost Value

0 Infeasible Infeasible Infeasible

1 4 0 3 52 094 149.0 F4=149

D4=42 4 1 3 52 2.5

71 128.5 F4=128.53 0 3 39 0

94 136.0 D4=4

Bulan Fixed Production Holding Permintaan Kap Produksi Kap invj Costs Sj ($) Costs Pj ($) Cost s Hc ($) CjAugust3000 13,000 2,500 5 4 2

Page 29: DETERMINISTIC DYNAMIC PROGRAMMING

29

X3 Possible D3 X3 + D3 – C3 FC3 PC3 HC3 F4(X3+D3–C3) Total OptimalProduction Units Stored Cost Value

0 2 1 4 18 2.5149 173.5 F3=164.53 2 4 27 5.0128.5 164.5 D3=3

1 1 1 4 9 2.5149 164.5 F3=155.5 2 2 418 5 128.5 155.5 D3=2

2 0 1 0 0 2.5149 151.5 F3=146.5 1 2 49 5 128.5 146.5 D3=1

RECURSIVE CALCULATIONS – STAGE 3: JULY

Bulan Fixed Production Holding Permintaan Kap Produksi Kap invj Costs Sj ($) Costs Pj ($) Cost s Hc ($) CjJuly 4000 9,000 2,500 1 3 2

Page 30: DETERMINISTIC DYNAMIC PROGRAMMING

RECURSIVE CALCULATIONS – STAGE 2: JUNI

X2

Possible D2

X2 + D2 – C2

Units Stored

FC2 PC2 HC2 F3(X2+D2–C2) TotalCost

Optimal Value

0 234

012

333

324864

02.55

164.5155.5146.5

199.5209218.5

F2 = 199.5D2 = 2

1 123

012

333

163248

02.55

164.5155.5146.5

183.5193202.5

F2 = 183.5D2 = 1

2 012

012

033

01632

02.55

164.5155.5146.5

164.5177186.5

F2

=164.5D2 = 0

Bulan Fixed Production Holding Permintaan Kap Produksi Kap inv j Costs Sj ($) Costs Pj ($) Cost HCj CjJune 3000 16,000 2,500 2 4 2

Page 31: DETERMINISTIC DYNAMIC PROGRAMMING

RECURSIVE CALCULATIONS – STAGE 1: MEI

Bulan Fixed Production Holding Permintaan Kap Produksi Kap invj Costs Sj ($) Costs Pj ($) Cost s Hc ($) CjMay 2000 21,000 $3,000 3 4 2 X1 Possibl

e D1

X1 + D1 – C1

Units Stored

FC1 PC1 HC1 F2(X1+D1–C1)

TotalCost

Optimal Value

0 34

01

22

6384

03

199.5183.5

264.5272.5

F1= 264.5D1 = 3

Page 32: DETERMINISTIC DYNAMIC PROGRAMMING

SOLUSIStage State

0 1 21 D1 = 32 D2 = 2 D2 = 1 D2 = 03 D3 = 3 D3 = 2 D3 =14 - D4 = 4 D4 = 45 D4 = 4 D4 = 3 D4 = 2

BulanProductionPermintaan

j Costs Pj ($) Cj

May 3June 2July 1

August 5September 4Jadwal 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

Page 33: DETERMINISTIC DYNAMIC PROGRAMMING

33

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

RESOURCE ALLOCATION PROBLEMRESOURCE ALLOCATION PROBLEM

Page 34: DETERMINISTIC DYNAMIC PROGRAMMING

34

Data

Kementrian Biaya $ juta pekrjaan yg diciptakan

Pendidikan 4 225

Keuangan 1 45

2 125

3 190

Perhubungan 50 pekerjaan per biaya $1 juta

Pertanian 2 753 155

4 220

Estimasi pekerjaan baru yang tercipta

Page 35: DETERMINISTIC DYNAMIC PROGRAMMING

35

SOLUSI

Kementrian tenaga kerja ingin :

Memaksimumkan total banyaknya tenaga kerja baru

Biaya yang tersedia adalah $5 juta.

Page 36: DETERMINISTIC DYNAMIC PROGRAMMING

36

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 dibiayai sebesar $Dj juta.

Model

Max R1(D1) + R2(D2) + R3(D3) + R4(D4) STD1 + D2 + D3 + D4 <= 5D1, D2, D3 , D4 >= 0

Fungsi nonlinier

SOLUSI

Page 37: DETERMINISTIC DYNAMIC PROGRAMMING

37

Definisikan Fj(Xj) adalah maksimum banyaknya pekerjaan baru yang diciptakan oleh kementrian (stage) j,j+1,…, 4, jika tersedia dana sebesar $Xj juta (state) untuk kementrian j sampai 4.

THE BACKWARD DYNAMIC PROGRAMMINGTHE BACKWARD DYNAMIC PROGRAMMING

Page 38: DETERMINISTIC DYNAMIC PROGRAMMING

38

Stage 4: Kementrian Pertanian,(KPt) Mulailah dengan tahap terakhir j = 4 (Kementrian

Pertanian, KPt). Alokasikan dana yang memaksimalkan jumlah

pekerjaan baru yang diciptakan untuk kementrian ini.

Jelas, solusi optimal untuk kementrian terakhir adalah menggunakan semua jumlah yang tersedia pada stage ini).

Solusi optimal untuk stage terakhir disebut “The boundary condition”

THE BACKWARD DYNAMIC PROGRAMMINGTHE BACKWARD DYNAMIC PROGRAMMING

Page 39: DETERMINISTIC DYNAMIC PROGRAMMING

39

Stage 4: Tabel Kementrian Pertanian

Dana Pendanaan OptimalMaximum PkerjaanTersedia untuk Stage 4 F4(X4)

0 0 01 0 02 2 753 3 1554 4 2205 5 220

States

Biaya Pekerjaan2 753 1554 220

Ingat: untuk Kementrian Pertanian

SOLUSI

Page 40: DETERMINISTIC DYNAMIC PROGRAMMING

40

Stage 3: Kementrian Perhubungan, (KPh) Pada stage ini kita mempertimbangkan

pendanaan untuk Kementrian Perhubungan dan Kementrian Pertanian

Untuk jumlah dana tertentu yang tersedia untuk kedua kementrian ini, keputusan besarnya dana yang diberikan untuk kementrian KPh akan berpengaruh pada dana yang tersedia untuk KPt

SOLUSI

Page 41: DETERMINISTIC DYNAMIC PROGRAMMING

41

Dana yg Kemungkinan Dana yg Max. Jobs baru Optimal F3(X3)Tersedia Pendanaan Tersisa utk Jk m'alokasikanutk Stage 3,4 utk Stage 3 Stage 4 D3 ke Stage 3 Optimal D3

(X3) (D3) (X3-D3) R3(D3)+F4(X3-D3)0 0 0 0 + 0 F3(0) = 0; D3(0) = 01 0 1 0+0

1 0 50+0 = 50 F3(1) = 50; D3 = 1 2 0 2 0+75 = 75

1 1 50+0 = 502 0 100+0 F3(3) = 100; D3 = 2

3 0 3 0+155 = 1551 2 50+75 = 1252 1 100+0 = 1003 0 150+0 = 150 F3(3) = 155; D3 = 0

Stage 3: Tabel Kementrian Perhubungan

SOLUTION

Page 42: DETERMINISTIC DYNAMIC PROGRAMMING

42

Dana yg Kemungkinan Dana yg Max. Jobs baru Optimal F3(X3)Tersedia Pendanaan Tersisa utk Jk m'alokasikanutk Stage 3,4 utk Stage 3 Stage 4 D3 ke Stage 3 Optimal D3

(X3) (D3) (X3-D3) R3(D3)+F4(X3-D3)4 0 4 0+220 = 220

1 3 50+155 = 2052 2 100+75 = 1753 1 150+ 0 = 1504 0 200+ 0 = 220 F3(4) = 220; D3 = 0

5 0 5 0+220 = 2201 4 50+220 = 2702 3 100+155 = 2553 2 150+75 = 2254 1 200+0 = 2005 0 250+0 = 250 F3(5) = 270; D3 = 1

SOLUSI

Stage 3: Tabel Kementrian Perhubungan

Page 43: DETERMINISTIC DYNAMIC PROGRAMMING

43

Stage 2: Kementrian Keuangan, (KKu) Pada stage ini kita memikirkan pendanaan

untukKementrian Keuangan dan dua Kementrian sebelumnya yaitu Kementrian Perhubngan dan Pertanian

Untuk state tertentu (jumlah dana yang tersedia untuk ketiga Kementrian ), keputusan mengalokasikan sejumlah dana untuk Kementrian Keuangan berpengaruh pada jumlah dana yang tersedia untuk Kementrian Perhubungan dan Pertanian (state pada stage j = 3).

SOLUSI

Page 44: DETERMINISTIC DYNAMIC PROGRAMMING

44

Dana yg KemungkinanDana yg Max. Jobs baru Optimal F2(X2)Tersedia utk pendanaan Tersisa utk Ji m'alokasikan Stage 2,3,4 utk Stage 2 Stage 3,4 D2 ke Stage 2 Optimal D2

(X2) (D2) (X2-D2) R2(D2)+F3(X2-D2)0 0 0 0 + 0 F2(0) = 0; D2 = 01 0 1 0+50 = 50

1 0 45+0 = 45 F2(1) = 50; D2 = 0 2 0 2 0+100 = 100

1 1 45+50 = 952 0 125+0 = 125 F2(2) = 125; D2 = 2

3 0 3 0+155 = 1551 2 45+100 = 1452 1 125+50 = 1753 0 190+0 = 190 F2(3) = 190; D2 = 3

4 0 4 0+220 = 2201 3 45+155 = 1952 2 125+100 = 2253 1 190+50 = 240 F2(4) = 240; D2 = 3

5 0 5 0+270 = 2701 4 45+220 = 2652 3 125+155 = 2803 2 190+100 = 290 F2(5) = 290; D2 = 3

SOLUSI

Page 45: DETERMINISTIC DYNAMIC PROGRAMMING

45

Stage 1: Kementrian Pendidikan (KPd)

Pada stage ini kita memikirkan pendanaan untuk Kementrian Pendidikan dan semua kementrian sebelumnya.

Perhatikan bahwa pada stage 1 masih terdapat $5 juta untuk dialokasikan (X1 = 5).

SOLUSI

Page 46: DETERMINISTIC DYNAMIC PROGRAMMING

46

Stage 1: Kementrian Pendidikan hanya mengusulkan satu proposal yaitu sebesar $4 juta, sehingga (D1 = 0, 4).

Dana yg Kemungkinan Dana yg Max. Jobs Baru Optimal F1(X1)Tersedia Pendanaan Tersisa utk Jk m'alokasikan utk Stage 1,2,3,4 utk Stage 1 Stage 2,3,4 D3 ke Stage 3 Optimal D1

(X1) (D1) (X1-D1) R1(D1)+F2(X1-D1)5 0 5 0+290 = 290

4 1 225+50 = 275 F1(5) = 290; D1 = 0

Tidak didanai Proposal didanai

SOLUSI

Page 47: DETERMINISTIC DYNAMIC PROGRAMMING

47

Stage State0 1 2 3 4 5

1 D1 = 02 D2 = 0 D2 = 0 D2 = 2 D2 = 3 D2 = 3 D2 = 33 D3 = 0 D3 = 1 D3 = 2 D3 = 0 D3 = 0 D3 = 14 D4 = 0 D4 = 1 D4 = 2 D4 = 3 D4 = 4 D4 = 5

Alokasi pendanaan optimal untuk memaksimalkan banyaknya pekerjaan yang diciptakan adalah :

Pendidikan = $0Keuangan = $3 millionPerhubungan = $2 millionPertanian = $0

Maximum banyaknya pekerjaan yang diciptakan= 290

Alokasi pendanaan optimal untuk memaksimalkan banyaknya pekerjaan yang diciptakan adalah :

Pendidikan = $0Keuangan = $3 millionPerhubungan = $2 millionPertanian = $0

Maximum banyaknya pekerjaan yang diciptakan= 290

SOLUSI

Page 48: DETERMINISTIC DYNAMIC PROGRAMMING

48

Notasi Deskripsi ContohVariabel Stage j Titik Keputusan Keempat Kementrian Variabel State Xj Jumlah Resource Dana yang tersisa utk dialokasikan

tersisa untuk dialokasikan ke Kementrian - kementrianVariabel Keputusan Dj Keputusan yg mungkin Dana yang diberikan untuk

pada stage j kementrian ke jNilai Stage Return Rj(Dj) stage return karena Banyaknya pekerjaan pada

membuat keputusan Dj kementrian j jika didanai DjNilai Optimal Fj(Xj) Return kumulatif terbaik Maximum banyaknya pekerjaan baru

untuk stages j dan yang diciptakan kementrian j,…,4. stages sisanya pada state Xj.

Boundary Condition F(XN) sekumpulan nilai optimal Banyaknya pekerjaan baru yang diciptakanuntuk stage terakhir (N) mendanai kementrian 4 dg $X4 juta.

Nilai Solusi Optimal F1(T) Kumulatif return terbaik Maximum total banyaknya pekerjaan barudengan dana tersedia T utk dialokasikan ke semua kementrian

KOMPONEN DYNAMIC PROGRAMMING

Page 49: DETERMINISTIC DYNAMIC PROGRAMMING

49

Dynamic programming adalah proses rekursif Recursive relationship berikut menggambarkan proses

untuk resource allocation Definisikan Fj(Xj) sebagai maksimum banyaknya

pekerjaan baru yang diciptakan oleh kementrian (stage j, j+1, …, 4, jika tersedia $Xj juta untuk pendanaan kementrian (stage) j sampai 4.

Fj(Xj) = Max {(Rj(Xj) + Fj+1(Xj -

Dj)}

Untuk semua Xj yang feasible

DYNAMIC RECURSIVE RELATIONSHIP

Page 50: DETERMINISTIC DYNAMIC PROGRAMMING

50

Bentuk dari recursion relation berbeda beda dari satu problem ke problem yang lain, tapi secara umum idenya sama : Lakukan yang terbaik untuk stage yang tersisa dengan resource sisa yang tersedia.

DYNAMIC RECURSIVE RELATIONSHIP

Page 51: DETERMINISTIC DYNAMIC PROGRAMMING

51

Jaringan (Networks) dapat digunakan untuk memodelkan multistage decision problems yang diselesaikan dengan dynamic programming approach.

Setiap node merepresentasikan nilai state variable pada

setiap stage. Setiap arc merepresentasikan keputusan yang mungkin

pada state tertentu. Stage return adalah nilai (panjang) pada setiap arc. Tujuannya adalah menemukan path

terpanjang(terpendek).

DYNAMIC PROGRAMS AS NETWORKS

Page 52: DETERMINISTIC DYNAMIC PROGRAMMING

52

NETWORK PRESENTATION-RESOURCE ALLOCATION PROBLEM

Page 53: DETERMINISTIC DYNAMIC PROGRAMMING

FORMULATING DYNAMIC PROGRAMMING RECURSIONS

Pada banyak dynamic programming problems, stage tertentu terdiri atas semua state yang mungkin

Jika kasusnya adalah seperti ini maka dynamic programming recursion dapat dituliskan dalam bentuk berikut:Ft(i) = min{(cost during stage t) + ft+1 (new stage at stage t +1)}

dimana minimum pada persamaan di atas adalah untuk semua keputusan yang mungkin (feasible) bila state pada stage t adalah i

Page 54: DETERMINISTIC DYNAMIC PROGRAMMING

Formulasi yang benar menghasruskan kita

mengidentifikasi tiga aspek penting dari masalah tersebut : Aspect 1: Sekumpulan keputusan yang feasible untuk

state dan stage tertentu. Aspect 2: Kita harus menentukan bagaimana biaya

selama periode waktu sekarang (stage t) tergantung pada nilai t, state yang sekarang dan keputusan yang dipilih pada stage t.

Aspect 3: Kita harus menentukan bagaimana state pada stage t+1 tergantung pada nilai t, state pada stage t dan keputusan yang diambil pada stage t.

Tidak semua recursi merupakan bentuk dari yang telah ditunjukkan sebelumnya.

Page 55: DETERMINISTIC DYNAMIC PROGRAMMING

A FISHERY EXAMPLE

Pemilik danau harus memutuskan berapa banyak bass yang harus ditangkap dan dijual setiap tahun.

Jika dia menjual x bass selama tahun t, maka pendapatan r(x) didapatkan.

Biaya menangkap x bass selama setahun adalah fungsi c(x, b) dari banyaknya bass yang ditangkap selama tahun tersebut dan b banyaknya bass di danau pada awal tahun tersebut. Tentu saja bass bereproduksi.

Page 56: DETERMINISTIC DYNAMIC PROGRAMMING

A FISHERY EXAMPLE

Untuk memodelkan masalah ini, kita asumsikan bahwa banyaknya bass didalam danau pada awal tahun adalah 20% lebih banyak dari banyaknya bass yang tersisa didanau pada akhir tahun sebelumnya.

Asumsikan bahwa terdapat 10,000 bass di danau pada awal tahun pertama.

Bentuklah dynamic programming recursion yang dapat digunakan untuk memaksimumkan net profit pemiliknya selama T- tahun.

Page 57: DETERMINISTIC DYNAMIC PROGRAMMING

A FISHERY EXAMPLE

Dalam suatu masalah dimana keputusan harus dibuat pada beberapa titik waktu. Seringkali terdapat trade off dari keuntungan sekarang dan keuntungan masa datang.

Pada awal tahun T, pemilik danau tidak perlu khawatir tentang efek bahwa penangkapan bass akan berpengaruh pada populasi di danau pada masa datang.

Jadi, masalah pada awal tahun T relative lebih mudah diselesaikan. Untuk alasan ini, kita pilih waktu sebagai stage.

Pada setiap stage, pemilik danau harus memutuskan berapa banyak bass yang harus ditangkap.

Page 58: DETERMINISTIC DYNAMIC PROGRAMMING

A FISHERY EXAMPLE

Kita tentukan xt adalah banyaknya bass yang ditangkap selama tahun t.

Untuk menentukan nilai optimal dari xt, pemilik danau hanya perlu tahu berapa banyak bass (sebut sebagai bt) di danau pada awal tahun ke- t. sehinggastate pada awal tahun t adalah bt.

Kita tentukan ft (bt) adalah maximum net profit yang dapat diperoleh dari bass yang ditangkap selama tahun t, t+1, …T jika terdapat bt bass di danau pada awal tahun t.

Page 59: DETERMINISTIC DYNAMIC PROGRAMMING

A FISHERY EXAMPLE

Sekarang kita bahas aspek 1-3 dari rekursi. Aspect 1: apakah keputusan yang diijinkan?

Selama setiap tahun kita tidak dapat menangkap Bass lebih banyak dari yang ada di danau.

Sehungga, dalam setiap state dan untuk semua t 0 ≤ xt ≤ bt harus terpenuhi.

Aspect 2: berapakah net profit yang didapatkan selama tahun t ? Jika xt bass ditangkap selama satu tahunyang dimulai bt bass di danau, maka net profit adalah r(xt) – c(xt, bt).

Aspect 3: Apakah state selama t+1? State tahun t+1 adalah 1.2 (bt – xt).

Page 60: DETERMINISTIC DYNAMIC PROGRAMMING

A FISHERY EXAMPLE

Setelah tahun T, tidak ada future profit yang harus dipertimbangkan, sehingga ft(bt)=max{r(xt) – c(xt,bt)+ft+1[1.2(bt-xt)]} dimana 0 ≤ xt ≤ bt.

Kita gunakan persamaan ini untuk bekerja backward sampai f1(10,000) selesai dihitung.

Kemudian untuk menentukan optimal fishing policy, kita pilih x1 adalah nilai yang mencapai maksimum dalam persamaan untuk f1(10,000).

Kemudian tahun 2 akan mulai dengan 1.2(10,000 – x1) bass di danau.

Page 61: DETERMINISTIC DYNAMIC PROGRAMMING

A FISHERY EXAMPLE

Artinya x2 harus dipilih nilai yang mencapai maximum di persamaan untuk f2(1.2(10,000-x1)).

Lanjutkan terus sampai nilai optimal x3, x4,…xT ditentukan.

Page 62: DETERMINISTIC DYNAMIC PROGRAMMING

62

Dynamic programming problems

biasanya diselesaikan menggunakan

program komputer.

Karena dynamic problem berbeda - beda, tidak ada universal code untuk menyelesaikan semua masalah tersebut.

COMPUTERS AND DYNAMIC PROGRAMMING

Page 63: DETERMINISTIC DYNAMIC PROGRAMMING

63

DYNAMIC PROGRAMMING - EXAMPLES

Dalam setiap permasalahan dynamic programming kita harus dapat menentukan / mengidentifikasi hal – hal berikut: : The stage variable. The state variable. The decision variable. The stage return or cost function(s). The optimal value function. The boundary conditions. The optimal solution value (stopping rule). The recurrence relation.