Multi-Stage (Dynamic) Programming

of 41 /41
Multi-Stage (Dynamic) Programming

description

Multi-Stage (Dynamic) Programming. Dynamic Programming. Biasanya masalah RO diselesaikan secara tunggal dan sekaligus ( sekali pukul) - PowerPoint PPT Presentation

Transcript of Multi-Stage (Dynamic) Programming

Page 1: Multi-Stage (Dynamic) Programming

Multi-Stage (Dynamic) Programming

Page 2: Multi-Stage (Dynamic) Programming

Dynamic Programming

• Biasanya masalah RO diselesaikan secara tunggal dan sekaligus ( sekali pukul)

• DP intinya memecah (mendekomposisi) problem menjadi subproblem yang lebih kecil dan kemudian menggabungkan (mengkomposisi) kembali subproblem2 tsb untuk mendapatkan jawaban yang diinginkan

Page 3: Multi-Stage (Dynamic) Programming

Ciri-ciri Dynamic Programming

1. Keputusan suatu masalah ditandai optimisasi pada tahap berikutnya.

2. Masalah yang akan diselesaikan harus dipisah menjadi n subproblem.

3. DP berhubungan dengan problem2 dimana pilihan dibuat pada masing2 stage (tahap2). Seluruh kemungkinan dicerminkan oleh state (keadaan2)

Page 4: Multi-Stage (Dynamic) Programming

Ciri-ciri Dynamic Programming

4. Setiap keputusan pada tahap-tahap mempunyai fungsi return yang akan mengevaluasi pilihan yang dibuat thd tujuan keseluruhannya (max/min).

5. Tahap proses keputusan dihubungkan dengan tahap yang berdekatan melalui fungsi transisi.

6. Ada hubungan rekursif yang menghubungkan optimasi thp n dg thp (n-1) atau menghubung- kan optimasi thp n dengan thp (n+1).

Page 5: Multi-Stage (Dynamic) Programming

Ciri-ciri Dynamic Programming

• Hubungan itu ada dua, yaitu :– Forward recursive equation– Backward recursive equation

Page 6: Multi-Stage (Dynamic) Programming

Forward recursive equation

f0(X0) = 0

fj*(Xj) = opt { Rj(kj) @ f*j-1(Xj@kj) }

J = 1,2,3, … n

Page 7: Multi-Stage (Dynamic) Programming

Forward recursive equation

f0(X0) = 0

f1*(X1) = opt { R1(k1) @ f*0(X1@k1) }

f2*(X2) = opt { R2(k2) @ f*1(X2@k2) }

f3*(X3) = opt { R3(k3) @ f*2(X3@k3) }

dst… sampai dg nJ = 1,2,3, … n

Page 8: Multi-Stage (Dynamic) Programming

Backward recursive equation

fn+1(Yn+1) = 0

fj*(Yj) = opt { Rj(kj) @ f*j+1(Yj@kj) }

J = 1,2,3, … n

Page 9: Multi-Stage (Dynamic) Programming

Backward recursive equation

fn+1(Yn+1) = 0

fn*(Yn) = opt { Rn (kn) @ f*n+1(Yn@kn) }

fn-1*(Yn-1) = opt { Rn-1(kn-1) @ f*n(Yn-1@kn-1) }

fn-2*(Yn-2) = opt { Rn-2(kn-2) @ f*n-1(Yn-2@kn-2) }dst.. sampai dg n =1

J = 1,2,3, … n

Page 10: Multi-Stage (Dynamic) Programming

Arti simbol :

• f*(X) atau f*(Y) fungsi return optimum

• X atau Y state (keadaan)

• X@k atau Y@k fungsi transisi

• j stage (tahap) ke j

• K variabel keputusan

• @ simbol matematika (+,-,x, : ,akar dll)

Page 11: Multi-Stage (Dynamic) Programming

Model Dynamic Programming

• Masalah Penentuan Route

• Masalah Alokasi

• Masalah Muatan (knapsack)

• Masalah Capital Budgeting

Page 12: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

