Pertemuan ke 20 Program Dinamik

Program Dinamik
(Dynamic Programming)
Riset Operasi
TIP – FTP – UB

Program Dinamik :
Pendahuluan (1)






Program dinamik merupakan suatu
pendekatan solusi bukan suatu teknik


Tidak terbatas pada golongan masalah tertentu

Pendekatan solusi adalah merinci suatu
masalah menjadi masalah-masalah yang

lebih kecil  tahapan (stages)


Penyelesaian tahapan secara berurutan

Hasil dari suatu keputusan (solusi) pada
suatu tahap akan mempengaruhi keputusan
tahap berikutnya

Program Dinamik :
Pendahuluan (2)







Pemrograman dinamik 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 Program Dinamis
Status Diskret

Tunggal

Deterministik

Probabilistik

Majemuk


Status Kontinyu

Tunggal

Majemuk

Prosedur Pemecahan Masalah


Prosedur pemecahan







Rekursi maju (forward recursion)
Rekursi mundur (backward recursion)


Perbedaan prosedur


Cara mendefinisikan status dalam sistem.

Prosedur rekursi mundur secara umum lebih
efisien

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.

Permasalahan


Sebuah perusahaan membagi wilayah
pemasarannya menjadi tiga: utara, timur,
selatan. Perusahaan tersebut memilliki 3
tenaga penjual yang akan dialokasikan ke
tiga wilayah tersebut tanpa membatasi
jumlah tenaga penjual di setiap wilayah sdrs
hasil penjualan maksimum.


Contoh Program Dinamik (1)
Permasalahan
Alternatif Keputusan
Salesman/Daerah

Tingkat Pengembalian/Daerah
Utara

Timur

Selatan

0

0

0

2


1

7

9

6

2

12

15

10

3

20


18

16

Contoh Program Dinamik (2)
Model Matatematika Masalah
Maksimum R1+R2+R3
Ditujukan
D1+D2+D3 ≤ 3
Dimana
R1, R2, R3 = pengembalian dari tiap 3 daerah
D1, D2, D3 = keputusan penempatan
salesman ke tiap 3 daerah

Contoh Program Dinamik (3)
Tahap 1 : Alokasi ke Daerah Selatan
Keadaan 1 (S1):
Salesman Tersedia


Keputusan 1 (D1):
Alokasi Salesman

Pengembalian 1(R1):
Jumlah Penjualan

0

0

2

1

0

2

1


6

0

2

1

6

2

10

0

2

1


6

2

10

3

16

2

3

Contoh Program Dinamik (4)
Tahap 1 : Alokasi ke Daerah Selatan (Opt)
Keadaan 1 (S1):
Salesman Tersedia

Keputusan 1 (D1):
Alokasi Salesman

Pengembalian 1(R1):
Jumlah Penjualan

0

0

2

1

0

2

1

6

0

2

1

6

2

10

0

2

1

6

2

10

3

16

2

3

Contoh Program Dinamik (5)
Tahap 2 : Alokasi ke Daerah Timur
Keadaan 2
(S2):
Salesman
Tersedia

Keputusa 2
(D2):
Alokasi
Salesman

Pengembali
an 2 (R2):
Jumlah
Penjualan

Keadaan 1
(S1):
Salesman
Tersedia

0

0

0

0

2

2

1

0

0

1

6

6

1

9

0

2

11

0

0

2

10

10

1

9

1

6

15

2

15

0

2

17

0

0

3

16

16

1

9

2

10

19

2

15

1

6

21

3

18

0

2

20

2

3

Pengembali
Total
an 1(R1):
Pengembali
Jumlah
an (R1+R2)
Penjualan

Contoh Program Dinamik (6)
Tahap 2 : Alokasi ke Daerah Timur (Opt)
Keadaan 2
(S2):
Salesman
Tersedia

Keputusa 2
(D2):
Alokasi
Salesman

Pengembali
an 2 (R2):
Jumlah
Penjualan

Keadaan 1
(S1):
Salesman
Tersedia

0

0

0

0

2

2

1

0

0

1

6

6

1

9

0

2

11

0

0

2

10

10

1

9

1

6

15

2

15

0

2

17

0

0

3

16

16

1

9

2

10

19

