MATEMATIKA ITS
Pemrograman Dinamis
(Dynamic Programming)
Daryono Budi Utomo
MATEMATIKA ITS
1
3/16/2021
2
3/16/2021
MATEMATIKA ITS
2.1 CONTOH PROTOTIPE UNTUK PEMROGRAMAN DINAMIS
Pemrograman dinamis adalah teknik matematika yang berguna untuk membuat urutan keputusan yang saling
terkait. Ini memberikan prosedur sistematis untuk menentukan optimal kombinasi keputusan.
MASALAH STAGECOACH
MASALAH STAGECOACH adalah masalah yang dibuat untuk mengilustrasikan fitur dan untuk
memperkenalkan terminologi pemrograman dinamis. Ini menyangkut mitos pencari keberuntungan di Missouri
yang memutuskan untuk pergi ke barat untuk bergabung dengan Tambang emas di California selama pertengahan
abad ke-19. Kemungkinan rute ditunjukkan pada Gambar 1, di mana setiap negara bagian diwakili oleh huruf
yang dilingkari dan arah perjalanan selalu dari kiri ke kanan dalam diagram. Jadi, empat tahap (kereta pos
berjalan) harus melakukan perjalanan dari titik embarkasinya di negara bagian A (Missouri) ke tujuannya di
negara bagian J (California). Setelah beberapa pemikiran, untuk menentukan rute terpendek, sehingga biayanya
menjadi termurah.
Ini merupakan masalah shortest path yang dapat diselesaiakan dengan Algoritma Dijkstra, perbedaannya
penyelesaian dengan program dinamis dapat ditemukan beberapa lintasan yang terpendek sebagai alternatif
penyelesaian
MATEMATIKA ITS
3
3/16/2021
MATEMATIKA ITS
Perhatikan bahwa pendekatan Greedy dalam memilih jalur termurah (tependek) yang ditawarkan
oleh masing-masing tahap berikutnya, tidak perlu menghasilkan keputusan yang optimal secara
keseluruhan.
Mengikuti strategi ini akan berikan rute:
• Pilihan awal : A ke B didapat rute A B
• Pilihan berikutnya : B ke F didapat rute A B F
• Pilihan berikutnya : F ke I didapat rute A B F I
• Pilihan berikutnya : I ke J didapat rute A B F I J
Total biaya 13.
Namun, mengorbankan sedikit satu tahap kemungkinkan penghematan yang lebih besar setelahnya.
Misalnya, A D F lebih murah secara keseluruhan dari A B F.
Misalkan 𝑓𝑛 (𝑆, 𝑥𝑛 ) menjadi total biaya dari keseluruhan polis terbaik untuk tahapan yang tersisa, diberikan
bahwa pencari keberuntungan berada di negara bagian S, siap untuk memulai tahap n, dan memilih 𝑥𝑛 sebagai
tujuan. Diberikan S dan n, misalkan 𝑥𝑛∗ menunjukkan nilai apa pun dari 𝑥𝑛 (tidak harus unik) hal ini
meminimalkan 𝑓𝑛 (𝑆, 𝑥𝑛 ), dan misalkan 𝑓𝑛∗ (𝑆) menjadi nilai minimum yang sesuai dari 𝑓𝑛 (𝑆, 𝑥𝑛 ).
Jadi,
𝑓𝑛∗ 𝑆 = min 𝑓𝑛 𝑆, 𝑥𝑛 = 𝑓𝑛 (𝑆, 𝑥𝑛∗ )
𝑥𝑛
Dimana
𝑓𝑛 𝑆, 𝑥𝑛 = 𝑏𝑖𝑎𝑦𝑎 𝑙𝑎𝑛𝑔𝑠𝑢𝑛𝑔 𝑡𝑎ℎ𝑎𝑝 𝑛
+ 𝑏𝑖𝑎𝑦𝑎 𝑚𝑎𝑠𝑎 𝑑𝑒𝑝𝑎𝑛 𝑚𝑖𝑛𝑖𝑚𝑢𝑚 𝑡𝑎ℎ𝑎𝑝 𝑛 + 1 𝑑𝑎𝑛 𝑠𝑒𝑡𝑒𝑟𝑢𝑠𝑛𝑦𝑎
∗
𝑓𝑛 𝑆, 𝑥𝑛 = 𝑐𝑆𝑥𝑛 + 𝑓𝑛+1 (𝑥𝑛 )
Nilai 𝑐𝑆𝑥𝑛 diberikan oleh tabel sebelumnya untuk 𝑐𝑖𝑗 dengan menetapkan 𝑖 = 𝑆 (keadaan saat ini) dan 𝑗 = 𝑥𝑛
(tujuan langsung). Karena tujuan akhir (negara bagian J) tercapai pada akhir tahap 4, 𝑓5∗ 𝐽 = 0.
4
3/16/2021
MATEMATIKA ITS
Tujuannya adalah untuk menemukan 𝑓1∗ (𝐴)
dan rute yang sesuai. Pemrograman dinamis
menemukannya dengan secara berurutan mencari jarak minimum:
𝑓4∗ 𝑆 , 𝑓3∗ 𝑆 , 𝑓2∗ 𝑆 → 𝑃𝑟𝑜𝑠𝑒𝑠 𝑑𝑎𝑟𝑖 𝑡𝑢𝑗𝑢𝑎𝑛 𝑘𝑒 𝑡𝑖𝑡𝑖𝑘 𝑎𝑤𝑎𝑙
untuk masing-masing kemungkinan status S dan lalu gunakan 𝑓2∗ (𝑆) untuk menyelesaikan 𝑓1∗ (𝐴).
Prosedur Solusi.
Saat pencari keberuntungan hanya memiliki satu tahap lagi (𝑛4 ), rutenya setelah itu ditentukan
sepenuhnya oleh keadaannya saat ini (baik H atau I) dan finalnya tujuan 𝑥4 = 𝑗, jadi rute perjalanan
kereta pos terakhir ini adalah 𝑆 → 𝐽. Oleh karena itu, sejak 𝑓4∗ 𝑆 = 𝑓4 𝑆, 𝐽 = 𝑐𝑆,𝐽 solusi langsung
untuk n = 4 masalah adalah
H 3
J
4
I
MATEMATIKA ITS
Saat pencari keberuntungan memiliki dua tahap lagi (n =3), prosedur solusi membutuhkan beberapa
kalkulasi. Misalkan pencari keberuntungan berada di negara bagian F. Kemudian, seperti yang
digambarkan di bawah, selanjutnya harus pergi ke salah satu negara bagian H atau I dengan biaya
langsung sebesar 𝑐𝐹𝐻 = 6 atau 𝑐𝐹𝑗 = 3. Jika memilih negara bagian H, biaya tambahan minimum
setelahnya mencapai disana diberikan dalam tabel sebelumnya sebagai 𝑓4∗ 𝐻 = 3, seperti yang
ditunjukkan di atas H. simpul dalam diagram. Oleh karena itu, total biaya untuk keputusan ini adalah
6 + 3 = 9. Jika dia memilih sebutkan saya sebagai gantinya, total biaya adalah 3 + 4 = 7, yang lebih
kecil. Oleh karena itu, pilihan yang optimal adalah yang terakhir ini, 𝑥3∗ = 𝐼, karena memberikan
biaya minimum 𝑓3∗ 𝐹 = 7
5
3/16/2021
MATEMATIKA ITS
Perhitungan serupa perlu dilakukan ketika Anda memulai dari dua kemungkinan keadaan lainnya
S = E dan S = G dengan dua tahap lagi. Cobalah, lanjutkan keduanya secara grafis (Gbr. 10.1)
dan secara aljabar [menggabungkan nilai 𝑐𝑖𝑗 dan 𝑓4∗ (𝑆)], untuk memverifikasi hasil lengkap
berikut untuk masalah n = 3.
MATEMATIKA ITS
Solusi untuk masalah tahap kedua (n = 2), di mana ada tiga tahap pergi, diperoleh dengan cara
yang sama. Dalam hal ini, 𝑓2 𝑆, 𝑥2 = 𝑐𝑆𝑥2 + 𝑓3∗ (𝑥2 ). Sebagai contoh, misalkan pencari
keberuntungan berada di negara bagian C, seperti yang digambarkan di bawah ini.
6
3/16/2021
MATEMATIKA ITS
Selanjutnya harus menyatakan E, F, atau G dengan biaya langsung 𝑐𝐶,𝐸 = 3, 𝑐𝐶,𝐹 = 2, atau 𝑐𝐶,𝐺 = 4,
Setelah sampai di sana, biaya tambahan minimal untuk tahap 3 ke ujung diberikan oleh tabel n = 3
sebagai 𝑓3∗ (𝐸) = 4, 𝑓3∗ (𝐹) = 7, atau 𝑓3∗ (𝐺) = 6, sebagai ditunjukkan di atas node E dan F dan di
bawah node G pada diagram sebelumnya. Hasilnya perhitungan untuk ketiga alternatif dirangkum di
bawah ini.
𝑥2 = 𝐸 ; 𝑓2 𝐶, 𝐸 = 𝑐𝐶,𝐸 + 𝑓3∗ 𝐸 = 3 + 4 = 7
𝑥2 = 𝐹 ; 𝑓2 𝐶, 𝐹 = 𝑐𝐶,𝐹 + 𝑓3∗ 𝐹 = 2 + 7 = 9
𝑥2 = 𝐺 ; 𝑓2 𝐶, 𝐺 = 𝑐𝐶,𝐺 + 𝑓3∗ 𝐺 = 4 + 6 = 10
Minimal ketiga angka ini adalah 7, jadi total biaya minimum dari negara bagian C ke ujungnya
adalah 𝑓2∗ 𝐶 = 7, dan tujuan langsungnya harus 𝑥2∗ = 𝐸.
MATEMATIKA ITS
Membuat kalkulasi serupa ketika Anda memulai dari keadaan B atau D (mencobanya)
menghasilkan yang berikut ini hasil untuk masalah n = 2:
Pada baris pertama dan ketiga tabel ini, perhatikan bahwa E dan F sama sebagai nilai minimalisasi
𝑥2 , jadi tujuan langsung dari salah satu negara bagian B atau D harus 𝑥2∗ = 𝐸 𝑎𝑡𝑎𝑢 𝐹.
7
3/16/2021
MATEMATIKA ITS
Pindah ke masalah tahap pertama (n = 1), dengan keempat tahap yang harus dilalui, kita melihat
bahwa perhitungan serupa dengan yang baru saja ditampilkan untuk masalah tahap kedua (n = 2),
kecuali sekarang hanya ada satu kemungkinan status awal S = A, seperti yang digambarkan di
bawah ini.
MATEMATIKA ITS
Perhitungan ini diringkas selanjutnya untuk tiga alternatif untuk segera tujuan:
𝑥1 = 𝐵 ; 𝑓2 𝐴, 𝐵 = 𝑐𝐴,𝐵 + 𝑓2∗ 𝐵 = 2 + 11 = 13
𝑥1 = 𝐶 ; 𝑓1 𝐴, 𝐶 = 𝑐𝐴,𝐶 + 𝑓2∗ 𝐶 = 4 + 7 = 11
𝑥1 = 𝐷 ; 𝑓1 𝐴, 𝐷 = 𝑐𝐴,𝐷 + 𝑓2∗ 𝐷 = 3 + 8 = 11
Karena 11 adalah minimum, 𝑓1∗ 𝐴, 𝐵 = 11 dan 𝑥1∗ = 𝐶 𝑎𝑡𝑎𝑢 𝐷, seperti yang ditunjukkan pada tabel berikut
8
3/16/2021
MATEMATIKA ITS
Solusi optimal untuk seluruh masalah sekarang dapat diidentifikasi dari empat tabel.Hasil untuk
masalah n = 1 menunjukkan bahwa pencari keberuntungan harus pergi terlebih dahulu baik
menyatakan C atau keadaan D. Misalkan dia memilih 𝑥1∗ = 𝐶. Untuk n = 2, hasil untuk S = C adalah
𝑥2∗ = 𝐸. Hasil ini mengarah ke masalah n = 3, yang menghasilkan 𝑥3∗ = 𝐻 untuk S = E, dan n = 4
masalah menghasilkan 𝑥4∗ = 𝐽 untuk S = H. Oleh karena itu, satu rute optimal adalah A C E H J.
MATEMATIKA ITS
Tampilan grafis dari file pemrograman dinamissolusi kereta pos masalah. Setiap panah menunjukkan keputusan
kebijakan yang optimal (langsung terbaiktujuan) dari negara bagian itu, dimana nomor dengannegara adalah
biaya yang dihasilkan dari sana sampai akhir.Mengikuti huruf tebal panah dari A ke T memberikantiga solusi
optimal (file tiga rute memberikan total biaya minimal 11).
1. A C E H J(T)
2. A D E H J(T)
3. A D F I J(T)
9
3/16/2021
MATEMATIKA ITS
Cargo Loading
Misalkan sebuah perusahaan angkutan mendapat order mengirimkan barang dari satu tempat
ketempat lainnya dengan menggunakan truk besar dengan kapasitas 15 ton. Barang yang diangkut
harus utuh tidak boleh mengangkut setengah atau seperemaptnya. Jenis barang yang diangkut, berat
dan biaya nya adalah sebagai berikut:
Penyelesaian
Stage dalam persoalan ini adalah jumlah barang yang harus diangkut tidak melebih kapasitas truk
(15 ton) dan mendapat hasil yang optimal. Berarti ada 3 tahapan (stage)
Kapasitas C=0 C=1 C=2 C=3 C=4 C=5 𝒇∗𝟑 (𝒙𝟑 ) 𝒙∗𝟑
0 0 0 0
3 0 96 96 1
6 0 96 192 192 2
9 0 96 192 288 288 3
12 0 96 192 288 384 384 4
15 0 96 192 288 384 480 480 5
10
3/16/2021
MATEMATIKA ITS
Tahap 2: 𝑀𝑎𝑘𝑠 𝑓2 𝑥2 + 𝑓3∗ (𝑘𝑎𝑝𝑎𝑠𝑖𝑡𝑎𝑠 − 𝑥3 )
Karena berat barang B 𝑥2 = 5 𝑡𝑜𝑛 , berarti jumlah maksimum yang dapat diangkut
adalah 3 buah
Siapkan kolom untuk B = 0 (tanpa barang B), B = 1, B = 2 dan C = 3
Perhatikan kapasitasnya, cantumkan pendapat yang diperoleh
Formula diatas berarti:
Rupiah yang diharapkan adalah barang B ditambah dengan sisa kapasitas yang
tersedia untuk tahap 3 (tanda *) yang terbaik
𝑀𝑎𝑘𝑠 𝑓2 𝑥2 + 𝑓3∗ 𝑘𝑎𝑝𝑎𝑠𝑖𝑡𝑎𝑠 − 𝑥3
𝑚𝑖𝑠𝑎𝑙 𝑥2 = 2 → 𝐾𝑎𝑝𝑎𝑠𝑖𝑡𝑎𝑠 = 10 𝑡𝑜𝑛
→ 𝑀𝑎𝑘𝑠 𝑓2 2 + 𝑓3∗ 2 − 1 = (2 × 155) + (1 × 96) = 406
Hasil terbaik tahap 2 sudah mencakup hasil terbaik tahap 3
11
3/16/2021
MATEMATIKA ITS
Kapasitas A=0 A=1 A=2 A=3 A=4 A=5 A=6 A=7 𝒇∗𝟑 (𝒙𝟑 ) 𝒙∗𝟑
15 0 66 132 198 264 330 396 462
+ + + + + + + + 492 6
480 406 347 288 192 155 96 0
Jumlah Nilai 480 472 479 486 456 486 492 462 96
𝑥3 = 1 𝑖𝑡𝑒𝑚 𝑥3 = 1 𝑖𝑡𝑒𝑚
𝑥2 = 2 𝑖𝑡𝑒𝑚 𝑀𝑎𝑘𝑠: 𝑥2 = 0 𝑖𝑡𝑒𝑚
𝑥1 = 1 𝑖𝑡𝑒𝑚 𝑥1 = 6 𝑖𝑡𝑒𝑚
Ringkasan
Tahap 1 2 3 Jumlah
Bawa Barang A=6 B=0 C=1
Tonase 12 0 3 15 Ton
Rupiah 396 0 96 492 Juta
12
3/16/2021
MATEMATIKA ITS
MATEMATIKA ITS
Tabel berikut meringkaskan nilai c dan R untuk masing-masing proposal proyek. Proposal proyek
bernilai-nol sengaja dicantumkan yang berarti tidak ada alokasi dana yang diberikan untuk setiap
pabrik. Tujuan Perusahaan adalah memperoleh keuntungan yang maksimum dari pengalokasian
dana sebesar Rp 5 milyar tersebut. Selesaikan persoalan ini dengan program dinamis.
Catatan
0 artinya tidak ada alokasi dana
" − “ tidak mengajukan proposal
Daryono, Riset Operasi 2: Bab 1 Pemrograman Dinamis 26
13
3/16/2021
MATEMATIKA ITS
MATEMATIKA ITS
Peubah status yang terdapat pada tahap 1, 2, dan 3:
𝑥1 = modal yang dialokasikan pada tahap 1
𝑥2 = modal yang dialokasikan pada tahap 1 dan 2
𝑥3 = modal yang dialokasikan pada tahap 1, 2, dan 3
𝑥3
𝑥2
𝑥1
14
3/16/2021
MATEMATIKA ITS
Penyelesaian dengan Program Dinamis Maju.
Misalkan,
𝑅𝑘 (𝑝𝑘 ) = keuntungan dari alternatif pk pada tahap k
𝑓𝑘 (𝑥𝑘 ) = keuntungan optimal dari tahap 1, 2, …, dan k yang diberikan oleh status xk
𝑓𝑘 𝑥𝑘 = max 𝑅𝑘 (𝑝𝑘 )
𝑓𝑒𝑎𝑠𝑏𝑙𝑒
𝑝𝑟𝑜𝑝𝑜𝑠𝑎𝑙_𝑝𝑘
Catatan:
1. 𝑥𝑘−1 = 𝑥𝑘 − 𝑐𝑘 𝑝𝑘
𝑐(𝑝𝑘 ) adalah biaya untuk alternatif pk pada tahap k.
2. Proposal pk dikatakan layak (feasible) jika biayanya, c(pk), tidak melebihi nilai
status xk pada tahap k.
Daryono, Riset Operasi 2: Bab 1 Pemrograman Dinamis 29
Tahap 1
𝑓1 𝑥1 = max 𝑅1 (𝑝1 )
𝑐1 (𝑝𝑖)≤𝑥1
𝑝1 =1,2,3
15
3/16/2021
MATEMATIKA ITS
Tahap 2
𝑓2 𝑥2 = max 𝑅2 𝑝1 + 𝑓1 𝑥2 − 𝑐2 (𝑝2 )
𝑐1 (𝑝𝑖 )≤𝑥1
𝑝1 =1,2,3
Tahap 3
𝑓3 𝑥3 = max 𝑅3 𝑝2 + 𝑓2 𝑥3 − 𝑐3 (𝑝3 ) MATEMATIKA ITS
𝑐1 (𝑝𝑖 )≤𝑥1
𝑝1 =1,2,3
Rekontruksi Solusi
𝒙𝟑 𝒑∗𝟑 𝒙𝟐 𝒑∗𝟐 𝒙𝟏 𝒑∗𝟏 𝒑∗𝟏 , 𝒑∗𝟐 , 𝒑∗𝟑
1 (5 – 0 = 5) 4 (5 – 4 = 1) 2 2, 4, 1 → 5 + 12 + 0 = 17
𝑐 = 1+4+0
1 2 (4 –2 = 2) 3 3, 2, 2 → 6 + 8 + 3 = 17
𝑐 = 2+2+1
2 (5 – 1 = 4)
𝑐 = 1+3+1
3 (4 – 3 = 1) 3 2, 3, 2 = 5 + 9 + 3 = 17
16
3/16/2021
MATEMATIKA ITS
Selanjutnya, kita bandingkan nilai keuntungan dari objek pada tahap k (yaitu pk) plus nilai
𝑓𝑘−1 (𝑦 − 𝑤𝑘 ) dengan keuntungan pengisian hanya k–1 macam objek, 𝑓𝑘−1 (𝑦).
Jika 𝑝𝑘 + 𝑓𝑘−1 (𝑦 − 𝑤𝑘 ) lebih kecil dari 𝑓𝑘−1 (𝑦), maka objek yang ke-kt idak dimasukkan ke
dalam karung, tetapi jika lebih besar, maka objek yang ke-k dimasukkan.
Relasi rekurens untuk persoalan ini adalah
𝑓0 𝑦 = 0, 𝑦 = 0, 1, 2, … , 𝑀 (basis)
𝑓𝑘 𝑦 = −∞, 𝑦 < 0 (basis)
𝑓𝑘 𝑦 = 𝑚𝑎𝑥 𝑓𝑘−1 𝑦 , 𝑝𝑘 + 𝑓𝑘−1 𝑦 − 𝑤𝑘 , 𝑘 = 1,2, … , 𝑛 (rekurens)
𝑓𝑘 𝑦 adalah keuntungan optimum dari persoalan 0/1 Knapsack pada tahap k untuk kapasitas
karung sebesar y.
𝑓0 𝑦 = 0 adalah nilai dari persoalan knapsack kosong (tidak ada persoalan knapscak) dengan
kapasitas y,
𝑓𝑘 𝑦 = −∞ adalah nilai dari persoalan knapsack untuk kapasitas negatif. Solusi optimum dari
persoalan 0/1 Knapsack adalah 𝑓𝑛 𝑀 .
Daryono, Riset Operasi 2: Bab 1 Pemrograman Dinamis 34
17
3/16/2021
M=5
Barang ke-i 𝒘𝒊 𝒑𝒊
1 2 65
2 3 80
3 1 30
Tahap 1
MATEMATIKA ITS
𝑓1 𝑦 = 𝑚𝑎𝑥 𝑓0 𝑦 , 𝑝1 + 𝑓0 (𝑦 − 𝑤1 )
= 𝑚𝑎𝑥 𝑓0 𝑦 , 65 + 𝑓0 (𝑦 − 2)
Solusi Optimum
y
𝑓0 (𝑦) 65 + 𝑓0 (𝑦 − 2) 𝑓1 (𝑦) 𝑥1∗ , 𝑥2∗ , 𝑥3∗
0 0 −∞ 0 (0, 0, 0)
1 0 −∞ 0 (0, 0, 0)
2 0 65 65 (1, 0, 0)
3 0 65 65 (1, 0, 0)
4 0 65 65 (1, 0, 0)
5 0 65 65 (1, 0, 0)
18
3/16/2021
Tahap 2
MATEMATIKA ITS
𝑓2 𝑦 = 𝑚𝑎𝑥 𝑓1 𝑦 , 𝑝2 + 𝑓1 (𝑦 − 𝑤2 )
= 𝑚𝑎𝑥 𝑓1 𝑦 , 80 + 𝑓1 (𝑦 − 3)
Solusi Optimum
y
𝑓0 (𝑦) 65 + 𝑓0 (𝑦 − 2) 𝑓1 (𝑦) 𝑥1∗ , 𝑥2∗ , 𝑥3∗
0 0 80 + −∞ = −∞ 0 (0, 0, 0)
1 0 80 + −∞ = −∞ 0 (0, 0, 0)
2 65 80 + −∞ = −∞ 65 (1, 0, 0)
3 65 80 + 0 = 80 80 (0, 1, 0)
4 65 80 + 0 = 80 80 (0, 1, 0)
5 65 80 + 65 = 145 145 (1, 1, 0)
Tahap 3
MATEMATIKA ITS
𝑓3 𝑦 = 𝑚𝑎𝑥 𝑓2 𝑦 , 𝑝3 + 𝑓2 (𝑦 − 𝑤3 )
= 𝑚𝑎𝑥 𝑓2 𝑦 , 30 + 𝑓2 (𝑦 − 1)
Solusi Optimum
y
𝑓0 (𝑦) 65 + 𝑓0 (𝑦 − 2) 𝑓1 (𝑦) 𝑥1∗ , 𝑥2∗ , 𝑥3∗
0 0 33 + −∞ = −∞ 0 (0, 0, 0)
1 0 30 + −∞ = −∞ 0 (0, 0, 0)
2 65 30 + 0 = 30 65 (1, 0, 0)
3 80 30 + 65 = 95 95 (1, 0, 1)
4 80 30 + 80 = 110 110 (0, 1, 1)
5 145 30 + 80 = 110 145 (1, 1, 0)
Solusi Optimum
𝑥 = 1, 1, 0 𝑑𝑒𝑛𝑔𝑎𝑛 𝑝 = 𝑓 = 145
19
3/16/2021
MATEMATIKA ITS
Travelling Salesperson Problem (TSP)
Diberikan sejumlah kota dan diketahui jarak antar kota. Tentukan tur terpendek yang harus dilalui
oleh seorang pedagang bila pedagang itu berangkat dari sebuah kota asal dan menyinggahi setiap
kota tepat satu kali dan kembali lagi ke kota asal keberangkatan (masalah sirkuit Hamilton).
MATEMATIKA ITS
Misalkan G = (V, E) adalah graf lengkap berarah dengan sisi-sisi yang diberi harga 𝑐𝑖𝑗 > 0.
Misalkan |V| = n dan n > 1. Setiap simpul diberi nomor 1, 2, …, n.
Asumsikan perjalanan (tur) dimulai dan berakhir pada simpul 1.
Setiap tur pasti terdiri dari sisi (1, k) untuk beberapa 𝑘 ∈ 𝑉 − {1} dan sebuah lintasan dari simpul
k ke simpul 1.
Lintasan dari simpul k ke simpul 1 tersebut melalui setiap simpul di dalam V – {1, k} tepat hanya
sekali.
Prinsip Optimalitas: jika tur tersebut optimal maka lintasan dari simpul k ke simpul 1 juga
menjadi lintasan k ke 1 terpendek yang melalui simpul-simpul di dalam V – {1, k}.
Misalkan f(i, S) adalah bobot lintasan terpendek yang berawal pada simpul i, yang melalui semua
simpul di dalam S dan berakhir pada simpul 1.
Nilai f(1, V–{1}) adalah bobot tur terpendek.
20
3/16/2021
MATEMATIKA ITS
Hubungan rekursif:
Gunakan persamaan (2) untuk memperoleh f (i,S) untuk |S| = 1, f (i,S) untuk |S| = 2, dan seterusnya
sampai untuk |S| = n – 1
MATEMATIKA ITS
Contoh 20
Tinjau persoalan TSP untuk n = 4: 8
2
1 2 3 4 10 10
1 0 10 15 20 5 8
2 5 0 9 10 1 4
3 6 13 0 12 9
4 8 8 9 0 13
15
9
6 12
Tahap 1: 𝑓 𝑖, ∅ = 𝑐𝑖𝑗 , 2≤𝑖≤𝑛
3
Diperoleh:
𝑓 2, ∅ = 𝑐21 = 5 ;
𝑓 3, ∅ = 𝑐31 = 6 ;
𝑓 4, ∅ = 𝑐41 = 8 ;
21
3/16/2021
MATEMATIKA ITS
Tahap 2:
𝑓 𝑖, 𝑆 = min 𝑐𝑖𝑗 + 𝑓 𝑗, 𝑆 − 𝑗 , 𝑢𝑛𝑡𝑢𝑘 𝑆 = 1
𝑗𝜖𝑆
Diperoleh:
𝑓 2, {3} = min 𝑐23 + 𝑓 3, ∅ = min 9 + 6 = min 15 = 15 ;
𝑓 2, {4} = min 𝑐24 + 𝑓 4, ∅ = min 10 + 8 = min 18 = 18 ;
𝑓 3, {2} = min 𝑐32 + 𝑓 2, ∅ = min 13 + 5 = min 18 = 18 ;
𝑓 3, {4} = min 𝑐34 + 𝑓 4, ∅ = min 12 + 8 = min 20 = 20 ;
𝑓 4, {2} = min 𝑐42 + 𝑓 2, ∅ = min 8 + 5 = min 13 = 13 ;
𝑓 4, {3} = min 𝑐43 + 𝑓 3, ∅ = min 9 + 6 = min 15 = 15 ;
Diperoleh:
𝑓 2, {3,4} = min 𝑐23 + 𝑓 3, 4 , 𝑐24 + 𝑓 4, 3
= min 9 + 20,10 + 15
= min 29,25 = 25
22
3/16/2021
MATEMATIKA ITS
23