Pemrograman Dinamik
4 Tahap Pemrograman Dinamik Membagi permasalahan menjadi sub permasalahan, sebagai Tahap (Stage) Menyimpulkan seluruh kemungkian dari permasalahan pada akhir tahap (State) Mengerjakan Langkah Mundur mulai dari tahap akhir dalam menyimpulkan hasil pada setiap tahapan (backward) Mendapatkan hasil optimal dengan menyimpulkan seluruh tahap secara berurutan
Terminologi Tahapan (Stage): Periode atau logika sub- permasalahan. Variabel Pernyataan (State variables): Situasi awal atau kondisi tahapan, juga disebut variabel input. Variabel Keputusan (Decision variables): alternatif atau kemungkinan keputusan yang didapat pada setiap tahapan. Kriteria Keputusan (Decision criterion) : Pernyataan tentang tujuan permasalahan. Kebijakan Optimal (Optimal policy): Seperangkat ketentuan keputusan yang dibuat dari hasil kriteria keputusan.. Transformasi (Transformation) : Pernyatan matematis yang menghubungkan antar tahapan.
Penyelesaian kasus jarak terpendek menggunakan Pemrograman Dinamik 1 4 5 7 3 2 6 10 14 Asal Tujuan 4 12 5 6 4 2 2 10 Tahap 1 Tahap 2 Tahap 3
Data Jarak : Tahapan Kota Asal – Kota Tujuan Jarak (km) 1 1 – 2 2 1 – 3 5 1 – 4 4 2 – 5 2 – 6 10 3 – 5 12 3 – 6 6 4 – 5 3 5 – 7 14 6 - 7
Langkah Mundur 1 – 3 – 6 – 7 13 Langkah ke Tahap ke Jalur kota Jarak 1 5 – 7 14 6 – 7 2 2 dan 3 2 - 5 – 7 18 2 – 6 – 7 12 3 – 5 – 7 26 3 – 6 – 7 8 4 – 5 – 7 24 1, 2 dan 3 1 – 2 – 5 – 7 20 1 – 2 – 6 – 7 1 – 3 – 5 – 7 31 1 – 3 – 6 – 7 13 1 – 4 – 5 – 7 28
Kasus Knapsack (ransel) The “knapsack problem” atau kasus dalam kantong/ransel melibatkan memaksimumkan atau meminimumkan nilai seperti laba atau rugi. Ibaratnya kantong atau ransel mempunyai kapasitas untuk menampung volume isinya, kalau melebihi kapasitas maka kantong atau ransel akan ambrol.
Notasi Pemrograman Dinamik Decision (Keputusan) di Input (Masukan) Si-1 Output (Keluaran) Si Tahap ke i Return (Laba) ri
Contoh Kasus Pengiriman Barang melalui Cargo Pesawat Terbang Jenis Barang Berat (ton/unit) Laba (Rp/unit) Jumlah Barang (unit) 1 30 juta 6 2 4 90 juta 3 80 juta 50 juta Kapasitas angkut pesawat maksimal 10 ton, Jenis barang yang mana dan berapa unit yang dapat diangkut oleh pesawat Tersebut agar mendapatkan laba maksimal ?
Tahapan Cargo 1 Cargo 2 Cargo 3 Cargo 4 d1 d2 d3 d4 S1 S2 S3 S4 S5 r4
Langkah 1 : Barang Jenis 4 S4 (ton) d4 (unit) r4 (juta Rp) S4* f4 * 1 2 50 3 4 100 5 6 7 8 9 10
Langkah 2 : Barang Jenis 3 dan 4 (ton) d3 + d4 (unit) r3 + r4 (juta Rp) S3 * f3 * 1 0 + 0 2 0 + 1 0 + 50 50 3 1 + 0 80 + 0 - 80 4 0 + 2 0 + 100 100 5 1 + 1 80 + 50 130 6 2 + 0 160 + 0 160 7 1 + 2 80 + 100 180 8 2 + 1 160 + 50 210 9 10 2 + 2 160 + 100 260
Langkah 3 : Barang Jenis 2, 3 dan 4 (ton) d2 + d3 + d4 (unit) r2 + r3 + r4 (juta Rp) S2* f2 * 1 0 + 0 + 0 2 0 + 0 + 1 0 + 0 + 50 50 3 0 + 1 + 0 0 + 80 + 0 - 80 4 0 + 0 + 2 1 + 0 + 0 0 + 0 + 100 90 + 0 + 0 100 5 0 + 1 + 1 0 + 0 + 100 0 + 80 + 50 130 6 0 + 2 + 0 1 + 0 + 1 0 + 160 + 0 90 + 0 + 50 160 7 0 + 1 + 2 1 + 1 + 0 0 + 80 + 100 90 + 80 + 0 180 8 0 + 2 + 1 1 + 0 + 2 0 + 160 + 50 90 + 0 + 100 210 9 1 + 1 + 1 90 + 80 + 50 220 10 0 + 2 + 2 1 + 1 + 1 0 + 160 + 100 260
Langkah 4 : Barang Jenis 1, 2, 3 dan 4 (ton) d1+d2 + d3 + d4 (unit) r1+r2 + r3 + r4 (juta Rp) S2* f2 * 1 1 + 0 + 0 + 0 30 + 0 + 0 + 0 30 2 2 + 0 + 0 + 0 0 + 0 + 0 + 1 60 + 0 + 0 + 0 0+ 0 + 0 + 50 60 3 3 + 0 + 0 + 0 1 + 0 + 0 + 1 0 + 0 + 1 + 0 90 + 0 + 0 + 0 30 + 0 + 0 + 50 0 + 0 + 80 + 0 - 90 4 4 + 0 + 0 + 0 2 + 0 + 0 + 1 1 + 0+ 1 + 0 0 + 1 + 0 + 0 0 + 0 + 0 + 2 120 + 0 + 0 + 0 60 + 0 + 0 + 50 30 + 0 + 80 + 0 30 + 0 + 0 + 50 0 + 90 + 0 + 0 0 + 0 + 0 + 100 120 5 5 + 0 + 0 + 0 3 + 0 + 0 + 1 2 + 0 + 1 + 0 1 + 1 + 0 + 0 1 + 0 + 1 + 0 1 + 0 + 0 + 2 150 + 0 + 0 + 0 90 + 0 + 0 + 50 60 + 0 + 80 + 0 30 + 90 + 0 + 0 30 + 0 +80 + 0 30 + 0 + 0 + 100 150
Langkah 4b : Barang Jenis 1, 2, 3 dan 4 (ton) d1+d2 + d3 + d4 (unit) r1+r2 + r3 + r4 (juta Rp) S2* f2 * 6 0 + 0 + 2 0 + 1 + 1 0 + 2 + 0 1 + 0 + 1 0 + 0 + 100 0 + 80 + 50 0 + 160 + 0 90 + 0 + 50 - 160 7 0 + 1 + 2 1 + 1 + 0 0 + 80 + 100 90 + 80 + 0 180 8 0 + 2 + 1 1 + 0 + 2 0 + 160 + 50 90 + 0 + 100 210 9 1 + 1 + 1 90 + 80 + 50 220
Langkah 4c : Barang Jenis 1, 2, 3 dan 4 (ton) d1+d2 + d3 + d4 (unit) r1+r2 + r3 + r4 (juta Rp) S2* f2 * 10 6 + 1 + 0 + 0 6 + 0 + 1 + 0 6 + 0 + 0 + 2 5 + 1 + 0 + 0 5 + 0 + 1 + 1 5 + 0 + 0 + 2 4 + 1 + 0 + 1 4 + 0 + 2 + 0 4 + 0 + 1 + 1 4 + 0 + 0 + 2 3 + 1 + 1 + 0 3 + 1 + 0 + 1 2 + 1 + 1 + 0 2 + 1 + 0 + 2 1 + 1 + 1 + 1 1 + 0 + 2 + 1 0 + 1 + 2 + 0 0 + 0 + 2 + 2 180 + 90 + 0 + 0 180 + 0 + 80 + 0 180 + 0 + 0 + 100 150 + 900 + 0 + 0 150 + 0 + 80 + 50 150 + 0 + 0 + 100 120 + 90 + 0 + 50 120 + 0 + 160 + 0 120 + 0 + 80 + 50 120 + 0 + 0 + 100 90 + 90 + 80 + 0 90 + 90 + 0 + 50 60 + 90 + 80 + 0 60 + 90 + 0 + 100 30 + 90 + 80 + 50 30 + 0 + 160 + 50 0 + 90 + 160 + 0 0 + 0 + 160 + 100 - 280