2

15

1

6

21

3

18

0

2

20

2

3

Pengembali
Total
an 1(R1):
Pengembali
Jumlah
an (R1+R2)
Penjualan

Contoh Program Dinamik (7)
Tahap 3 : Alokasi ke Daerah Utara
Keadaan 3
(S3):
Salesman
Tersedia
3

Pengemba
Keputusa
lian 3
3 (D3):
(R3):
Alokasi
Jumlah
Salesman
Penjualan

Keadaan 2
(S2):
Salesman
Tersedia

Total
Pengemba
Pengemba
lian 2(R2):
lian
Jumlah
(R1+R2+R
Penjualan
3)

0

0

3

21

21

1

7

2

17

24

2

12

1

11

23

3

20

0

2

22

Contoh Program Dinamik (8)
Tahap 3 : Alokasi ke Daerah Utara (Opt)
Keadaan 3
(S3):
Salesman
Tersedia
3

Pengemba
Keputusa
lian 3
3 (D3):
(R3):
Alokasi
Jumlah
Salesman
Penjualan

Keadaan 2
(S2):
Salesman
Tersedia

Total
Pengemba
Pengemba
lian 2(R2):
lian
Jumlah
(R1+R2+R
Penjualan
3)

0

0

3

21

21

1

7

2

17

24

2

12

1

11

23

3

20

0

2

22

Contoh Program Dinamik (8)
Urutan Keputusan Optimal
Keadaan
(daerah)

Alokasi
Pengembalian
Salesman

1. Selatan

0

2

2. Timur

2

15

3. Utara

1

7

Total

3

24

Problem Knapsack


Permasalahan mengenai berapa jumlah tiap
jenis barang yang berbeda dapat dimasukkan
ke dalam sebuah ransel guna
memaksimumkan pengembalian dari barangbarang tersebut. Ransel punya kapasitas
tertentu (5 ruang)

Contoh Problem Knapsack (1)
Permasalahan
Alternatif Barang
yang Dibawa

X
Y
Z

Berat Laba
2
90
3
150
1
30

Contoh Problem Knapsack (2)
Model Matatematika Masalah
Maksimum R1D1+R2D2+R3D3
Ditujukan
W1D1+W2D2+W3D3 ≤ 5
Dimana
R1, R2, R3 = pengembalian dari tiap barang
D1, D2, D3 = keputusan jumlah barang yang
dibawa
W1, W2, W3 = berat barang yang dibawa

Contoh Problem Knapsack (3)
Tahap 1 : Keputusan X
Keadaan 1 (S1):
Ruang Tersedia

Keputusan 1
(D1): Jumlah
Barang

Kebutuhan
Ruang

Pengembalian
1(R1)

5

2

4

180

4

2

4

180

3

1

2

90

2

1

2

90

1

0

0

0

0

0

0

0

Contoh Problem Knapsack (4)
Tahap 1 : Keputusan X (Opt)
Keadaan 1 (S1):
Ruang Tersedia

Keputusan 1
(D1): Jumlah
Barang

Kebutuhan
Ruang

Pengembalian
1(R1)

5

2

4

180

4

2

4

180

3

1

2

90

2

1

2

90

1

0

0

0

0

0

0

0

Contoh Problem Knapsack (5)
Tahap 2 : Keputusan Y
Keput
Kebutu Penge Keada
Keadaa usan
han
mbalia
an 1
n 2 (S2)
2
Ruang n 2(R2) (S1)
(D2)
5

Keputu
san 1
(D1)

Penge
mbalia
n1
(R1)

Penge
mbalia
n Total
(R)

1

3

150

2

1

90

240

0

0

0

5

2

180

180

1

3

150

1

0

0

150

0

0

0

4

2

180

180

1

3

150

0

0

0

150

0

0

0

3

1

90

90

2

0

0

0

2

1

90

90

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

4
3

Contoh Problem Knapsack (6)
Tahap 2 : Keputusan Y (Opt)
Keput
Kebutu Penge Keada
Keadaa usan
han
mbalia
an 1
n 2 (S2)
2
Ruang n 2(R2) (S1)
(D2)
5

Keputu
san 1
(D1)

Penge
mbalia
n1
(R1)

