TI3131 Penelitian Operasional II 1
Pemrograman Dinamis
(Dynamic Programming)
Kuliah 04-05
Materi
• Pengantar
• Masalah pemrograman dinamis deterministik
• Masalah pemrograman dinamis probabilistik
TI3131 Penelitian Operasional II 3
Pendahuluan
• Pemrograman dinamis (dynamic programming) merupakan teknik matematis yang dapat berguna untuk membuat suatu urutan keputusan yang saling berkaitan.
• Pemrograman dinamis tidak mempunyai rumusan yang baku.
• Tiap permasalahan memerlukan perumusan tertentu. • Teknik pemrograman dinamis dikenal juga dengan
multistage programming.
Klasifikasi Pemrograman Dinamis
Status diskret Status kontinyu Tunggal Majemuk Tunggal Majemuk Deterministik
TI3131 Penelitian Operasional II 5
Karakteristik
Masalah Pemrograman Dinamis (1)
• Masalah dapat dibagi atas tahap (stage)
dimana keputusan (decision) harus dibuat pada
tiap tahap.
• Tiap tahap mempunyai sejumlah status (state).
• Efek dari keputusan pada tiap tahap adalah
mengubah status saat ini menjadi status yang
berkaitan dengan tahap berikutnya.
Karakteristik
Masalah Pemrograman Dinamis (2)
• Prosedur pemecahan didesain untuk
mendapatkan kebijakan optimal (optimal
policy) untuk keseluruhan masalah.
• Diberikan status saat ini, kebijakan optimal
untuk tahap tersisa adalah independen terhadap
kebijakan yang diambil dalam tahap
berikutnya (disebut principle of optimality
dari pemrograman dinamis).
Karakteristik
Masalah Pemrograman Dinamis (3)
• Associated with each stage, there is a return function
that evaluates the choice made at each decision in term of contribution that the decision can make to the overall objective
• Each stage N the total decision process is related to its adjoining stage by a quantitative relationship called a
transition function
• A recursive relationship is always used to relate the optimal policy at stage n to the (n-1) stage.
TI3131 Penelitian Operasional II 7
Pengambilan Keputusan (1)
• Tahap (Stage)
– Titik dimana suatu keputusan dibuat
• Status (State)
– Parameter masukan
• Transformasi (Transformation)
TI3131 Penelitian Operasional II 9
Pengambilan Keputusan (2)
Tahap Keputusan Transformasi Keluaran MasukanSuatu Tahap Tunggal
n n
n nr
S
x
g
,
nx
n S n S~n nS
= status input (input state) nS
~
= status ouput (output state) nx
= keputusan (decision) ng
= fungsi pengembalian (return function)TI3131 Penelitian Operasional II 11
Sistem Banyak-Tahap
(Multi-Stage System)
//
ng
nx
n S n n S~//
1g
1 S 1 1 ~ S 1x
Ng
Nx
N S N N S~ 1~
i iS
S
i
1
,
2
,
,
N
1
Prosedur Pemecahan
• Prosedur pemecahan
– Rekursi maju (forward recursion) – Rekursi mundur (backward recursion)
• Perbedaan prosedur
– Cara mendefinisikan status dalam sistem.
• Prosedur rekursi mundur secara umum lebih
efisien.
TI3131 Penelitian Operasional II 13
Rekursi Maju
//
ng
nx
n S n n S~//
1g
1 S 1 1 ~ S 1x
Ng
Nx
N S N N S~Proses perhitungan mulai dari tahap n = 1 hingga tahap n = N
Rekursi Mundur
//
ng
nx
n S n n S~//
g
1 S 1 1 ~ S 1x
Ng
Nx
N S N N S~Proses perhitungan mulai dari tahap n = N hingga tahap n = 1
TI3131 Penelitian Operasional II 15
Fungsi Transisi
(Transition Function)
n n nS
x
S
1
Rekursi maju : n n nS
x
S
1
Rekursi mundur :Beberapa Contoh Fungsi Transisi
Fungsi Transisi Maju Mundur + -× n n n
S
x
S
1
n n nS
x
S
1
n n nS
x
S
1
n n nS
x
S
1
n n nS
x
S
1
n n nS
x
S
1
n n nS
x
S
1
n n nS
x
S
1
TI3131 Penelitian Operasional II 17
Hubungan Rekursif Maju
S
r
S
x
f
S
n
N
f
n n n n n x n n n,
,
1
,
,
opt
*1 1 *
n n nS
x
S
1
00
* 0S
f
S
x
r
S
x
f
S
n
N
f
n n,
n
n n,
n
n*1 n1,
1
,
,
S
f
S
x
n
N
f
n* n
n,
n*,
1
,
,
Hubungan Rekursif Mundur
opt
,
*1
1
,
,
,
1
*
N
n
S
f
x
S
r
S
f
n n n n n x n n n
1
,
,
,
1S
x
n
N
S
n
n
n
1
0
* 1
N NS
f
S
,
x
r
S
,
x
f
*1
S
1,
n
N
,
,
1
f
n n n
n n n
n n
,
*
,
,
,
1
*
N
n
x
S
f
S
f
n n
n n
TI3131 Penelitian Operasional II 19
Langkah-langkah Pemecahan
• Tentukan prosedur pemecahan (maju atau mundur). • Tentukan tahap (stage).
• Definisikan variabel status (state) pada tiap tahap. • Definisikan variabel keputusan pada tiap tahap. • Definisikan fungsi pengembalian pada tiap tahap. • Definisikan fungsi transisi.
• Definisikan fungsi rekursif. • Perhitungan.
• Tentukan solusi optimal dengan backtracking.
Beberapa Contoh Masalah Pemrograman
Dinamis Deterministik
• Stagecoach problem • Cargo loading problem • Inventory problem • Reliability problem
• Nonlinear programming problem • Linear programming problem
Single-state discrete deterministic DP Single-state continuous deterministic DP Multiple-state continuous deterministic DP
TI3131 Penelitian Operasional II 21
Stagecoach problem
A B D E C G F H I J 2 3 3 7 4 6 3 2 4 4 1 5 1 4 6 3 3 3 3 4 A B D E C G F H I J 1 2 3 4 Tahap n = region (n = 1, 2, 3, 4)TI3131 Penelitian Operasional II 23
Status:
Sn= simpul saat ini pada tahap n
Variabel keputusan
xn= simpul tujuan berikutnya pada tahap n
Fungsi pengembalian ) , (Sn xn n
c
g
n n x S S x c nn, ) jarak darisimpul kesimpul
(
Fungsi transisi (mundur):
Hubungan rekursif (mundur)
n nx
S
1
min
( , ) *1
1
,
4
,
,
1
*
S
n
f
c
S
f
S x n n x n n n n n
50
* 5S
f
min
( , ) *1
,
4
,
,
1
*
x
n
f
c
S
f
S x n n x n n n n nTI3131 Penelitian Operasional II 25 Tahap n = 4 x4 S4 f4*(S4) x4* J H 3 3 J I 4 4 J
4 4
4, 4 4 S ,x cS x f Perhitungan
5 0 * 5 S f Tahap n = 3 x3 S3 f3*(S3) x3* H I E 1 + 3 = 4 4 + 4 = 8 4 H F 6 + 3 = 9 3 + 4 = 7 7 I G 3 + 3 = 6 3 + 4 = 7 6 H
*
3 4 , 3 3 3 S ,x c 3 3 f x f S x TI3131 Penelitian Operasional II 27 Tahap n = 2 x2 S2 f2*(S2) x2* E F G B 7 + 4 = 11 4 + 7 = 11 6 + 6 = 12 11 E, F C 3 + 4 = 7 2 + 7 = 9 4 + 6 = 10 7 E D 4 + 4 = 8 1 + 7 = 8 5 + 6 = 11 8 E, F
2 * 3 , 2 2 2 S ,x c 2 2 f x f S x Tahap n = 1 x1 S1 f1*(S1) x1* B C D A 2 + 11 = 13 4 + 7 = 11 3 + 8 = 11 11 C, D
*
1 2 , 1 1 1 S,d c 1 1 f x f S x TI3131 Penelitian Operasional II 29 n = 1 n = 2 n = 3 n = 4 (x1*, x2*, x3*,x4*) S1 x1* S2 x2* S3 x3* S4 x4* A C C E E H H J (C, E, H, J) A D D E E H H J (D, E, H, J) A D D F F I I J (D, F, I, J) A C E H J A D E H J A D F I J
Backtracking
Cargo Loading Problem
(Knapsack Problem)
Item i Berat wi Nilai, vi
1 2 65
2 3 80
3 1 30
TI3131 Penelitian Operasional II 31
n i i ix
v
Z
1W
x
w
n i i i
1bulat
bilangan
dan
0
ix
maksimisasiInteger Linear Programming (ILP) Model
Tahap
n = item (n = 1, 2, 3)
Status:
S
n= pada tahap n, kapasitas yang tersedia
Variabel keputusan
TI3131 Penelitian Operasional II 33 Fungsi Pengembalian: Fungsi Transisi: Hubungan Rekursif: n n n n
S
w
x
S
1
max
*1
1
,
3
,
2
,
1
*
S
n
f
x
v
S
f
n n n n d n n n
40
* 4S
f
max
*1
,
3
,
2
,
1
*
S
w
x
n
f
x
v
S
f
n n n n n n d n n n n n nv
x
g
Tahap n = 3 x3 S3 0 1 2 3 4 5 f3*(S3) x3* 0 0 - - - 0 0 1 0 30 - - - - 30 1 2 0 30 60 - - - 60 2 3 0 30 60 90 - - 90 3 4 0 30 60 90 120 - 120 4 5 0 30 60 90 120 150 150 5
3 3
3 3 3 S ,x v x f Perhitungan
4 0 * 4 S fTI3131 Penelitian Operasional II 35 Tahap n = 2 x2 S2 0 1 f2*(S2) x2* 0 0 - 0 0 1 30 - 30 0 2 60 - 60 0 3 90 80 90 0 4 120 110 120 0 5 150 140 150 0
2 2 2
* 3 2 2 2 2 2 S ,x v x f S w x f Tahap n = 1 x1 S1 0 1 2 f1*(S1) x1* 0 0 - - 0 0 1 30 - - 30 0 2 60 65 - 65 1 3 90 95 - 95 1 4 120 125 130 130 2
1 1 1
* 2 1 1 1 1 1 S ,x vx f S wx f TI3131 Penelitian Operasional II 37 n = 1 n = 2 n = 3 (x1*, x2*, x3*) w1= 2 w2 = 3 w3= 1 S1 x1* S2 x2* S3 x3* 5 2 1 0 1 1 (2, 0, 1) n n n n
S
w
x
S
1
Backtracking
Masalah Persediaan
(Inventory Problem)
Bulan Okt Nov Des Jan Feb Mar
Permintaan 40 20 30 40 30 20
Permintaan:
Biaya pembelian = $4/unit
TI3131 Penelitian Operasional II 39
Ukuran lot Diskon (%)
10 4 20 5 30 10 40 20 50 25 Diskon harga
Biaya pesan: tetap = $2, variabel = $8/unit Kapasitas gudang (persediaan) 40 unit
Biaya simpan = $0.2/unit/bulan (dihitung pada persediaan pada akhir bulan)
Permasalahan
Menentukan jumlah produk yang dipesan (diorder) pada tiap bulan yang meminimumkan biaya total (mencakup biaya pembelian, biaya pesan dan biaya simpan)
Asumsi:
Persediaan pada awal Oktober dan akhir Maret adalah nol.
TI3131 Penelitian Operasional II 41
Tahap:
n = bulan (n = 1, 2, …, 6)
Status:
Sn= jumlah persediaan pada awal tahap n
Variabel keputusan:
xn= jumlah produk yang dipesan pada tahap n
Fungsi pengembalian:
(xn) = biaya pembelian dan pemesanan (fungsi dari xn)hn = biaya simpan pada tahap n
Dn = permintaan pada tahap n
Fungsi transisi: n n n n S x D S 1
n n
n n n
nx
h
S
x
D
g
TI3131 Penelitian Operasional II 43
Hubungan rekursif:
min
*1
1
, 1, ,6 * S n f D x S h x S f n n n n n n n x n n n
min
*1
, 1, ,6 * x h S x D f S x D n S f n n n n n n n n n x n n n
7 0 * 7 S fUkuran lot Harga ($/unit) Diskon (%) Biaya pembelian ($) Biaya pesan ($) Biaya pembelian + pesan ($) 10 4 4 38 10 48 20 4 5 76 10 86 30 4 10 108 10 118 40 4 20 128 10 138 50 4 25 150 10 160
TI3131 Penelitian Operasional II 45 Tahap n = 6 x6 S6 0 10 20 f6*(S6) x6* 0 - - 86 86 20 10 - 48 - 48 10 20 0 - - 0 0
6 6
6 6 S ,x x f 0 6 6 6 7 S x D SPerhitungan:
7 0 * 7 S f Tahap n = 5 x5 S5 f5*(S5) x5* 0 10 20 30 40 50 0 - - - 204 186 164 164 50 10 - - 172 168 142 - 142 40 20 - 134 136 122 - - 122 30 30 86 98 90 - - - 86 0 40 50 52 - - - - 50 0 5 5 5 * 6 5 5 5 5 5 5 5 5S,x x h S x D f S x D f TI3131 Penelitian Operasional II 47 Tahap n = 4 x4 S4 f4*(S4) x4* 0 10 20 30 40 50 0 - - - - 302 304 302 40 10 - - - 282 282 286 282 30,40 20 - - 250 262 264 252 250 20 30 - 212 230 244 230 218 218 10 40 164 192 212 210 196 - 164 0 4 4 4 * 5 4 4 4 4 4 4 4 4S ,x x h S x D f S x D f Tahap n = 3 x3 S3 f3*(S3) x3* 0 10 20 30 40 50 0 - - - 420 422 414 414 50 10 - - 388 402 392 384 384 50 20 - 350 370 372 362 332 332 50 30 302 332 340 342 310 - 302 0 40 284 302 310 290 - - 284 0 3 3 3 * 4 3 3 3 3 3 3 3 3S,x x h S x D f S x D f
TI3131 Penelitian Operasional II 49 Tahap n = 2 x2 S2 f2*(S2) x2* 0 10 20 30 40 50 0 - - 500 504 474 468 474 50 10 - 462 472 454 446 452 446 40 20 414 434 422 426 430 - 414 0 30 386 384 394 410 - - 384 10 40 336 356 378 - - - 336 0 2 2 2 * 3 2 2 2 2 2 2 2 2S ,x x h S x D f S x D f Tahap n = 1 x1 S1 f1*(S1) x1* 0 10 20 30 40 50 0 - - - - 606 608 606 40 1 1 1 * 2 1 1 1 2 1 1 1 1S,x x h S x D f S x D f
TI3131 Penelitian Operasional II 51 n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 xn* D1= 40 D2= 20 D3= 30 D4= 40 D5= 30 D6= 20 S1 x1* S2 x2* S3 x3* S4 x4* S5 x5* S6 x6* 0 40 0 50 30 0 0 40 0 50 20 0 (40, 50, 0, 40, 50, 0) n n n n S x D S 1
Backtracking
Masalah Keandalan
(Reliability Problem)
Komponen I Komponen II Komponen III
Permasalahan: Menentukan jumlah unit paralel yang dipasang
pada tiap komponen agar diperoleh reliabilitas sistem yang maksimum dengan mempertimbangkan dana yang tersedia.
TI3131 Penelitian Operasional II 53 Jumlah unit paralel yang dipasang, k Komponen I II III r1 c1 r2 c2 r3 c3 1 0,6 1 0,7 3 0,5 2 2 0,8 2 0,8 5 0,7 4 3 0,9 3 0,9 6 0,9 5
ri= reliabilitas komponen i (diberikan jumlah unit paralel k)
ci= biaya pemasangan komponen i (diberikan jumlah unit paralel k) [dalam jutaan rupiah]
Dana yang tersedia untuk perancangan sistem = Rp 10 juta
• Tahap
– Jenis komponen (n = 1, 2, 3)
• Status
– Untuk tiap tahap n, status Snadalah banyaknya dana yang tersedia yang dapat dialokasikan pada tahap n
• Variabel keputusan
– Untuk tiap tahap (komponen) n, keputusan adalah
TI3131 Penelitian Operasional II 55
• Fungsi pengembalian:
• Fungsi transisi:
• Hubungan rekursif:
n n n r x g
n n n nS
c
x
S
1
max
1
, 3,2,1 * 1 * S n f x r S f n n n n x n n n
4 1 * 4 S f
max
*1
, 3,2,1 * S c x n f x r S f n n n n n n x n n n Tahap n = 3 x3 S3 f3*(S3) x3* r3= 0,5; c3= 2 r3= 0,7; c3= 4 r3= 0,9; c3= 5 1 2 3 2 0,5 - - 0,5 1 3 0,5 - - 0,5 1 4 0,5 0,7 - 0,7 2 5 0,5 0,7 0,9 0,9 3 6 0,5 0,7 0,9 0,9 3
3 3
3 3 3 S ,x r x f Perhitungan
4 1 * 4 S fTI3131 Penelitian Operasional II 57 Tahap n = 2 x2 S2 f2*(S2) x2* r2= 0,7; c2= 3 r2= 0,8; c2= 5 r2= 0,9; c2= 6 1 2 3 5 0,35 - - 0,35 1 6 0,35 - - 0,35 1 7 0,49 0,40 - 0,49 1 8 0,63 0,40 0,45 0,63 1 9 0,63 0,56 0,45 0,63 1
2 2
2
* 3 2 2 2 2 2 S ,x r x f S c x f Tahap n = 1 x1 S1 f1*(S1) x1* r1= 0,6; c1= 1 r1= 0,8; c1= 2 r1= 0,9; c1= 3 1 2 3 6 0,210 - - 0,210 1 7 0,210 0,280 - 0,280 1 8 0,294 0,280 0,315 0,315 3 9 0,378 0,392 0,315 0,392 2 10 0,378 0,504 0,441 0,504 2 1 1 1 * 2 1 1 1 1 1 S,x r x f S c x f TI3131 Penelitian Operasional II 59 n = 1 n = 2 n = 3 (x1*, x2*, x3*) c3= 2 c2= 3 c1= 1 S1 x1* S2 x2* S1 x1* 10 2 8 1 5 3 (2, 1, 3)
n n n nS
c
x
S
1
Nonlinear Programming Problem (1)
3 2 2 1 2x 3x x Z i i i S x S1 3 i i S x 0 maksimisasi dengan pembatas-pembatas:
TI3131 Penelitian Operasional II 61
Nonlinear Programming Problem (2)
Tahap n = 3
3 3
3 3S
,
x
3
x
f
3 0 * 3max
3
3 3x
S
f
S x
3 * 3S
x
f
3*
S
3
3S
3Nonlinear Programming Problem (3)
Tahap n = 2
3 * 3 2 2 2 2 S ,x 2x f S f
2 2
* 3 2 0 * 3 max 2 3 2 2 x S f x S f S x
0
* 2x
2 2
* 3 2 3 2x f S x
2 2 2
0max2 2 2 9 3 x S x S x
2 2
0max2 2 9 x S S x
2 2 * 2 S 9S f TI3131 Penelitian Operasional II 63
Nonlinear Programming Problem (4)
Tahap n = 1
2 * 2 2 1 3 3 3 S ,x x f S f
1 1
* 1 2 1 0 * 1 max 3 1 1 x S f x S f S x
1 1
* 2 2 1 f 3S x x
1 1
2 1 0max1 1 27 9 x S x S x Nonlinear Programming Problem (5)
27S1 9/ 17
convex fungsi 27 9 1 1 2 1 x x S fTI3131 Penelitian Operasional II 65
Nonlinear Programming Problem (6)
Kebijakan keputusan optimal:
0 * 1 1 x S 3 * 1 1 x S S 3 * 1 1 x 0atau S S
Titik
diperoleh melalui:9 27 9 27 1 1 2 1 1 S S
Nonlinear Programming Problem (7)
9
,
18
9
,
27
1 1 2 1 1 1 1 * 1S
S
S
S
S
S
f
Kebijakan keputusan optimal tersedia untuk sebarang status masukan S1.
TI3131 Penelitian Operasional II 67
Nonlinear Programming Problem (8)
S1 x1* x2* x3* f1*(S1)
3 27 0 0 81
6 54 0 0 162
9 81(54) 0 0(9) 243
12 72 0 12 360
Nilai solusi untuk beberapa nilai status masukan S1.
Pemrograman Linier
(Linear Programming)
2 15
3
x
x
Z
4
1
x
12
2
x
2
0
,
2 1x
x
dengan pembatas-pembatas: Maksimisasi18
2
3
x
1
x
2
TI3131 Penelitian Operasional II 69
• Tahap:
n = aktivitas (n = 1, 2)
• Status:
Jumlah ketersediaan masing-masing sumber
pada tahap n (P
n, Q
n, R
n) yang dapat
dialokasikan untuk tahap (aktivitas) n, n + 1,…
• Variabel keputusan
x
n= jumlah dari aktivitas n
Tahap n = 2
2 2 * 2 2 2,
min
Q Rx
2 2 2 2
2 2 2P
,
Q
,
R
;
x
c
x
f
2 2 2 2 2 2 * 2,
,
max
5
2 2 2 2x
R
Q
P
f
R x Q x
TI3131 Penelitian Operasional II 71 Tahap n = 1
P
2,
Q
2,
R
2
P
1
a
p1x
1,
Q
1
a
q1x
1,
R
1
a
r1x
1
4
x
1,
12
,
18
3
x
1
2
3 18 2 12 2 2 2 2 2 * 2 1 2 2,
min
5
,
min
5
,
,
Q
R
Q R xP
f
2 2 2
* 2 1 1 1 1 1 1 1P
,
Q
,
R
;
x
c
x
f
P
,
Q
,
R
f
2
3 18 2 12 1 1 1 1 1 1 1,
min
5
3
;
,
R
x
x
xQ
P
f
4
2
,
9
5
2
0
,
6
5
3
1 1 2 3 1 1x
x
x
x
4
2
,
45
2
0
,
30
3
1 1 2 15 1 1x
x
x
x
TI3131 Penelitian Operasional II 73
45
,
2
4
2
0
,
30
3
max
,
,
1 1 2 15 1 1 4 0 1 1 1 * 1 1x
x
x
x
R
Q
P
f
x
45
,
2
4
2
0
,
30
3
max
1 1 2 9 1 1 4 0 1x
x
x
x
x
,
,
36
2
1 1 1 * 1 * 1
Q
R
P
f
x
2
* 1
x
12
)
2
(
3
18
12
2
2
4
2 2 2
R
Q
P
,
6
min
122 2 12 * 2
x
TI3131 Penelitian Operasional II 75
Pemrograman Dinamis Probabilistik
• Dalam pemrograman dinamis probabilistik
(probabilistic dynamic programming), status
pada tahap berikutnya ditentukan oleh:
– Status dan keputusan saat ini – Probabilitas dari status berikutnya
Struktur Dasar
Pemrograman Dinamis Probabilistik
Sn xn 1 2 . . . p1 p2 pS
n n
n S x f , Status: Keputusan Tahap n Tahap n + 1 C1 C2 CS
1 * 1 n f
2 * 1 n f ProbabilitasTI3131 Penelitian Operasional II 77
• Hubungan antara f
n(S
n, x
n) dengan f*
n+1(S
n+1)
bergantung pada bentuk dari fungsi tujuan
secara keseluruhan.
• Contoh: tujuan adalah meminimumkan jumlah
ekspektasi kontribusi dari tahap individual
• f
n(S
n, x
n) menunjukkan jumlah ekspektasi
minimum dari tahap n ke depan, dengan
diberikan status dan keputusan pada tahap n
masing-masing S
ndan x
n.
,
, , ,1 1 * 1 i n N f C p d S f S i n i i n n n
1
1
* 1 min , 1 n n x n i f i x f n dengan• Akibatnya,
TI3131 Penelitian Operasional II 79
Beberapa Contoh Masalah Pemrograman
Dinamis Deterministik
• Reject allowance
• Permainan
Reject Allowances
• Perusahaan menerima order untuk membuat
satu item dari suatu jenis produk tertentu.
• Karena pemesan menetapkan standar kualitas
yang ketat, perusahaan harus memproduksi
lebih dari item agar produk dapat diterima.
• Jumlah tambahan item yang diproduksi disebut
TI3131 Penelitian Operasional II 81
• Perusahaan mengestimasi bahwa tiap item yang
diproduksi dapat diterima dengan probabilitas sebesar
1/
2dan cacat (tanpa dapat dirework) dengan
probabilitas sebesar 1/ 2.
• Jumlah item yang diproduksi yang dapat diterima dari suatu ukuran lot L mempunyai distribusi binomial
.
• Probabilitas memproduksi item yang tak
diterima dari suatu lot adalah (½)
L• Biaya produksi satuan = $100 per item. • Kelebihan item = tak bernilai.
• Biaya set-up = $300 per production run.
• Production run berikutnya dilakukan apabila belum dapat diperoleh item yang diterima
• Perusahaan mempunyai kesempatan untuk membuat
item hingga tiga kali production run.
• Jika pada akhir production run belum diperoleh item yang dapat diterima maka perusahaan akan
kehilangan pendapatan dan dikenakan biaya penalti sebesar $1600.
TI3131 Penelitian Operasional II 83
• Permasalahan: Menentukan kebijakan optimal
terhadap ukuran lot (1 + reject allowance)
untuk production run yang diperlukan yang
meminimasi ekspektasi biaya total bagi
perusahaan.
Perumusan Pemrograman Dinamis
• Tahap
n = production run (n = 1, 2, 3)
• Status
S
n= jumlah item yang acceptable yang masih
dibutuhkan (1 atau 0) jika mulai dari tahap n
• Variabel keputusan
TI3131 Penelitian Operasional II 85
Pada tahap 1
• Status S
1= 1
• Jika paling sedikit satu item yang dapat
diterima diperoleh berikutnya, status berubah
ke S
n= 0, dimana tidak ada tambahan biaya
yang diperlukan.
fn(Sn, xn) = ekspektasi biaya total untuk tahap
n, …, 3 jika sistem mulai dalam
status Snpada tahap n keputusan
xn dengan f*n(0) = 0
n
n n
x n nS
f
S
x
f
n,
min
, 1 , 0 *
TI3131 Penelitian Operasional II 87
Kontribusi biaya dari tahap n (tanpa memandang status berikutnya)
= K(xn) + 100xn
dimana K(xn) adalah fungsi dari xn
K(xn) = 0 jika xn = 0 = 300 jika xn > 0
1,
100
*
1
1
21
*1
0 1 2 1 * x n n x n n n n x K x x f f f n n Untuk Sn = 1,f4*(1) = 1600, biaya akhir jika tidak ada item yang dapat
diterima yang diperoleh setelah tahap ke-3.
100
21 *1
1 x n n n x f x K nTI3131 Penelitian Operasional II 89
1
min
1
21 *1
1
, 1 , 0 *
x n n x nK
x
f
f
n n Hubungan rekursif untuk n = 1, 2, 3 Tahap n = 3 x3 S3 f3* x3* 0 1 2 3 4 5 0 0 0 0 1 1600 1200 900 800 800 850 800 3 atau 4
3 2 1 3 3 3 3 3 , 100 1600 x x x K x S f TI3131 Penelitian Operasional II 91 Tahap n = 2 x2 S2 f2*(x2) x2* 0 1 2 3 4 0 0 0 0 1 800 800 700 700 750 700 2 atau 3
,
100
21 3*
1 2 2 2 2 2 2 f x x K x S f x Tahap n = 1 x1 S1 f1*(x1) x1* 0 1 2 3 4 1 700 750 675 687.5 743.75 675 2 , 100
2 2* 1 1 1 1 1 1 1 1 f x x K x S f xTI3131 Penelitian Operasional II 93
Production run Kebijakan optimal (optimal policy)
1 Memproduksi 2 item
2 Jika tidak ada item yang acceptable maka produksi sebanyak 2 atau 3 item
3 Jika ada tidak ada item yang acceptable maka produksi 3 atau 4 item
Ekspektasi biaya dari kebijakan = $675
Permainan
• Diberikan suatu permainan mirip Russian Roulette yang memutar sebuah lingkaran yang diberi n angka berurutan, yaitu antara 1 hingga n.
• Probabilitas bahwa lingkaran akan berhenti pada suatu angka j setelah satu putaran adalah pi.
• Seorang membayar $x untuk permainan sebanyak m putaran.
• Payoff kepada pemain adalah dua kali angka yang dihasilkan dalam putaran terakhir.
TI3131 Penelitian Operasional II 95
• Tahap n dinyatakan sebagai putaran (n = 1, ..,
m)
• Status j dari sistem pada tahap i dinyatakan
sebagai salah satu angka dari 1 hingga n yang
diperoleh pada putaran terakhir.
• Alternatif keputusan pada tiap tahap mencakup
baik pemutaran sekali lagi atau menghentikan
permainan.
Misal
fi(j) = Ekspektasi return untuk permainan pada tahap (putaran) i dengan hasil putaran terakhir adalah j
= 2j, jika permainan berakhir
jika permainan berlanjut
) ( 1 1 k f p n k i k
TI3131 Penelitian Operasional II 97 Hubungan rekursif :
j
j
f
m1
2
n k kf
k
p
f
1 2 10
m i k f p j j f n k k i k i , 1, , berlanjut permainan jika berhenti permainan jika 2 max 1
• Pada saat putaran pertama (i = 1), status sistem adalah
j = 0 (permainan dimulai)
• Maka f1(0) = p1f2(1) + p2f2(2) + ... + pnf2(n) • Pada putaran terakhir (i = m), permainan harus
berhenti tanpa memandang bagaimana hasil j pada putaran ke-m. Sehingga,
fm+1(j) = 2j
• f1(0) diperoleh dari perhitungan rekursif, yang merupakan ekspektasi return dari m putaran. • Net return adalah f1(0) - x
TI3131 Penelitian Operasional II 99 1 2 3 m-1 m Berhenti Berhenti Berhenti Putar Putar Putar Berhenti Putar m+1
• Contoh numerik
– Lingkaran diberi angka berurutan mulai dari 1 hingga 5.
– Probabilitas bahwa lingkaran akan berhenti pada nomor j adalah sebagai berikut:
p1= 0,3; p2= 0,25; p3= 0,20; p4 = 0,15; p5= 0,10 – Pemain membayar $5 untuk permainan sebanyak 4
putaran.
– Tentukan strategi optimal dari empat putaran untuk memaksimumkan net return.
TI3131 Penelitian Operasional II 101 Tahap n = 5 d5 S5 Berhenti f5*(S5) d5* 1 2 2 Berhenti 2 4 4 Berhenti 3 6 6 Berhenti 4 8 8 Berhenti 5 10 10 Berhenti f5*(S5) = 2j f5(S5, d5) Tahap n = 4 d4 j Berhenti Putar f4*(S4) d3* 1 2 5 5 Putar 2 4 5 5 Putar 3 6 5 6 Berhenti 4 8 5 8 Berhenti 5 10 5 10 Berhenti f4*(S4) = max{2j, p1f5(1) + p2f5(2) + p3f5(3) + p4f5(4 + p5f5(5)} = max{2j, 5} f4(S4, d4)
TI3131 Penelitian Operasional II 103 d3 S3 Berhenti Putar f3*(S3) d3* 1 2 6,15 6.15 Putar 2 4 6,15 6.15 Putar 3 6 6,15 6.15 Putar 4 8 6,15 8.00 Berhenti 5 10 6,15 10.00 Berhenti Tahap n = 3 f3(S3, d3) Tahap n = 2 d2 S2 f2*(S2) x2* Berhenti Putar 1 2 6,8125 6,8125 Putar 2 4 6,8125 6,8125 Putar 3 6 6,8125 6,8125 Putar 4 8 6,8125 8,0000 Berhenti 5 10 6,8125 10,0000 Berhenti f2(S2, d2)
TI3131 Penelitian Operasional II 105 Tahap n = 1 d1 S1 f1*(S1) d1* Putar 0 7,31 7,31 Putar f1(S1, d1)
Putaran Strategi optimal
1 Permainan mulai, putar
2 Lanjutkan jika putaran 1 menghasilkan 1, 2 atau 3; jika tidak berhenti
3 Lanjutkan jika putaran 2 menghasilkan 1, 2 atau 3; jika tidak berhenti.
4 Lanjutkan jika putaran 3 menghasilkan 1 atau 2; jika tidak berhenti