Travelling
Salesman Problem (TSP) merupakan salah satu permasalahan optimasi klasik yang sulit untuk dipecahkansecara
konvensional. Penyelesaian eksak terhadap persoalanini akan melibatkan
algoritma yang mengharuskan mencarikemungkinan semua solusi yang ada [1].
Sehingga akanterjadi ledakan kombinasi dan membuat kompleksitas waktudari
eksekusi algoritma sangat tinggi.
Masalah TSP melibatkan
seorang sales yang harus melakukan kunjungan ke sejumlah kota dalam
menjajakan produknya. Rangkaian kota-kota yang dikunjungi harusmembentuk
suatu jalur sedemikian sehingga kota-kotatersebut hanya boleh dilewati tepat
satu kali dan kemudiankembali lagi ke kota awal.
Kasus seperti
ini sering diistilahkandengan sirkuit hamilton, representasinya dikenal dengan istilah
hamiltonian. Penyelesaian terhadap permasalahanTSP ini adalah untuk memperoleh
jalur terpendek. Penyelesaian eksak terhadap masalah TSP mengharuskan untuk
melakukan perhitungan terhadap semua kemungkinan rute yang dapat diperoleh,
kemudian memilih salah satu rute yang terpendek. Untuk itu jika terdapat n kota yang harusdikunjungi, maka terdapat n! kombinasi kota yang akandi bandingkan
jarak masing-masing. Dengan cara ini waktu komputasi yang dibutuhkan akan jauh
meningkat seiring dengan bertambahnya jumlah kota yang harus dikunjungi.
Penanda
TSP merupakan
jalur Hamiltonian, sehingga setiap node dimungkinkan memiliki dua arah. Jika
kita menggunakan algoritma greedy pada kasus ini, maka harus dilengkapi dengan kemampuan
untuk mengenali kota yang telah dilewati agar tidak terjadi perulangan. Dengan
kata lain, satu kota hanya dikunjungi sekali. Untuk menyelesaikan hal tersebut,
dibutuhkan sebuah penanda setiap kota yang telah dikunjungi. Kota atau node
yang telah dikunjungi harus ditandai, misalnya
inisialisasi setiap kota mempunya tanda = 0, jika kota telah dikunjungi, maka
tandanya berubah menjadi 1. Ketika proses pelacakan jalur terjadi, kota dengan tanda = 1 tidak perlu dilewati/diproses.
Dengan adanya penanda pada algoritma greedy, proses pelacakan dapat dilakukan tanpa ada kota yang dikunjungi berulang. Hal ini memudahkan pelacakan untuk kembali kekota
asal.
Kompleksitas
Algoritma
Untuk memudahkan
menghitung kompleksitas algoritma greedy dengan penanda, berikut diberikan
contoh lintasan TSP beserta costnya. Misalnya terdapat 4 kota yaitu ABCDE,
dimana jarak A ke B = 7, A ke C = 3, A ke D = 4, B ke C = 5,B ke D = 8 dan
C ke D = 2. Grafnya dapat dilihat dibawah ini.
Graf TSP dengan empat node
Proses pelacakan
/ penentuan lintasan sesuai dengan pseudocode dapat digambarkan dalam
bentuk tree seperti berikut:
Contoh Pelacakan dalam
bentuk tree
Dari
Gambar, ditemukan solusi jalur terpendek adalah A-C-D-B-A dengan total
cost adalah 20. Kompleksitas yang terjadi pada contoh diatas untuk
mendapatkan solusi sebanyak7 rute, yaitu A-B, A-C, A-D, C-B, C-D, D-B dan B-A. Dengan
cara yang sama, jika terdapat 3 node, makadi peroleh kompleksitas sebanyak 4
rute, 5 node, kompleksitasnya adalah 11, 10 node, kompleksitasnya adalah 46.
Hal tersebut membentuk sebuah pola sehingga dapat disimpulkan bahwa untuk
menghitung kompleksitas Algoritma Greedy dengan penanda dalam menyelesaikan
TSP, jika diinput n kota, maka
akan terjadi (n(n-1)/2)+1.
Pseudo Code
Ide sederhana
untuk membuat pseudo codenya adalahsebagai berikut :
1. Input jumlah node
2. Input jarak antar kota, dimana jarak
yang diinputcukup sekali, misalnya cukup menginput jarak antarakota A ke kota
B, secara otomatis, program akanmengisi jarak antara kota B ke kota A.
3. Setiap yang telah dilewati diberi
penanda = 1,sementara kota yang belum dilewati secara defaultmempunyai penanda
= 0.
4. Gunakan algoritma greedy untuk mencari optimumlocal
step by step dengan tidak memproses kota yangtelah dilewati (yaitu ditandai
dengan penanda=1).
5. Outpunya berupa jalur optimal sesuai
prinsip greedydan total cost yang dibutuhkan.
Pseudo code
untuk aplikasi pemecahan TSP mengunakanalgoritma greedy dengan penanda sebagai
berikut:
Dengan menginput jumlah node (n) dan jarak antar
kota (cost[i,j]) pseudo code diatas akan menghasilkan jalur optimal(Lintasan)
beserta total jarak yang dibutuhkan (cost) sesuai prinsip greedy.
0 komentar:
Posting Komentar