Anda di halaman 1dari 63

Ab.

Alkaff

Penyelidikan Operasi

7. Pemrograman Dinamik Deterministik


Materi
Pengertian Umum

Aplikasi Lintasan Terpendek

Aplikasi Alokasi Sumberdaya

Aplikasi Persoalan Pengepakan

Pemrograman Dinamik dengan Faktor Diskon

Pemrograman Dinamik Ruang Kontinyu 2


Abe Alkaff

Pemrograman Dinamik
Pengertian Umum

Pemrograman Dinamik adalah Teknik Optimisasi untuk permasalahan


yang dapat dibagi menjadi beberapa tahap (stage), dimana pada tiap
tahap harus diambil suatu keputusan (decision) yang tergantung
pada kedudukannya pada tahap ini dan keputusan tersebut akan
menentukan keadaan/kedudukan (state) nya pada tahap berikutnya.
Abe Alkaff

Pemrograman Dinamik
Pengertian Umum

Memiliki dua macam variabel yaitu :


1. Variabel Keputusan 𝑋𝑖 : keputusan yang diambil pada tahap 𝑖
𝑖 = 1, 2, 3, … , 𝑁
2. Variabel Keadaan 𝑆𝑖 : kedudukan pada saat memasuki tahap 𝑖
𝑖 = 1, 2, 3, … , 𝑁
Dimana 𝑁 menyatakan banyaknya tahap atau disebut Horizon.

Karena keputusan yang diambil pada tiap tahap tergantung pada


keadaannya pada tahap tersebut, pada tahap tersebut akan diperoleh hasil
yang nilainya merupakan fungsi dari 𝑋𝑖 dan 𝑆𝑖 .
Abe Alkaff

Pemrograman Dinamik
Pengertian Umum

𝐶𝑖 𝑋𝑖 , 𝑆𝑖

Hasil yang diperoleh dari tahap 𝑖 karena mengambil


keputusan 𝑋𝑖 pada saat berada pada keadaan 𝑆𝑖
𝑖 = 1, 2, 3, … , 𝑁

𝑆1 𝑑𝑎𝑛 𝑆𝑁+1 syarat batas yang nilainya diketahui

𝑆 adalah Ruang Keadaan (State Space) yaitu himpunan semua nilai


yang dapat dimiliki oleh 𝑆1 , 𝑆2 , … . 𝑆𝑁
Persoalannya adalah menentukan nilai 𝑋𝑖 sedemikian hingga hasil total
dari semua tahap adalah optimum.
Abe Alkaff

Pemrograman Dinamik
Pengertian Umum
Dapat diilustrasikan sebagai berikut:

diketahui 𝑋1 𝑋2 𝑋𝑖 𝑋𝑖+1 𝑋𝑁 diketahui

𝑆1 𝑆2 𝑆𝑖 𝑆𝑖+1 𝑆𝑁 𝑆𝑁+1
1 2 i i+1 N

𝐶1 (𝑋1 , 𝑆1 ) 𝐶2 (𝑋2 , 𝑆2 ) 𝐶𝑖 (𝑋𝑖 , 𝑆𝑖 ) 𝐶𝑖+1 (𝑋𝑖+1 , 𝑆𝑖+1 ) 𝐶𝑁 (𝑋𝑁 , 𝑆𝑁 )


𝑓𝑖 (𝑆𝑖 ) 𝑓𝑖+1 (𝑆𝑖+1 )
Abe Alkaff

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

Salah satu aplikasi pemrograman dinamik


adalah mencari lintasan
terpendek/terpanjang pada suatu jaringan.

Tentukan lintasan terpendek dari node 1


ke node 9 dari graph dibawah ini. Nilai pada
tiap cabang merupakan jarak antar node
yang membentuk cabang tersebut.
Abe Alkaff

Pemrograman Dinamik
Lintasan Terpendek

Bagi perjalanan dari node awal, yaitu node


1, ke node akhir, yaitu node 9, menjadi
beberapa tahap perjalanan.
Pada tiap tahap harus dibuat keputusan
terkait arah perjalannya dari tahap
tersebut ke tahap berikutnya. Keputusan
ini tergantung pada keadaan atau posisi
pada saat itu

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
𝑥𝑖

