Anda di halaman 1dari 31

PEMOGRAMAN DINAMIS

(DYNAMIC PROGRAMMING)
PENGANTAR
• Pemrograman dinamis (dynamic programming - DP)
merupakan teknik matematis yang dapat berguna
untuk memecahkan masalah dengan suatu urutan
keputusan yang saling berkaitan
• DP tidak mempunyai rumusan yang baku
• Tiap permasalahan memerlukan perumusan tertentu
• Teknik pemrograman dinamis dikenal juga dengan
multistage programming technique
Klasifikasi Pemrograman Dinamis
Ciri Masalah Pemrograman Dinamis

• Masalah dapat dibagi atas tahap (stage) dengan keputusan


(decision) harus dibuat pada tiap tahap
• Tiap tahap mempunyai sejumlah status (state)
• Efek dari keputusan pada tiap tahap adalah mengubah status
saat ini menjadi status yang berkaitan dengan tahap
berikutnya
• Prosedur pemecahan didesain untuk mendapatkan kebijakan
optimal (optimal policy) untuk keseluruhan masalah
• Diberikan status saat ini, kebijakan optimal untuk tahap
tersisa adalah independen terhadap kebijakan yang diambil
dalam tahap berikutnya (disebut principle of optimality dari
pemrograman dinamis)
Pengambilan Keputusan

• Tahap (Stage) merupakan titik suatu


keputusan harus dibuat
• Status (State) merupakan parameter masukan
• Transformasi (Transformation) merupakan
aturan yang mengarahkan keputusan
Langkah-Langkah Pemecahan
• Tentukan prosedur pemecahan (maju atau mundur)
• Definisikan tahap
• Definisikan variabel status pada tiap tahap
• Definisikan variabel keputusan pada tiap tahap
• Definisikan fungsi kontribusi pada tiap tahap
• Definisikan fungsi transisi
• Definisikan hubungan rekursif
• Lakukan perhitungan
• Tentukan kebijakan optimal
Contoh 1: Alokasi Investasi

 Seorang investor dihadapkan pada 3 alternatif program


investasi terhadap 8 unit dana yang mana setiap alternatif
tersebut mempunyai 8 cara pengalokasian dana.
 Dari masing-masing alternatif program investasi dan
komposisi cara pengalokasian dana masing-masing
mempunyai perolehan yang berbeda-beda sebagaimana
terlihat pada tabel berikut:
x 0 1 2 3 4 5 6 7 8
g1(x) 0 5 15 40 80 90 95 98 100
g2(x) 0 5 15 40 60 70 73 74 75
g3(x) 0 4 26 40 45 50 51 52 53

 Fungsi g i x merupakan fungsi perolehan untuk setiap


alternatif pengalokasian dana sejumlah x unit pada
alternatif program investasi ke-i (i = 1, 2, 3)

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Pertama Penyelesaian

 Jika dipilih prosedur penyelesaian mundur (backward),


maka diasumsikan investor tsb hanya memilih program
investasi 3 yang tersedia.
 Fungsi perolehan dari program investasi yang mempunyai
8 alternatif alokasi dapat ditulis sebagai 𝒈𝟑 𝒙 , dimana x
berjalan dari x = 1, 2, 3, …..8
 Perolehan optimal dari alternatif investasi dan alokasi dapat
ditentukan sebagai:

𝒇𝟑 𝟖 = 𝒈𝟑 𝟖 = 53

Dan jumlah alokasi yang diinvestasikan adalah:

𝒅𝟑 𝟖 = 𝟖

dimana 𝒇𝟑 𝟖 merupakan perolehan optimal dari alternatif


program 3 dan alternatif alokasi 8

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-2 Penyelesaian

𝒇𝟑 𝒙 = 𝒈𝟑 𝒙 untuk x = 0, 1, 2, ……7
merupakan perolehan optimal untuk alternatif program
investasi pada saat x dialokasikan pada alternatif 3

Dan jumlah dana yang dialokasikan pada masing-masing


