Anda di halaman 1dari 6

Program Dinamis

Program Dinamis (dinamic programing) adalah suatu kumpulan teknik-teknik programisasi


matematis yang digunakan untuk mengambil keputusan yang terdiri dari banyak tahap
(multistage).
Aplikasi Program Dinamis
• scheduling produksi
• pengendalian persdiaan
• analisa network
• proyek-proyek penelitian
• pengembangan
Konsep-Konsep Dan Karakteristik
Dasar
1. Masalah Jalur- Optimum
Tujuan :
memilih route yang paling rendah biayanya (minimum total cost) untuk sampai ke
tujuan. Route dengan biaya yang paling rendah disebut jalur optimum .
Dalam network ada 10 lingkaran dengan nomor yang telah ditentukan. Lingkaran 1 adalah asal
dan 10 adalah tujuan. Mulai dari lingkaran 1 harus menentukan mana route yang akan diambil
melalui lingkaran 2 atau 3. ini adalah segmen pertama yang disebut stage (tahap). Pemilihan jalur
optimum memerlukan pemakaian keijakan yang memberikan hasil yang baik (optimal policy)’

11

Gambar 1.1 Network Flowchart

2. Prosedur Perhitungan
Teknik perhitungan programasi dinamis didasarkan pada prinsip optimisasi recursive (bersifat
pengulangan).
Bila fn(C) = min Cij + fj (C)
di mana fj(C) adalah biaya minimum perjalanan dari lingkaran ke j dalam satu tahap ke lingkaran
terakhir (recurcive equation).
f7 (C) = C7,10 =12
f8(C) = C8,10 =10
f 9(C) = C9,10 =11
Kemudian dalam hal ini ada tiga lingkaran dalam tahap III. Harus diputuskan jalur dengan biaya
terendah melalui lingkaran perantara. Lingkaran 4 mempunyai dua route yang menuju ke
lingkaran terakhir 10 melalui linkaran perantara 7 dan 8, maka didapatkan hasil sebagai berikut:
f4(C) = min C4,7 + f7(C) = 7 +12 =19 =19
C4,8 + f8(C) =10 +10 =20
Dengan dapat dipilihnya tiga route dari lingkaran 5untuk mencapai lingkaran 10, didapatkan
hasil:
f5(C) = min C5,7 + f7(C) = 7 +12 =19
C5,8 + f8(C) = 5 +10 =15 =15
C5,8 + f9(C) = 8 +11 =19
Sama dengan cara diatas, dua jalur dari lingkaran 6 ke 10 mempunyai biaya-biaya :
f6(C) = min C6,8 + f8(C) = 11 +10 =21 =18
C6,9 + f9(C) = 7 +11 =18

Dengan membanginkan ketiga biaya minimum diatas, 19,15 dan 18, maka dipilih nilai terkecil
dari ketiganya yaitu 15. ini menunjukkan jalur dengan biaya terendah dari tahap III. Jadi, jalur
tersebut adalah 5 8 10
Sekarang, route diperluas dengan mengikut sertakan lingkaran dari tahap Iidan mencari jalan
dengan biaya terendah yang mencakup tahap II,III,IV. Karena ada dua lingkaran dalam tahap II,
didapatkan hasil sebagai berikut:
f2(C) = min C2,4 + f4(C) = 6 +17 =23 =21
C2,5 + f5(C) =8 +13 =21
f3(C) = min C3,4 + f4(C) =11 +17 =28
C3,5 + f5(C) = 7 +13 =20 = 20
C3,6 + f6(C) = 6 +16 =22
Dipilih nilai yang paling kecil yaitu 20 diantara dua nilai minimum dari persamaan diatas, jadi
least-cost part menghubungkan lingkaran-lingkaran 3 5 8 10
Akhirnya, dihitung biaya untuk keseluruhan tahap. Persamaan recurvice untuk route yang
dimulai dari lingkaran 1 termasuk seluruh tahap adalah
f1(C) = min C1,2 + f2(C) = 8 +17 =25 =21
C1,3 + f3(C) =5 +16 =21

MATEMATIS PROGRAMASI DINAMIS


