Terdapat dua persamaan rekursif, yaitu rekursif maju dan rekursif mundur. Dalam penelitian ini yang digunakan adalah rekursif mundur, sesuai
dengan namanya dalam hal ini perhitungan dilakukan dari tahap terakhir sampai tahap pertama.
3.2.2. Karakteristik Permasalahan Dynamic Programming
5
Berikut ini adalah karakteristik persoalan yang dapat diselesaikan dengan metode dynamic programming
1. Persoalan dapat dibagi menjadi 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 padan 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.
5
Munir, Rinaldi, 2004. Dynamic Programming. ITB: Bandung
Universitas Sumatera Utara
7. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik
untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k + 1
3.2.3. Konsep dasar dalam Dynamic Programming
6
Konsep-konsep dasar dalam dynamic programming, yaitu: 1.
Dekomposisi Persoalan Dynamic Programming dapat dipecah-pecah menjadi sub-persoalan
atau tahapan yang lebih kecil dan berurutan. Setiap tahap disebut juga sebagai titik keputusan. Setiap keputusan yang dibuat pada suatu tahap akan
mepengaruhi keputusankeputusan pada tahap berikutnya. 2.
Status Status adalah kondisi awal Sn dan kondisi akhir Sn-1pada setiap tahap, di
mana pada tahap tersebut keputusan dibuat Dn. Status akhir pada sebuah tahap tergantung keadaan status awal dan keputusan yang dibuat pada tahap
yang bersangkutan. Status akhir pada suatu tahap merupakan input bagi tahap berikutnya.
3. Variabel Keputusan dan Hasil
Keputusan yang dibuat pada setiap tahap Dn merupakan keputusan yang berorientasi kepada return yang diakibatkannya Rn|Dn, tingkat maksimal
atau minimal. 4.
Fungsi Rekursif
6
Ginting, Rosnani, Penjadwalan Mesin, op. cit, h. 218 - 220
Universitas Sumatera Utara
Fungsi rekursif biasanya digunakan pada berbagai program komputer, di mana nilai sebuah variabel pada fungsi itu merupakan nilai kumulatif dari nilai
variabel tersebut pada tahap sebelumnya. Pada dynamic programming, fungsi umum dituliskan sebagai:
fnSn,Dn = Rn + fn-1 Sn-1,Dn-1
3.2.4. Metode Dynamic Programming dalam Perencanaan Produksi