alternatif alokasi adalah:
𝒅𝟑 𝒙 = x untuk x = 0, 1, 2, …… 7

Dari alternatif program investasi 3 ini maka hasil dari kedua


langkah yang telah dilakukan terlihat pada tabel berikut:
x 0 1 2 3 4 5 6 7 8
f3(x) 0 4 26 40 45 50 51 52 53
d3(x) 0 1 2 3 4 5 6 7 8

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-3 Penyelesaian
 Diasumsikan hanya dipunyai alternatif program investasi 2
dan 3
 Alternatif alokasi dana, tetap sebanyak 8 alternatif alokasi
 Lakukan evaluasi untuk alternatif program investasi 2 dan 3
untuk memperoleh jumlah perolehan yang paling optimal
g2(0) + f3(8) = 53
g2(1) + f3(7) = 57
g2(2) + f3(6) = 66
g2(3) + f3(5) = 90
g2(4) + f3(4) = 105
g2(5) + f3(3) = 110
g2(6) + f3(2) = 99
g2(7) + f3(1) = 78
g2(8), + f3(0) = 75
 Maximum perolehan untuk program investasi 2 & 3 pada
saat jumlah dana yang tersedia adalah 8 unit dinyatakan:
f2(8) = max Z = 0, 1, 2, ....8 [g2(z) + f3(8 - z)]

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-3 Penyelesaian

g2(0) + f3(8) = 53
g2(1) + f3(7) = 57
g2(2) + f3(6) = 66
g2(3) + f3(5) = 90
g2(4) + f3(4) = 105
g2(5) + f3(3) = 110
g2(6) + f3(2) = 99
g2(7) + f3(1) = 78
g2(8), + f3(0) = 75

 Jumlah optimal pada investasi di alternatif program


investasi 2 dinyatakan oleh d2(8) dan diperlukan nilai z pada
saat f2(8)
f2(8) = [g2(5) + f3(3)]
d2(8) = 5

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-4 Penyelesaian
 Untuk setiap nilai x yang dialokasikan di kedua alternatif
program investasi tsb, hitung nilai optimal perolehan dari
kedua program investasi sebagai:

f2(x) = max Z = 0, 1, 2, ....x [g2(z) + f3(x - z)]

 Jumlah dana yang dialokasi pada program investasi 2:

d2(x) = nilai dari z hasil f2(x)

 Maka akan dapat dihitung f2(x) dan d2(x) untuk x = 0, 1, 2, ..... 7


dan diperoleh nilai :
x=0 → f2(0) = max Z = 0 [g2(z) + f3(0 - z)]
= [g2(0) + f3(0)]
=0
d2(0) = 0
Jurusan Teknik Industri - ITS
Contoh 1: Langkah Ke-4 Penyelesaian
x=1 → f2(1) = max Z = 0, 1 [g2(z) + f3(1 - z)]

[g2(0) + f3(1)]
= max
[g2(1) + f3(0)]

0+ 4
= max
5+ 0
=5

d2(1) = 1

Apabila 1 unit dana yang tersedia dan di investasikan pada


alternatif program investasi 2 dan 3, strategi optimal adalah
menginvestasikan ke dalam alternatif program 2 dengan
perolehan sebesar 5

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-4 Penyelesaian
x=2 → f2(2) = max Z = 0, 1, 2 [g2(z) + f3(2 - z)]

[g2(0) + f3(2)]

= max [g2(1) + f3(1)]

[g2(2) + f3(0)]

0 + 26

= max 5 + 4

15 + 0
= 26
d2(2) = 0

Apabila 2 unit dana yang tersedia dan diinvestasikan pada


alternatif program investasi 2 dan 3, strategi optimal adalah
menginvestasikan ke dalam alternatf program 2 sebesar 0 unit
dan pada program 3 sebesar 2 unit dengan perolehan total
sebesar 26

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-4 Penyelesaian
x=3→ f2(3) = max Z = 0, 1, 2, 3 [g2(z) + f3(3 - z)]