Maksimumkan fn (X) = Σ rj (Xj)
Dengan batasan : X = Σ Xj
Dan Xj ≥ 0 (j = 1,2,......,n)
Dimana :
fn (X) = penghasilan total dari seluruh kegiatan
Xj = kuantitas smber daya yg dialokasikan ke kegiatan (tahap) ke- j.
rj (Xj) = penghasilan (reward) dari kegiatan ke -j.
µ = jumlah kegiatan (tahap) bebas (independent)
X = sumber daya total yang tersedia untuk µ kegiatan-kegiatan
CONTOH APLIKASI PROGRAMASI DINAMIS
1. Masalah Scheuduling Prroduksi dan Pengendalian Persediaan
Perusahaan “SUKA MAJU” adalah sebuah perusahaan kecil yang memproduksi hanya satu
produk. Permintaan (penjualan) untuk produk tersebut dalam tiga periode 1,2, dan 3, secara
berturut-turut. Produk sekarang diproses dalam beberapa tahap sebesar 10 unit setiap periode.
Pada permulaan setiap periode dilakukan penyetelan mesin untuk memproduksi sebesar kuantitas
yang dibutuhkan. Biaya produksi set up untuk 10 unit pertama adalah Rp 20 setiap periode dan
naik dengan Rp 2 untuk setiap tambahan 10 unit yang diproduksi. Biaya produksi dan overhead
sehubungan dengan produksi 70 unit dalam keseluruhan periode tidak dipengaruhi oleh
keputusan produksi, oleh sebab itu hal tersebut tidak ikut dipertimbangkan dalam kasus ini.
Perusahaan dapat memproduksi 70 unit dalam sesuatu periode. Produk yang tidak terjual dalam
sesuatu periode, disimpan sebagai persediaan. Biaya penyimpanan persedaan untuk 10 unit
adalah Rp 3 dalam setiap periode. Karena keterbatasan gudang penyimpanan, persediaan
maksimum tidak dapat lebih dari 30 unit setiap periode. Dianggap tidak ada persediaan pada
permulaan periode pertama. Oleh karena itu, total biaya terdiri dari biaya set up produksi dan
biaya penyimpanan persediaan. Masalah yang timbul pada perusahaan adalah penentuan skedul
dalam setiap periode agar total biaya untuk keseluruhan periode adalah minimum dan dapat
memenuhi kebutuhan pejualan. Anggap semua biaya dalam ratusan ribu rupiah.
meminimumkan :
C = [ (20 + 0,2 (Xi – 10)] + 0,3 Ii }
dengan batasan :
X1 ≥ 20
X1 + X2 ≥ 40
X1 + X2 + X3 = 70
I1 ≤ 30
I2 ≤ 30
Dan X2, X3 , I1 , I2 ≥ 0
Dimana C = biaya total
Xi = jumlah produk yang diproduksi dalam periode i.
Ii = jumlah persediaan akhir periode i (jumlah ini sama dengan jumlah
persedian awal periode i + I)
Penyelesaian yang optimal dapat ditentukan dengan persamaan recursive :
fn (X) = max [ rn (Xn ) + fn-1 (X-Xn ) ]
n = 2,3, .............
Setelah persediaan akhir setiap periode diukur dari perbedaan antara jumlah persediaan awal,
ditambah produksi dan volume penjualan (penjualan awal = produksi – penjualan) :
Ii = Ii-1 + X1 – S1
Atau
Ii-1 = Ii + Si – Xi (untuk i = 1, 2, 3)
Dimana Si adalah jumlah dalam periode i.
Penyimpanan persediaan tidak dapat melebihi 30 unit dalam setiap periode; jadi didapatkan :
0 ≤ Ii-1 ≤ 30
Jumlah produksi Xi dapat ditunjukan sebagai
Ii + Si – 30 ≤ Xi ≤ Ii + Si
Persamaan recursive dalam bentuk :
fn (In ) = min [Cn (Xn + In ) + fn-1 (In – 1)]
In + Sn – 30 ≤ Xn ≤ In + Sn
Persamaan recursive dapat ditulis dengan pers. 9.1 :
fn (In ) = min [Cn (Xn + In ) + fn-1 (In + Sn – Xn )]
In + Sn – 30 ≤ X ≤ In + Sn
Dalam persamaan 9.4, C adalah fungsi dari jumlah produksi dan persediaan. Sebagai langkah
pertama, f1 (I1 ) harus ditentukan karena akan mempengaruhi nilai f2 (I2 ). Persamaan recursive
untuk periode pertama adalah :
F1 (I1 ) = min { C1 (X1 + I1 ) }
20 ≤ X1
Diketahui S1 = 20 (jumlah penjualan dalam periode pertama dan 0≤I1≤30, dari hal ini didapatkan
hasil berikut ini:
f1(0) = C1(20 + 0) = 22+0 =22
f1(10) = C1(30 +10) =24+3 =27
f1(20) = C1(40 +20) = 26+6 =32
f1(30) = C1(50 +30) = 28+9 =37
Hasil ini dimasukkan ke kolom periode 1
Sebagai langkah selanjutnya, nilai dari f2(I2) harus ditentukan atas dasar f1(I1). Persamaan
recurvise untuk tahap kedua adalah:
f2(I2) = min {C2(X2+I2) + f1(I2+S2– X2)}
I2+S2–30 ≤ X2 ≤I2+ S2

Bila I2 = 0
f2(0) = min {C2(X2+0) + f1(0+S2– X2)}
0 ≤ X2 ≤ 20
Nilai-nilai f2(0) bila 0 ≤ X2 ≤ 20 adalah
C2 (0+0) + f1 (0 +20 -0) = 0 + 32 =32 =32
f2(0) = C2 (10+0) + f1 (0 +20 -10) = 20 + 27 =47
C2 (20+0) + f1 (0 +20 -20) = 22 + 22 =44
Jadi didapatkan nilai minimum =32 pada X2= 0
Bila I2 = 10
f2(10) = min { C2(X2 + 10) + f1(10 + 20 – X2)}
0 ≤ X2 ≤ 30
Nilai-nilai f2(10) bila 0 ≤ X2 ≤ 30 adalah

C2(0 + 10) + f1(10+20-0) = 0 +3 + 7 = 40


f2 (10) = min C2(10 + 10) + f1(10+20-10) = 20 +3 + 32 = 55 = 40
C2(20 + 10) + f1(10+20-20) = 22 +3 + 27 = 52
C2(30 + 10) + f1(10+20-30) = 24 +3 + 22 = 49
Nilai minimum f2(10)= 40 diperoleh pada X2 = 0
Bila I2 = 20
f2(20) = min { C2(X2 + 20) + f1(20 + 20 – X2)}
10 ≤ X2 ≤ 40
Nilai-nilai f2(20) bila 0 ≤ X2 ≤40 adalah
C2(10 + 20) + f1(20+20-10) = 20 +6 + 37 = 63
f2 (20) = min C2(20 + 20) + f1(20+20-20) = 22 +6 + 32 = 60 = 54
C2(30 + 20) + f1(20+20-30) = 24 +6 + 27 = 57
C2(40 + 20) + f1(20+20-40) = 26 +6 + 22 = 54
Nilai minimum f2(10)= 54 diperoleh pada X2 = 40

Bila I2 =30
f2(30) = min {C2(X2+30) + f1(30+20 – X2)}
10 ≤ X2 ≤ 50
Untuk 20 ≤ X2 ≤ 50, maka nilai-nilai f2 (30) adalah
C2(20+30)+f1(30 +20 -20) = 22+9+37=68
f2(30)= min C2(30+30)+f1(30 +20 -30)= 24+9+32=65 =59
C2(40+30)+f1(30 +20 -40) = 26+9+27=62
C2(50+30)+f1(30 +20 -50) = 28+9+22=59
Maka didapatkan nilai minimum f2(30) =59. hasil ini diperoleh pada X2= 50. Jadi perhitungan
untuk tahap kedua telah selesai.

Tabel .1 Tabel hasil perhitungan


I1 Periode 1 Periode 2 Periode 3

X1 f(I1 ) X2 f2 (I2 ) X3 f3 (I3 )

0 20 22 0 32 30 56
10 30 27 0 40
20 40 32 40 54
30 50 37 50 59

Akhirnya diperoleh nilai f3 (I3 ) dengan cara yang sama persamaan recursivenya adalah :
f3 (I3 ) = min { C3 (X3 + I3 ) + f2 (I3 + S3 – X3 ) }
I3 + S3 – 30 ≤ X3 ≤ I3 + S3
Akhirnya diperoleh nilai f3 (I3 ) dengan cara yang sama persamaan recursivenya adalah :
f3 (I3 ) = min{ C3 (X3 + I3 ) + f2 (I3 + S3 – X3 ) }
I3 + S3 – 30 ≤ X3 ≤ I3 + S3

Untuk 0 ≤ X3 ≤ 30, didapatkan :


C3(0 + 0) + f1(0+30-10) = 0 +0 + 37 = 63
f3 (20) = min C3(10 + 0) + f1(0+30-20) = 20 +0 + 32 = 60 = 56
C3(20 + 0) + f1(0+30-30) = 22 +0 + 27 = 57
C3(30 + 0) + f1(0+30-40) = 24 +0 + 22 = 54

Nilai minimum f3 (0 ) = 56 pada X3 = 30. Nilai ini dimasukkan pada kolom periode ketiga tabel
9.1. Untuk I3 > 0 tidak diperlukan dalam masalah tiga tahap ini, maka perhitungan untuk tiap
periode telah selesai.

Dari tabel 1. di Rp. 56 pada X3=30. Karena I2 = I3 + S3 – X3 dari persamaan 9.1 didapatkan I2 = 0
(yaitu 0 = 0 + 30 – 30). Selanjutnya total biaya pada periode ketiga adalah Rp24. Selisihnya =
Rp32 (56-24) didapatkan pada X2 =0. Oleh sebab itu, jumlah tersebut pasti berasal dari kolom
periode 1. Didapatkan f1(20) = Rp32 pada X1=40. Ini juga memenuhi persamaan 9.1 I1 = I2 + S2
– X2 (yaitu, 20 = 0 + 20 – 0).

Periode Produksi Penjualan Persediaan Biaya

1 40 20 20 26 +6 =32
2 0 20 0 o
3 30 30 0 24 +0 = 24
Total 70 70 20 Rp 56

Anda mungkin juga menyukai