Penerapan Pemrograman Dinamis dalam Perencanaan Produksi Yugowati Praharsi Abstrak Pemrograman dinamis merupakan salah satu alat bantu untuk mengambil keputusan yang tidak mempunyai formulasi baku untuk prosedur pengoptimalan. Prosedur pengoptimalan pemrograman dinamis cenderung mengacu pada teknik komputasi umum tergantung pada keadaan permasalahan yang akan diselesaikan. Pendekatan pemrograman dinamis memungkinkan adanya pemecahan permasalahan besar demikian sehingga segera setelah semua permasalahan yang lebih kecil diselesaikan maka solusi optimal dari permasalahan besar dapat ditemukan. Masing-masing permasalahan kecil ini diidentifikasikan sebagai tahapan (stage) dari prosedur solusi pemrograman dinamis. Dalam makalah ini akan dibahas contoh kasus penerapan pemrograman dinamis dalam permasalahan perencanaan produksi.
. Pendahuluan Dalam banyak permasalahan bisnis, pihak manajemen seringkali dihadapkan pada pembuatan sederetan keputusan yang saling terkait, dengan tujuannya adalah mengoptimalkan keseluruhan hasil dan sederetan keputusan dalam jangka waktu tertentu. Pendekatan penyelesaian masalah manajemen seperti ini dapat diselesaikan dengan menguraikan model matematika permasalahan yang mungkin sulit dipecahkan ke sejumlah permasalahan yang lebih kecil sehingga dihasilkan sederetan keputusan dalam jangka waktu tertentu disebut pemrograman dinamis. Masing-masing permasalahan kecil ini diidentifikasikan sebagai tahapan (stage) dari prosedur solusi pemrograman dinamis. Formulasi dalam pemrograman dinamis tidak seperti dalam pemrograman linear. Dalam permasalahan pemrograman dinamis tidak ada formulasi matematika baku untuk prosedur pengoptimalan. Prosedur pengoptimalan pemrograman dinamis cenderung mengacu pada teknik komputasi umum tergantung pada keadaan permasalahan yang akan diselesaikan. Salah satu lingkup manajemen yang menggunakan pemrograman dinamis antara lain berkaitan dengan permasalahan perencanaan produksi. Seringkali proses pengambilan keputusan dibuat berurutan atau multi tahap yang melibatkan sederetan permasalahan yang masing-masing merupakan tahapan tunggal. Setiap permasalahan tahapan tunggal terdiri dan satu atau lebih peubahpeubah yang nilai-nilainya harus ditentukan untuk mengoptimalkan nilai fungsi tujuan.. Kajian Pustaka
. Prinsip Optimalitas Bila keputusan optimal dibuat dalam setiap tahap maka kombinasi keputusankeputusan akan optimal. Hal ini sesuai dengan prinsip optimalitas dari Bellman yang menyatakan: Sifat dari suatu kebijakan optimal adalah apapun keadaan (state) dan keputusan awalnya, keputusan berikutnya harus menetapkan suatu kebijakan optimal dengan memperhatikan keadaan yang dihasilkan setelah keputusan pertama. Prinsip ini juga disebut prinsip optimisasi rekursif.. Fungsi Tujuan Pemrograman dinamis mempunyai fungsi tujuan maksimum atau minimum untuk menyelesaikan masalah. Dalam setiap tahap dapat ditemukan fungsi tujuannya, yaitu: Optimalkan Z i = X i + Z* i- dimana X i menyatakan peubah-peubah keputusan pilihan dalam tahap ke-i Z* i- menyatakan keputusan optimal dari tahap i-.. Fungsi Transformasi Fungsi transformasi merupakan persamaan matematika yang terikat pada tahap-tahap dari permasalahan bersama dalam pemrograman dinamis. P i Tahap i X i * X Z i- i = f(x i, P i, S i ) + Z i S i X i = Masukan ke tahap i dari tahap i + P i = Masukan (bebas) ke tahap i yang bebas dari tahap sebelumnya
S i X i- = Keluaran dari tahap i = Masukan ke tahap i - dari tahap i Z = Nilai optimal dari fungsi tujuan untuk tahap i- * i Z i = Fungsi tujuan untuk tahap i berkaitan dengan X i, P i, S i, dan Keputusan pada tahap i berkaitan dengan P i S i, atau keduanya. Z * i.4 Fungsi Rekursif Fungsi rekursif diberikan oleh persamaan berikut: f n (X) = max {r n (x n ) + f n- (X-x n )} n =,,... f n (X) = Total keuntungan dari tahap n x n = Jumlah sumber daya yang dialokasikan pada tahap n r n (X n ) = Return function dari tahap n X = Total sumber daya yang tersedia untuk n tahap Persamaan rekursif diatas dapat digunakan untuk dua penghitungan yaitu backward dan forward recursions. Secara khusus notasi yang digunakan dalam makalah ini sebagai berikut (Anderson, et.al. 994): N : Jumlah tahap (tahap-tahap dalam perumusan pemrograman dinamis) D n : Permintaan produk khusus dalam tahap n. x n d n : Status keputusan yang menyatakan banyaknya persediaan awal pada tahap n. : Peubah keputusan yang menyatakan jumlah unit barang yang diproduksi dalam tahap n P n : Kapasitas produksi dalam tahap n. W n : Kapasitas penyimpanan pada akhir tahap n. C n H n : Biaya produksi per unit dalam tahap n : Biaya perawatan per unit yang berkaitan dengan perawatan sejumlah barang pada persediaan akhir untuk tahap n. n =,... N
. Hasil dan Pembahasan Model Pemrogramannya pada setiap tahap yaitu: Minimalkan r n (x n, d n ) + f n- (x n- ) Adapun kendala-kendala yang harus dipenuhi (Anderson, et all. 994): ) Persediaan akhir harus lebih kecil atau sama dengan kapasitas penyimpanan. Ditulis: x n + d n D n W n atau x n + d n W n + D n ) Jumlah unit barang yang harus diproduksi harus lebih kecil atau sama dengan kapasitas produksi. Ditulis: d n P n ) Persediaan awal dan jumlah unit barang yang diproduksi harus lebih besar atau sama dengan permintaan produk khusus. Ditulis: x n + d n D n Tabel menunjukkan data kasus pengendalian produksi dan penyimpanan sebuah perusahaan selama tiga bulan (Anderson,et.al. 994) Bulan Januari Februari Maret Tabel : Data Kasus Pengendalian Produksi dan Penyimpanan Permintaan Kapasitas Biaya tiap unit Produksi Penyimpanan Produksi Perawatan $ 75 $ 5 4 Persediaan awal untuk bulan Januari adalah unit Dari data dalam tabel di atas dapat dibuat skema perumusan pemrograman dinamis. Ada tahap dimana penomeran tahap dilakukan secara mundur. Tahap : Maret, Tahap : Februari, Tahap : Januari.
Gambar : Tiga Tahap Pengendalian Produksi dan Penyimpanan Tahap transformasi fungsi mengambil bentuk: Persediaan akhir = persediaan awal + jumlah unit barang yang diproduksi - permintaan x = x + d - D = x + d - (Persediaan akhir tahap ) x = x + d - D = x + d - (Persediaan akhir tahap ) x = x + d D = x + d - (Persediaan akhir tahap ) Adapun return function masing-masing tahap menyatakan jumlah dan biaya produksi dan biaya perawatan. Tahap (Maret) Minimalkan r (x,d ) = d + 4 (x + d ) Kendala-kendala : x + d 5 kendala kapasitas penyimpanan d kendala kapasitas produksi x + d kendala memenuhi permintaan
Tabel : Hasil Penghitungan pada Tahap X d * f (x )=r (x,d *) 4 d + 4 x + (-) 6 4 Kapasitas produksi adalah untuk tahap kapasitas gudang adalah dari tahap Kendala permintaan x + d Tahap (Februari) Minimalkan r (x,d ) + f (x ) = 5 d + (x + d ) + f (x ) Kendala-kendala: x + d 6 kendala kapasitas penyimpanan d kendala kapasitas produksi x + d kendala memenuhi permintaan x Tabel : Hasil Penghitungan pada Tahap d r (x,d )+ f (x ) Kapasitas produksi yaitu pada tahap d * f (x ) x = x + d * - - - - - M - - - 9 9-75 7 7 Kapasitas penyimpanan adalah dari tahap Tahap (Januari) Minimal r (x, d ) + f (x ) = 75 d + (x + d ) + f (x ) Kendala-kendala: x + d 4 kendala kapasitas penyimpanan d kendala kapasitas produksi x + d kendala memenuhi permintaan
x d persediaan awal bulan Januari adalah unit Tabel 4: Hasil Penghitungan pada Tahap r (x,d )+ f (x ) Kapasitas produksi yaitu pada tahap d * f (x ) x = x + d * - - M 8 5 8 Bulan Januari Februari Maret Tabel 5: Kebijakan Optimal untuk Produksi dan Penyimpanan Persediaan Awal Produksi Total Biaya Produksi 5 6 $ 5 Persediaan Akhir Biaya Perawatan $ $ Total biaya Setiap bulan $ 8 6 $ 8 4. Referensi (). Anderson, D.R., Sweeney, D.J. & Williams, T.A. 994. An Introduction to Management Science: Quantitative Approaches to Decision Making. 7 th edition, New York: West Pub.Co. (). Taha, H.A. 996. Operations Research: An Introduction. 5 th edition, NewYork: MacMillan Pub.Co. (). Kusnanto, B.A.. Diktat Kuliah Optimasi. Universitas Kristen Satya Wacana. Salatiga.