Penge
mbalia
n Total
(R)

1

3

150

2

1

90

240

0

0

0

5

2

180

180

1

3

150

1

0

0

150

0

0

0

4

2

180

180

1

3

150

0

0

0

150

0

0

0

3

1

90

90

2

0

0

0

2

1

90

90

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

4
3

Contoh Problem Knapsack (7)
Tahap 3 : Keputusan Z
Keput
Kebutu Penge Keada
Keadaa usan
han
mbalia
an 2
n 3 (S3)
3
Ruang n 3(R3) (S2)
(D3)
5

Keputu
san 2
(D2)

Penge
mbalia
n2
(R2)

Penge
mbalia
n Total
(R)

5

5

150

0

0

0

150

4

4

120

1

0

0

120

3

3

90

2

0

90

180

2

2

60

3

1

150

210

1

1

30

4

0

180

210

0

0

0

5

1

240

240

Contoh Problem Knapsack (8)
Tahap 3 : Keputusan Z
Keput
Kebutu Penge Keada
Keadaa usan
han
mbalia
an 2
n 3 (S3)
3
Ruang n 3(R3) (S2)
(D3)
5

Keputu
san 2
(D2)

Penge
mbalia
n2
(R2)

Penge
mbalia
n Total
(R)

5

5

150

0

0

0

150

4

4

120

1

0

0

120

3

3

90

2

0

90

180

2

2

60

3

1

150

210

1

1

30

4

0

180

210

0

0

0

5

1

240

240

Contoh Problem Knapsack (9)
Keputusan Optimal
Keadaan Jumlah Kebutuhan
(Barang) Barang
Ruang

Pengem
balian

X

1

2

90

Y

1

3

150

Z

0

0

0

5

240

Total

Problema Stagecoach


Suatu jaringan pengarahan perjalanan
dimana seorang pengarah jalan (abad 19)
ingin menentukan rute terpendek antara dua
kota (1 dan 7) berdasarakan rute alternatif
yang tersedia.

Problema Stagecoach (1)
Tahap 1
Keadaan 1 (S1): Keputusan 1
Lokasi Truk
(D1): Rute

5
6

57
67

Pengembalian 1
(R1): Waktu
Tempuh

8
14

Problema Stagecoach (1)
Tahap 1 (Opt)
Keadaan 1 (S1): Keputusan 1
Lokasi Truk
(D1): Rute

5
6

57
67

Pengembalian 1
(R1): Waktu
Tempuh

8
14

Problema Stagecoach (1)
Tahap 2
Keputus Penge
Pengem
Keadaa
Keadaa
an 2
mbalian
balian 1
n 1 (S1)
n 2 (S2)
(D2)
2 (R2)
(R1)
2
3
4

Pengem
balian
Total (R)

25

25

5

8

33

26

17

6

14

31

35

14

5

8

22

36

17

6

14

31

45

26

5

8

34

46

22

6

14

36

Problema Stagecoach (1)
Tahap 2 (Opt)
Keputus Penge
Pengem
Keadaa
Keadaa
an 2
mbalian
balian 1
n 1 (S1)
n 2 (S2)
(D2)
2 (R2)
(R1)
2
3
4

Pengem
balian
Total (R)

25

25

5

8

33

26

17

6

14

31

35

14

5

8

22

36

17

6

14

31

45

26

5

8

34

46

22

6

14

36

Problema Stagecoach (1)
Tahap 3
Pengem
Keputus Penge
Keadaa
Keadaa
an 3
mbalian
balian 2
n 3 (S3)
n 2 (S2)
(D3)
3 (R3)
(R2)
1

Pengem
balian
Total (R)

12

16

2

31

47

13

35

3

22

57

14

9

5

34

43

Problema Stagecoach (1)
Tahap 3 (Opt)
Pengem
Keputus Penge
Keadaa
Keadaa
an 3
mbalian
balian 2
n 3 (S3)
n 2 (S2)
(D3)
3 (R3)
(R2)
1

Pengem
balian
Total (R)

12

16

2

31

47

13

35

3

22

57

14

9

5

34

43

Problema Stagecoach (1)
Keputusan Optimal


Rute yang diambil 1  4  5  7 dengan
jarak tempuh 43.

Terima kasih