Pemrograman Dinamis Dynamic Programming · • Tentukan solusi optimal dengan backtracking. TI3131...
-
Upload
phungtuong -
Category
Documents
-
view
355 -
download
13
Transcript of Pemrograman Dinamis Dynamic Programming · • Tentukan solusi optimal dengan backtracking. TI3131...
10/8/2009
1
TI3131 Penelitian Operasional II 1
Pemrograman Dinamis
(Dynamic Programming)
Kuliah 04-05
TI3131 Penelitian Operasional II 2
Materi
• Pengantar
• Masalah pemrograman dinamis deterministik
• Masalah pemrograman dinamis probabilistik
10/8/2009
2
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.
TI3131 Penelitian Operasional II 4
Klasifikasi Pemrograman Dinamis
Status diskret Status kontinyu
Tunggal Majemuk Tunggal Majemuk
Deterministik
Probabilistik
10/8/2009
3
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.
TI3131 Penelitian Operasional II 6
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).
10/8/2009
4
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
TI3131 Penelitian Operasional II 8
Pengambilan Keputusan (1)
• Tahap (Stage)
– Titik dimana suatu keputusan dibuat
• Status (State)
– Parameter masukan
• Transformasi (Transformation)
– Aturan yang mengarahkan keputusan
10/8/2009
5
TI3131 Penelitian Operasional II 9
Pengambilan Keputusan (2)
Tahap
Keputusan
Transformasi
KeluaranMasukan
TI3131 Penelitian Operasional II 10
Suatu Tahap Tunggal
nnnn xSrg ,
nx
nS nnS
~
nS = status input (input state)
nS~
= status ouput (output state)
nx = keputusan (decision)
ng = fungsi pengembalian
(return function)
10/8/2009
6
TI3131 Penelitian Operasional II 11
Sistem Banyak-Tahap
(Multi-Stage System)
//
ng
nx
nSn
nS~
//
1g
1S1
1
~S
1x
Ng
Nx
NSN
NS~
1
~ ii SS 1,,2,1 Ni
TI3131 Penelitian Operasional II 12
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.
10/8/2009
7
TI3131 Penelitian Operasional II 13
Rekursi Maju
//
ng
nx
nSn
nS~
//
1g
1S1
1
~S
1x
Ng
Nx
NSN
NS~
Proses perhitungan mulai dari tahap n = 1
hingga tahap n = N
TI3131 Penelitian Operasional II 14
Rekursi Mundur
//
ng
nx
nSn
nS~
//
1g
1S1
1
~S
1x
Ng
Nx
NSN
NS~
Proses perhitungan mulai dari tahap n = N
hingga tahap n = 1
10/8/2009
8
TI3131 Penelitian Operasional II 15
Fungsi Transisi
(Transition Function)
nnn xSS 1
Rekursi maju :
nnn xSS 1
Rekursi mundur :
TI3131 Penelitian Operasional II 16
Beberapa Contoh Fungsi Transisi
Fungsi Transisi
Maju Mundur
+
-
×
nnn xSS 1
nnn xSS 1
nnn xSS 1
nnn xSS 1
nnn xSS 1
nnn xSS 1
nnn xSS 1
nnn xSS 1
10/8/2009
9
TI3131 Penelitian Operasional II 17
Hubungan Rekursif Maju
NnSfxSrSf nnnnnx
nn
n
,,1 ,,opt 1
*
1
*
nnn xSS 1
00
*
0 Sf
NnSfxSrxSf nnnnnnnn ,,1 ,,, 1
*
1
NnxSfSf nnnn ,,1 ,, **
TI3131 Penelitian Operasional II 18
Hubungan Rekursif Mundur
1,, ,,opt 1
*
1
* NnSfxSrSf nnnnnx
nn
n
1,, ,1 NnxSS nnn
01
*
1 NN Sf
1,, ,,, 1
*
1 NnSfxSrxSf nnnnnnnn
1,, ,, ** NnxSfSf nnnn
10/8/2009
10
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.
TI3131 Penelitian Operasional II 20
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
10/8/2009
11
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
TI3131 Penelitian Operasional II 22
A
B
D
E
C
G
F
H
I
J
1 2 3 4
Tahap
n = region (n = 1, 2, 3, 4)
10/8/2009
12
TI3131 Penelitian Operasional II 23
Status:
Sn = simpul saat ini pada tahap n
Variabel keputusan
xn = simpul tujuan berikutnya pada tahap n
Fungsi pengembalian
),( nn xSn cg
nnxS xScnn
simpul ke simpul darijarak ),(
TI3131 Penelitian Operasional II 24
Fungsi transisi (mundur):
Hubungan rekursif (mundur)
nn xS 1
1,,4 ,min 1
*
1),(
* nSfcSf nnxSx
nn nnn
05
*
5 Sf
1,,4 ,min *
1),(
* nxfcSf nnxSx
nn nnn
10/8/2009
13
TI3131 Penelitian Operasional II 25
Tahap n = 4
x4
S4
f4*(S4) x4*
J
H 3 3 J
I 4 4 J
44 ,444 , xScxSf
Perhitungan
05
*
5Sf
TI3131 Penelitian Operasional II 26
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,333 33, xfcxSf xS
10/8/2009
14
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,222 22, xfcxSf xS
TI3131 Penelitian Operasional II 28
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,111 11, xfcdSf xS
10/8/2009
15
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
TI3131 Penelitian Operasional II 30
Cargo Loading Problem
(Knapsack Problem)
Item i Berat wi Nilai, vi
1 2 65
2 3 80
3 1 30
Kapasitas karung = 5
10/8/2009
16
TI3131 Penelitian Operasional II 31
n
i
ii xvZ1
Wxwn
i
ii 1
bulatbilangan dan 0ix
maksimisasi
Integer Linear Programming (ILP) Model
TI3131 Penelitian Operasional II 32
Tahap
n = item (n = 1, 2, 3)
Status:
Sn = pada tahap n, kapasitas yang tersedia
Variabel keputusan
xn = untuk tiap jenis item n, jumlah yang dimuat
10/8/2009
17
TI3131 Penelitian Operasional II 33
Fungsi Pengembalian:
Fungsi Transisi:
Hubungan Rekursif:nnnn xwSS 1
1,2,3 ,max 1
*
1
* nSfxvSf nnnnd
nnn
04
*
4 Sf
1,2,3 ,max *
1
* nxwSfxvSf nnnnnnd
nnn
nnn xvg
TI3131 Penelitian Operasional II 34
Tahap n = 3
x3
S3
f3*(S3) x3*0 1 2 3 4 5
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
33333 , xvxSf
Perhitungan
04
*
4Sf
10/8/2009
18
TI3131 Penelitian Operasional II 35
Tahap n = 2
x2
S2
f2*(S2) x2*0 1
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
222
*
322222 , xwSfxvxSf
TI3131 Penelitian Operasional II 36
Tahap n = 1
x1
S1
f1*(S1) x1*0 1 2
0 0 - - 0 0
1 30 - - 30 0
2 60 65 - 65 1
3 90 95 - 95 1
4 120 125 130 130 2
5 150 155 160 160 2
111
*
211111 , xwSfxvxSf
10/8/2009
19
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)
nnnn xwSS 1
Backtracking
TI3131 Penelitian Operasional II 38
Masalah Persediaan
(Inventory Problem)
Bulan Okt Nov Des Jan Feb Mar
Permintaan 40 20 30 40 30 20
Permintaan:
Biaya pembelian = $4/unit
Ukuran lot yang dibeli dari pemasok: 10, 20, 30, 40 dan 50
10/8/2009
20
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)
TI3131 Penelitian Operasional II 40
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.
10/8/2009
21
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
TI3131 Penelitian Operasional II 42
Fungsi pengembalian:
(xn) = biaya pembelian dan pemesanan (fungsi dari xn)
hn = biaya simpan pada tahap n
Dn = permintaan pada tahap n
Fungsi transisi:
nnnn DxSS 1
nnnnnn DxShxg
10/8/2009
22
TI3131 Penelitian Operasional II 43
Hubungan rekursif:
6,,1 ,min 1
*
1
* nSfDxShxSf nnnnnnnx
nnn
6,,1 ,min *
1
* nDxSfDxShxSf nnnnnnnnnx
nnn
07
*
7 Sf
TI3131 Penelitian Operasional II 44
Ukuran lotHarga
($/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
10/8/2009
23
TI3131 Penelitian Operasional II 45
Tahap n = 6
x6
S6
f6*(S6) x6*0 10 20
0 - - 86 86 20
10 - 48 - 48 10
20 0 - - 0 0
6666 , xxSf
06667 DxSS
Perhitungan:
07
*
7Sf
TI3131 Penelitian Operasional II 46
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
555
*
655555555 , DxSfDxShxxSf
10/8/2009
24
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
444
*
544444444 , DxSfDxShxxSf
TI3131 Penelitian Operasional II 48
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
333
*
433333333 , DxSfDxShxxSf
10/8/2009
25
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
222
*
322222222 , DxSfDxShxxSf
TI3131 Penelitian Operasional II 50
Tahap n = 1
x1
S1
f1*(S1) x1*
0 10 20 30 40 50
0 - - - - 606 608 606 40
111
*
211121111 , DxSfDxShxxSf
10/8/2009
26
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)
nnnn DxSS 1
Backtracking
TI3131 Penelitian Operasional II 52
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.
10/8/2009
27
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
TI3131 Penelitian Operasional II 54
• Tahap
– Jenis komponen (n = 1, 2, 3)
• Status
– Untuk tiap tahap n, status Sn adalah banyaknya dana yang tersedia yang dapat dialokasikan pada tahap n
• Variabel keputusan
– Untuk tiap tahap (komponen) n, keputusan adalah xn adalah banyaknya unit paralel yang dipasang.
10/8/2009
28
TI3131 Penelitian Operasional II 55
• Fungsi pengembalian:
• Fungsi transisi:
• Hubungan rekursif:
nnn xrg
nnnn xcSS 1
1,2,3 ,max 1
*
1
* nSfxrSf nnnnx
nnn
14
*
4 Sf
1,2,3 ,max *
1
* nxcSfxrSf nnnnnnx
nnn
TI3131 Penelitian Operasional II 56
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
33333 , xrxSf
Perhitungan
14
*
4Sf
10/8/2009
29
TI3131 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
222
*
322222 , xcSfxrxSf
TI3131 Penelitian Operasional II 58
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
111
*
211111 , xcSfxrxSf
10/8/2009
30
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)
nnnn xcSS 1
TI3131 Penelitian Operasional II 60
Nonlinear Programming Problem (1)
32
2
1 32 xxxZ
iii xSS 31
ii Sx 0
maksimisasi
dengan pembatas-pembatas:
10/8/2009
31
TI3131 Penelitian Operasional II 61
Nonlinear Programming Problem (2)
Tahap n = 3
3333 3, xxSf
30
*
3 3max33
xSfSx
3
*
3 Sx 33
*
3 3SSf
TI3131 Penelitian Operasional II 62
Nonlinear Programming Problem (3)
Tahap n = 2
3
*
32222 2, SfxxSf
22
*
320
*
3 32max22
xSfxSfSx
0*
2x
22
*
32 32 xSfx
2220
392max22
xSxSx
220
9max22
xSSx
22
*
2 9SSf
10/8/2009
32
TI3131 Penelitian Operasional II 63
Nonlinear Programming Problem (4)
Tahap n = 1
2
*
2
2
1333 , SfxxSf
11
*
1
2
10
*
1 3max11
xSfxSfSx
11
*
2
2
1 3 xSfx
11
2
10
927max11
xSxSx
TI3131 Penelitian Operasional II 64
Nonlinear Programming Problem (5)
27S1
9/17
convex fungsi 279 11
2
1 Sxxf
10/8/2009
33
TI3131 Penelitian Operasional II 65
Nonlinear Programming Problem (6)
Kebijakan keputusan optimal:
0*
11 xS
3
*
11 SxS
3
*
11 atau 0 SxS
Titik diperoleh melalui:
9 27927 11
2
11 SS
TI3131 Penelitian Operasional II 66
Nonlinear Programming Problem (7)
9 ,18
9 ,27
11
2
1
11
1
*
1SSS
SSSf
Kebijakan keputusan optimal tersedia untuk
sebarang status masukan S1.
10/8/2009
34
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.
TI3131 Penelitian Operasional II 68
Pemrograman Linier
(Linear Programming)
21 53 xxZ
41 x
122 2 x
0, 21 xx
dengan pembatas-pembatas:
Maksimisasi
1823 21 xx
10/8/2009
35
TI3131 Penelitian Operasional II 69
• Tahap:
n = aktivitas (n = 1, 2)
• Status:
Jumlah ketersediaan masing-masing sumber
pada tahap n (Pn, Qn, Rn) yang dapat
dialokasikan untuk tahap (aktivitas) n, n + 1,…
• Variabel keputusan
xn = jumlah dari aktivitas n
TI3131 Penelitian Operasional II 70
Tahap n = 2
22
*
222 ,min
RQx
2222222 ;,, xcxRQPf
2
2
2222
*
2 5max,,
22
22
xRQPf
Rx
Qx
10/8/2009
36
TI3131 Penelitian Operasional II 71
Tahap n = 1
111111111222 ,,,, xaRxaQxaPRQP rqp
11 318,12,4 xx
2
318
212
22222
*
2122 ,min5,min5,,
xRQRQPf
222
*
21111111 ,,;,, RQPfxcxRQPf
TI3131 Penelitian Operasional II 72
2
318
212
1111111,min53;,
xxxRQPf
42 ,95
20 ,653
1123
1
1xx
xx
42 ,45
20 ,303
11215
1
1xx
xx
10/8/2009
37
TI3131 Penelitian Operasional II 73
42 ,45
20 ,303max,,
11215
1
140
111
*
11 xx
xxRQPf
x
42 ,45
20 ,303max
1129
11
40 1 xx
xx
x
36,,
2
111
*
1
*
1
QRPf
x
TI3131 Penelitian Operasional II 74
2*
1 x
12)2(318
12
224
2
2
2
R
Q
P
6,min2
122
12*
2 x
10/8/2009
38
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
TI3131 Penelitian Operasional II 76
Struktur Dasar
Pemrograman Dinamis Probabilistik
Sn xn
1
2
S
.
.
.
p1
p2
pS nnn xSf ,
Status:Keputusan
Tahap n Tahap n + 1
C1
C2
CS
1*
1nf
2*
1nf
Sfn
*
1
Probabilitas
10/8/2009
39
TI3131 Penelitian Operasional II 77
• Hubungan antara fn(Sn, xn) dengan f*n+1(Sn+1)
bergantung pada bentuk dari fungsi tujuan
secara keseluruhan.
• Contoh: tujuan adalah meminimumkan jumlah
ekspektasi kontribusi dari tahap individual
• fn(Sn, xn) menunjukkan jumlah ekspektasi
minimum dari tahap n ke depan, dengan
diberikan status dan keputusan pada tahap n
masing-masing Sn dan xn.
TI3131 Penelitian Operasional II 78
1,, ,,1
*
1 NnifCpdSfS
i
niinnn
11
*
1 ,min1
nnx
n xififn
dengan
• Akibatnya,
10/8/2009
40
TI3131 Penelitian Operasional II 79
Beberapa Contoh Masalah Pemrograman
Dinamis Deterministik
• Reject allowance
• Permainan
TI3131 Penelitian Operasional II 80
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
reject allowance.
10/8/2009
41
TI3131 Penelitian Operasional II 81
• Perusahaan mengestimasi bahwa tiap item yang
diproduksi dapat diterima dengan probabilitas sebesar 1/2 dan 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
TI3131 Penelitian Operasional II 82
• 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.
10/8/2009
42
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.
TI3131 Penelitian Operasional II 84
Perumusan Pemrograman Dinamis
• Tahap
n = production run (n = 1, 2, 3)
• Status
Sn = jumlah item yang acceptable yang masih
dibutuhkan (1 atau 0) jika mulai dari tahap n
• Variabel keputusan
xn = ukuran lot untuk tahap n
10/8/2009
43
TI3131 Penelitian Operasional II 85
Pada tahap 1
• Status S1 = 1
• Jika paling sedikit satu item yang dapat
diterima diperoleh berikutnya, status berubah
ke Sn = 0, dimana tidak ada tambahan biaya
yang diperlukan.
TI3131 Penelitian Operasional II 86
fn(Sn, xn) = ekspektasi biaya total untuk tahap
n, …, 3 jika sistem mulai dalam
status Sn pada tahap n keputusan
xn
dengan
f*n(0) = 0
nnnx
nn xSfSfn
,min,1,0
*
10/8/2009
44
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
TI3131 Penelitian Operasional II 88
011100,1 *
121*
121*
n
x
n
x
nnnn ffxxKxf nn
Untuk Sn = 1,
f4*(1) = 1600, biaya akhir jika tidak ada item yang dapat
diterima yang diperoleh setelah tahap ke-3.
1100 *
121
n
x
nn fxxK n
10/8/2009
45
TI3131 Penelitian Operasional II 89
11min1 *
121
,1,0
*
n
x
nx
n fxKf n
n
Hubungan rekursif
untuk n = 1, 2, 3
TI3131 Penelitian Operasional II 90
Tahap n = 3
x3
S3
f3* x3*
0 1 2 3 4 5
0 0 0 0
1 1600 1200 900 800 800 850 8003 atau
4
3
21
33333 1600100,x
xxKxSf
10/8/2009
46
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 7002 atau
3
1100, *
321
222222 fxxKxSf
x
TI3131 Penelitian Operasional II 92
Tahap n = 1
x1
S1
f1*(x1) x1*
0 1 2 3 4
1 700 750 675 687.5 743.75 675 2
1100, *
221
111111 fxxKxSf
x
10/8/2009
47
TI3131 Penelitian Operasional II 93
Production run Kebijakan optimal (optimal policy)
1 Memproduksi 2 item
2Jika tidak ada item yang acceptable maka produksi
sebanyak 2 atau 3 item
3Jika ada tidak ada item yang acceptable maka produksi
3 atau 4 item
Ekspektasi biaya dari kebijakan = $675
TI3131 Penelitian Operasional II 94
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.
• Tentukan strategi optimal bagi pemain.
10/8/2009
48
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.
TI3131 Penelitian Operasional II 96
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 kfpn
k
ik
10/8/2009
49
TI3131 Penelitian Operasional II 97
Hubungan rekursif :
jjfm 21
n
k
k kfpf1
21 0
mi
kfp
j
jfn
k
kik
i ,,1,
berlanjutpermainan jika
berhentipermainan jika2
max
1
TI3131 Penelitian Operasional II 98
• 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
10/8/2009
50
TI3131 Penelitian Operasional II 99
1 2
3
m-1
m
Berhenti
Berhenti
Berhenti
Putar
Putar
PutarBerhenti
Putar
m+1
TI3131 Penelitian Operasional II 100
• 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.
10/8/2009
51
TI3131 Penelitian Operasional II 101
Tahap n = 5
d5
S5
f5*(S5) d5*Berhenti
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)
TI3131 Penelitian Operasional II 102
Tahap n = 4
d4
jf4*(S4) d3*
Berhenti Putar
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)
10/8/2009
52
TI3131 Penelitian Operasional II 103
d3
S3
f3*(S3) d3*
Berhenti Putar
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)
TI3131 Penelitian Operasional II 104
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)
10/8/2009
53
TI3131 Penelitian Operasional II 105
Tahap n = 1
d1
S1
f1*(S1) d1*
Putar
0 7,31 7,31 Putar
f1(S1,d1)
TI3131 Penelitian Operasional II 106
Putaran Strategi optimal
1 Permainan mulai, putar
2Lanjutkan jika putaran 1 menghasilkan 1, 2 atau 3; jika tidak
berhenti
3Lanjutkan jika putaran 2 menghasilkan 1, 2 atau 3; jika tidak
berhenti.
4Lanjutkan jika putaran 3 menghasilkan 1 atau 2; jika tidak
berhenti
Ekspektasi pendapatan bersih = 7.31 – 5 = 2.31