BAB 1
PENDAHULUAN
1.1 Latar Belakang
Traveling Salesperson Problem selanjutnya dalam tulisan ini disingkat menjadi TSP, digambarkan sebagai seorang penjual yang harus melewati sejumlah kota selama perjalanannya, dengan jarak tempuh yang minimum dan kembali ke kota asal keberangkatannya, di mana jarak antarkota diketahui dan terhubung ke kota lain tepat atau hanya satu jalan dengan catatan jalur yang dilalui adalah sama.
Persoalan TSP ini dimodelkan sebagai graf lengkap dengan n buah vertex. Bobot pada setiap setiap sisi menyatakan jarak antara dua buah kota yang bertetangga. Dengan menetapkan sejumlah n kota, TSP dapat didefinisikan sebagai permasalahan dalam mencari jalur terpendek dengan melakukan tour tertutup (yang dimulai dari suatu kota dan kembali ke kota tersebut) di mana setiap kota yang ada hanya dikunjungi sekali.
Dalam persoalan TSP yang digambarkan dengan penjual yang harus menemukan tour terpendek dengan melewati beberapa kota hanya sekali dan kembali lagi ke kota asal keberangkatannya, dengan memodelkan kota sebagai simpul (vertex) dan jalan sebagai sisi (edge) digambarkan persoalan tersebut adalah persoalan graf dengan menemukan sirkuit Hamilton dengan bobot minimum.
Algoritma Brute Force untuk persoalan TSP:
1. Enumerasikan (list) semua sirkuit Hamilton dari graf lengkap dengan n buah simpul.
2. Hitung (evaluasi) bobot setiap sirkuit Hamilton yang ditemukan pada langkah pertama.
3. Pilih sirkuit Hamilton yang mempunyai bobot terkecil.
Untuk n buah simpul semua rute perjalanan yang mungkin dibangkitkan dengan permutasi dari n – 1 buah simpul. Permutasi dari n – 1 buah simpul adalah (n – 1)!. Jika persoalan TSP diselesaikan dengan metode Brute force, maka harus dienumerasi sebanyak (n – 1)!/2 buah sirkuit Hamilton, menghitung setiap bobotnya, dan memilih sirkuit Hamilton dengan bobot terkecil. Untuk ukuran masukan yang besar, algoritma Brute force menjadi sangat tidak mangkus. Pada persoalan TSP misalnya, untuk jumlah simpul n = 20 akan terdapat (19!)/2 = 6 × 1016
1. Mulai dari sembarang kota.
sirkuit Hamilton yang harus dievaluasi satu per satu.
Sedangkan penyelesaian TSP dengan algoritma Greedy adalah sebagai berikut:
2. Evaluasi semua biaya tetangga.
3. Ambil tetangga dengan biaya terkecil dan diulang pada langkah ke dua hingga kota telah terlewati semua.
algoritma ini tidak selalu benar. Tetapi ketika algoritma Greedy bekerja, lebih mudah untuk diterapkan dan cukup cepat untuk dilaksanakan.
Dalam algoritma Semut (Ant Algorithm) penyelesaian masalah TSP dengan cara menemukan jalur terbaik melalui grafik. Algoritma ini terinspirasi oleh perilaku semut dalam menemukan jalur dari sarangnya menuju makanan. Dalam proses perjalanan semut menuju makanan, terdapat suatu mekanisme untuk mencari lintasan optimal yang akan dilalui semut. Pada awalnya, semut berkeliling secara acak, hingga menemukan makanan. Ketika menemukan makanan mereka kembali ke koloninya sambil memberikan tanda dengan jejak feromon. Setiap semut memiliki feromon, yaitu jejak yang mengidentifikasi sesamanya. Semut lain yang menemukan jalur tersebut tidak akan berjalan dengan acak lagi, melainkan akan mengikuti jejak tersebut dan jika pada akhirnya menemukan makanan kembali menguatkan jejaknya dengan feromon. Seekor semut yang secara tidak sengaja menemukan jalur optimal akan menempuh jalur ini lebih cepat dari rekan-rekannya, melakukan round-trip lebih sering dan dengan sendirinya meninggalkan feromon lebih banyak dari jalur-jalur yang lebih lambat ditempuh. Feromon yang berkonsentrasi tinggi pada akhirnya akan menarik semut-semut lain untuk berpindah jalur, menuju jalur paling optimal, sedangkan jalur lainnya akan ditinggalkan. Pada akhirnya semua semut yang tadinya menempuh jalur yang berbeda-beda akan beralih ke sebuah jalur tunggal yang ternyata paling optimal dari sarang menuju ke tempat makanan.
1.2 Perumusan Masalah
Perumusan masalah yang akan diteliti dalam tulisan ini adalah bagaimana algoritma Semut menghasilkan penyelesaian yang optimal pada kasus Traveling Salesperson Problem.
1.3 Tinjauan Pustaka
Marco Dorigo dan Luca Gambardella dalam jurnalnya yang berjudul Ant Colonies for The Traveling Salesman Problem, menjelaskan bahwa semut riil mampu untuk menemukan jalur paling pendek dari suatu sumber makanan ke sarang tanpa menggunakan isyarat visual. Juga mereka mampu untuk beradaptasi pada perubahan lingkungan, misalnya menemukan suatu jalur baru yang paling pendek sekali ketika yang lama tidak lagi mungkin dilalui karena suatu rintangan. Semut menyimpan feromon dalam jumlah tertentu saat berjalan, dan masing-masing semut secara probabilistik mengikut i arah yang memiliki banyak feromon. Dasar perilaku dari semut riil ini dapat digunakan untuk menjelaskan bagaimana mereka dapat menemukan jalur yang paling pendek dan menyambung kembali suatu jalan yang terputus setelah mendapat rintangan yang tak terduga. Faktanya, ketika mendapat rintangan, hanya semut yang berada di depan rintangan yang tidak bisa melanjutkan mengikuti jejak feromon dan oleh karena itu mereka harus memilih antara memutar atau meninggalkan.
Semut adalah meniru perilaku ‘semut tiruan’ berjalan seputar grafik yang menunjukkan persoalan yang harus bisa diselesaikan. Ada banyak sekali penerapan algoritma Semut dalam berbagai persoalan kehidupan sehari-hari. Persoalan tersebut adalah Traveling Salesman Problem (TSP), Quadratic Assignment Problem (QAP), Job-shop Scheduling Problem (JSP), dan sejumlah aplikasi lain mencakup pengaturan jalur kendaraan, pewarnaan graf dan network routing.
Situs Wikipedia menjelaskan bahwa algoritma Semut telah digunakan untuk menghasilkan penyelesaian yang mendekati optimal pada masalah salesman yang melakukan perjalanan. Algoritma Semut lebih menguntungkan daripada pendekatan penguatan tiruan (simulated annealing) dan algoritma Genetik saat grafik mungkin berubah secara dinamis; algoritma Semut dapat berjalan secara kontinyu dan menyesuaikan dengan perubahan secara waktu nyata (real time).
1.4 Tujuan Penelitian
Penelitian ini secara umum bertujuan untuk mengkaji tentang Algoritma Semut dan menerapkannya untuk menyelesaikan Traveling Salesperson Problem sehingga diperoleh perjalanan yang optimal dan mengimplementasikan ke dalam bahasa pemrograman.
1.5 Manfaat Penelitian
1.6 Metode Penelitian
Dalam penyusunan tulisan ini, penulis menggunakan tahapan sebagai berikut:
1. Mendefinisikan istilah-istilah dalam algoritma dengan istilah pada teori graf.
2. Menyajikan persolan TSP dalam bentuk graf.
3. Menerapkan algoritma Semut untuk penyelesaian kasus Traveling Salesperson Problem.