Program Dinamik
(
Dynamic Programming
)
Program Dinamik :
Pendahuluan (1)
Program dinamik merupakan suatu
pendekatan solusi bukan suatu teknik
Tidak terbatas pada golongan masalah tertentu
Pendekatan solusi adalah merinci suatu
masalah menjadi masalah-masalah yang
lebih kecil
tahapan (
stages
)
Penyelesaian tahapan secara berurutan
Hasil dari suatu keputusan (solusi) pada
Program Dinamik :
Pendahuluan (2)
Pemrograman dinamik merupakan teknik
matematis yang dapat berguna untuk
membuat suatu urutan keputusan yang saling
berkaitan
Pemrograman dinamis tidak mempunyai
rumusan yang baku
Tiap permasalahan memerlukan perumusan
tertentu
Klasifikasi Program Dinamis
Status Diskret
Status Kontinyu
Tunggal
Majemuk
Tunggal
Majemuk
Deterministik
Prosedur Pemecahan Masalah
Prosedur pemecahan
Rekursi maju (forward recursion)
Rekursi mundur (backward recursion)
Perbedaan prosedur
Cara mendefinisikan status dalam sistem.
Prosedur rekursi mundur secara umum lebih
Langkah-langkah Pemecahan
Tentukan prosedur pemecahan (maju atau mundur).
Tentukan tahap (stage).
Definisikan variabel status (state) pada tiap tahap.
Definisikan variabel keputusan pada tiap tahap.
Definisikan fungsi pengembalian pada tiap tahap.
Definisikan fungsi transisi.
Definisikan fungsi rekursif.
Perhitungan.
Permasalahan
Sebuah perusahaan membagi wilayah
pemasarannya menjadi tiga: utara, timur,
selatan. Perusahaan tersebut memilliki 3
tenaga penjual yang akan dialokasikan ke
tiga wilayah tersebut tanpa membatasi
Contoh Program Dinamik (1)
Permasalahan
Alternatif Keputusan
Salesman/Daerah
Tingkat Pengembalian/Daerah
Utara
Timur
Selatan
0
0
0
2
1
7
9
6
2
12
15
10
Contoh Program Dinamik (2)
Model Matatematika Masalah
Maksimum R
1+R
2+R
3Ditujukan
D
1+D
2+D
3≤ 3
Dimana
R
1, R
2, R
3= pengembalian dari tiap 3 daerah
D
1, D
2, D
3= keputusan penempatan
Contoh Program Dinamik (3)
Tahap 1 : Alokasi ke Daerah Selatan
Keadaan 1 (S1): Salesman Tersedia
Keputusan 1 (D1): Alokasi Salesman
Pengembalian 1(R1): Jumlah Penjualan
0 0 2
1 0 2
1 6
2 0 2
1 6
2 10
3 0 2
1 6
2 10
Contoh Program Dinamik (4)
Tahap 1 : Alokasi ke Daerah Selatan (Opt)
Keadaan 1 (S1): Salesman Tersedia
Keputusan 1 (D1): Alokasi Salesman
Pengembalian 1(R1): Jumlah Penjualan
0 0 2
1 0 2
1 6
2 0 2
1 6
2 10
3 0 2
1 6
2 10
Contoh Program Dinamik (5)
Tahap 2 : Alokasi ke Daerah Timur
Keadaan 2 (S2):
Salesman Tersedia
Contoh Program Dinamik (6)
Tahap 2 : Alokasi ke Daerah Timur (Opt)
Keadaan 2 (S2):
Salesman Tersedia
Contoh Program Dinamik (7)
Tahap 3 : Alokasi ke Daerah Utara
Contoh Program Dinamik (8)
Tahap 3 : Alokasi ke Daerah Utara (Opt)
Contoh Program Dinamik (8)
Urutan Keputusan Optimal
Keadaan
(daerah)
Alokasi
Salesman
Pengembalian
1. Selatan
0
2
2. Timur
2
15
3. Utara
1
7
Problem Knapsack
Permasalahan mengenai berapa jumlah tiap
jenis barang yang berbeda dapat dimasukkan
ke dalam sebuah ransel guna
memaksimumkan pengembalian dari
barang-barang tersebut. Ransel punya kapasitas
Contoh Problem Knapsack (1)
Permasalahan
Alternatif Barang
yang Dibawa
Berat Laba
X
2
90
Y
3
150
Contoh Problem Knapsack (2)
Model Matatematika Masalah
Maksimum R
1D
1+R
2D
2+R
3D
3Ditujukan
W
1D
1+W
2D
2+W
3D
3≤ 5
Dimana
R
1, R
2, R
3= pengembalian dari tiap barang
D
1, D
2, D
3= keputusan jumlah barang yang
dibawa
Contoh Problem Knapsack (3)
Tahap 1 : Keputusan X
Keadaan 1 (S1): Ruang Tersedia
Keputusan 1 (D1): Jumlah
Barang
Kebutuhan Ruang
Pengembalian 1(R1)
5 2 4 180
4 2 4 180
3 1 2 90
2 1 2 90
1 0 0 0
Contoh Problem Knapsack (4)
Tahap 1 : Keputusan X (Opt)
Keadaan 1 (S1): Ruang Tersedia
Keputusan 1 (D1): Jumlah
Barang
Kebutuhan Ruang
Pengembalian 1(R1)
5 2 4 180
4 2 4 180
3 1 2 90
2 1 2 90
1 0 0 0
Contoh Problem Knapsack (9)
Keputusan Optimal
Keadaan
(Barang)
Jumlah
Barang
Kebutuhan
Ruang
Pengem
balian
X
1
2
90
Y
1
3
150
Z
0
0
0
Problema Stagecoach