Alkaff
Penyelidikan Operasi
Pemrograman Dinamik
Pengertian Umum
Pemrograman Dinamik
Pengertian Umum
Pemrograman Dinamik
Pengertian Umum
𝐶𝑖 𝑋𝑖 , 𝑆𝑖
Pemrograman Dinamik
Pengertian Umum
Dapat diilustrasikan sebagai berikut:
𝑆1 𝑆2 𝑆𝑖 𝑆𝑖+1 𝑆𝑁 𝑆𝑁+1
1 2 i i+1 N
Pemrograman Dinamik
Pengertian Umum
Definisikan
𝑓𝑖 𝑆𝑖 Hasil total yang optimal dari tahap-tahap 𝑖, 𝑖 + 1, … , 𝑁 bila
pada tahap 𝑖 berada pada keadaan 𝑆𝑖 .
Didapat,
𝑓𝑖 𝑆𝑖 = 𝑜𝑝𝑡 𝐶𝑖 𝑋𝑖 , 𝑆𝑖 + 𝑓𝑖+1 𝑆𝑖+1
𝑋𝑖
yang merupakan persamaan rekursif mundur mulai dari 𝑖 = 𝑁 sampai
dengan 𝑖 = 1
Yang dicari adalah 𝑋1 , 𝑋2 , … , 𝑋𝑁
Hasil akhirnya adalah 𝑓1 (𝑆1 )
Syarat awal adalah 𝑓𝑁+1 𝑆𝑁+1 = 0
Yang diketahui adalah 𝑆1 , 𝑆𝑁+1 , 𝐶𝑖 𝑋𝑖 , 𝑆𝑖 untuk 𝑖 = 1, 2,.., N
Abe Alkaff
Pemrograman Dinamik
Pengertian Umum
Formulasi pemrograman dinamik adalah menentukan variabel dan persamaan sebagai
berikut:
1. Tahap (𝑖) : definisi tahap-tahap pengerjaan program
2. Horizon (𝑁) : total tahap yang harus dilalui dalam penyelesaian masalah
3. State (𝑆𝑖) : keadaan pada tahap ke 𝑖
4. Decision (𝑋𝑖) : keputusan yang diambil pada tahap ke 𝑖
5. Syarat batas : keadaan pada tahap awal (𝑆1) dan tahap akhir (𝑆𝑁+1 )
6. Fungsi Hasil (𝐶𝑖(𝑋𝑖, 𝑆𝑖)) : hasil yang diperoleh dari tahap i karena mengambil keputusan 𝑋𝑖
pada saat berada pada keadaan 𝑆𝑖
7. Transformasi State : hubungan antara state dan keputusan pada tahap i terhadap
state pada tahap berikutnya 𝑆𝑖+1 = 𝑓(𝑆𝑖, 𝑋𝑖 )
8. Fungsi Rekursif : 𝑓𝑖 𝑆𝑖 = 𝑜𝑝𝑡{𝐶𝑖 𝑋𝑖 , 𝑆𝑖 + 𝑓𝑖+1 𝑆𝑖+1 }
persamaan rekursif mundur mulai dari 𝑖 = 𝑁 sampai 𝑖 = 1
9. Syarat awal : nilai fungsi rekursif ke 𝑁 + 1 adalah 0 𝑓𝑁+1 𝑆𝑁+1 = 0
10.Ruang Keadaan : Himpunan nilai 𝑆𝑖
11.Penyelesaian : 𝑓1 𝑆1
Abe Alkaff
Pemrograman Dinamik
Lintasan Terpendek
Pemrograman Dinamik
Lintasan Terpendek
Tahap
Abe Alkaff
Pemrograman Dinamik
Lintasan Terpendek
Formulasi Pemrograman Dinamik persoalan ini adalah sebagai berikut:
Tahap : posisi kelompok node
Horizon : Total ada 5 tahap kelompok node (N=5)
State : Node-node pada tahap tertentu
Variabel Keadaan 𝑆𝑖 : node – node pada tahap 𝑖
Variabel keputusan 𝑋𝑖 : arah perpindahan pada tahap 𝑖 ( gerak ke atas / bawah )
Fungsi Hasil 𝐶𝑖 (𝑋𝑖 , 𝑆𝑖 ) : Jarak yang harus ditempuh karena pada tahap 𝑖 berada pada node
𝑆𝑖 dan memutuskan untuk mengikuti arah 𝑋𝑖
Transformasi State : Perpindahan ke node 𝑆𝑖+1 dari node 𝑆𝑖 karena keputusan 𝑋𝑖
Syarat batas : 𝑆1 = 1, 𝑆5 = 9
Fungsi rekursif : 𝑓𝑖 𝑆𝑖 = min 𝐶𝑖 𝑋𝑖 , 𝑆𝑖 + 𝑓𝑖+1 𝑆𝑖+1
𝑥𝑖
Pemrograman Dinamik
Lintasan Terpendek
TAHAP 4 𝐶4 𝑋4 , 𝑆4 + 𝑓5 𝑆5
𝑆4 𝑋4 𝑎𝑡𝑎𝑠 𝑏𝑎𝑤𝑎ℎ 𝑋4∗ 𝑓4 𝑆4
7 − 2+0 𝑏𝑎𝑤𝑎ℎ 2
8 4+0 − 𝑎𝑡𝑎𝑠 4
TAHAP 3 𝐶3 𝑋3 , 𝑆3 + 𝑓4 𝑆4
𝑆3 𝑋3 𝑎𝑡𝑎𝑠 𝑏𝑎𝑤𝑎ℎ 𝑋3∗ 𝑓3 𝑆3
4 − 1+2 𝑏𝑎𝑤𝑎ℎ 3
5 3+2 5+4 𝑎𝑡𝑎𝑠 5
6 2+4 − 𝑎𝑡𝑎𝑠 6
Abe Alkaff
Pemrograman Dinamik
Lintasan Terpendek
TAHAP 2
𝐶2 𝑋2 , 𝑆2 + 𝑓3 𝑆3
𝑆2 𝑋2 𝑎𝑡𝑎𝑠 𝑏𝑎𝑤𝑎ℎ 𝑋2∗ 𝑓2 𝑆2
2 6+3 3+5 𝑏𝑎𝑤𝑎ℎ 8
3 4+5 7+6 𝑎𝑡𝑎𝑠 9
TAHAP 1
𝐶1 𝑋1 , 𝑆1 + 𝑓2 𝑆2
𝑆1 𝑋1 𝑎𝑡𝑎𝑠 𝑏𝑎𝑤𝑎ℎ 𝑋1∗ 𝑓1 𝑆1
1 2+8 2+9 𝑎𝑡𝑎𝑠 10
atas bawah atas bawah
Lintasan Terpendek: 1 2 5 7 9
Dengan panjang lintasan = 10
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
Aplikasi pemrograman dinamik yang Seseorang memiliki 4 kios buah. Dia
sering dijumpai adalah untuk baru membeli 8 keranjang jeruk
optimisasi alokasi sumberdaya. untuk ditempatkan di empat kiosnya.
Tiap kios minimal harus dapat 1
𝑲𝒊𝒐𝒔 keranjang. Keuntungan yang
𝑲𝒆𝒓𝒂𝒏𝒋𝒂𝒏𝒈
𝟏 𝟐 𝟑 𝟒
diperoleh dari tiap kios tergantung
pada keranjang jeruk yang
𝟏 3 4 5 3
ditempatkan yang nilainya diberikan
𝟐 6 7 7 7
pada tabel berikut.
𝟑 9 9 8 10
𝟒 12 10 8 11 Tentukan alokasi keranjang jeruk
𝟓 14 10 8 11 supaya keuntungan total dari 4 kios
tersebut adalah maksimum.
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
Untuk menunjukkan adanya tahapan penyelesaian, permasalahan ini dapat
digambarkan dalam skema sebagai berikut
Keranjang jeruk
yang ditempatkan
𝑋1 𝑋2 𝑋3 𝑋4
Keranjang jeruk yang
tersedia/tersisa
𝑆1 𝑆2 𝑆3 𝑆4 𝑆5
1
Kios 2 3 4
𝐶1 𝐶2 𝐶3 𝐶4
Keuntungan yang diperoleh
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
Formulasi Pemrograman Dinamik:
1. 𝑇𝑎ℎ𝑎𝑝 : Kios
2. 𝐻𝑜𝑟𝑖𝑧𝑜𝑛 :N=4
3. 𝑆𝑖 (𝑆𝑡𝑎𝑡𝑒) : keranjang jeruk yang masih tersisa untuk
ditempatkan di kios 𝑖, 𝑖 + 1, … , 𝑁
4. 𝑋𝑖 (𝐾𝑒𝑝𝑢𝑡𝑢𝑠𝑎𝑛): banyaknya keranjang jeruk yang di tempatkan di kios
𝑖, 𝑖 = 1, 2, 3, 4
5. 𝐶𝑖 (𝑋𝑖 , 𝑆𝑖 ) : keuntungan yang diperoleh dari kios 𝑖 karena
menempatkan sejumlah keranjang jeruk di kios 𝑖 dari sejumlah
keranjang jeruk yang masih tersisa (𝑋𝑖 dari 𝑆𝑖 yang tersisa) ⟶ Fungsi
hasil/biaya
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
Formulasi Pemrograman Dinamik:
Pemrograman Dinamik
Alokasi Sumberdaya
TAHAP 4
banyaknya keranjang yang di tempatkan
𝐶4 𝑋4 , 𝑆4 + 𝑓5 𝑆5
𝑆4 𝑋4 1 2 3 4 5 𝑋4∗ 𝑓4 𝑆4
keranjang 1 3+0 − − − − 1 3
yang
masih 2 − 7+0 − − − 2 7
tersisa 3 − − 10 + 0 − − 3 10
untuk
ditempat- 4 − − − 11 + 0 − 4 11
kan
5 − − − − 11 + 0 5 11
Dari table keuntungan
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
TAHAP 3
𝐶3 𝑋3 , 𝑆3 + 𝑓4 𝑆4
𝑆3 𝑋3 1 2 3 4 5 𝑋3∗ 𝑓3 𝑆3
2 5+3 − − − − 1 8
3 5+7 7+3 − − − 1 12
4 5 + 10 7+7 8+3 − − 1 15
5 5 + 11 7 + 10 8 + 7 8+3 − 2 17
6 5 + 11 7 + 11 8 + 10 8+7 8+3 2.3 18
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
TAHAP 2
𝐶2 𝑋2 , 𝑆2 + 𝑓3 𝑆3
𝑆2 𝑋2 1 2 3 4 5 𝑋2∗ 𝑓2 𝑆2
3 4+8 − − − − 1 12
4 4 + 12 7+8 − − − 1 16
5 4 + 15 7 + 12 9+8 − − 1.2 19
6 4 + 17 7 + 15 9 + 12 10 + 8 − 2 22
7 4 + 18 7 + 17 9 + 15 10 + 12 10 + 8 2.3 24
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
TAHAP 1
𝐶1 𝑋1 , 𝑆1 + 𝑓2 𝑆2
𝑆1 𝑋1 1 2 3 4 5 𝑋1∗ 𝑓1 𝑆1
8 3 + 24 6 + 22 9 + 19 12 + 16 14 + 12 2,3,4 28
Pemrograman Dinamik
Alokasi Sumberdaya
Pemrograman Dinamik
Alokasi Sumberdaya
𝐶1 𝑋1 , 𝑆1 + 𝑓2 𝑆2
𝑆1 𝑋1 1 2 3 4 5 𝑋1∗ 𝑓1 𝑆1
7 3 + 22 6 + 19 9 + 16 12 + 12 − 1 𝑜𝑟 2 𝑜𝑟 3 25
Abe Alkaff
Pemrograman Dinamik
Alokasi Sumberdaya
𝑥 dan 𝑦 adalah nilai yang memerlukan informasi keuntungan yang diperoleh bila
menempatkan 6 keranjang dalam 1 kios. Tanpa nilai itu, tetap dapat dihitung
bahwa:
𝑓1 𝑆1 − 2 = 31 − 2 = 29
Hasilnya lebih baik daripada dengan 8 keranjang. Jadi, sebaiknya diterima.
Abe Alkaff
Pemrograman Dinamik
Persoalan Pengepakan
Pemrograman Dinamik
Persoalan Pengepakan
Pemrograman Dinamik
Persoalan Pengepakan
TAHAP 5
𝑪𝟓 𝑿𝟓 , 𝑺𝟓 + 𝒇𝟔 𝑺𝟔
𝑺𝟓 𝑿𝟓 𝟎 𝟏 𝑿∗𝟓 𝒇𝟓 𝑺𝟓
𝟎 𝟎+𝟎 − 𝟎 𝟎
manfaat
Berat 𝟏 𝟎+𝟎 − 𝟎 𝟎
barang 5, 𝟐 𝟎+𝟎 𝟔+𝟎 𝟏 𝟔
yaitu 2
𝟑 𝟎+𝟎 𝟔+𝟎 𝟏 𝟔
𝟒 𝟎+𝟎 𝟔+𝟎 𝟏 𝟔
manfaat
𝟓 𝟎+𝟎 𝟔+𝟎 𝟏 𝟔 maksimum
𝟔 𝟎+𝟎 𝟔+𝟎 𝟏 𝟔
𝟕 𝟎+𝟎 𝟔+𝟎 𝟏 𝟔
𝟖 𝟎+𝟎 𝟔+𝟎 𝟏 𝟔
dibawa atau tidak
Abe Alkaff
Pemrograman Dinamik
Persoalan Pengepakan
TAHAP 4
𝑪𝟒 𝑿𝟒 , 𝑺𝟒 + 𝒇𝟓 𝑺𝟓
𝑺𝟒 𝑿𝟒 𝟎 𝟏 𝑿∗𝟒 𝒇𝟒 𝑺𝟒
𝟎 𝟎+𝟎 − 𝟎 𝟎
𝟏 𝟎+𝟎 − 𝟎 𝟎
𝟐 𝟎+𝟔 𝟓+𝟎 𝟎 𝟔
𝟑 𝟎+𝟔 𝟓+𝟎 𝟎 𝟔
𝟒 𝟎+𝟔 𝟓+𝟔 𝟏 𝟏𝟏
𝟓 𝟎+𝟔 𝟓+𝟔 𝟏 𝟏𝟏
𝟔 𝟎+𝟔 𝟓+𝟔 𝟏 𝟏𝟏
𝟕 𝟎+𝟔 𝟓+𝟔 𝟏 𝟏𝟏
𝟖 𝟎+𝟔 𝟓+𝟔 𝟏 𝟏𝟏
Abe Alkaff
Pemrograman Dinamik
Persoalan Pengepakan
TAHAP 3
𝑪𝟑 𝑿𝟑 , 𝑺𝟑 + 𝒇𝟒 𝑺𝟒
𝑺𝟑 𝑿𝟑 𝟎 𝟏 𝑿∗𝟑 𝒇𝟑 𝑺𝟑
𝟎 𝟎+𝟎 − 𝟎 𝟎
𝟏 𝟎+𝟎 − 𝟎 𝟎
𝟐 𝟎+𝟔 − 𝟎 𝟔
𝟑 𝟎+𝟔 𝟒+𝟎 𝟎 𝟔
𝟒 𝟎 + 𝟏𝟏 𝟒+𝟎 𝟎 𝟏𝟏
𝟓 𝟎 + 𝟏𝟏 𝟒+𝟔 𝟎 𝟏𝟏
𝟔 𝟎 + 𝟏𝟏 𝟒+𝟔 𝟎 𝟏𝟏
𝟕 𝟎 + 𝟏𝟏 𝟒 + 𝟏𝟏 𝟏 𝟏𝟓
𝟖 𝟎 + 𝟏𝟏 𝟒 + 𝟏𝟏 𝟏 𝟏𝟓
Abe Alkaff
Pemrograman Dinamik
Persoalan Pengepakan
TAHAP 2
𝑪𝟐 𝑿𝟐 , 𝑺𝟐 + 𝒇𝟑 𝑺𝟑
𝑺𝟐 𝑿𝟐 𝟎 𝟏 𝑿∗𝟐 𝒇𝟐 𝑺𝟐
𝟎 𝟎+𝟎 − 𝟎 𝟎
𝟏 𝟎+𝟎 − 𝟎 𝟎
𝟐 𝟎+𝟔 𝟑+𝟎 𝟎 𝟔
𝟑 𝟎+𝟔 𝟑+𝟎 𝟎 𝟔
𝟒 𝟎 + 𝟏𝟏 𝟑+𝟔 𝟎 𝟏𝟏
𝟓 𝟎 + 𝟏𝟏 𝟑+𝟔 𝟎 𝟏𝟏
𝟔 𝟎 + 𝟏𝟏 𝟑 + 𝟏𝟏 𝟏 𝟏𝟒
𝟕 𝟎 + 𝟏𝟓 𝟑 + 𝟏𝟏 𝟎 𝟏𝟓
𝟖 𝟎 + 𝟏𝟓 𝟑 + 𝟏𝟏 𝟎 𝟏𝟓
Abe Alkaff
Pemrograman Dinamik
Persoalan Pengepakan
TAHAP 1
𝑪𝟏 𝑿𝟏 , 𝑺𝟏 + 𝒇𝟐 𝑺𝟐
𝑺𝟏 𝑿𝟏 𝟎 𝟏 𝑿∗𝟏 𝒇𝟏 𝑺𝟏
𝟖 𝟎 + 𝟏𝟓 𝟐 + 𝟏𝟓 𝟏 𝟏𝟕
Pemrograman Dinamik
dengan Faktor Diskon
Pemrograman Dinamik
dengan Faktor Diskon
Formulasi Pemrograman Dinamik:
Pemrograman Dinamik
dengan Faktor Diskon
𝑃𝑒𝑛𝑦𝑒𝑙𝑒𝑠𝑎𝑖𝑎𝑛 adalah 𝑓1 𝑆1
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2020
𝐶6 𝑋6 , 𝑆6 + 𝑓7 𝑆7
𝑆6 𝑋6 0 1 𝑋6∗ 𝑓6 𝑆6
8 0 − 0 0
7 − 690 + 0 1 690
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2019
𝐶5 𝑋5 , 𝑆5 + 𝑓6 𝑆6
𝑆5 𝑋5 0 1 2 𝑋5∗ 𝑓5 𝑆5
8 0 − − 0 0
7 0 + 690 730 + 0 − 0 690
6 − 730 + 690 1310 + 0 2 1310
memilih biaya yang mininum
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2018
𝐶4 𝑋4 , 𝑆4 + 𝑓5 𝑆5
𝑆4 𝑋4 0 1 2 3 4 𝑋4∗ 𝑓4 𝑆4
8 0 − − − − 0 0
7 0 + 690 750 + 0 − − − 0 690
6 0 + 1310 750 + 690 1350 + 0 − − 0 1310
5 − 750 + 1310 1350 + 690 1950 + 0 − 3 1950
4 − − 1350 + 1310 1950 + 690 2550 + 0 4 2550
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2017
𝐶3 𝑋3 , 𝑆3 + 𝑓4 𝑆4
𝑆3 𝑋3 0 1 2 3 4 𝑋3∗ 𝑓3 𝑆3
8 0 − − − − 0 0
7 0 + 690 730 + 0 − − − 0 690
6 0 + 1310 730 + 690 1310 + 0 − − 0,2 1310
5 0 + 1950 730 + 1310 1310 + 690 1890 + 0 − 3 1890
4 0 + 2550 730 + 1950 1310 + 1310 1890 + 690 2470 + 0 0 2470
3 − 730 + 2550 1310 + 1950 1890 + 1310 2470 + 690 4 3160
2 − − 1310 + 2550 1890 + 1950 2470 + 1310 4 3780
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2016
𝐶2 𝑋2 , 𝑆2 + 𝑓3 𝑆3
𝑆2 𝑋2 0 1 2 3 4 𝑋2∗ 𝑓2 𝑆2
4 0 + 2470 710 + 1890 1270 + 1310 1830 + 690 2390 + 0 4 2390
3 0 + 3160 710 + 2470 1270 + 1890 1830 + 1310 2390 + 690 4 3080
2 0 + 3780 710 + 3160 1270 + 2470 1830 + 1890 2390 + 1310 4 3700
1 − 710 + 3780 1270 + 3160 1830 + 2470 2390 + 1890 3 4300
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2015
𝐶1 𝑋1 , 𝑆1 + 𝑓2 𝑆2
𝑆1 𝑋1 0 1 2 3 4 𝑋1∗ 𝑓1 𝑆1
0 − 690 + 4300 1230 + 3700 1770 + 3080 2310 + 2390 4 4700
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Pemrograman Dinamik
dengan Faktor Diskon
Discounted Factor (Faktor Diskon)
Pemrograman Dinamik
dengan Faktor Diskon
Discounted Factor (Faktor Diskon)
Persamaan Rekursif
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2020
𝐶6 𝑋6 , 𝑆6 + 𝛽𝑓7 𝑆7
𝑆6 𝑋6 0 1 𝑋6∗ 𝑓6 𝑆6
8 0 − 0 0
7 − 690 + 0 1 690
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2019
𝐶5 𝑋5 , 𝑆5 + 𝛽𝑓6 𝑆6
𝑆5 𝑋5 0 1 2 𝑋5∗ 𝑓5 𝑆5
8 0 − − 0 0
7 0 + (690 ∗ 0.9) 730 + 0 − 0 621
6 − 730 + (690 ∗ 0.9) 1310 + 0 2 1310
Faktor diskon dengan 𝛽 = 0.9
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2018
𝐶4 𝑋4 , 𝑆4 + 𝛽𝑓5 𝑆5
𝑆4 𝑋4 0 1 2 3 4 𝑋4∗ 𝑓4 𝑆4
8 0 − − − − 0 0
7 0 + (621 ∗ 0.9) 750 + 0 − − − 0 558.9
6 0 + (1310 750 + (621 1350 + 0 − − 0 1179
∗ 0.9) ∗ 0.9)
5 − 750 + (1310 1350 + (621 1950 + 0 − 2 1908.9
∗ 0.9) ∗ 0.9)
4 − − 1350 + (1310 1950 + (621 2550 + 0 3 2508.9
∗ 0.9) ∗ 0.9)
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2017
𝐶3 𝑋3 , 𝑆3 + 𝛽𝑓4 𝑆4
𝑆3 𝑋3 0 1 2 3 4 𝑋3∗ 𝑓3 𝑆3
8 0 − − − − 0 0
7 0 + (558.9 730 + 0 − − − 0 503.0
∗ 0.9)
6 0 + (1179 730 + (558.9 1310 + 0 − − 0 1061.1
∗ 0.9) ∗ 0.9)
5 0 + (1908.9 730 + (1179 1310 1890 + 0 − 0 1718.0
∗ 0.9) ∗ 0.9) + (558.9
∗ 0.9)
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2017
𝐶3 𝑋3 , 𝑆3 + 𝛽𝑓4 𝑆4
𝑆3 𝑋3 0 1 2 3 4 𝑋3∗ 𝑓3 𝑆3
4 0 + (2508.9 730 + (1179 1310 + (1179 1890 + (558.9 2470 + 0 0 2258.0
∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9)
3 − 730 + (2508.9 1310 1890 + (1179 2470 + (558.9 3 2951.1
∗ 0.9) + (1908.9 ∗ 0.9) ∗ 0.9)
∗ 0.9)
2 − − 1310 1890 2470 + (1179 4 3531.1
+ (2508.9 + (1908.9 ∗ 0.9)
∗ 0.9) ∗ 0.9)
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2016
𝐶2 𝑋2 , 𝑆2 + 𝛽𝑓3 𝑆3
𝑆2 𝑋2 0 1 2 3 4 𝑋2∗ 𝑓2 𝑆2
4 0 + (2258 710 + (1718 1270 + (1061.1 1830 + (503 2390 + 0 0 2032.2
∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9)
3 0 + (2951.1 710 + (2258 1270 + (1718 1830 + (1061.1 2390 + (503 0 2655.9
∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9)
2 0 + (3531.1 710 + (2951.1 1270 + (2258 1830 + (1718 2390 + (1061.1 0 3177.9
∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9)
1 − 710 + (3531.1 1270 + (2951.1 1830 + (2258 2390 + (1718.1 3 3862.2
∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9)
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Tahun 2015
𝐶1 𝑋1 , 𝑆1 + 𝛽𝑓2 𝑆2
𝑆1 𝑋1 0 1 2 3 4 𝑋1∗ 𝑓1 𝑆1
0 − 690 + (3862.2 1230 + (3177.9 1770 + (2655.9 2310 + (2032.2 2 4090.2
∗ 0.9) ∗ 0.9) ∗ 0.9) ∗ 0.9)
Abe Alkaff
Pemrograman Dinamik
dengan Faktor Diskon
Pemrograman Dinamik
Ruang Kontinyu
Pemrograman Dinamik
Ruang Kontinyu
Contoh Permasalahan
Pemerintah memiliki anggaran 10 Milyar untuk menjalankan sejumlah
program kemasyarakatan yang diusulkan sebagaimana tercantum dalam tabel
berikut.
Usulan 1 2 3 4
Biaya 3.8 2.7 4.2 1.4
Manfaat Publik 59.2 31.4 65.7 40.8
Tentukan usulan yang dipilih agar publik mendapat manfaat maksimal dari
anggaran yang tersedia.
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
Formulasi
Tahap : Usulan Proyek
Horizon :𝑁= 4
𝑆𝑖 (State) : Anggaran yang masih tersedia untuk menjalankan program
𝑋𝑖 (Keputusan) : Dijalankan atau tidak usulan proyek 𝑖, 𝑖 = 1, 2 , 3, 4 .
[𝐶𝑖 𝑋𝑖 , 𝑆𝑖 ] Fungsi Hasil : Manfaaat yang diperoleh dari menjalankan proyek 𝑖 dari
anggaran yang tersisa (𝑋𝑖 dari 𝑆𝑖 yang tersisa)
Transformasi State : 𝑆𝑖+1 = 𝑆𝑖 − biaya dari tahap i
Syarat batas : 𝑆𝑖 = 10 , 𝑆5 = 0
Fungsi Rekursif : 𝑓𝑖 (𝑆𝑖 ) manfaat total maksimum yang didapat dari dijalankan atau
tidak dijalankannya program 𝑖, 𝑖 + 1, … , 𝑁
𝑓𝑖 𝑆𝑖 = max{𝐶𝑖 𝑋𝑖 , 𝑆𝑖 + 𝑓𝑖+1 𝑆𝑖+1 }
1
Initial Condition : 𝑓4 𝑆4 → 𝑓4 (0)
Ruang Keadaan : 𝑆 = { 0,1, 2, … , 10 }
Penyelesaian : 𝑓𝑖∗ (𝑆𝑖 )
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
Pentahapan :
Anggaran yang
dialokasikan ke
𝑋1 proyek 𝑋 𝑋3 𝑋4
2
Anggaran yang 𝑆1 𝑆2 𝑆3 𝑆4 𝑆5
tersedia 1
Proyek 2 3 4
𝐶1 𝐶2 𝐶3 𝐶4
Manfaat yang diperoleh dari proyek
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
Karena usulan dapat diurutkan secara bebas, pemilihan tahap dapat dilakukan
sembarang. Misalkan diambil urutan tahap adalah dari usulan 1 dan
seterusnya.
𝑆1 𝑋1 0 1 𝑋1∗ 𝑓1 𝑆1
𝑆1 ≥ 3.8 0+0 59.2 + 0 1 59.2
𝑆1 < 3.8 0+0 − 0 0
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
TAHAP 2
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
TAHAP 2
𝑆2 𝑋2 0 1 𝑋2∗ 𝑓2 𝑆2
𝑆2 ≥ 6.5 0 + 54.2 31.4 + 54.2 1 90.6
3.8 ≤ 𝑆2 < 6.5 0 + 54.2 31.4 + 0 0 54.2
2.7 ≤ 𝑆2 < 3.8 0+0 31.4 0 34.4
𝑆2 < 2.7 0+0 − 1 0
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
TAHAP 3
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
TAHAP 3
𝑆3 𝑋3 0 1 𝑋3∗ 𝑓3 𝑆3
8.0 ≤ 𝑆3 ≤ 10 0 + 90.6 65.7 + 59.2 1 124.9
6.9 ≤ 𝑆3 < 8.0 0 + 90.6 65.7 + 31.4 1 97.1
6.5 ≤ 𝑆3 < 6.9
4.2 ≤ 𝑆3 < 6.5
3.8 ≤ 𝑆3 < 4.2 Tidak perlu dihitung karena tidak akan optimal
2.7 ≤ 𝑆3 < 3.8
𝑆2 < 2.7
Abe Alkaff
Pemrograman Dinamik
Ruang Kontinyu
TAHAP 4
𝑆4 𝑋4 0 1 𝑋4∗ 𝑓4 𝑆4
10 0 + 124.9 40.8 + 124.9 1 165.7
Pemrograman Dinamik
Ruang Kontinyu
Abe Alkaff
Tugas 7
1. Kerjakan satu contoh soal atau soal pemrograman dinamik deterministic
diskrit yang ada di buku referensi dengan terlebih dahulu menggambar
pentahapannya, merancang formulasi pemrograman dinamiknya, kemudian
menyelesaikannya dengan menggunakan table seperti yang diberikan pada
bahan kuliah, menginterpretasikan penyelesaian optimal, dan melakukan
satu analisis sensitivitas akibat perubahan nilai S1.
2. Idem nomer 1, untuk ruang kontinyu atau faktor diskon (pilih salah satu)
dengan rekursif mundur (bukan rekursif maju)