Syarat awal : 𝑓5 𝑆5 = 0 (jarak dari node 9 ke node 9)


Penyelesaian : 𝑓1 𝑆1
Ruang Keadaan : {1,2…,9}
Abe Alkaff

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:

6. 𝑇𝑟𝑎𝑛𝑓𝑜𝑟𝑚𝑎𝑠𝑖 𝑆𝑡𝑎𝑡𝑒 : 𝑆𝑖+1 = 𝑆𝑖 − 𝑋𝑖


7. 𝑆𝑦𝑎𝑟𝑎𝑡 𝑏𝑎𝑡𝑎𝑠 : 𝑆1 = 8, 𝑆5 = 0
8. 𝐹𝑢𝑛𝑔𝑠𝑖 𝑟𝑒𝑘𝑢𝑟𝑠𝑖𝑓 : 𝑓𝑖 𝑆𝑖 keuntungan total maksimum yang
dapat diperoleh dari kios 𝑖, 𝑖 + 1, … , 𝑁
𝑓𝑖 𝑆𝑖 = max 𝐶𝑖 𝑋𝑖 , 𝑆𝑖 + 𝑓𝑖+1 𝑆𝑖+1
𝑥𝑖
9. 𝑆𝑦𝑎𝑟𝑎𝑡 𝑎𝑤𝑎𝑙 : 𝑓5 𝑆5 = 𝑓5 0 = 0 initial condition
10. Ruang Keadaan : S ={1,2,…8}
11. 𝑃𝑒𝑛𝑦𝑒𝑙𝑒𝑠𝑎𝑖𝑎𝑛 : 𝑓1∗ 𝑆1
Abe Alkaff

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

Alokasi Keranjang Jeruk


𝑲𝒊𝒐𝒔 𝟏 𝟐 𝟑 𝟒
Alternatif 1 𝟐 𝟐 𝟏 𝟑
Alternatif 2 𝟑 𝟏 𝟏 𝟑
Alternatif 3 − 𝟐 𝟏 𝟐
Alternatif 4 𝟒 𝟏 𝟏 𝟐
Abe Alkaff

Pemrograman Dinamik
Alokasi Sumberdaya

Pertanyaan Tambahan (Analisis Sensitivitas)


a. Salah satu keranjang rusak sehingga harus dikembalikan.
Bagaimana alokasi optimalnya sekarang?
b. Dapat menambah satu keranjang lagi dengan tambahan biaya =
3. Apakah sebaiknya diterima?
Abe Alkaff

Pemrograman Dinamik
Alokasi Sumberdaya

a. Salah satu keranjang rusak sehingga harus dikembalikan. Bagaimana


alokasi optimalnya sekarang?
 𝑆1 berubah dari 8 menjadi 7

𝐶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

b. Dapat menambah satu keranjang lagi dengan tambahan biaya =


2. Apakah sebaiknya diterima?
𝑪𝟏 𝑿𝟏 , 𝑺𝟏 + 𝑓2 𝑆2
𝑆1 𝑋1 1 2 3 4 5 6 𝑋1∗ 𝑓1 𝑆1
9 3+𝑥 6 + 24 9 + 22 12 + 19 14 + 16 𝑦 + 12 3 𝑜𝑟 4 31

𝑥 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

Permasalahan pengepakan yang pernah dibahas pada pemrograman linier biner


akan diselesaikan dengan pemrograman dinamik:
max 2𝑥1 + 3𝑥2 + 4𝑥3 + 5𝑥4 + 6𝑥5 manfaat
𝑑𝑠 𝑥1 + 2𝑥2 + 3𝑥3 + 2𝑥4 + 2𝑥5 ≤ 8 berat
𝑥𝑖 = 0; 1
Formulasi Pemrograman Dinamik:
1. 𝑇𝑎ℎ𝑎𝑝 : Jenis Barang
2. 𝐻𝑜𝑟𝑖𝑧𝑜𝑛 :N=5
3. 𝑆𝑖 (𝑆𝑡𝑎𝑡𝑒) : berat yang masih tersisa untuk ditempati jenis
barang 𝑖, 𝑖 + 1, … , 𝑁
4. 𝑋𝑖 (𝐾𝑒𝑝𝑢𝑡𝑢𝑠𝑎𝑛) : jenis barang 𝑖 dibawa atau tidak, 𝑖 = 1, 2, 3, 4,5
Abe Alkaff

