pemrograman dinamis pertemuan #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1)...

23
PEMROGRAMAN DINAMIS 6623 – TAUFIQUR RACHMAN PROGRAM STUDI TEKNIK INDUSTRI FAKULTAS TEKNIK UNIVERSITAS ESA UNGGUL TKT101 | PENGANTAR TEKNIK INDUSTRI PERTEMUAN #11

Upload: others

Post on 24-Aug-2020

13 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PEMROGRAMAN DINAMIS

6623 – TAUFIQUR RACHMAN

PROGRAM STUDI TEKNIK INDUSTRI

FAKULTAS TEKNIK UNIVERSITAS ESA UNGGUL

TKT101 |

PENGANTAR TEKNIK

INDUSTRI

PERTEMUAN #11

Page 2: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

KEMAMPUAN AKHIR YANG DIHARAPKAN

• Mampu membandingkan antara kondisi nyata dengan penerapan teori yang telah dipelajari.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 2

INDIKATOR PENILAIAN

• Ketepatan dalam memberikan perbandingan antara kondisi nyata dengan penerapan teori yang telah dipelajari terkait dengan pemrograman dinamis.

Page 3: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENDAHULUAN

• Permasalahan pemrograman dinamis secara umum memiliki proses keputusan yang bersifat multi tahapan (multi-stage).

D1 D2 DnI1 I2 In

R1 R2 Rn

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 3

Page 4: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

METODE PEMROGRAMAN DINAMIS

Pemrograman Dinamis (PD), atau Dynamic Programming

Adalah metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan

langkah (step) atau tahapan (stage), sehingga solusi dari persoalan dapat dipandang dari

serangkaian keputusan yang saling berkaitan.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 4

Page 5: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN PERSOALAN PD

Pada penyelesaian persoalan dengan metode program dinamis ini:

1) Terdapat sejumlah berhingga pilihan yang mungkin,

2) Solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya,

3) Menggunakan persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 5

Page 6: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PRINSIP OPTIMALITAS …(1/2)

• Pada PD, rangkaian keputusan yang optimal dibuat dengan menggunakan Prinsip Optimalitas.

• Prinsip Optimalitas: jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal.

• Prinsip optimalitas berarti bahwa jika kita bekerja dari tahap k ke tahap k+1, dapat menggunakan hasil optimal dari tahap k tanpa harus kembali ke tahap awal.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 6

Page 7: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PRINSIP OPTIMALITAS …(2/2)

• Ongkos pada tahap k+1 = (ongkos yang dihasilkan pada tahap k) + (ongkos dari tahap k ke tahap k+1).

• Dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya.

• Pada metode PD terdapat lebih dari satu rangkaian keputusan. Hanya rangkaian keputusan yang memenuhi prinsip optimalitas yang akan dihasilkan.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 7

Page 8: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

KARAKTERISTIK PERSOALAN PD …(1/2)

1. Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada setiap tahap hanya diambil satu keputusan.

2. Masing-masing tahap terdiri dari sejumlah status (state) yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam kemungkinan masukan yang ada pada tahap tersebut.

3. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.

4. Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah tahapan.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 8

Page 9: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

KARAKTERISTIK PERSOALAN PD …(2/2)

5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut.

6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.

7. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k + 1.

8. Prinsip optimalitas berlaku pada persoalan tersebut.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 9

Page 10: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENDEKATAN SOLUSI

• Dua pendekatan yang digunakan dalam PD:

– maju (forward atau up-down), dan

– mundur (backward atau bottom-up).

• Pendekatan solusi yang umum, disebut dengan “backward pass”, dimulai dengan memecahkan keputusan ke-n atau terakhir.

– Selanjutnya, pada tahapan n-1 dari proses keputusan.

– Sampai permulaan dari jaringan telah dicapai.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 10

Page 11: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

CONTOH PENDEKATAN SOLUSI

Misalkan x1, x2, …, xn menyatakan peubah (variabel) keputusan yang harus dibuat masing-masing untuk tahap 1, 2, …, n. Maka:

1. Program dinamis maju. Program dinamis bergerak mulai dari tahap 1, terus maju ke tahap 2, 3, dan seterusnya sampai tahap n. Runtunan peubah keputusan adalah x1, x2, …, xn.

