2.6. Algoritma dalam Travelling Salesman Problem
2.6.1. Kompleksitas Algoritma
Algoritma adalah urutan langkah-langkah penyelesaian masalah secara sistematis. Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus
efisien. Kemangkusan algoritma diukur dari berapa jumlah waktu dan ruang memori yang dibutuhkan untuk menjalankan. Algoritma yang mangkus adalah algoritma yang
meminimumkan kebutuhan waktu dan ruang. Ada dua macam kompleksitas algoritma, yaitu kompleksitas waktu dan kompleksitas ruang. Kompleksitas waktu
diukur dari jumlah tahapan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan n.
Untuk membuktikan kompleksitas kedua algoritma di atas maka kita harus mengetahui teori yang mendukung yaitu:
Definisi 2.6.1. Tn = O fn yang artinya T n berorde paling besar fn. bila
terdapat tetapan c dan n sedemikian sehingga Tn
≤ c fn untuk n ≥ n .
Arti dari definisi di atas adalah jika sebuah algoritma mempunyai waktu asimptotik Ofn, maka jika n dibuat semakin besar waktu yang dibutuhkannya tidak
akan melebihi suatu tetapan c dikali fn.
Universitas Sumatera Utara
2.6.2. Algoritma Branch and Bound
Algoritma Branch and Bound diusulkan pertama kali oleh A. Land dan G. Doig pada tahun 1960. Sebenarnya metode ini dibuat untuk pemograman linier linier
programming. Namun kenyataanya metode ini mampu menyelesaikan permasalahan seperti Travelling Salesman Problem TSP dan beberapa masalah lain. Metode ini
menggunakan pohon pencarian search tree, setiap simpul di pohon merupakan representasi dari sejumlah kemungkinan solusi dari Travelling Salesman Problem
TSP. Metode ini hanya dapat digunakan untuk masalah optimasi saja optimazion problem. Algoritma ini memiliki kompleksitas algoritma n-1, dimana n adalah
jumlah kota. Berikut ini merupakan langkah-langkah penyelesaian dengan Branch and Bound :
1. Gambarkan problem dengan diagraph G = V,E. 2. C
ij
dimana C = nilai cost pada edge i,j
ij
3. Dengan definisi nilai cost di atas, bangun Cost Matrix dari TSP. =
∞, jika tidak ada edge antara i dan j.
4. Lakukan reduksi terhadap Cost Matrix , di dapat Reduced Cost Matrix. 5.Gunakan fungsi pembatas bound untuk membangun Search Tree dari Reduced
Cost Matrix. 6. Dan seterusnya hingga didapat solusi yang diinginkan.
Pada n 10, Algoritma di atas tidak dapat dikerjakan secara manual sehingga pengerjaanya dilakukan dengan bantuan software Quantitative System QS.
2.6.3 Algoritma Nearest Neighbor