Pemrograman Dinamik
Persoalan Pengepakan

5. 𝐹𝑢𝑛𝑔𝑠𝑖 ℎ𝑎𝑠𝑖𝑙 𝐶𝑖 (𝑋𝑖 , 𝑆𝑖 ) : manfaat yang diperoleh dari menempatkan


jenis barang 𝑖 dari berat yang tersisa (𝑋𝑖 dari 𝑆𝑖 yang tersisa)
6. 𝑇𝑟𝑎𝑛𝑓𝑜𝑟𝑚𝑎𝑠𝑖 𝑆𝑡𝑎𝑡𝑒 : 𝑆𝑖+1 = 𝑆𝑖 − 𝑋𝑖
7. 𝑆𝑦𝑎𝑟𝑎𝑡 𝑏𝑎𝑡𝑎𝑠 : 𝑆1 = 8, 𝑆6 = 0
8. 𝐹𝑢𝑛𝑔𝑠𝑖 𝑟𝑒𝑘𝑢𝑟𝑠𝑖𝑓 : 𝑓𝑖 𝑆𝑖 keuntungan total maksimum yang
dapat diperoleh dari kios 𝑖, 𝑖 + 1, … , 𝑁
𝑓𝑖 𝑆𝑖 = max 𝐶𝑖 𝑋𝑖 , 𝑆𝑖 + 𝑓𝑖+1 𝑆𝑖+1

9. 𝑆𝑦𝑎𝑟𝑎𝑡 𝑎𝑤𝑎𝑙 : 𝑓5 𝑆5 = 𝑓5 0 = 0 (initial condition)


10. Ruang Keadaan : S = {0,1, 2,…., 8}
11. 𝑃𝑒𝑛𝑦𝑒𝑙𝑒𝑠𝑎𝑖𝑎𝑛 : 𝑓1∗ 𝑆1
Abe Alkaff

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
𝑪𝟏 𝑿𝟏 , 𝑺𝟏 + 𝒇𝟐 𝑺𝟐
𝑺𝟏 𝑿𝟏 𝟎 𝟏 𝑿∗𝟏 𝒇𝟏 𝑺𝟏
𝟖 𝟎 + 𝟏𝟓 𝟐 + 𝟏𝟓 𝟏 𝟏𝟕

Keputusan optimal yang diambil


 Barang 1 dibawa 𝑥1 = 1
 Barang 2 tidak dibawa 𝑥2 = 0
 Barang 3 dibawa 𝑥3 = 1
 Barang 4 dibawa 𝑥4 = 1
 Barang 5 dibawa 𝑥5 = 1
Keputusan tersebut memiliki nilai atau manfaat maksimum, yaitu 17.
Abe Alkaff

Pemrograman Dinamik
dengan Faktor Diskon

Pembangunan Pembangkit Listrik

Tahun 2015 2016 2017 2018 2019 2020


Kebutuhan Pembangkit 1 2 4 6 7 8
Biaya tiap Pembangkit 540 560 580 600 580 540

Biaya Pembangunan = 150 + biaya pembangkit


= 150 + {(biaya tiap pembangkit)*jumlah pembangkit}
Ketersediaan pembangkit ≥ kebutuhan pada tahun tersebut.
Dalam satu tahun dapat membangun maksimal 4 pembangkit.
Berapa yang harus dibangun pada tiap tahunnya supaya biaya total adalah minimum.
Abe Alkaff

Pemrograman Dinamik
dengan Faktor Diskon
Formulasi Pemrograman Dinamik:

𝑇𝑎ℎ𝑎𝑝 : Tahun pembangunan berlangsung