• Suatu sistem jalan menghubungkan 3 sumber yang akan membawa sampah ke dua tempat pembuangan limbah. Tiap-tiap garis lurus membutuhkan 1 hari untuk menempuh jarak dari 1 node ke 1 node berikutnya. Sehingga diperlukan 4 hari perjalanan dari H ke D.

Page 13: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

• Pada tiap node terdapat pemeriksaan dan penempatan ulang dari limbah tersebut yang menyebabkan keterlambatan. Lamanya waktu keterlambatan yang dapat diantisipasi ditunjukkan dalam bilangan yang berada dalam node tersebut. Tujuannya menentukan suatu route sehingga keterlambatan pengangkutan tersebut minimum ??

Page 14: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

Page 15: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

• Diselesaikan dengan cara Backward (mundur) sebagai berikut !!

Page 16: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

Page 17: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

Page 18: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

Page 19: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

Page 20: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

12

11

9

12

Page 21: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

12

11

9

12

Page 22: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

12

11

9

12

Page 23: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

12

11

9

12

Page 24: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

12

11

9

12

Page 25: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

12

11

9

12

Page 26: Multi-Stage (Dynamic) Programming

Masalah Penentuan Route

H1

H2

H3

4

3

3

6

5

7

4

4

3

2

D1

D2

Tahap 1

Tahap 2Tahap 3

4

3

2

8

9

6

12

11

9

12

Minimum keterlambatan 9 hari

Page 27: Multi-Stage (Dynamic) Programming

Masalah Alokasi

• Keuntungan pd empat macam kegiatan merupakan fungsi dari jam kerja yang dialokasikan pd masing2 kegiatan dituangkan dalam tabel berikut ini . Jika setiap hari tersedia 4 jam kerja, bagaimana alokasi waktu sehingga keuntungan perharinya maksimum ???

Page 28: Multi-Stage (Dynamic) Programming

Masalah Alokasi

Jam Kerja

K E G I A T A N

1 2 3 4

0 0 0 0 0

1 1 2 3 2

2 3 5 7 5

3 6 8 10 8

4 9 11 12 10

Page 29: Multi-Stage (Dynamic) Programming

Masalah Alokasi

• Kegiatan Tahap ( stage )

• Xj adalah banyaknya jam kerja yang dialokasikan pada tahap j.

• Pj(Xj) adalah keuntungan dari alokasi X jam kerja pd kegiatan j.

• Maks : Z = P1(X1) + P2(X2) + P3(X3) + P4(X4)

• Kendala : X1 + X2 + X3 + X4 = 4 dan

X1 , X2, X3 , X4 ≥ 0

Page 30: Multi-Stage (Dynamic) Programming

Masalah Alokasi• State ( keadaan) nya disimbolkan dengan

Yj , dimana :• Y1 = juml jam kerja yang disediakan pada tahap

1,2,3,4• Y2 = juml jam kerja yang disediakan pada tahap

2,3,4• Y3 = juml jam kerja yang disediakan pada tahap

3,4• Y4 = juml jam kerja yang disediakan pada tahap

4

Page 31: Multi-Stage (Dynamic) Programming

Masalah Alokasi• Sedangkan fungsi keuntungan tiap stage

(tahap) adalah :• f*4(Y4)= keuntungan optimum pada tahap 4 dgn

Y4 tertentu • f*3(Y3)= keuntungan optimum pada tahap 3,4

dgn Y3 tertentu • f*2(Y2)= keuntungan optimum pada tahap 2,3,4

dgn Y2 tertentu• f*1(Y1)= keuntungan optimum pada tahap 1,2,3,4

dgn Y1 tertentu

Page 32: Multi-Stage (Dynamic) Programming

Tahap 4 : f*4(Y4) =maks {P4(X4)} dgn f5(Y5) = 0

Y4

P4(X4)f4*(Y4) X*4

X4=0 X4=1 X4=2 X4=3 X4=4

0 0 - - - - 0 0

1 - 2 - - - 2 1

2 - - 5 - - 5 2

3 - - - 8 - 8 3

4 - - - - 10 10 4

Page 33: Multi-Stage (Dynamic) Programming

Tahap 3 : f*3(Y3) =maks {P3(X3) + f*4(Y4) }