[g2(0) + f3(3)]

[g2(1) + f3(2)]
= max
[g2(2) + f3(1)]

[g2(3) + f3(0)]

0 + 40

5 + 26
= max = 40
15 + 4

40 + 0

d2(3) = 0 atau 3
Apabila terdapat 2 nilai optimal dan hanya dapat menekankan
salah satu saja maka dapat dipilih d2(3) = 0 atau d2(3) = 3,
tetapi tidak dapat memilih kedua-duanya mengingat belum
menyelesaikan seluruh langkah

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-4 Penyelesaian

Resume hasil langkah 1 s/d langkah 4:

x 0 1 2 3 4 5 6 7 8
f3(x) 0 4 26 40 45 50 51 52 53
d3(x) 0 1 2 3 4 5 6 7 8
f2(x) 0 5 26 40 60 70 86 100 110
d2(x) 0 1 0 0 4 5 4 4 5

Jurusan Teknik Industri - ITS


Contoh 1: Langkah Ke-5 Penyelesaian
 Alokasikan seluruh alternatif dana kepada 3 alternatif
program investasi yang ada sehingga diperoleh pendapatan
yang paling optimal
 Harus menguji perihal peng-investasi-an x unit dana pada
program investasi 1 dan (8 - x) unit untuk program 2 dan 3
untuk x = 0, 1, 2, ..... 8
 f1(8)merupakan nilai maksimum dari :
g1(0), + f2(8) = 110
g1(1) + f2(7) = 105
g1(2) + f2(6) = 101
g1(3) + f2(5) = 110
g1(4) + f2(4) = 140
g1(5) + f2(3) = 130
g1(6) + f2(2) = 121
g1(7) + f2(1) = 103
g1(8) + f2(0) = 100

f1(8) = g1(4) + f2(4) = 140 d1(8) = 4


Jurusan Teknik Industri - ITS
Contoh 1: Langkah Ke-5 Penyelesaian

Hasil dari setiap alokasi dana yang tersedia:

x 0 1 2 3 4 5 6 7 8
f3(x) 0 4 26 40 45 50 51 52 53
d3(x) 0 1 2 3 4 5 6 7 8
f2(x) 0 5 26 40 60 70 86 100 110
d2(x) 0 1 0 0 4 5 4 4 5
f1(x) 0 5 26 40 80 90 106 120 140
d1(x) 0 0 0 0 4 5 4 4 4

Jurusan Teknik Industri - ITS


Persamaan Umum DP

f2(x) = g3(x)

x = 0, 1, 2, ....8

d3(x) = x

fi(x) = max Z = 0, 1, 2... x [g1(z) + fi+1(x - z)] x = 0, .... 8

di(x) = nilai dari z untuk memperoleh fi(x) untuk i = 2, 1

Dimana fi(x) merupakan perolehan optimal dari alokasi


investasi ke program i, i + 1, ......., 3 dan di(x) merupakan
jumlah optimal investasi pada program i apabila x unit dana
tersedia untuk di-investasikan ke program i, i + 1, .......3.

Jurusan Teknik Industri - ITS


Persamaan Umum DP

 Pendekatan model ini menggunakan asumsi sebagai


berikut :

1. Perolahan dari alokasi diukur menurut satuan unit yang


sama
2. Perolehan dari suatu aktivitas independen denngan
perolehan dari aktivitas yang lain.
3. Fungsi perolehan merupakan fungsi yang tidak menurun
(non-decreasing function)
4. Total perolehan dari alokasi sumber pada berbagai
aktivitas merupakan jumlah aljabar dari masing-masing
perolehan alokasi sumber.

Jurusan Teknik Industri - ITS


Contoh 2: Lintasan Terpendek

 Satu keluarga hendak melakukan perjalanan dengan


