• Tidak ada hasil yang ditemukan

Pemrograman Dinamis (Dynamic Programming) Materi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemrograman Dinamis (Dynamic Programming) Materi"

Copied!
53
0
0

Teks penuh

(1)

TI3131 Penelitian Operasional II 1

Pemrograman Dinamis

(Dynamic Programming)

Kuliah 04-05

Materi

• Pengantar

• Masalah pemrograman dinamis deterministik

• Masalah pemrograman dinamis probabilistik

(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.

Klasifikasi Pemrograman Dinamis

Status diskret Status kontinyu Tunggal Majemuk Tunggal Majemuk Deterministik

(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.

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).

(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

Pengambilan Keputusan (1)

• Tahap (Stage)

– Titik dimana suatu keputusan dibuat

• Status (State)

– Parameter masukan

• Transformasi (Transformation)

(5)

TI3131 Penelitian Operasional II 9

Pengambilan Keputusan (2)

Tahap Keputusan Transformasi Keluaran Masukan

Suatu Tahap Tunggal

n n

n n

r

S

x

g

,

n

x

n S n S~n n

S

= status input (input state) n

S

~

= status ouput (output state) n

x

= keputusan (decision) n

g

= fungsi pengembalian (return function)

(6)

TI3131 Penelitian Operasional II 11

Sistem Banyak-Tahap

(Multi-Stage System)

//

n

g

n

x

n S n n S~

//

1

g

1 S 1 1 ~ S 1

x

N

g

N

x

N S N N S~ 1

~

i i

S

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.

(7)

TI3131 Penelitian Operasional II 13

Rekursi Maju

//

n

g

n

x

n S n n S~

//

1

g

1 S 1 1 ~ S 1

x

N

g

N

x

N S N N S~

Proses perhitungan mulai dari tahap n = 1 hingga tahap n = N

Rekursi Mundur

//

n

g

n

x

n S n n S~

//

g

1 S 1 1 ~ S 1

x

N

g

N

x

N S N N S~

Proses perhitungan mulai dari tahap n = N hingga tahap n = 1

(8)

TI3131 Penelitian Operasional II 15

Fungsi Transisi

(Transition Function)

n n n

S

x

S

1

Rekursi maju : n n n

S

x

S

1

Rekursi mundur :

Beberapa Contoh Fungsi Transisi

 Fungsi Transisi Maju Mundur + -× n n n

S

x

S

1

n n n

S

x

S

1

n n n

S

x

S

1

n n n

S

x

S

1

n n n

S

x

S

1

n n n

S

x

S

1

n n n

S

x

S

1

n n n

S

x

S

1

(9)

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 n

S

x

S

1

 

0

0

* 0

S

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

,

,

,

1

S

x

n

N

S

n

n

n

1

0

* 1 

N N

S

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

(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.

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

(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 A B D E C G F H I J 1 2 3 4 Tahap n = region (n = 1, 2, 3, 4)

(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 ) , (Sn xn n

c

g

n n x S S x c n

n, ) jarak darisimpul kesimpul

( 

Fungsi transisi (mundur):

Hubungan rekursif (mundur)

n n

x

S

1

 

min

( , ) *1

 

1

,

4

,

,

1

*

 

S

n

f

c

S

f

S x n n x n n n n n

 

5

0

* 5

S

f

 

min

( , ) *1

 

,

4

,

,

1

*

x

n

f

c

S

f

S x n n x n n n n n

(13)

TI3131 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 Sf 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 fS x

(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 , 2 2 2 S ,x c 2 2 f x fS xTahap 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 fS x

(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

Cargo Loading Problem

(Knapsack Problem)

Item i Berat wi Nilai, vi

1 2 65

2 3 80

3 1 30

(16)

TI3131 Penelitian Operasional II 31

n i i i

x

v

Z

1

W

x

w

n i i i

1

bulat

bilangan

dan

0

i

x

maksimisasi

Integer Linear Programming (ILP) Model

Tahap

n = item (n = 1, 2, 3)

Status:

S

n

= pada tahap n, kapasitas yang tersedia

Variabel keputusan

(17)

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

 

4

0

* 4

S

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 n

v

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 Sf

(18)

TI3131 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   

(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) 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

(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)

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.

(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

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

n

x

h

S

x

D

g

(22)

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 Sf

Ukuran 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

(23)

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 SxDS

Perhitungan:

 

7 0 * 7 Sf 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       

(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        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       

(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        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       

(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) 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.

(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

• 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

(28)

TI3131 Penelitian Operasional II 55

• Fungsi pengembalian:

• Fungsi transisi:

• Hubungan rekursif:

 

n n n r x g

 

n n n n

S

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 Sf

 

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 Sf

(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

 

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   

(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)

 

n n n n

S

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:

(31)

TI3131 Penelitian Operasional II 61

Nonlinear Programming Problem (2)

Tahap n = 3

3 3

 

3 3

S

,

x

3

x

f

 

 

3 0 * 3

max

3

3 3

x

S

f

S x  

3 * 3

S

x

f

3*

 

S

3

3S

3

Nonlinear 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

* 2

x

 

2 2

* 3 2 3 2xf Sx

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

(32)

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 f

(33)

TI3131 Penelitian Operasional II 65

Nonlinear Programming Problem (6)

Kebijakan keputusan optimal:

0 * 1 1 xS  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 * 1

S

S

S

S

S

S

f

Kebijakan keputusan optimal tersedia untuk sebarang status masukan S1.

(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.

Pemrograman Linier

(Linear Programming)

2 1

5

3

x

x

Z

4

1

x

12

2

x

2

0

,

2 1

x

x

dengan pembatas-pembatas: Maksimisasi

18

2

3

x

1

x

2

(35)

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 R

x

2 2 2 2

2 2 2

P

,

Q

,

R

;

x

c

x

f

 

2 2 2 2 2 2 * 2

,

,

max

5

2 2 2 2

x

R

Q

P

f

R x Q x  

(36)

TI3131 Penelitian Operasional II 71 Tahap n = 1

P

2

,

Q

2

,

R

2

 

P

1

a

p1

x

1

,

Q

1

a

q1

x

1

,

R

1

a

r1

x

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 x

P

f

2 2 2

* 2 1 1 1 1 1 1 1

P

,

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

x

Q

P

f

 

4

2

,

9

5

2

0

,

6

5

3

1 1 2 3 1 1

x

x

x

x

4

2

,

45

2

0

,

30

3

1 1 2 15 1 1

x

x

x

x

(37)

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 1

x

x

x

x

R

Q

P

f

x

 

45

,

2

4

2

0

,

30

3

max

1 1 2 9 1 1 4 0 1

x

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

(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

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 Probabilitas

(39)

TI3131 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

n

dan x

n

.

,

 

, , ,1 1 * 1 i n Nf 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,

(40)

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

(41)

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.

(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.

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

(43)

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 n

S

f

S

x

f

n

,

min

, 1 , 0 *  

(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

 

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 n

(45)

TI3131 Penelitian Operasional II 89

 

1

min

1

 

 

21 *1

 

1

, 1 , 0 *  

x n n x n

K

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   

(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 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    x

(47)

TI3131 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.

(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.

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

 

(49)

TI3131 Penelitian Operasional II 97 Hubungan rekursif :

 

j

j

f

m1

2

 

 

n k k

f

k

p

f

1 2 1

0

 

 

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

(50)

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.

(51)

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)

(52)

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)

(53)

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

Referensi

Dokumen terkait

Terdapat hal-hal yang dipertimbangkan dalam model matematis yang digunakan dalam perencanaan produksi dengan dynamic programming yaitu biaya reguler time per ton, jumlah

Penelitian ini bertujuan untuk mencari kombinasi urutan pengerjaan produk yang memiliki nilai makespan minimum dengan menggunakan metode Pour, Pemrograman Dinamis

Dynamic programming merupakan suatu pendekatan matematis yang dapat menyelesaikan persoalan optimisasi proses yang berkaitan dengan banyak tahap penyelesaian di mana masalah

Dynamic programming merupakan suatu pendekatan matematis yang dapat menyelesaikan persoalan optimisasi proses yang berkaitan dengan banyak tahap penyelesaian di mana masalah

Serta menggunakan bahasa pemrograman Java dalam membuat sistem input dinamis dari machine vision OpenCV , memproses iterasi simplex Goal Programming , dan

Penjelasan dari hasil yang dilakukan pemrosesan pemecahan setiap tahapan optimalitas yang dilakukan dengan menggunakan teknik dynamic programming menggunakan

Serta menggunakan bahasa pemrograman Java dalam membuat sistem input dinamis dari machine vision OpenCV , memproses iterasi simplex Goal Programming , dan

Metode pengumpulan data yang digunakan untuk membuat sistem pendukung keputusan menggunakan programa dinamis menggunakan multi item terdiri dari:.. Observasi, yaitu pengumpulan data