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.
Ada beberapa algoritma yang telah menyelesaikan TSP di antaranya adalah algoritma Greedy dan algoritma Brute force, kedua algoritma dalam tulisan ini sebagai contoh penyelesaian TSP untuk perbandingan dengan TSP dengan menggunakan algoritma yang akan dikerjakan yaitu algortima Semut.
Universitas Sumatera Utara
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 sirkuit
Hamilton yang harus dievaluasi satu per satu.
Sedangkan penyelesaian TSP dengan algoritma Greedy adalah sebagai berikut:
1. Mulai dari sembarang kota.
2. Evaluasi semua biaya tetangga.
3. Ambil tetangga dengan biaya terkecil dan diulang pada langkah ke dua hingga kota telah terlewati semua.
Algoritma Greedy adalah algoritma yang memecahkan masalah langkah perlangkah, pada setiap langkah mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan (prinsip “take what you can get now!”). Algoritma greedy tidak selalu memberikan solusi optimum dan umumnya
Universitas Sumatera Utara
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.
Pada penyelesaian TSP setiap semut memulai tournya melalui sebuah kota yang dipilih secara acak. Secara berulang kali, satu-persatu kota yang ada dikunjungi oleh semut dengan tujuan untuk menghasilkan tour yang lengkap (yaitu mengunjungi masing-masing kota sekali saja). Pemilihan kota-kota yang akan dilaluinya didasarkan pada suatu fungsi probabilitas, dengan mempertimbangkan visibility (invers dari jarak) kota tersebut dan jumlah feromon yang terdapat pada ruas yang menghubungkan kota tersebut. Semut lebih suka untuk bergerak menuju ke kota-kota yang dihubungkan dengan ruas yang pendek dan memiliki tingkat feromon yang tinggi.
Universitas Sumatera Utara
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 mengikuti 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.
Marco dorigo dan Gianni Di Caro dalam jurnal yang berjudul Ant Algorithms for Discrete Optimization, menjelaskan bahwa aplikasi dari algoritma Semut telah digunakan pada percobaan Traveling Salesperson Problem. Ide mengapa mengunakan TSP adalah karena TSP merupakan salah satu permasalahan NP-hard pada optimisasi kombinatorik,
yang
dipilih
dari
permasalahan
menemukan
jalur
terpendek
menggunakan metafora koloni semut.
Ibnu Sina Wardy dalam makalahnya yang berjudul Penggunaan Graf dalam Algoritma Semut untuk melakuka n Optimisasi menguraikan bahwa ide algoritma
Universitas Sumatera Utara
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
Dengan menggunakan Algoritma Semut untuk menyelesaikan masalah Traveling Salesperson dapat digunakan untuk meminimumkan biaya dalam menyelesaikan beberapa kasus perjalanan
salesperson dan mendapatkan lintasan terpendek yang
optimal yang dapat diaplikasikan pada perjalanan wiraniaga, lengan robot mengencangkan n buah mur pada beberapa buah peralatan mesin dalam sebuah jalur perakitan dan produksi n komoditi berbeda dalam sebuah siklus.
Universitas Sumatera Utara
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.
4. Mengimplementasikan algoritma Semut pada kasus Traveling Salesperson Problem ke dalam bahasa pemrograman.
Universitas Sumatera Utara