Penyelesaian
Tahapan : Musim S1 : Musim panas S2 : Musim gugur S3 : Musim dingin S4 : Musim semi
Peubah keputusan : xn = Jumlah / level pekerja untuk tahapan ke-n (n=1,2,3,4) x4 = 255 (nilai optimal)
Misalkan rn = jumlah pekerja minimum yang dibutuhkan untuk tahapan ke-n Berarti : rn ≤ xn ≤ 255
Biaya untuk tahapan ke-n :
Cn = 200(xn – xn-1)2 + 2000 (xn – rn) State : Jumlah pekerja semusim yang lalu
Sn = xn-1, untuk n = 1 S1 = x0 = x4 = 255 Fungsi tujuan :
Pilih x1, x2, x3 (dengan x4 = 255) sedemikian hingga Min
∑
= − − + − 4 2 1) 2000( )] ( 200 [ n i i i i i x x r x Kendalari ≤ xi ≤ 255, i = 1,2,3,4 n rn xn feasibel Sn = xn-1 Biaya 1 220 220 ≤ x1 ≤ 255 S1 = 255 200(x1 – 255)2 + 2000 (x1 – 220) 2 240 240 ≤ x1 ≤ 255 220 ≤ S2 ≤ 255 200(x2 – x1)2 + 2000 (x2 – 240) 3 200 200 ≤ x1 ≤ 255 240 ≤ S3 ≤ 255 200(x3 – x2)2 + 2000 (x3 – 200) 4 255 x4 = 255 200 ≤ S4 ≤ 255 200(255– x3)2 fn(sn,xn) = 200(xn – sn)2 + 2000 (xn – rn)+∑
= − ≤ ≤ − + − 4 2 1 255 )] ( 2000 ) ( 200 [min
n i i i i i x r r x x x i i sn = xn-1 fn*(sn) =min
255 ≤ ≤n n x r fn(sn,xn) fn*(sn) =min
255 ≤ ≤n n x r {200 (xn – sn)2 + 2000 (xn – rn) +fn+1*(xn) }Siana Halim – Teknik Industri – UK. Petra Prosedur n = 4 x4 f4*(s4) x4* 200 ≤s4≤255 200(255-s4)2 255 n = 3 f3*(s3) =
min
255 200≤x3≤ {200 (x3 – s3)2 + 2000 (x3 – 200) +f4*(x3) } =min
255 200≤x3≤ {200 (x3 – s3)2 + 2000 (x3 – 200) +200 (255 – x3)2 } ) , ( 3 3 3 3 x s f x ∂ ∂ = 400 (x3 – s3) + 2000 – 400 (255 – x3) = 400 (2x3 – s3-250) = 0 ) , ( 3 3 3 2 3 2 x s f x ∂ ∂ = 800 > 0 ---! minimum x3* = (s3 + 250) /2 f3*(s3) = f3(s3 , x3*) = 200 ((s3 + 250) /2 – s3)2 + 2000 ((s3 + 250) /2 – 200) + 200 (255 – (s3 + 250) /2)2 n = 3 s3 f3*(s3) x3* 240 ≤s3≤255 50(250-s3)2+50(260-s3)2+1000(s3 – 150) (s3 + 250)/2 n = 2 f2(s2 , x2 ) = 200 (x2 – s2)2 + 2000 (x2 – r2) +f3*(x2) = 200 (x2 – s2)2 + 2000 (x2 – r2) +50(250-x2)2 + 50(260-x2)2+1000(x2 – 150)f2*(s2) =
min
255 2 240≤x ≤ f2(s2 , x2 ) ) , ( 2 2 2 2 x s f x ∂ ∂ = 400 (x2 – s2) + 2000 – 100 (250-x2) -100 (260-x2) + 1000 = 200 (3 x2 – 2s2 – 240) = 0 ) , ( 2 2 2 2 2 2 x s f x ∂ ∂ = 600> 0 ---! minimum x2* = (2 s2 + 240)/3 n = 2 s2 f2*(s2) x2* 220 ≤s2≤240 200(240-s2)2 + 115.000 240 240 ≤s2≤255 200/9[2(250-s2)2+(265-s2)2+30(3s2 –575)] (2s2 +240)/3 n = 1 f1(s1 , x1 ) = 200 (x1 – s1)2 + 2000 (x1 – r1) +f2*(x1) f1(s1 , x1 ) = ≤ ≤ + + + − + − ≤ ≤ + − + − + − 255 x 240 jika 575)] -30(3s ) s -(265 ) s -0 200/9[2(25 ) 220 ( 2000 ) ( 200 240 220 115 ) 240 ( 200 ) 220 ( 2000 ) ( 200 1 2 2 2 2 2 1 2 1 1 1 2 1 1 2 1 1 x s x x jika x x s x " 220 ≤ x1 ≤ 240 ) , ( 1 1 1 1 x s f x ∂ ∂ = 400(x1 – s1) + 2000 – 400 (240 –x1) = 400(2 x1 – s1 –235) Diketahui s1 = 255 ) , ( 1 1 1 1 x s f x ∂ ∂ = 800 ( x1 –245) < 0 untuk setiap x1 ≤ 240 x1* = 240 untuk 220 ≤ x1≤ 240Siana Halim – Teknik Industri – UK. Petra " 240 ≤ x1≤ 255 ) , ( 1 1 1 1 x s f x ∂ ∂ = 400(x1 – s1) + 2000 – 200/9[2(250 –x1)+2(265-x1)-90] = 400/3 (4 x1 – 3 s1 –225) = 0
x1 = (3 s1 + 225)/4 s1 = 255 di dapat x1 = 247,5 akan meminimumkan seluruh daerah 240 ≤ x1≤ 255 f1*(255) = 200 (247.5-255)2 + 2000( 247.5 – 220) + 200/9[2(250-247.5)2+ (265-247.5)2 + 30 (742.5 – 575)] = 185.000 n = 1 s1 f1*(s1) x1* 255 185.000 247.5 Hasil optimum : x1*= 247.5 x2* = (2 ( 247.5)+240)/3 = 245 x3*= (245 + 250)/2 = 147.5 x4* = 255
1.5 PENYELESAIAN PROGRAM LINEAR DENGA PROGRAM DINAMIK
Secara umum masalah dalam program linear dapat dituliskan dalam bentuk : Max Z = C1X1 + C2X2 + … + CnXn
Kendala a11 X1 + a12 X2 + … + a1nXn ≤ b1 a21 X1 + a22 X2 + … + a2nXn ≤ b2 .
. .
am1 X1 + am2 X2 + … + amnXn ≤ bm X1, X2, … ,Xn ≥ 0
Formulasi sebagai model program dinamik : • Tahapan : setiap aktifitas j (j = 1,2,.., n)
# Aktifitas level, Xj (≥ 0) merupakan alternatif pada tahapan ke-j
# Karena Xj kontinu, setiap tahapan memiliki jumlah alternatif tak terbatas dalam ruang layak (feasible)
• State : jumlah sumber daya (resources) yang dialokasikan pada tahapan ke-n dan tahapan ke-n+1
# Karena ada m sumber daya, berarti state-nya merupakan vektor berdimensi m.
# Misalkan (B1j, B2j, …, Bmj) adalah state dari sistem pada tahapan ke-j, yaitu, jumlah sumber daya 1,2,…,m yang dialokasikan ke tahapan j,j+1,…,m
Dengan menggunakan rekursif mundur
fn(B1n, B2n, … ,Bmn) = max {Cn Xn} 0≤ ain Xn≤Bin
i = 1,2,…,m
fj(B1j, B2j, … ,Bmj) = max {Cj Xj + fj+1(B1j – a1j Xj,…, Bmj – amj Xj )} 0≤ aij Xj≤Bij
i = 1,2,…,m; j = 1,2,…,n-1 0≤ Bij ≤ bi untuk setiap i,j
adalah nilai optimum dari fungsi tujuan untuk tahapan-tahapan (aktifitas-aktifitas) j,j+1,..,n jika diberikan states B1j, B2j, … ,Bmj
Contoh 1.6 Max Z = 2X1 + 5 X2 Kendala : 2X1 + X2 ≤ 430 2X2 ≤ 460 Penyelesaian : Tahapan : j (j= 1,2)
State : Misalkan (vj,wj) state pada tahapan j (j = 1,2)
• f2(v2,w2) = max {5 X2} 0≤ X2≤v2 0≤ 2X2≤w2
karena X2 ≤ min {v2, w2/2} dan f2 (X2|v2,w2) = 5 X2 maka f2(v2,w2) = 2 max X f2 (X2|v2,w2) = 5 min (v2, w2/2) X2* = (v2, w2/2) • f1(v1,w1) = max {2 X1 + f2(v1 –2X1, w1)} 0≤ 2X1≤v1 = max {2 X1 + 5 min (v1-2X1, w1/2)} 0≤ 2X1≤v1
merupakan tahapan terakhir dengan v1 = 430 dam w1 = 460 X1 ≤ v1/2 = 215
Siana Halim – Teknik Industri – UK. Petra f1(X1|v1,w1) = f1(X1, 430, 460) = 2 X1 + 5 min (430-2X1, 460/2) = 2 X1 + ≤ ≤ − ≤ ≤ 215 100 ) 2 430 ( 5 100 0 ) 230 ( 5 1 1 1 X X X = ≤ ≤ + − ≤ ≤ + 215 100 2150 8 100 0 1150 2 1 1 1 1 X X X X f1(v1,w1) = f1(430,460) = 1 max X (2X1+1150 , -8X1 + 2150) = 2(100) + 1150 = -8(100) + 2150 = 1350 X1* = 100 X2* = min (v2 , w2/2) v2 = v1 – 2X1 + 430 – 200 = 230 = min (230, 460/2) = 230 w2 = w1 – 0 = 460 Diperoleh Z = 1350 , X1 = 100 dan X2 = 230
1.6 PROGRAM DINAMIK PROBABILISTIK
Perbedaan antara program dinamik probabilistik dan deterministik terletak pada penentuan state pada tahapan berikutnya. Pada kasus probabilistik penentuan ini tidakah ditentukan berdasarkan state dan keputusan kebijakan pada tahapan pada saat itu, melainkan berdasarkan suatu distribusi probabilitas.
Meskipun demikian, distribusi probabilitas ini tetap ditentukan berdasarkan state
dan keputusan kebijakan pada tahapan pada saat itu (current stage)
Tahapan ke –n Probabilitas Tahapan ke-n+1
C1 fn+1*(1) P1 Keputusan State : P2 C2 fn+1*(2) fn(sn, xn) Ps Cs Kontribusi dari tahapan ke-n
fn+1*(s)
Sn xn
1
s 2
fn ( sn, xn) =
∑
= + + s i n i i C f i p 1 * 1()] [ fn+1*(i) =min
1 + n x fn+1(i, xn+1)s : jumlah state yang mungkin pada tahapan ke – n+1 Contoh 1.8
Sebuah perusahaan mendapat pesanan untuk menyuplai suatu item tipe tertentu. Pelanggan menginginkan kualitas yang tinggi, karena itu perusahaan tersebut harus memproduksi lebih dari satu item untuk memperoleh item yang dapat diterima. Perusahaan ini memperkirakan bahwa setiap item yang diproduksinya itu akan diterima dengan probabilitas ½. Dengan demikian , maka banyaknya item yang dapat diterima dari suatu lot yang berukuran L akan mempunyai distribusi binomial.
Ongkos produksi marginal untuk produk ini ditaksir sebesar $100/item (walaupun rusak), kelebihannya dianggap tak berharga. Jika perlu set-up biayanya $300. Jika seluruh lot rusak proses produksi harus di- set-up . Waktu produksi tidak boleh lebih dari 3 siklus. Jika item yang dapat diterima tidak dapat diperoleh pada akhir siklus produksi yang ke-3, kerugian yang ditanggung oleh perusahaan adalah $1600.
Tentukan ukuran lot pada siklus produksi yang diperlukan sehingga diperoleh ekspektasi biaya pembuatan yang minimum.
Penyelesaian
" Tahapan : siklus produksi
" State : banyaknya item yang dapat diterima ( nol atau satu)
s = 1 pada tahapan 1
" Peubah keputusan : ukuran lot produksi pada tahapan ke-n (xn , n = 1,2,3)
" Fungsi tujuan :
fn ( sn, xn) : ekspektasi biaya total minimum untuk tahapan ke-n ke depan fn*( s) =
min
,... 1 , 0 = Xn fn ( sn, xn) fn *( 0) = 0Dengan menggunakan $100 sebagai satuan uang, maka kontribusi terhadap biaya dari tahapan n adalah (k + xn), dimana
k = > = 0 3 0 0 n n x x Untuk s= 1, maka fn ( 1, xn) = k + xn + (1/2)Xn fn+1*(1) + [ 1- (1/2)Xn] fn+1*(0) = k + xn + (1/2)Xn fn+1*(1)
Siana Halim – Teknik Industri – UK. Petra
Dengan f4*(1) = 16, yaitu biaya terminal jika tidak dihasilkan item yang dapat diterima : Hubungan Rekursif : fn*(1) =
min
,... 1 , 0 = Xn {K + xn + (1/2)Xn f*n+1(1) } , n = 1,2,3 Prosedur : n=3 f3 (1, x3) = k + x3 + 16(1/2)x3 x3 s 0 1 2 3 4 f3*(s) x3* 1 16 12 9 8 8 8 3,4 n=2 f2 (1, x2) = k + x2 + (1/2)x3 f3*(1) x2 s 0 1 2 3 4 f2*(s) x2* 1 8 8 7 7 7.5 7 2,3 n=1 f1 (1, x1) = k + x1 + (1/2)x1 f2*(1) x1 s 0 1 2 3 4 f1*(s) x1* 1 7 7 1/2 6 3/4 6 7/8 71/6 6 ¾ 2 Kebijakan optimum :• Produksi 2 item pada siklus produksi I, jika rusak
• Produksi 2 atau 3 item pada siklus produksi II, jika rusak • Produksi 3 atau 4 item pada siklus produksi III
Ekspektasi ongkos total untuk kebijakan ini adalah $ 675.