Pemrograman Dinamis
Program dinamis (dynamic programming) adalah metode
pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage) sedemikian sehingga solusi dari persoalan dapat dipandang
dari serangkaian keputusan yang saling berkaitan (kur2003.if.itb.ac.id). Pada
penyelesaian persoalan dengan metode ini (ana.staff.gunadarma.ac.id):
1.
Terdapat sejumlah berhingga pilihan yang
mungkin.
2.
Solusi pada setiap tahap dibangun dari
hasil solusi tahap sebelumnya.
3.
Kita menggunakan persyaratan
optimasi dan kendala untuk membatasi sejumlah pilihan yang harus
dipertimbangkan pada suatu tahap .
Program dinamis
memiliki beberapa optimasi, dimana prinsip optimasi ini sangat penting untuk
diketahui. Prinsip optimasi yaitu antara lain sebagai berikut (ana.staff.gunadarma.ac.id):
1.
Pada program dinamis, rangkaian
keputusan yang optimal dibuat dengan menggunakan prinsip optimalitas.
2.
Prinsip optimalitas: jika solusi total optimal, maka bagian
solusi sampai tahap ke-k juga optimal.
3.
Prinsip optimalitas berarti bahwa jika
kita bekerja dari tahap k ke tahap k + 1, kita dapat menggunakan
hasil optimal dari tahap k tanpa harus kembali ke tahap awal.
4.
Ongkos pada tahap k +1 = (ongkos
yang dihasilkan pada tahap k ) +
(ongkos dari tahap k ke tahap k + 1).
5.
Dengan prinsip optimalitas ini dijamin
bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk
tahap-tahap selanjutnya.
4.
Pada metode greedy hanya
satu rangkaian keputusan yang pernah dihasilkan, sedangkan pada metode program
dinamis lebih dari satu rangkaian keputusan. Hanya rangkaian keputusan yang
memenuhi prinsip optimalitas yang akan dihasilkan.
2.1.1
Karakteristik
Persoalan Pemrograman Dinamis
Salah satu cara
untuk cara untuk mengenali suatu situasi yang dapat dirumuskan sebagai
masalah pemrograman dinamis adalah menyadari struktur dasar masalah tersebut
apakah serupa dengan masalah ekspedisi. Program dinamis ini mempunyai beberapa
karakteristik, antara lain (kur2003.if.itb.ac.id):
1.
Persoalan dapat dibagi menjadi beberapa
tahap (stage), yang pada setiap tahap
hanya diambil satu keputusan.
2.
Masing-masing tahap terdiri dari
sejumlah status (state) yang
berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam
kemungkinan masukan yang ada pada tahap tersebut.
3.
Hasil dari keputusan yang diambil pada
setiap tahap ditransformasikan dari status yang bersangkutan ke status
berikutnya pada tahap berikutnya.
4.
Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah
tahapan.
5.
Ongkos pada suatu tahap bergantung pada
ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut.
6.
Keputusan terbaik pada suatu tahap
bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.
7.
Adanya hubungan rekursif yang
mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk
setiap status pada tahap k + 1.
8.
Prinsip optimalitas berlaku pada
persoalan tersebut (kur2003.if.itb.ac.id).
2.1.2
Dua
Pendekatan Pemrograman Dinamis
Dua pendekatan yang
digunakan dalam program dinamis maju (forward atau up-down) dan
mundur (backward atau bottom-up). Misalkan x1, x2,
…, xn menyatakan peubah (variable) keputusan yang
harus dibuat masing-masing untuk tahap 1, 2, …, n. Maka (ana.staff.gunadarma.ac.id),
1.
Program dinamis maju. Program dinamis
bergerak mulai dari tahap 1, terus maju ke tahap 2, 3, dan seterusnya sampai
tahap n. Runtunan peubah keputusan adalah x1, x2,
…, xn.
2.
Program dinamis mundur. Program dinamis
bergerak mulai dari tahap n, terus mundur ke tahap n – 1, n
– 2, dan seterusnya sampai tahap 1. Runtunan peubah keputusan adalah xn,
xn-1, …, x1.
Secara umum, ada empat
langkah yang dilakukan dalam mengembangkan algoritma program dinamis. Keempat
langkang itu adalah sebagai berikut (kur2003.if.itb.ac.id):
1.
Karakteristikkan struktur solusi
optimal.
2.
Definisikan secara rekursif nilai solusi
optimal.
3.
Hitung nilai solusi optimal secara maju
atau mundur.
4.
Konstruksi solusi optimal.
Daftar Pustaka
Daftar Pustaka
Mulyono sri. 2004. Riset Operasi Edisi Revisi. Lembaga Penerbit Fak.
Ekonomi Universitas Indonesia. Jakarta
ana.staff.gunadarma.ac.id/Downloads/files/.../Program+Dinamis.ppt
kur2003.if.itb.ac.id/file/trans-Bahan%20Kuliah%20ke-13.DOC
No comments:
Post a Comment