2. Program dinamis mundur. Program dinamis bergerak mulai dari tahap n, terus mundur ke tahap n–1, n–2, dan seterusnya sampai tahap 1. Runtunan peubah keputusan adalah xn, xn–1, …, x1.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 11

Page 12: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

GRAFIK MULTITAHAP • Atau multistage graph, tiap simpul di dalam grafik

tersebut menyatakan status, sedangkan V1, V2, …, Vn menyatakan tahap.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 12

V1 V2 V3 V4 V5

Page 13: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

LANGKAH PENGEMBANGAN ALGORITMA PD

1. Karakteristikkan struktur solusi optimal.

2. Definisikan secara rekursif nilai solusi optimal.

3. Hitung nilai solusi optimal secara maju atau mundur.

4. Konstruksi solusi optimal.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 13

Page 14: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

CONTOH SOAL

• Tentukan lintasan terpendek dari simpul 1 ke simpul 10:

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 14

Page 15: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(1/8)

• Misalkan x1, x2, …, x4 adalah simpul-simpul yang dikunjungi pada tahap k (k = 1, 2, 3, 4).

• Maka rute yang dilalui adalah:

1 x1 x2 x3 x4

yang dalam hal ini x4 = 10.

• Pada persoalan ini,

– Tahap (k) adalah proses memilih simpul tujuan berikutnya (ada 4 tahap).

– Status (s) yang berhubungan dengan masing-masing tahap adalah simpul-simpul di dalam grafik.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 15

Page 16: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(2/8)

• Relasi rekurens berikut menyatakan lintasan terpendek dari status s ke x4 pada tahap k:

– f4(s) = csx4 (basis)

– fk(s) = minxk {csxk

+ fk+1(xk)} , k = 1, 2, 3 (rekurens)

• Keterangan:

– xk : peubah keputusan pada tahap k (k = 1, 2, 3)

– csxk : bobot (cost) sisi dari s ke xk

– fk(s , xk) : total bobot lintasan dari s ke xk

– fk(s) : nilai minimum dari fk(s , xk)

• Tujuan program dinamis mundur: mendapatkan f1(1) dengan cara mencari f4(s), f3(s), f2(s) terlebih dahulu.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 16

Page 17: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(3/8)

Tahap 4

f4(s) = csx4

s Solusi Optimum

f4(s) x4*

8 3 10

9 4 10

Catatan: xk* adalah nilai xk yang meminimumkan fk(s, xk).

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 17

Page 18: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(4/8)

Tahap 3

f3(s) = minx3 {csx3

+ f4(x3)}

x3

s

f3(s,x3) = cs,x3 + f4(x3) Solusi Optimum

8 9 f3(s) x3*

5 4 8 4 8

6 9 7 7 9

7 6 7 6 8

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 18

Page 19: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(5/8)

Tahap 2

f2(s) = minx2 {csx2

+ f3(x2)}

x2

s

f2(s,x2) = cs,x2 + f3(x2) Solusi Optimum

5 6 7 f2(s) x2*

2 11 11 12 11 5 atau 6

3 7 9 10 7 5

4 8 8 11 8 5 atau 6

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 19

Page 20: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(6/8)

Tahap 1

f1(s) = minx1 {csx1

+ f2(x1)}

x1

s

f1(s,x1) = cs,x1 + f2(x1) Solusi Optimum

2 3 4 f1(s) x1*

1 13 11 11 11 3 atau 4

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 20

Page 21: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(7/8)

Solusi optimum dapat dilihat pada tabel berikut

x1 x2 x3 x4 Panjang Lintasan

Terpendek

1

3 5 8 10 11

4 5 8 10 11

6 9 10 11

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 21

Page 22: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

PENYELESAIAN DENGAN PD MUNDUR …(7/8)

• Jadi ada tiga lintasan terpendek dari 1 ke 10, yaitu:

1) 1 3 5 8 10

2) 1 4 5 8 10

3) 1 4 6 9 10

• Panjang ketiga lintasan tersebut sama, yaitu 11.

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 22

Page 23: PEMROGRAMAN DINAMIS PERTEMUAN #11taufiqurrachman.weblog.esaunggul.ac.id/wp-content/... · 1) Terdapat sejumlah berhingga pilihan yang mungkin, 2) Solusi pada setiap tahap dibangun

Materi #11 TKT101 - Pengantar Teknik Industri 6623 - Taufiqur Rachman 23