𝐻𝑜𝑟𝑖𝑧𝑜𝑛 :N=6
𝑆𝑖 (𝑆𝑡𝑎𝑡𝑒) : pembangkit yang telah ada di awal tahun 𝑖
𝑋𝑖 (𝐾𝑒𝑝𝑢𝑡𝑢𝑠𝑎𝑛) : banyaknya pembangkit yang dibangun pada tahun 𝑖
𝐶𝑖 𝑋𝑖 , 𝑆𝑖 (Fungsi Hasil) : biaya yang harus dikeluarkan pada tahun 𝑖 = {150 +
(biaya per pembangkit*banyaknya pembangkit
yang dibangun)}
𝑇𝑟𝑎𝑛𝑠𝑓𝑜𝑟𝑚𝑎𝑠𝑖 𝑆𝑡𝑎𝑡𝑒 : 𝑆𝑖+1 = 𝑆𝑖 + 𝑋𝑖
𝑆𝑦𝑎𝑟𝑎𝑡 𝐵𝑎𝑡𝑎𝑠 : 𝑆1 = 0, 𝑆7 = 8
Abe Alkaff

Pemrograman Dinamik
dengan Faktor Diskon

Formulasi Pemrograman Dinamik:

𝐹𝑢𝑛𝑔𝑠𝑖 𝑅𝑒𝑘𝑢𝑟𝑠𝑖𝑓 : 𝑓𝑖 𝑆𝑖 = min 𝐶𝑖 𝑋𝑖 , 𝑆𝑖 + 𝑓𝑖+1 (𝑆𝑖+1 ) dimana 𝑓𝑖+1 (𝑆𝑖+1 )


adalah fungsi kumulatif
𝐼𝑛𝑖𝑡𝑖𝑎𝑙 𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 : 𝑓7 𝑆7 = 0

Ruang Keadaan : {0,1,2,…., 8}

𝑃𝑒𝑛𝑦𝑒𝑙𝑒𝑠𝑎𝑖𝑎𝑛 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

Biaya pembangunan 1 pembangkit pada


tahun 2020 (150 + (540*1))
Abe Alkaff

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

Rencana Pembangunan Pembangkit dengan Biaya Minimum

Tahun 2015 2016 2017 2018 2019 2020


Jumlah
Pembangkit
4 4 0 0 0 0
yang
dibangun
Total biaya 4700
Abe Alkaff

Pemrograman Dinamik
dengan Faktor Diskon
Discounted Factor (Faktor Diskon)

Faktor Diskon sangat berkaitan dengan Net Present Value


atau NPV. NPV sendiri merupakan selisih antara pengeluaran dan
pemasukan yang telah didiskon dengan menggunakan social
opportunity cost of capital sebagai faktor diskon, atau dengan
kata lain merupakan arus kas yang diperkirakan pada masa yang
akan datang yang didiskonkan pada saat ini.
Abe Alkaff

Pemrograman Dinamik
dengan Faktor Diskon
Discounted Factor (Faktor Diskon)

Persamaan Rekursif

𝑓𝑖 𝑆𝑖 = 𝑜𝑝𝑡 𝑐𝑖 𝑥𝑖 , 𝑠𝑖 + 𝛽𝑓𝑖+1 (𝑠𝑖 + 1)


0<𝛽<1

Diasumsikan nilai 𝛽 = 0,9 untuk penerapan contoh soal


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

Biaya pembangunan 1 pembangkit pada


tahun 2020 (150 + (540*1))
Abe Alkaff

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

Rencana Pembangunan Pembangkit dengan Biaya Minimum

Tahun 2015 2016 2017 2018 2019 2020


Jumlah
Pembangkit
2 0 4 0 2 0
yang
dibangun
Total biaya 4090.2
Abe Alkaff

Pemrograman Dinamik
Ruang Kontinyu

Permasalahan dengan nilai variabel (keadaan dan


keputusan) yang dapat berbentuk decimal atau pecahan.
Untuk itu ruang keadaan dibagi menjadi interval-interval
sesuai dengan nilai variabel keputusan yang mungkin
diambil. Pembagian menjadi interval-interval tersebut
dilakukan sedemikian hingga menjadi jelas keputusan yang
dapat diambil dan keadaan yang terjadi karena keputusan
tersebut.
Abe Alkaff

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.

Perhatikan bahwa ruang keadaan adalah bernilai kontiyu antara 0 s/d 10


Milyar = {0 ≤ 𝑆 ≤ 10} karena dapat bernilai pecahan
TAHAP 1

𝑆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

Semua interval pada suatu tahap akan muncul pada tahap


sesudahnya dengan dipecah menjadi beberapa interval karena adanya
sisipan nilai variabel keputusan.
Abe Alkaff

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)

Anda mungkin juga menyukai