menggunakan kendaraan pribadi dari New York (NY) ke Los
Angeles (LA). Titik pemberangkatan dan tujuan sudah
ditentukan, namun keluarga tersebut memiliki alternatif
lintasan yang akan ditempuh. Perjalanan akan ditempuh
selama 4 hari, dengan alternatif lintasannya:
 Pada hari ke-1 alternatif tujuannya : Columbus (2),
Nashvill (3) , atau Louisville (4)
 Pada hari ke-2 alternatif tujuannya : Kansas City (5),
Omaha (6) , atau Dallas (7)
 Pada hari ke-3 alternatif tujuannya : San Antonio (8) atau
Denver (9)
 Pada hari ke-4 akan tiba di LA ( 10)
 Asumsikan biaya penginapannya sama untuk seluruh kota,
maka carilah lintasan terpendek untuk meminimumkan
kebutuhan bahan bakar kendaraan keluarga tersebut.

Jurusan Teknik Industri - ITS


Contoh 2: Lintasan Terpendek
 Denah perjalanan keluarga tersebut:

680 Kansas 610


Columbus Denver
City
2 8
790 5
790
1030

550 1050

540
580
900 760 1390
NY Nashville Omaha SA LA
1 3 6 940 9 10

660

770 790
510
700
Louisville Dallas 270
4 830 7

Jurusan Teknik Industri - ITS


Contoh 2: Lintasan Terpendek

 Problem ini diselesaikan dengan cara backward (dari


belakang ke depan)
 Nyatakan semua kota tsb yang dpt dijadikan sebagai “awal”
perjalanan dengan hari ke-n, kota stage n
 Konsep untuk menyelesaikan permasalahan dgn
pemrogramman dinamis adalah dimulai dengan
menyelesaikan permasalahan yang dianggap mudah
untuk meyelesaikan keseluruhan permasalahan
 Definisikan:
 Kota stage t sebagai hari ke-t keluarga tersebut di suatu
kota
 State i sebagai kota ke-i
 Cij sebagai jarak antara kota i ke kota j
 Jika kota ke-i pada stage ke t maka Ft(i) sebagai jarak
lintasan terpendek dari kota ke-i menuju LA
 Carilah F1(1) !

Jurusan Teknik Industri - ITS


Contoh 2: Lintasan Terpendek
Langkah-langkah penyelesaian:
1. Carilah lintasan terpendek menuju LA dari kota-kota di
stage-4, sehingga:
 F4(9) = C9,10
 F4(8) = C8,10
2. Tentukan lintasan terpendek menuju LA dari tiap kota
stage-3
 Hal ini berarti keluarga tersebut harus pergi menuju
kota stage-4, kemudian pilih lintasan terpendek dari
kota stage-4 menuju LA
 Permasalahan tersebut tidak simple, namun semua
kemungkinan kota stage 4 dipandang sebagai sub-
problem dan solusi awal dari permasalahan tersebut
tetap dapat mudah dipecahkan

Jurusan Teknik Industri - ITS


Contoh 2: Lintasan Terpendek
 Dari Stage kota 3
Berangkat menuju Stage kota 4 , kemudian pilih
lintasan terpendek dari kota stage-4 ini menuju LA
Jadi, F3(5) dapat dinyakan dengan :
C5,8 + F4(8) atau
C5,9 + F4(9)
Maka kita akan memperoleh lintasan terpendek seperti
berikut :
F3(5) = min{ C5,8 + F4(8), C5,9 + F4(9)}

Jurusan Teknik Industri - ITS


Contoh 2: Lintasan Terpendek

3. Dengan prosedur yang sama kita dapat menentukan kota


stage 2 dan kota stage 1
 Dari NYC , keluarga tersebut harus pergi menuju kota
stage 2 , kemudian pilih lintasan terpendek dari kota
stage 2 menuju LA
 Lintasan terpendek dari NYC menuju LA
mempertimbangkan semua kemungkinan kota stage 2

Secara umum , pada stage t, ft(i) dapat ditentukan untuk tiap


