3.7. Konsep Dasar dalam Dynamic Programming
10
10
Rosnani Ginting. 2009. Penjadwalan Mesin. Yogyakarta: Graha Ilmu.Hal 217-218
Konsep-konsep dasar dalam dynamic programming antara lain: 1. Dekomposisi
Persoalan dynamic programming dapat dipecah 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 mempengaruhi keputusan-keputusan pada tahap berikutnya.
2. Status Status adalah kondisi awal S
n
dan kondisi akhir S
n-1
pada setiap tahap, dimana pada tahap tersebut keputusan dibuat D
n
. 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 D
n
merupakan keputusan yang berorientasi kepada return yang diakibatkan R
n
|D
n
, tingkat maksimal atau minimal.
4. Fungsi Transisi Fungsi transisi menjelaskan secara pasti bagaimana tahap-tahap saling
berhubungan. Fungsi ini berbentuk fungsi hubungan antar status pada setiap tahap yang berurutan.
5. Optimasi Stage Optimasi stage dalam dynamic programming adalah menentukan keputusan
optimal pada setiap tahap dari berbagai kemungkinan nilai status inputnya. 6. Fungsi rekursif
Nilai fungsi adalah nilai kumulatif dari nilai variabel tersebut pada tahap sebelumya.
3.8. Karakteristik Aplikasi Dynamic Programming
11
Karakteristik dynamic programming adalah sebagai berikut: Karakteristik 1:
Masalah dapat dibagi menjadi tahapan-tahapan dan pada setiap tahap dibutuhkan suatu keputusan.
Karakteristik 2:
Setiap tahapan stage memiliki sejumlah status yang memiliki hubungan asosiatif. Status pada setiap stage diperlukan untuk membuat keputusan
yang optimal. Pada setiap stage, keputusan yang dibuat tidak bergantung pada bagaimana cara keputusan itu dibuat. Keputusan yang dibuat
bergantung pada state
Keputusan yang dipilih pada setiap stage mendeskripsikan bagaimana state pada tahapan tersebut ditransformasi menjadi state berikutnya pada
stage berikutnya. sekarang.
Karakteristik 3:
11
Wayne Winston. 2004. Operation Research Application and Algorithm. Canada: Thomson. Hal 967-968
Karakteristik 4:
Keputusan optimal yang dibuat untuk sisa stage berikutnya tidak bergantung pada bagaimana cara untuk mencapai state sekarang.
Karakteristik 5:
Jika state telah diklasifikasi menjadi salah satu dari T-stage, maka harus dibuat fungsi rekursif yang berhubungan pada setiap stage t, t+1, t+2…..
Jika state awal pada stage 1 adalah i
1
. Untuk menggunakan fungsi rekursif, maka perlu ditemukan keputusan yang optimal untuk setiap
state yang berhubungan dengan stage terakhir. Kemudian digunakan fungsi rekursif untuk menentukan f
t-1
untuk state pada stage t-1. Setelah itu, digunakan fungsi rekursif untuk menentukan f
t-2
untuk state pada stage t-2. Proses ini diteruskan sampai f
i
I
1
dihitung. Dengan memnghitung fiI
1
maka keputusan optimal pada stage 1 akan dipilih dari sekumpulan keputusan yang didpatkan dari mensubstitusikan f
i
I
1
.
3.9. Prasyarat Dynamic Programming
12
1. Setiap bagian dari persoalan merupakan suatu kesatuan yang utuh.
Prasyarat dari dynamic programming antara lain:
2. Kedatangan pesanan bersifat dinamis dan berubah-ubah
3. Persoalan dapat dibagi menjadi beberapa tahap stage, yang pada setiap
tahap hanya diambil satu keputusan.
12
Rosnani Ginting. 2009. Penjadwalan Mesin. Yogyakarta: Graha Ilmu. Hal 222-223
4. Masing-masing tahap terdiri dari sejumlah status state yang berhubungan
dengan tahap tersebut. Secara umum, status merupakan bermacam-macam kemunginan masukan yang ada pada tahap tersebut
5. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari
status yang bersangkutan ke status berikutnya. 6.
Ongkos cost pada suatu tahao meningkat secara teratur dengan bertambahnya jumlah tahapan
7. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah
berjalan ditambah dengan ongkos pada tahap tersebut 8.
Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.
Dalam menyelesaikan persoalan dengan program dinamis, kita dapat menggunakan 2 pendekatan berbeda maju atau mundur. Misalnya x
1
,x
2
,x
3
……x
n
menyatakan peubah variable keputusan yang harus dibuat masing-masing tahap 1,2,3,….n. Maka,
1. Program dinamis maju bergerak mulai dari tahap 1, terus maju ke tahap
2,3,….n. Runtutan peubah keputusan adalah x
1
,x
2
,x
3
……x
n
2. Program dinamis mundur bergerak mulai dari tahap n terus mundur
sampai tahap n-1,n-2 dan seterusnya sampai ke tahap 1. Runtutan keputusannya adalah x
n
, x
n-1
,x
n-2
,x
n-3
……x
1
3.10. Elemen dari Model Dynamic Programming
13
3.11. Model Dynamic Programming
Dynamic programming adalah teknik matematika yang dirancang khusus untuk memperbaiki efisiensi perhitungan masalah optimasi. Konsep utama dari
teknik ini adalah mendekomposisi masalah menjadi sub masalah sehingga dapat lebih mudah dihitung.
Program dinamis memberikan solusi masalah dengan cara sebagai berikut: 1. Masalah yang memiliki beberapa tahap penyelesaian. Masalah tersebut akan
didekomposisi menjadi sub masalah. Setiap tahap dekomposisi memiliki tepat satu variabel optimasi.
2. Optimasi diaplikasikan pada setiap tahap sehingga kombinasi solusi yang tidak optimal secara sistematis tidak terpilih menjadi solusi.
3. Setiap sub-masalah dihubungkan dengan fungsi tertentu sehingga akan memberikan solusi optimal untuk seluruh masalah.
Dynamic programming memiliki formula yang berbasis pada 3 elemen, yaitu stage, decision variable pada setiap stage yang dihubungkan dengan fungsi
rekursif, dan state dari sistem pada setiap stage
.
14
Misalkan X
t
adalah jumlah produksi untuk periode t, D
t
adalah jumlah permintaan pada periode t, I
t
adalah net inventory pada akhir periode t, K
t
X
t
, I
t
adalah biaya pada periode t untuk memproduksi X
t
dan memiliki net inventory
13
Hamdy Taha. 1976. Operation Research. Second Edition. New York: Macmillan Publishing. Hal 208-209
14
Montgomery D C. 1974. Operation Research in Production Planning Scheduling and Inventory Control. New York: John wiley and Sons.Hal 201-202
akhir I
t
, f
t
I adalah biaya minimum untuk periode t,t+1....T dengan net inventory pada periode t adalah I
t
. Jika keputusan produksi sebanyak X
t
, biaya untuk periode t adalah K
t
X
t
, I
t
dan persediaan akhir adalah I
t
, dimana I
t
ditentukan oleh I, X
t
dan D
t
mempengaruhi biaya minimum untuk melakukan produksi pada periode t. maka untuk mendapatkan fungsi biaya yang minimum akibat dari produksi sebanyak X
t
adalah: f
t
I = min [K
t
X
t
, I + X
t
– D
t
+ f
t+1
I+X
t
-D
t
] ........................ 1.5 Dengan syarat X
t
≥ 0 Berdasarkan uraian landasan teori tentang dynamic programming dapat
disimpulkan bahwa model dynamic programming secara teoritis dapat digunakan untuk merencanakan jumlah produksi dan persediaan selama periode n. Model
dynamic programming dapat merepresentasikan jumlah periode dalam n-stage, pilihan alternatif dalam state pada setiap stage, variabel keputusan dalam xi dan
persamaan yang dapat memberikan keputusan optimal dalam recurrence function. Stage dalam penelitian ini adalah periode produksi yang terdiri dari 12
periode dengan variabel input yang digunakan untuk setiap stage adalah peramalan permintaan konsumen, jumlah persediaan, biaya simpan, dan biaya
produksi. Decision variable untuk setiap stage adalah jumlah produksi optimal yang merupakan hasil dari variabel input yang dimasukkan ke dalam recurrence
function. Pengambilan keputusan untuk setiap stage berdasarkan fungsi tujuan yang ingin dicapai, yaitu meminimisasi biaya produksi dalam rangka pemenuhan
permintaan konsumen selama periode n.