23
3.3.3 Pembaharuan feromon global
Setelah semua semut menyelesaikan turnya, feromon akan diperbarui secara menyeluruh dengan menghitung perubahan nilai feromon antar kota.
Persamaan perubahan ini adalah: ∆ τ
ij,k
= , jika i,j
∈ T
k
3.4 Keterangan :
∆ τ
ij,k
= jumlah feromon yang di tambahkan oleh k T
k
= rute keseluruhan L
k
= panjang dari rute keseluruhan Selanjutnya penguapan feromon pada seluruh sisi TSP dengan
menggunakan rumus berikut:
τ
ij baru
← 1 – p τ
ij
+
∆ τ
ij,k
3.5 keterangan :
τ
ij baru
= konsentrasi feromon yang baru
τ
ij
=
inisialisasi feromon antara kota i dan kota j p
= parameter laju penguapan feromon 0 p ≤ 1
∆ τ
ij,k
= jumlah feromon yang di tambahkan oleh semut k
3.3.4 Perancangan Flowchart
Flowchart digunakan untuk memperjelas perancangan dan algoritma yang akan dibuat, flowchart dari algoritma Semut dapat dilihat pada Gambar 3.1:
24
ya
Gambar 3.1 Flowchart algoritma semut untuk penyelesaian TSP
M ulai
Input Alamat
Inisialiasi Param et er
Jalankan t ahap set iap semut
Pilih Alamat Berikutnya unt uk set iap semut
Sem ua dikunjungi
Ubah ferom on unt uk perjalanan t erbaik
Komputasikan panjang perjalanan set iap semut
It erasi m aksim um
Tampilkan hasil
Selesai
25
3.3.5 Evaluasi Algoritma Semut
Algoritma Semut untuk mencari jalur terpendek dari sebuah graf pada tulisan ini menggunakan semut sebagai agen,setiap semut memiliki turnya
masing-masing mulai dari kota awal dan kembali ke kota tersebut dengan mengunjungi masing-masing kota yang ada hanya sekali, untuk mendapatkan
hasil terbaik. Algoritma ini dimulai dengan menempatkan setiap semut pada kota
awalnya masing-masing yang diwakili oleh simpul yang ada pada graf tersebut. Tur yang dilakukan oleh setiap semut ini dimulai dari sebuah kota awal dan
melewati sisi yang menghubungkan n kota yang ada kemudian kembali lagi ke kota awal tersebut. Setelah ditempatkan pada kota awalnya masing-masing, setiap
semut memulai turnya dengan memilih kota berikutnya yang akan dikunjungi dengan persamaan probabilitas. Pemilihan kota ini dipengaruhi oleh panjang sisi
yang menghubungkan setiap kota dan jumlah feromon yang berada pada sisi tersebut. Sisi yang lebih pendek akan menerima feromon dalam jumlah yang lebih
besar. Setelah menentukan kota berikutnya yang akan dituju, semut berjalan melewati sisi yang menghubungkan kedua kota tersebut dan memperbarui jumlah
feromon yang terdapat pada sisi yang dilewatinya. Kemudian semut memasukkan sisi dan kota yang dilewatinya itu kedalam daftar semut untuk menandakan bahwa
sisi dan kota tersebut merupakan bagian dari tur mereka. Selanjutnya semut memilih lagi kota berikutnya yang akan dikunjungi.
Setelah semua semut menyelesaikan tur mereka, panjang tur dari setiap semut dihitung dan dipilih yang paling pendek. Tur terpendek dari setiap siklus
26
akan menjadi tur terbaik. Dari analisa terhadap algoritma Semut ini, beberapa hal yang penting adalah:
1. Dalam pemilihan kota berdasarkan nilai probabilitas diperlukan nilai parameter q
yang merupakan sebuah bilangan acak dimana 0 ≤ q
≤ 1. 2. Setiap semut harus memiliki daftar semut untuk menyimpan hasil turnya
masing-masing. Daftar semut berisi kumpulan sisi dan simpul yang merupakan bagian dari tur setiap semut. Nilai dari masing-masing daftar
semut akan dikosongkan kembali setiap kali semut akan memulai turnya. 3. Proses perbaikan jejak feromon dipengaruhi oleh dua parameter yaitu
ρ suatu koefisien yang bernilai antara 0 sampai 1 dan
Δτ didapat dari hasil perkalian antara panjang tur dengan jumlah simpul yang ada pada graf tersebut.
3.3.6 Implementasi TSP dengan Algoritma Semut
Diberikan sejumlah kota dan jarak antar kota. Tentukan sirkuit hamilton yang harus dilalui oleh semut, bila semut itu berangkat dari sebuah kota asal dan
menyinggahi setiap kota tepat satu kali dan kembali lagi ke kota asal keberangkatan. Permasalahan melewati setiap kota tepat satu kali dan kembali ke
kota asal adalah meliputi pencarian lintasan terpendek pada sebuah graf Hamilton. Apabila contoh kasus tersebut diubah menjadi persoalan pada graf, maka dapat
dilihat bahwa kasus tersebut adalah bagaimana menentukan sirkuit Hamilton yang memiliki bobot minimum pada graf tersebut.