ISSN 1411-6669 Volume 12, Juni 2012
MAJALAH ILMIAH
Matematika dan Statistika
DITERBITKAN OLEH:
JURUSAN MATEMATIKA
FMIPA – UNIVERSITAS JEMBER
Majalah Ilmiah Matematika dan Statistika Volume 12, Juni 2012
APLIKASI ALGORITMA SEMUT DAN ALGORITMA CHEAPEST INSERTION HEURISTIC PADA TRAVELLING SALESMAN PROBLEM (TSP) (Application Ant Algorithm and Cheapest Insertion Heuristic Algorithm of Travelling Salesman Problem (TSP)) Indah Apriliani, Kiswara Agung Santoso, Agustina Pradjaningsih Jurusan Matematika FMIPA Universitas Jember Abstact:
Travelling Salesman Problem (TSP) is travels problem a salesman must visit n vertex with each vertex has visited once only and back (return) to the initial vertex, such that the total travel distance is minimized. TSP can be solved by using the some methods, one of them is the CIH algorithm and ant algorithm. This study aims to find solutions of the TSP using CIH, creating programs to solve those problems and compare the result of CIH algorithm and ant algorithm of TSP solution. The result is travelling route, so that the total travel distance is minimized. These results can be obtained from the program that was created with Delphi 7.0 for solving TSP with CIH algorithm and ant algorithm. This program can be used for different data in TSP problem. Input of this program include a flow matrix, distance matrix, a lot of vertexs, α parameter, β parameter, dan parameter. Output of this program include optimum route, length of optimum route and sketch of optimum route.
Keywords: Traveling Salesman Problem, CIH Algorithm, Ant Algorithm, Delphi.
I. PENDAHULUAN Salah satu persoalan pencarian rute optimum yang sering ditemui dalam kehidupan sehari-hari adalah persoalan pedagang keliling atau sering dikenal dengan Travelling Salesman Problem (TSP). Penggambaran sederhana dari istilah TSP adalah permasalahan perjalanan seorang salesman yang harus mengunjungi n buah titik dengan aturan salesman harus mengunjungi setiap titik tepat satu kali dan pada akhirnya harus kembali ke titik asalnya. Salesman juga harus meminimalisasi total jarak perjalanan. Pada perkembangannya, TSP merupakan persoalan yang banyak diaplikasikan pada berbagai persoalan dunia nyata. Salah satunya adalah Permasalahan rute pengisian mesin ATM dimana petugas pengisi mesin ATM harus mengunjungi beberapa lokasi mesin ATM tepat satu kali dan kembali ke lokasi mesin ATM asal dengan meminimalkan jarak tempuh. Beberapa algoritma telah dikembangkan untuk menyelesaikan TSP diantaranya algoritma semut, algoritma greedy dan algoritma genetika. [2] telah membandingkan algoritma semut dan algoritma greedy untuk TSP, dari penelitian tersebut disimpulkan bahwa algoritma greedy lebih efisien digunakan untuk menyelesaikan TSP. Sedangkan
75
Aplikasi Algoritma Semut dan …(75 – 85)
[1] membandingkan algoritma genetika dan algoritma greedy, dan disimpulkan bahwa algoritma greedy lebih efisien digunakan untuk menyelesaikan TSP. Permasalahan yang akan dibahas dalam artikrl ini adalah penyelesaian TSP dengan menggunakan algoritma CIH pada rute pengisian mesin-mesin ATM di wilayah Jember dan Bondowoso sehingga meminimalkan total jarak perjalanan petugas pengisi mesin ATM. Tujuan yang ingin dicapai dalam penulisan artikel ini adalah mendapatkan penyelesaian dari TSP dengan menggunakan algoritma CIH, membuat program untuk penyelesaian TSP menggunakan algoritma CIH dan membandingkan hasil dari algoritma CIH dengan algoritma semut dalam menyelesaikan TSP. Manfaat dari penulisan artikel ini adalah memberikan alternative metode penyelesaian TSP menggunakan algoritma CIH pada rute pengisian mesin ATM dan dengan pembuatan programnya, dapat mempermudah penyelesaian TSP.
II. HASIL DAN PEMBAHASAN 2.1 Kajian Pustaka Suatu graf G didefinisikan sebagai pasangan himpunan (V(G), E(G)) dengan V(G) adalah himpunan berhingga dan tidak kosong yang elemen-elemennya disebut vertex (disebut juga titik atau node) dan E(G) adalah himpunan boleh kosong dari pasangan tidak terurut (vi, vj) dengan vi dan vj di V(G) yang disebut edge atau sisi. Jalan (walk) pada graf G dinotasikan dengan W(G) adalah suatu barisan berhingga yang diawali dan diakhiri oleh titik yang unsur-unsurnya bergantian antara titik dan sisi. Jalan W(G) dengan v1 = vn disebut jalan tertutup, sedangkan jika v1 ≠ vn disebut jalan terbuka. Suatu jalan dengan titik yang tidak diulang disebut lintasan (path), sedangkan suatu jalan dengan sisi yang tidak diulang disebut jejak (trail). Sebuah jalan tertutup tanpa pengulangan titik kecuali titik awal dan titik akhir disebut sikel (cycle). Jika suatu titik vi pada graf G yang dihubungkan dengan dirinya sendiri (ditulis e = (vi, vi)), maka sisi e disebut loop. Jika terdapat lebih dari satu sisi yang menghubungkan dua titik di graf G maka sisi tersebut dinamakan sisi rangkap (multiple edge). Jika graf G tidak memuat loop dan sisi rangkap maka graf G disebut graf sederhana. Graf lengkap adalah graf sederhana yang setiap titiknya mempunyai sisi ke titik lainnya. Graf berbobot (weighted graph) adalah graf yang setiap sisinya (ei) bersekutu dengan sebuah bilangan riil c(ei), dan c(ei) = c(vi, vj) = cij disebut sebagai bobot dari ei. Lintasan Hamilton dalam graf G adalah lintasan yang
76
Majalah Ilmiah Matematika dan Statistika Volume 12, Juni 2012
memuat semua titik dalam graf G. Sikel Hamilton dalam graf G adalah sikel yang memuat semua titik dalam graf G. Graf Hamilton adalah graf yang
memuat sikel
Hamilton. TSP dinyatakan sebagai permasalahan dalam mencari jarak minimal sebuah perjalanan yang berangkat dari sebuah titik awal dan kembali ke titik awal serta mengunjungi setiap titik hanya sekali. TSP direpresentasikan dengan menggunakan sebuah graf lengkap dan berbobot G = (V, E) dengan V adalah himpunan titik yang merepresentasikan kota-kota yang akan dikunjungi dan E adalah himpunan sisi yang merepresentasikan jalan antar titik serta sisi e = (vi, vj) memiliki bobot c(e) = cij yaitu bobot sisi antara titik vi dan vj yang menunjukkan jarak antara titik i dan titik j. Algoritma CIH merupakan suatu metode pencarian yang dapat digunakan untuk menyelesaikan masalah perjalanan salesman atau TSP. Algoritma CIH adalah algoritma yang membangun suatu perjalanan dari sikel-sikel kecil dengan bobot minimal dan secara berturut-turut ditambah dengan titik baru sampai semua titik berhasil dilalui. Input dari algoritma ini merupakan graf berbobot yang berupa daftar titik-titik yang akan dikunjungi dan daftar jarak yang menghubungkan kedua titik. Dalam menyelesaikan TSP, algoritma semut bekerja sebagai berikut: k semut pada awalnya ditempatkan pada r titik, dengan masing-masing titik ditempati oleh maksimal satu semut. Untuk setiap sisi ditentukan kadar feromon awal. Nilai τ(r,s) akan selalu diperbarui di setiap iterasi. Secara umum, algoritma semut terdiri dari dua aspek utama: aturan keadaan transisi dan aturan pembaharuan. Aturan keadaan transisi merupakan suatu aturan yang digunakan untuk memilih titik berikutnya yang akan dilalui. Setelah semua semut menyelesaikan sebuah perjalanan, tingkat feromon diperbarui dengan mengaplikasikan aturan pembaharuan global. Parameter yang digunakan untuk mencapai solusi yang mendekati optimal adalah masing-masing mempunyai nilai sebagai berikut: 0<α<1, β>0 dan 0<τ0<1. Langkah-langkah yang dilakukan untuk menyelesaikan TSP dengan menggunakan algoritma CIH adalah sebagai berikut: 1. Identifikasi tempat mesin-mesin ATM di Wilayah Kabupaten Jember dan Bondowoso.
77
Aplikasi Algoritma Semut dan …(75 – 85)
2. Merepresentasikan data pada langkah ke-1 dalam graf berbobot dimana mesin-mesin ATM diasumsikan sebagai titik sedangkan bobot dari sisi merupakan besarnya jarak antara mesin ATM dengan mesin ATM lainnya. 3. Pengolahan data dengan Algoritma CIH: a. membuat perjalanan dari titik pertama ke titik terakhir. b. membuat sebuah hubungan subtour antara 2 titik tersebut. Subtour adalah perjalanan dari titik pertama dan berakhir di titik pertama. c. mengganti salah satu hubungan sisi dari 2 titik dengan kombinasi 2 sisi, yaitu sisi (i,j) dengan sisi (i,k) dan sisi (k,j), dengan k diambil dari titik yang belum masuk subtour dan dengan tambahan jarak terkecil. Tambahan Jarak Terkecil = cik+ckj–cij dimana cik adalah jarak dari titik i ke titik k, ckj adalah jarak dari titik k ke titik j dan cij adalah jarak dari titik i ke titik j d. ulangi langkah 3 sampai seluruh titik masuk dalam subtour. 4. Pengolahan data dengan algoritma semut a. menentukan parameter yang akan digunakan. Parameter-parameter yang diinisialisasikan adalah: rute awal yang telah dilalui oleh salesman (τ0) dengan 0<τ0<1, parameter probabilitas terjadinya perubahan rute yang telah dilalui oleh salesman (α) dengan nilai 0<α<1 dan parameter pengendali jarak (β) dengan β>0 b. membangun rute. Setiap salesman dari masing-masing titik membangun rute, dengan menerapkan aturan keadaan transisi yaitu aturan probabilitas dari salesman k pada titik r yang memilih untuk menuju titik s. Aturan keadaan transisi tersebut dinyatakan dalam persamaan berikut. [τ (r , s)][η (r , s)]β β Pk ( r , s ) = ∑u∈J ( r ) [τ (r , u )][η (r , u )] k 0
Dengan : τ(r,s)
jika s ∈ J k (r ) untuk s yang lain
= kadar feromon
η(r,s)
= 1/d [invers dari jarak d(r,s)]
Jk(r)
= himpunan dari titik yang akan dilewati semut k yang
berada pada titik r β
78
= suatu parameter pengendali jarak (β>0)
Majalah Ilmiah Matematika dan Statistika Volume 12, Juni 2012
c. memperbarui rute awal yang telah dilalui oleh salesman. Langkah ini dilakukan setelah semua salesman menyelesaikan rute masing-masing, setiap sisi yang termasuk dalam rute terbaik diperbarui dengan aturan pembaharuan global yaitu aturan yang memperbarui rute awal yang telah dilalui oleh salesman. Aturan pembaharuan global tersebut dinyatakan dalam persamaan berikut.
τ (r , s ) ← (1 − α )τ (r , s ) + α∆τ (r , s ) Dimana
(Lgb )−1 ∆τ (r , s ) = 0
jika (r , s ) ∈ global best tour untuk yang lain
d. ulangi langkah (c) sampai salesman melewati rute yang terpendek. 5. Membuat algoritma pemrograman algoritma CIH dan algoritma Semut untuk menyelesaikan masalah TSP tersebut. 6. Membuat program berdasarkan algoritma pada langkah (4) dengan menggunakan software Delphi 7.0. 7. Membandingkan algoritma CIH dan algoritma Semut.
2.2 Pembahasan Dalam artikel ini data yang digunakan dalam meyelesaikan TSP berupa data tempat mesin ATM yang berada di wilayah Kabupaten Jember dan Bondowoso beserta jarak antar mesin ATM. Permasalahan TSP ini direpresentasikan dalam sebuah graf lengkap dan berbobot. Mesin ATM diasumsikan sebagai titik sedangkan jalan yang menghubungkan antar mesin ATM diasumsikan sebagai sisi serta jarak diasumsikan sebagai bobot dari sisi. Dalam artikel ini menggunakan 20 mesin ATM (titik). Data-data tersebut akan direpresentasikan dalam sebuah graf lengkap dan berbobot. Berikut adalah representasi 20 titik dalam bentuk graf yang dihasilkan oleh program Delphi 7.0.
79
Aplikasi Algoritma Semut dan …(75 – 85)
Gambar 1. Representasi 20 titik dalam Graf oleh program Delphi 7.0.
Sebelum penyusunan program, terlebih dahulu dijelaskan penyelesaian secara manual untuk mengetahui cara kerja masing-masing algoritma dengan sampel data yang kecil berupa 5 buah mesin ATM yang akan dikunjungi (titik) beserta bobot dari jalan antar ATM (sisi). Sedangkan daftar jarak antar titik-titiknya diberikan dalam Tabel 1 berikut. Tabel 1. Jarak antar 5 ATM (Km) ATM (Titik) 1 2 3 4 5
1 0 10 33 24 25
2 10 0 24 10 25
3 33 24 0 24 34
4 24 10 24 0 11
5 25 25 34 11 0
Data tersebut diselesaikan menggunakan algoritma CIH sehingga diperoleh rute optimal yaitu : (v1,v2) → (v2,v3) → (v3,v4) → (v4,v5) →( v5,v6) dengan panjang rute optimal yang dihasilkan
80
adalah
C12+C23+C34+C45+C51=10+24+24+11+25=94
km.
Sedangkan
Majalah Ilmiah Matematika dan Statistika Volume 12, Juni 2012
penyelesaian menggunakan algoritma semut diperoleh rute optimal yaitu : v1 – v2 – v4 – v5– v3 – v1 dengan panjang rute optimal yang dihasilkan sepanjang 98 km. Setelah penyelesaian secara manual, dibuat program dengan software Delphi 7.0. Program ini dapat digunakan untuk data yang berbeda pada semua permasalahan TSP. Pada penulisan ini, program tersebut digunakan untuk menyelesaikan permasalahan TSP yang melibatkan 20 titik (mesin ATM). Dengan besarnya parameter yang digunakan yaitu 0<α<1, β>0 dan 0<τ0<1.
Gambar 2. TSP Algoritma CIH dengan Program Delphi 7.0
Setelah dilakukan proses seperti gambar 2 diatas, didapat output berupa panjang rute optimal sebesar 210 km dengan waktu eksekusi adalah 0,017 detik sedangkan rute optimalnya adalah sebagai berikut : 1-15-15-14-14-10-10-4-4-5-5-6-6-9-9-8-8-7-7-3-3-22-11-11-12-12-13-13-16-16-18-20-20-19-19-17-17-1. Sedangkan iterasi yang diperlukan oleh algoritma CIH untuk mencapai panjang rute minimum adalah sebagai berikut.
81
Aplikasi Algoritma Semut dan …(75 – 85)
Gambar 3. Iterasi Algoritma CIH untuk Rute Minimum
Dari gambar diatas, jumlah iterasi yang digunakan untuk mencapai panjang rute minimum adalah 18 iterasi. Di iterasi ke-18 seluruh titik masuk dalam subtour sehingga proses algoritma CIH berhenti.
Gambar 4. TSP Algoritma Semut dengan Program Delphi 7.0
82
Majalah Ilmiah Matematika dan Statistika Volume 12, Juni 2012
Setelah dilakukan proses seperti pada gambar 4 diatas, didapat output berupa panjang rute optimal sebesar 194 km dengan waktu eksekusi yang dibutuhkan adalah 0,054 detik sedangkan rute optimal yang dihasilkan sebagai berikut : 1-2-3-7-8-9-6-5-4-20-19-18-1716-15-14-13-12-11-10-1. Sedangkan iterasi yang diperlukan oleh algoritma semut untuk mencapai panjang rute minimum adalah sebagai berikut.
Gambar 5. Iterasi Algoritma Semut untuk Rute Minimum
Dari gambar diatas, jumlah iterasi yang diperlukan untuk mencapai panjang rute minimum adalah 2 iterasi. Di iterasi ke-2 semua panjang rute minimum yang dihasilkan oleh semua salesman telah konvergen yaitu sebesar 194 sehingga proses dari algoritma semut berhenti. Untuk membandingkan panjang rute optimal yang dihasilkan oleh algoritma CIH dan algoritma semut dalam menyelesaikan TSP akan diberikan beberapa kasus dengan jumlah titik (n) yang berbeda dengan jarak antar titiknya sembarang. Panjang rute minimal dari kedua algoritma tersebut diberikan dalam Tabel 2. berikut.
83
Aplikasi Algoritma Semut dan …(75 – 85)
Tabel 2. Rute Optimal & Waktu Proses pada Algoritma CIH & Algoritma Semut Jumlah Titik 3 4 5 6 7 8 9 10 12 16 19 20
Rute Minimal (km) Eksekusi Program (detik) Algoritma CIH Algoritma Semut Algoritma CIH Algoritma Semut 86 86 0 0 50 50 0 0 94 98 0 0 94 95 0 0 105 102 0 0 121 104 0 0 260 237 0 0 158 149 0 0,017 198 193 0 0,017 193 190 0 0,036 219 213 0,017 0,053 210 194 0,017 0,054
Dari Tabel 2 berdasarkan panjang rute yang dihasilkan, dapat dilihat bahwa untuk jumlah titik kurang dari 7, algoritma CIH dapat memberikan rute optimal yang lebih minimal dibandingkan dengan algoritma semut. Sedangkan untuk jumlah titik lebih dari 7, algoritma semut dapat memberikan rute optimal lebih minimal dibandingkan algoritma CIH. Ditinjau dari waktu eksekusi program yang dibutuhkan oleh kedua algoritma, algoritma CIH membutuhkan waktu yang lebih cepat daripada algoritma semut. Semakin banyak titik yang digunakan, kedua algoritma membutuhkan waktu yang lebih lama dalam mengeksekusi program.
III. KESIMPULAN Berdasarkan dari hasil pembahasan dapat diambil kesimpulan sebagai berikut: 1.
Berdasarkan rute optimal yang dihasilkan oleh program Delphi 7.0, algoritma CIH menghasilkan rute yang lebih optimal dibandingkan dengan algoritma semut untuk jumlah titik kurang dari 7. Sedangkan untuk titik lebih dari 7, algoritma semut menghasilkan rute yang lebih optimal dibandingkan algoritma CIH.
2.
Dalam kasus TSP dengan jumlah titik yang banyak, algoritma semut dapat menghasilkan rute yang lebih optimal jika dibandingkan dengan algoritma CIH.
3.
Berdasarkan waktu eksekusi program yang dibutuhkan oleh kedua algoritma, algoritma CIH membutuhkan waktu yang lebih cepat daripada algoritma semut.
84
Majalah Ilmiah Matematika dan Statistika Volume 12, Juni 2012
Berdasarkan iterasi yang digunakan untuk memperoleh rute optimal, algoritma semut menghasilkan iterasi yang lebih sedikit daripada algoritma CIH
DAFTAR PUSTAKA [1] Ilyas, M. 2007. Perbandingan Penggunaan Algoritma Greedy dan Algoritma Genetika dalam Penyelesaian Masalah Perjalanan Salesman. Tidak dipublikasikan. Skripsi. Jember : Jurusan Matematika Fakultas MIPA Universitas Jember.
[2] Setiyawan, T. E. 2005. Perbandingan Algoritma Semut dan Algoritma Greedy dalam Menyelesaikan Masalah Perjalanan Salesman. Tidak dipublikasikan. Skripsi. Jember : Jurusan Matematika Fakultas MIPA Universitas Jember.
85