Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehFachrul Susilawati Telah diubah "9 tahun yang lalu
1
Program Studi Statistika Universitas Brawijaya
2
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,
3
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 ?
4
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 Nashville 3 Columbus 2 Louisville 4 Kansas 5 Omaha 6 Dallas 7 LA 10 Denver 8 San Antonio 9
5
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
6
Tentukan C ij = jarak kota i ke kota j Tentukan F t (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
7
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 F 4 (8) = 1030 Dari kota San Antonio ke LA adalah F 4 (9) = 1390
8
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
11
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
14
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
16
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.
17
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.
18
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.
19
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.
20
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
21 MJ berencana memproduksi 15 mobil selama 5 bulan yaitu bulan Mei, Juni, Juli, Agustus dan September.
22
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
23
23 Membuat jadwal produksi yang meminimumkan total cost
24
24 Stage variable j: Bulan ke - j. State variable X j : Banyaknya mobil di inventory pada awal bulan ke - j Decision variable D j : Jumlah produksi untuk bulan ke – j
25
25 Production costs PC j (D j ) dalam bulan j proporsional dengan jumlah mobil yang diproduksi PC j (D j ) = P j D j Holding (storage) costs HC j (D j ) dalam bulan ke j dibayarkan untuk mobil yang tidak terjual di akhir bulan ke j. Untuk bulan j =1: HC 1 (D 1 ) = 3000(X 1 + D 1 - C 1 )= 3000D 1 – 9000 Untuk bulan j = 2, 3, 4, 5: HC j (D j ) =2500(X j +D j - C j ) Stage cost function: Fixed costs FC j (D j ) terjadi jika dalam bulan ke j terdapat produksi mobil. Sehingga FC j (D j ) = S j jika D j > 0 FC j (0) = 0jika D j = 0 Asumsi: X 1 = 0 dan C 1 = 3
26
26 The optimal value function F j (X j ) dalam bulan j adalah minimum total cost yang terjadi dari bulan ke j sampai 5( September), jika terdapat X j mobil pada inventory di awal bulan ke-j Boundary conditions F 5 (X 5 ): F 5 (0) = 2,000 + 23,000(4) = $94,000;D 5 = 4 F 5 (1) = 2,000 + 23,000(3) = $71,000;D 5 = 3 F 5 (2) = 2,000 + 23,000(2) = $48,000;D 5 = 2 Optimal solution F 1 (0) adalah minimum total cost dari bulan Mei sampai September jika tidak ada inventory awal
27
27 F j (X j ) = Min{FC j (D j ) + PC j (D j ) + HC j (D j ) + F j+1 (X j +D j - C j )}, D j feasible hanya jika memenuhi kondisi berikut : D j + X j C j ; D 3 3 for July; D j 4 for j = 1, 2, 4, 5; D j + X j - C j 2; D j 0 Pada semua D j yang feasible.
28
28 X 4 Possible D 4 X 4 + D 4 – C 4 FC 4 PC 4 HC 4 F 5 (X 4 +D 4 –C 4 ) Total Optimal ProductionUnits Stored Cost Value 0Infeasible Infeasible Infeasible 1 40352094149.0F 4 =149 D 4 =4 2 413522.571128.5F 4 =128.5 30339094136.0D 4 =4 BulanFixed Production Holding Permintaan Kap Produksi Kap inv jCosts Sj ($) Costs Pj ($) Cost s Hc ($) Cj August3000 13,0002,500 54 2
29
29 X 3 Possible D 3 X 3 + D 3 – C 3 FC 3 PC 3 HC 3 F 4 (X 3 +D 3 –C 3 ) Total Optimal ProductionUnits Stored Cost Value 0214182.5149173.5F 3 =164.5 324275.0128.5164.5D 3 =3 111492.5149164.5F 3 =155.5 224185128.5155.5D 3 =2 201002.5149151.5F 3 =146.5 12495128.5146.5D 3 =1 BulanFixed ProductionHolding Permintaan Kap Produksi Kap inv jCosts Sj ($) Costs Pj ($)Cost s Hc ($) Cj July4000 9,000 2,500 1 3 2
30
X2X2 Possible D 2 X 2 + D 2 – C 2 Units Stored FC 2 PC 2 HC 2 F 3 (X 2 +D 2 –C 2 )Total Cost Optimal Value 0234234 012012 333333 32 48 64 0 2.5 5 164.5 155.5 146.5 199.5 209 218.5 F 2 = 199.5 D 2 = 2 1123123 012012 333333 16 32 48 0 2.5 5 164.5 155.5 146.5 183.5 193 202.5 F 2 = 183.5 D 2 = 1 2012012 012012 033033 0 16 32 0 2.5 5 164.5 155.5 146.5 164.5 177 186.5 F 2 =164.5 D 2 = 0 BulanFixed ProductionHolding Permintaan Kap Produksi Kap inv jCosts Sj ($) Costs Pj ($)Cost HC j Cj June3000 16,000 2,500 24 2
31
Bulan Fixed ProductionHolding Permintaan Kap Produksi Kap inv j Costs Sj ($) Costs Pj ($)Cost s Hc ($) Cj May 2000 21,000 $3,000 3 4 2 X1X1 Possible D 1 X 1 + D 1 – C 1 Units Stored FC 1 PC 1 HC 1 F 2 (X 1 +D 1 –C 1 )Total Cost Optimal Value 03434 0101 2222 63 84 0303 199.5 183.5 264.5 272.5 F 1 = 264.5 D 1 = 3
32
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
33
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
34
34 Data Estimasi pekerjaan baru yang tercipta
35
35 Kementrian tenaga kerja ingin : Memaksimumkan total banyaknya tenaga kerja baru Biaya yang tersedia adalah $5 juta.
36
36 Notasi D j = jumlah dana yang dialokasikan ke kementrian j, di mana j adalah : 1 - Pendidikan, 2 - Keuangan, 3 – Perhubungan, 4 - Pertanian. R j (D j ) = banyaknya pekerjaan baru yang tercipta jika Kementrian j dibiayai sebesar $D j juta. Model Max R 1 (D 1 ) + R 2 (D 2 ) + R 3 (D 3 ) + R 4 (D 4 ) ST D 1 + D 2 + D 3 + D 4 = 0 Fungsi nonlinier
37
37 Definisikan F j (X j ) adalah maksimum banyaknya pekerjaan baru yang diciptakan oleh kementrian (stage) j,j+1,…, 4, jika tersedia dana sebesar $X j juta (state) untuk kementrian j sampai 4.
38
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”
39
39 Stage 4: Tabel Kementrian Pertanian States Ingat: untuk Kementrian Pertanian
40
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
41
41 Stage 3: Tabel Kementrian Perhubungan
42
42 Stage 3: Tabel Kementrian Perhubungan
43
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).
44
44
45
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 (X 1 = 5).
46
46 Stage 1: Kementrian Pendidikan hanya mengusulkan satu proposal yaitu sebesar $4 juta, sehingga (D 1 = 0, 4). Tidak didanaiProposal didanai
47
47 Alokasi pendanaan optimal untuk memaksimalkan banyaknya pekerjaan yang diciptakan adalah : Pendidikan= $0 Keuangan= $3 million Perhubungan= $2 million Pertanian = $0 Maximum banyaknya pekerjaan yang diciptakan= 290 Alokasi pendanaan optimal untuk memaksimalkan banyaknya pekerjaan yang diciptakan adalah : Pendidikan= $0 Keuangan= $3 million Perhubungan= $2 million Pertanian = $0 Maximum banyaknya pekerjaan yang diciptakan= 290
48
48
49
49 Dynamic programming adalah proses rekursif Recursive relationship berikut menggambarkan proses untuk resource allocation Definisikan F j (X j ) sebagai maksimum banyaknya pekerjaan baru yang diciptakan oleh kementrian (stage j, j+1, …, 4, jika tersedia $X j juta untuk pendanaan kementrian (stage) j sampai 4. F j (X j ) = Max {(R j (X j ) + F j+1 (X j - D j )} Untuk semua X j yang feasible
50
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.
51
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).
52
52
53
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: F t (i) = min{(cost during stage t) + f t+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
54
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.
55
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.
56
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.
57
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.
58
Kita tentukan x t adalah banyaknya bass yang ditangkap selama tahun t. Untuk menentukan nilai optimal dari x t, pemilik danau hanya perlu tahu berapa banyak bass (sebut sebagai b t ) di danau pada awal tahun ke- t. sehinggastate pada awal tahun t adalah b t. Kita tentukan f t (b t ) adalah maximum net profit yang dapat diperoleh dari bass yang ditangkap selama tahun t, t+1, …T jika terdapat b t bass di danau pada awal tahun t.
59
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 ≤ x t ≤ b t harus terpenuhi. Aspect 2: berapakah net profit yang didapatkan selama tahun t ? Jika x t bass ditangkap selama satu tahunyang dimulai b t bass di danau, maka net profit adalah r(x t ) – c(x t, b t ). Aspect 3: Apakah state selama t+1? State tahun t+1 adalah 1.2 (b t – x t ).
60
Setelah tahun T, tidak ada future profit yang harus dipertimbangkan, sehingga f t (b t )=max{r(x t ) – c(x t,b t )+f t +1[1.2(b t -x t )]} dimana 0 ≤ x t ≤ b t. Kita gunakan persamaan ini untuk bekerja backward sampai f 1 (10,000) selesai dihitung. Kemudian untuk menentukan optimal fishing policy, kita pilih x 1 adalah nilai yang mencapai maksimum dalam persamaan untuk f 1 (10,000). Kemudian tahun 2 akan mulai dengan 1.2(10,000 – x 1 ) bass di danau.
61
Artinya x 2 harus dipilih nilai yang mencapai maximum di persamaan untuk f 2 (1.2(10,000- x1)). Lanjutkan terus sampai nilai optimal x 3, x 4,…x T ditentukan.
62
62 Dynamic programming problems biasanya diselesaikan menggunakan program komputer. Karena dynamic problem berbeda - beda, tidak ada universal code untuk menyelesaikan semua masalah tersebut.
63
63 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.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.