Deskripsi (1)
Dynamic programming adalah suatu prosedur
matematik yang dibuat terutama untuk memperbaiki
efisiensi komputasi pencarian solusi masalah
mathematical programming dengan memecahnya ke
dalam subproblems yang lebih kecil dan dengan
demikian komputasinya lebih sederhana.
Dynamic programming mencari solusi permasalahan
dalam stages (tahap-tahap). Setiap tahap melibatkan
satu variabel optimisasi.
Deskripsi (2)
Komputasi pada stages yang berbeda dihubungkan
melalui komputasi rekursif sedemikian rupa sehingga
menghasilkan solusi optimal yang layak untuk
keseluruhan permasalahan ketika sampai pada stage
yang terakhir.
Dynamic programming didasarkan atas Bellmans
Principle of Optimality, yang menggambarkan
bagaimana suatu masalah dapat diselesaikan dalam
stages melalui komputasi rekursif.
Komputasi rekursif
Komputasi pada stage yang sedang ditinjau
dilaksanakan dengan menggunakan ikhtisar informasi
dari keseluruhan stages yang telah ditinjau sebelumnya.
State (1)
State menyatakan hubungan antara stages yang saling
berurutan sehingga ketika pada masing-masing stage
dilakukan optimisasi, keputusan yang dihasilkan secara
otomatis layak untuk keseluruhan permasalahan.
Selanjutnya, keberadaan state memungkinkan
pengambilan keputusan optimum untuk stages yang
tersisa tanpa harus memeriksa efek keputusan yang
akan datang kepada keputusan yang telah dibuat
sebelumnya.
State (2)
Alat bantu untuk menentukan state adalah dua
pertanyaan berikut:
Hubungan apa yang mengikat stages, satu terhadap
yang lain?
Informasi apa yang diperlukan untuk mengambil
keputusan layak pada stage yang sedang ditinjau
tanpa memeriksa kelayakan keputusan yang telah
diambil pada stages yang sedang ditinjau?
A. Per. 1
A. Per. 2
A. Per. 3
Proposal
c1
R1
c2
R2
c3
R3
12
Stage 1
(j=1)
Stage 2
(j = 2)
(0)
(0)
(0)
(0)
(12)
(0)
(3)
1
(3)
(8)
Stage 3
(j = 3)
(5)
Stage 0
(j = 0)
2
0
(6)
(6)
(0)
(9)
(8)
(0)
(0)
(6)
(0)
(8)
(8)
(3)
(9)
(3)
(9)
(0)
(6)
(0)
3
(12)
(0)
x1
(3)
(0)
(12)
5
x3
x3
Stage 1
Stage 2
Stage 3
(1)
(2)
(1)
f0
(1)
(2)
0
(3)
(2)
(3)
f3
17
(3)
(3)
f2
f2
f1
f1
13
13
(2)
14
14
(1)
17
17
(3)
(2)
(4)
Contoh:
Perencana kota harus menentukan alokasi optimal stasiun pemadam
kebakaran bagi 3 wilayah di dalam kota tersebut .Tabel berikut memperlihatkan
hubungan antara jumlah stasiun yang dialokasikan di suatu wilayah dengan
ekspektasi kerusakan property per tahun akibat kebakaran didasarkan atas
data statistik. Perbedaan antar wilayah disebabkan oleh populasi, material
konstruksi, dsb. Kendala anggaran mengakibatkan jumlah total stasiun yang
dapat dialokasikan terbatas sebanyak 5 buah.
Gunakan dynamic programming untuk menentukan alokasi stasiun yang
optimal untuk setiap wilayah. Gambarkan networknya. Bagaimana persamaan
rekursifnya?
Wilayah
2,0
0,9
0,3
0,2
0,5
0,3
0,2
0,1
1,5
1,0
0,7
0,3