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
DETERMINISTIC DYNAMIC PROGRAMMING
Program Studi StatistikaUniversitas Brawijaya
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
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
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
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 adalahF4(8) = 1030
Dari kota San Antonio ke LA adalahF4(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 LAPath 2. Kansas – San Antonio – kemudian mengambil shortest path dari San Antonio ke LA
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
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 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
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
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 ColumbusPath 2. new York – Nashville – kemudian mengikuti shortest pat dari NashvillePath 3. New York – Louisville – kemudian mengikuti shortest path dari Louisville
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
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. 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.
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.
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.
21
PRODUCTION AND INVENTORY PROBLEMS
MJ berencana memproduksi 15 mobil selama 5 bulan yaitu bulan Mei, Juni, Juli, Agustus dan September.
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
23
Membuat jadwal produksi yang meminimumkan total cost
TUJUAN DARI MJ
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
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
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
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
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
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
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
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
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
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
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
35
SOLUSI
Kementrian tenaga kerja ingin :
Memaksimumkan total banyaknya tenaga kerja baru
Biaya yang tersedia adalah $5 juta.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
52
NETWORK PRESENTATION-RESOURCE ALLOCATION PROBLEM
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
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.
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.
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.
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.
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.
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).
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.
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.
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
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.