690 likes | 960 Views
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
E N D
Program StudiStatistika UniversitasBrawijaya DETERMINISTIC DYNAMIC PROGRAMMING
Dynamic programming problems adalahmasalah multi tahap(multistage) dimanakeputusandibuatsecaraberurutan (in sequence) • Beberapaaplikasidari dynamic programming antara lain: • Network • Resource allocation • Inventory control,
Untukmenemukan shortest (longest) path yang menghubungkanduatitikdalam network Contoh: Joe tinggal di new York danakanpergike LA. Diaberencanamenginap di rumahtemannyadalamperjalanantersebut. Joe punyateman di Columbus, Nashville, Louisville, Kansas, Omaha, Dallas, San Antonio, danDenver. Joe tahusetelahsatuhariperjalanandiaakanmencapai Columbus, Nashville atau Louisville. Setelahperjalanan 2 hariakanmencapai Kansas, Omaha, atau Dallas. Setelah 3 hariperjalananakanmencapai Denver atau San Antonio. Setelah 4 hariakanmencapai LA. Untukmeminimalkanjarak, kemana Joe harusmenginapsetiapmalamdalamperjalanannya ? Network problem
680 1050580610 5507907901030 900 760 540 660 700 940 1350 770 510 790 830 270 Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 network Kansas 5 Columbus 2 Denver 8 Nashville 3 Omaha 6 LA 10 New York 1 San Antonio 9 Louisville 4 Dallas 7
Ide bekerjasecara backward adalahkitamulaimenyelesaikanmasalahdari yang paling sederhanauntukmenyelesaikanmasalah yang kompleks. Jadikitamulaidarikota yang hanyamembutuhkanperjalanansatuharike LA yaitukota Denver dan San Antonio (kotapada stage 4) Kemudiankitagunakaninformasidari stage 4 untukmenemukanjarakterpendekdarikotapada stage 3 ( yang membutuhkan 2 hari) ke LA Demikianseterusnyasampaikitamenemukan shortest path darikota New York ke LA The recursion
TentukanCij = jarakkota i kekota j Tentukan Ft(i) = panjang shortest path darikota i kekota LA dimanakota i adalahkotapada stage t Tentukan shortest path ke LA darisetiapkota di setiap stage mulaidari stage akhir Solusi
Karenahanyaadasatu path darikotapada stage 4 ke LA makakitadapatlangsungmenentukan Jarakterpendekdarikota Denver kekota LA adalah F4(8) = 1030 Dari kota San Antonio ke LA adalah F4(9) = 1390 Stage 4 computation
Terdapattigakotapada stage 3 yaitukota Kansas, Omaha dan Dallas Dari kota Kansas terdapat 2 path menujukota LA yaitu Path 1. Kansas – Denver – kemudianmengambil shortest path dari Denver ke LA Path 2. Kansas – San Antonio – kemudianmengambil shortest path dari San Antonio ke LA Stage 3 computation
Panjang Path 1 didapatkandari C58 + F4(8) Panjang Path 2 didapatkandari C59 + F4(9) SehinggaJarakterpendekdarikota 5 kekota 10 adalah
Dengan cara yang sama, jarakterpendekdarikota Omaha(6) ke LA adalah Jarakterpendekdarikota Dallas ke LA adalah
Pada stage 2 terdapat 3 kotayaitu Columbus, Nashville, dan Louisville Terdapat 3 path dariCoulumbuske LA yaitu Path 1. Columbus – Kansas – kemudainmengambil shortest path dari Kansas Path 2. Columbus – Omaha – kemudianmengambil shortest path dari Omaha Path 3. Columbus – Dallas – kemudianmengambil shortest path dari Dallas Stage 2 computation
Panjang Path 1. adalah C25+F3(5) Panjang Path 2. adalah C26+F3(6) Panjang Path 3. adalah C27+F3(7) SehinggaJarakterpendekdarikota 2(Columbus ) ke LA adalah
Dengan cara yang sama, jarakterpendekdarikota Nashville(3) ke LA adalah Jarakterpendekdarikota Louisville(4) ke LA adalah
Dari kota 1(New York) terdapat 3 Path kekota LA yaitu Path 1. New York – Columbus – kemudianmengikuti shortest path dari Columbus Path 2. new York – Nashville – kemudianmengikuti shortest pat dari Nashville Path 3. New York – Louisville – kemudianmengikuti shortest path dari Louisville Stage 1 computation
Jarakterpendekdarikota 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 denganjarak 2870
KarakteristikaplikasiDynamic Programming • Karakteristik1 • Problem dapatdibagimenjadibeberapa stage dandibutuhkansebuahkeputusanpadasetiap stage. • Karakteristik 2 • Setiap stage memilikibeberapa state. • state, adalahinformasi yang dibutuhkanpadasetiap stage untukmembuatkeputusan optimal. • Karakteristik3 • Keputusan yang dipilihpadasetiap stage menggambarkanbagaimana state pada stage sekarangditransformasike state pada stage berikutnya.
Karakteristik4 • Diberikan state sekarang, keputusan optimal untuksetiap stage yang tersisaharustidaktergantungpada state yang dicapaisebelumnyaataukeputusan yang diambilsebelumnya. • Ide inidikenalsebagai the principle of optimality. • Karakteristik5 • Jika state untuksuatu problem telahdiklasifikasikanke T stage, harusterdapatrekursi yang menghubungkanbiayaatau reward yang didapatselama stage t, t+1, …., Tterhadapbiayaatau reward yang didapatdari stages t+1, t+2, …. T.
Production And Inventory Problem • Dynamic programming dapatdigunakanuntukmenyelesaikanmasalah inventory dengankarakteristikberikut: • Waktudibagimenjadibeberapaperiode. Periodesekarangadalahperiode 1, berikutnyaperiode 2 danterakhiradalahperiode T. Padaawalperiode 1, permintaanselamasetiapperiodediketahui. • Padaawalsetiapperiode, perusahaanharusmenentukanberapabanyak unit yang harusdiproduksi. Kapasitasproduksiselamasetiapperiodeterbatas.
Permintaanpadasetiapperiodeharusdipenuhitepatwaktudari inventory ataauproduksisekarang. Selamasetiapperiodedimanadilakukanproduksimakaakantimbul fixed cost danvariabel cost. • Perusahaan memilikikapasitaspenyimpanan yang terbatas. Hal inimencerminkanbataspada end-of-period inventory. Holding cost per unit timbulpadasetiap period’s ending inventory. • Tujuanperusahaanadalahmenentukanjadwalproduksiuntukmeminimumkan total cost daripemenuhanpermintaantepatwaktuuntukperiode 1,2, …., T.
Pada model ini, posisi inventory perusahaandireviewpadaakhirsetiapperiodedankemudiankeputusanproduksidibuat. • Model sepertiinidinamakanperiodic review model. • Model iniberlawanandengan the continuous review model dimanaperusahaanmengetahuiposisi inventory setiapsaatdanmemesan order ataumemulaiproduksisetiapsaat.
PRODUCTION AND INVENTORY PROBLEMS • MJ berencanamemproduksi 15 mobilselama 5 bulanyaitubulan Mei, Juni, Juli, Agustusdan September.
Data • Maximum level produksiadalah 3 untukJuli, dan4 untuksetiapbulan yang lain. • Kapasitaspenyimpananadalah 2 mobildengan holding cost adalah $2,500 per bulan($3,000 untuk Mei). • Fixed costs (untukasuransidan lain – lain) hanyaterjadijikamobilbenar – benardiproduksi
TUJUAN DARI MJ Membuatjadwalproduksi yang meminimumkan total cost
MJ - Definisi • Stage variable j:Bulanke - j. • State variable Xj:Banyaknyamobil di inventory padaawalbulanke - j • Decision variable Dj:Jumlahproduksiuntukbulanke – j
Asumsi: X1 = 0 danC1 = 3 MJ - Definisi • Stage cost function: • Fixed costs FCj(Dj) terjadijikadalambulanke j terdapatproduksimobil. Sehingga FCj(Dj) = SjjikaDj > 0 FCj(0) = 0 jikaDj = 0 • Production costs PCj(Dj) dalambulan j proporsionaldenganjumlahmobil yang diproduksiPCj(Dj) = PjDj • Holding (storage) costs HCj(Dj) dalambulanke j dibayarkanuntukmobil yang tidakterjual di akhirbulanke j. • Untukbulan j =1:HC1(D1) = 3000(X1 + D1 - C1)= 3000D1 – 9000 • Untukbulan j = 2, 3, 4, 5:HCj(Dj) =2500(Xj+Dj - Cj)
MJ - Definisi • The optimal value function Fj(Xj) dalambulan j adalah minimum total cost yang terjadidaribulanke j sampai 5( September), jikaterdapatXjmobilpada inventory di awalbulanke-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 daribulan Mei sampai September jikatidakada inventory awal
The Recursion Fj(Xj) = Min{FCj(Dj) + PCj(Dj) + HCj(Dj) + Fj+1(Xj +Dj - Cj)}, Djfeasible hanyajikamemenuhikondisiberikut : Dj + Xj³Cj ; D3 £ 3 for July; Dj£ 4 for j = 1, 2, 4, 5; Dj + Xj - Cj£ 2; Dj³ 0 PadasemuaDjyang feasible.
Recursive Calculations – Stage 4: August Bulan Fixed Production Holding PermintaanKapProduksiKapinv j Costs Sj ($) Costs Pj($) Cost s Hc ($) Cj 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 0 94 149.0 F4=149 D4=4 2 4 1 3 52 2.5 71 128.5 F4=128.53 0 3 39 0 94 136.0 D4=4 August 3000 13,000 2,500 5 4 2
Recursive Calculations – Stage 3: July BulanFixedProduction Holding PermintaanKapProduksiKapinv j Costs Sj ($) Costs Pj ($) Cost s Hc ($) Cj July 4000 9,000 2,500 1 3 2 X3 Possible D3 X3 + D3 – C3 FC3 PC3 HC3 F4(X3+D3–C3) Total Optimal Production Units Stored Cost Value 0 2 1 4 18 2.5 149 173.5 F3=164.5 3 2 4 27 5.0 128.5 164.5 D3=3 1 1 1 4 9 2.5 149 164.5 F3=155.5 2 2 4 18 5 128.5 155.5 D3=2 2 0 1 0 0 2.5 149 151.5 F3=146.5 1 2 4 9 5 128.5 146.5 D3=1
Recursive Calculations – Stage 2: Juni Bulan Fixed ProductionHolding PermintaanKapProduksiKapinv j Costs Sj($) Costs Pj ($) Cost HCjCj June3000 16,000 2,500 2 4 2
Bulan Fixed ProductionHolding PermintaanKapProduksiKapinv j Costs Sj($) Costs Pj ($) Cost s Hc ($) Cj May 2000 21,000 $3,000 3 4 2 Recursive Calculations – Stage 1: Mei
solusi • JadwalProduksi MJ yang meminimumkan total cost • Bulan May : 3 Mobil • BulanJuni : 2 Mobil • BulanJuli : 3 Mobil • BulanAgustus : 4 Mobil • Bulan September : 3 Mobil • Denganbiaya minimum $264,500
Resource allocation Problem • Kementriantenagakerjamemilikidanasebesar 5 juta dollar untukdigunakanolehkementrian – kementrian yang lain untukmenciptakantenagakerja • Terdapat 4 kementrian yang mengajukanpermohonandanauntukkepentinganpenciptaantenagakerja. • Kementriantenagakerjainginmengalokasikandanauntukmemaksimalkanbanyaknyatenagakerja yang diciptakan
Data Estimasipekerjaanbaru yang tercipta
SOLUsi • Kementriantenagakerjaingin : • Memaksimumkan total banyaknyatenagakerjabaru • Biaya yang tersediaadalah$5 juta.
Fungsinonlinier SOLUsi • Notasi Dj= jumlahdana yang dialokasikankekementrian j, di mana j adalah :1 - Pendidikan, 2 - Keuangan, 3 – Perhubungan , 4 - Pertanian.Rj(Dj) = banyaknyapekerjaanbaru yang terciptajikaKementrian j dibiayaisebesar $Djjuta. • ModelMax R1(D1) + R2(D2) + R3(D3) + R4(D4) STD1 + D2 + D3 + D4 <= 5D1, D2, D3 , D4 >= 0
The Backward Dynamic Programming • DefinisikanFj(Xj) adalahmaksimumbanyaknyapekerjaanbaru yang diciptakanolehkementrian (stage) j,j+1,…, 4, jikatersediadanasebesar$Xjjuta (state) untukkementrian j sampai 4.
The Backward Dynamic Programming • Stage 4: KementrianPertanian,(KPt) • Mulailah dengan tahap terakhir j = 4 (KementrianPertanian, KPt). • Alokasikan dana yang memaksimalkan jumlah pekerjaan baru yang diciptakan untuk kementrianini. • Jelas, solusi optimal untuk kementrianterakhir adalah menggunakan semua jumlah yang tersedia pada stageini). • Solusi optimal untuk stageterakhir disebut “The boundary condition”
Ingat: untukKementrianPertanian SOLUsi • Stage 4: TabelKementrianPertanian States
SOLUsi • Stage 3: KementrianPerhubungan, (KPh) • Pada stage inikitamempertimbangkanpendanaanuntukKementrianPerhubungandanKementrianPertanian • Untukjumlahdanatertentu yang tersediauntukkeduakementrianini, keputusanbesarnyadana yang diberikanuntukkementrianKPhakanberpengaruhpadadana yang tersediauntukKPt
SOLUTION Stage 3: TabelKementrianPerhubungan
SOLUsi Stage 3: TabelKementrianPerhubungan
SOLUsi • Stage 2: KementrianKeuangan, (KKu) • Pada stage inikitamemikirkanpendanaanuntukKementrianKeuangandanduaKementriansebelumnyayaituKementrianPerhubngandanPertanian • Untuk state tertentu (jumlahdana yang tersediauntukketigaKementrian ), keputusanmengalokasikansejumlahdanauntukKementrianKeuanganberpengaruhpadajumlahdana yang tersediauntukKementrianPerhubungandanPertanian (state pada stage j = 3).
SOLUsi • Stage 1: KementrianPendidikan (KPd) • Pada stage inikitamemikirkanpendanaanuntukKementrianPendidikandansemuakementriansebelumnya. • Perhatikanbahwapada stage 1 masihterdapat $5 jutauntukdialokasikan (X1= 5).
SOLUsi • Stage 1: KementrianPendidikanhanyamengusulkansatu proposal yaitusebesar $4 juta, sehingga (D1 = 0, 4). Tidakdidanai Proposal didanai
SOLUsi Alokasipendanaan optimal untukmemaksimalkanbanyaknyapekerjaan yang diciptakanadalah : Pendidikan = $0 Keuangan = $3 million Perhubungan = $2 million Pertanian = $0 Maximum banyaknyapekerjaan yang diciptakan= 290
Dynamic Recursive Relationship • Dynamic programming adalah proses rekursif • Recursive relationship berikutmenggambarkan proses untuk resource allocation • DefinisikanFj(Xj) sebagaimaksimumbanyaknyapekerjaanbaru yang diciptakanolehkementrian (stage j, j+1, …, 4, jikatersedia $Xjjutauntukpendanaankementrian (stage) j sampai 4. Fj(Xj) = Max{(Rj(Xj) + Fj+1(Xj - Dj)} UntuksemuaXj yang feasible
Dynamic Recursive Relationship Bentukdarirecursion relation berbedabedadarisatu problem ke problem yang lain, tapisecaraumumidenyasama : Lakukan yang terbaikuntuk stage yang tersisadengan resource sisa yang tersedia.