stage t kota i, dengan menggunakan pendekatan awal ,
dapat ditulis:
Ft(i) = minj ; j adalah stage kota ke-( t+1) { Ci,j + Ft+1 ( j ) }
untuk semua stage t kota i

Jurusan Teknik Industri - ITS


Efisiensi Komputasi pada DP

 Banyaknya enumerasi dari semua kemungkinan lintasan


dari NYC menuju LA dapat disederhanakan
 Sangat mudah bila lintasan tersebut dapat dinyatakan
menjadi 3x3x2 = 18 rute
 Bila persoalan diperluas dengan kondisi:
 Kota awal adalah stage 1
 5 kota pada setiap 5 stage ( stage 2,…., stage 6)
 Kota tujuan adalah stage 7
 Banyaknya lintasan = 55 =3.125 rute
 Untuk menentukan panjang lintasan dari tiap rute butuh
perhitungan 5x 55 = 15.625, dan dengan alternatif
sebanyak 3.124

Jurusan Teknik Industri - ITS


Efisiensi Komputasi pada DP

 Berapa banyak tahapan pengerjaan Algorithma


Pemrogramman Dinamis ?
 Problem pada stage 6 merupakan permasalahan
“trivial”
 Sedang permasalahan lain membutuhkan :
 5 tambahan perhitungan (alternatif pilihan untuk
kota berikutnya) dengan 4 perbandingan
 Dengan total 4x5x5 +5 = 105 tambahan dan
perbandingan 4x5x4+4 = 84

Jurusan Teknik Industri - ITS


Karakteristik DP

1. Permasalahan harus dpat dibagi menjadi stage


 Tiap stage saling berhubungan pada suatu titik, yang
dibutuhkan pada saat pengambilan keputusan
2. Setiap stage harus memiliki sejumlah state
 State terdiri dari semua informasi yang dibutuhkan
untuk membuat keputusan yang optimal untuk
permasalahan yang sama
3. Keputusan yang diambil pada tiap stage menggambarkan
bagaimana state pada stage tersebut bertransformasi
menjadi state pada stage berikutnya
4. Keputusan yang optimal pada stage sekarang seharusnya
tidak bergantung pada state sebelumnya atau keputusan
sebelumnya
 Prinsip keoptimalan

Jurusan Teknik Industri - ITS


Karakteristik DP
5. Nilai dari fungsi optimal pada tiap state adalah total biaya
yang optimal atau reward dari current state t dan berakhir
pada state berikutnya T
6. Nilai yang diinginkan adalah nilai objective yang kita
anggap optimal , yang dinyatakan dengan bentuk “Nilai
Fungsi Optimal “
minj (ft+1(j)+cij) (mungkin berbeda)
7. Batasan Kondisi : FT+1(.)
 Pada kebanyakan kasus , FT+1(.)= 0
 Pada beberapa kasus dgn salvage value , FT+1(.) .. 0
8. Terdapat “rekursi” pada hubungan dari biaya atau reward
untuk tiap stage t , t+1,…..,T hingga biaya atau reward
untuk tiap stage t+1, t+2 …..,T
9. “Recursion“ tersebut secara formal merupakan prosedur
yang digunakan pada metode backwards dari stage
terakhir menuju stage awalnya

Jurusan Teknik Industri - ITS


Formulasi DP

1. Stages : t = 1,…..,5
2. States : kota ke-i
3. Keputusan pada tiap state pada stage t
4. Plilih stage kota t+1 menuju stage kota t
5. Nilai dari Fungsi Optimal : Ft(i), panjang lintasan terpendek
dari kota stage t menuju LA
6. Nilai yang diinginkan : F1(1)
7. Batasan Kondisi : F5(10) = 0
8. Recursion pada Pemrograman Dinamis :
 F4(i) = Ci,10 untuk seluruh kota stage 4 ke I
 Ft (i) = minj ; j adalah stage kota ke-( t+1) { Ci,j + Ft+1 ( j ) }
untuk semua kota stage t

Jurusan Teknik Industri - ITS

Anda mungkin juga menyukai