Y3

P3(X3) + f*4(Y4)f3*(Y3) X*3

X3=0 X3=1 X3=2 X3=3 X3=4

0 0+0=0 - - - - 0 0

1 0+2=2 3+0=3 - - - 3 1

2 0+5=5 3+2=5 7+0=7 - - 7 2

3 0+8=8 3+5=8 7+2=9 10+0=10 - 10 3

4 0+10=10 3+8=11 7+5=12 10+2=12 12+0=12 12 2,3,4

Page 34: Multi-Stage (Dynamic) Programming

Tahap 2 : f*2(Y2) = maks {P2(X2) + f*3(Y3) }

Y2

P2(X2) + f*3(Y3)f2*(Y2) X*2

X2=0 X2=1 X2=2 X2=3 X2=4

0 0+0=0 - - - - 0 0

1 0+3=3 2+0=2 - - - 3 0

2 0+7=7 2+3=5 5+0=5 - - 7 0

3 0+10=10 2+7=9 5+3=8 8+0=8 - 10 0

4 0+12=12 2+10=12 5+7=12 8+3=11 11+0=11 12 0,1,2

Page 35: Multi-Stage (Dynamic) Programming

Tahap 1 : f*1(Y1) = maks {P1(X1) + f*2(Y2) }

Y1

P1(X1) + f*2(Y2)f1*(Y1) X*1

X1=0 X1=1 X1=2 X1=3 X1=4

0 0+0=0 - - - - 0 0

1 0+3=3 1+0=1 - - - 3 0

2 0+7=7 1+3=4 3+0=3 - - 7 0

3 0+10=10 1+7=8 3+3=6 6+0=6 - 10 0

4 0+12=12 1+10=11 3+7=10 6+3=9 9+0=9 12 0

Page 36: Multi-Stage (Dynamic) Programming

Jadi keuntungan maks adalah 12, dengan beberapa alokasi alternatif sbb :

Alternatif

(i)

Tahap 1 Tahap 1 Tahap 1 Tahap 1(Kegiatan-1) (Kegiatan-2) (Kegiatan-3) (Kegiatan-4)

1 0 0 4 0

2 0 0 3 1

3 0 0 2 2

4 0 2 2 0

5 0 1 3 0

Page 37: Multi-Stage (Dynamic) Programming

Masalah Muatan (Knapsack)

• Sebuah perusahaan angkutan sedang mempertimbangkan mengangkut 3 jenis barang. Berat masing-masing barang dan biaya angkutannya seperti pada tabel di bawah . Armada tersebut memiliki kapasitas maks. W = 5 ton. Barang apa saja yang harus diangkut dan berapa banyaknya agar penerimaan maksimum ??

Page 38: Multi-Stage (Dynamic) Programming

Masalah Muatan (Knapsack)

Barang (i) Berat / item (dlm ton)

Biaya / item(vi) dlm

juta Rp

1 2 65

2 3 80

3 1 30

Page 39: Multi-Stage (Dynamic) Programming

Masalah Capital Budgeting

• Sebuah perusahaan memiliki beberapa usulan proyek dari ketiga pabriknya guna kemungkinan pengembangan. Masing-masing pabrik memasukkan proposalnya beserta biaya(Cost) dan penerimaan (Revenue) nya seperti tabel di bawah. Proposal dengan biaya nol berarti tidak ada dana yang dialokasikan pada suatu pabrik. Tujuan perusahaan adalah memaksimumkan seluruh penerimaan, dari alokasi dana yang dimiliki sebesar 5 milyar ???

Page 40: Multi-Stage (Dynamic) Programming

Masalah Capital Budgeting

Proposal

kePabrik 1 Pabrik 2 Pabrik 3

Cost (C1)

Revenue (R1)

Cost (C2)

Revenue (R2)

Cost (C3)

Reveneu (R3)

1 0 0 0 0 0 0

2 1 5 2 8 1 3

3 2 6 3 9 - -

4 - - 4 12 - -

Page 41: Multi-Stage (Dynamic) Programming

Masalah Capital Budgeting

• DIKERJAKAN UNTUK PR_ 9