APLIKASI ALGORITMA GENETIK DALAM PENYELESAIANMASALAH TRAVELLING SALESMAN PROBLEM
APPLICATION OF GENETIC ALGORITHM IN THE COMPLETION OF TRAVELLING SALESMAN PROBLEM
Abstrak
Permasalahan pedagang keliling (Travelling Salesman Problem) merupakan persoalan optimasi untuk mencari perjalanan terpendek bagi seorang distributor yang ingin berkunjung ke beberapa kota, dan kembali ke kota asal keberangkatan.. Beberapa metode telah digunakan untuk memecahkan persoalan tersebut namun hingga saat ini belum ditemukan algoritma yang mampu untuk menyelesaikannya. Cara termudah untuk menyelesaikan TSP yaitu dengan mencoba semua kemungkinan rute dan mencari rute yang terpendek. Namun, pada zaman yang serba praktis sekarang ini dibutuhkan algoritma yang dapat menyelesaikan TSP dengan cepat sehingga diperoleh solusi yang mendekati solusi optimal. Oleh karena itu digunakan algoritma genetika untuk menentukan perjalanan terpendek yang melalui kota lainnya hanya sekali dan kembali ke kota asal keberangkatan. Algoritma ini sangat tepat digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan metode konvensional. Penyelesaian masalah TSP dengan algoritma genetik melalui beberapa tahapan yaitu: tahap inisialisasi, tahap perhitungan nilai fitness, tahap seleksi dengan Roullete Wheel, tahap pindah silang dengan dan tahap mutasi. Pada aplikasi program algoritma genetik menggunakan Matlab diperoleh jalur terpendek yaitu 104,1 km.
Kata kunci : Travelling Salesman Problem, algoritma genetik, optimal, Roullete Wheel, nilai fitness
Abstract
Traveling salesman problem (Travelling Salesman Problem) is an optimization problem to find the shortest trip to a distributor who wants to visit several cities, and returned to the city of origin departure .. Several methods have been used to solve the problem but until now has not found an algorithm that is capable of to complete. The easiest way to solve TSP is to try all possible routes and look for the shortest route. However, in the days of the very practical now needed TSP algorithm that can solve quickly in order to obtain a solution that approaches the optimum solution. Therefore use a genetic algorithm to determine the shortest journey through other cities only once and return to the original departure city. This very precise algorithms used for solving complex and difficult optimization solved by conventional methods. TSP problem solving by genetic algorithm through several stages: initial stage, the stage of the calculation of the value of fitness, with Roullete Wheel selection phase, the phase crossover and mutation phases. On the application of genetic algorithms using MATLAB program obtained shortest path is 104.1 km.
Keywords: Travelling Salesman Problem, genetic algorithms, optimal, Roullete Wheel, the value of fitness.
I.PENDAHULUAN
A. Latar Belakang
Distribusi adalah salah satu hal yang penting dalam suatu kegiatan ekonomi. Seorang distributor atau salesman pasti mengupayakan agar barang cepat sampai pada konsumen dan bisa diterima dengan baik. Barang akan cepat sampai jika diketahui jarak terpendek pada jalur distribusinya. Untuk itu perlu adanya metode pencarian rute terpendek atau dikenal dengan Travelling Salesman Problem (TSP). Travelling Salesman Problem (TSP) adalah permasalahan seorang sales yang harus mengunjungi beberapa kota dan harus melalui setiap kota tersebut tepat satu kali dan kembali lagi ke kota awal dengan jarak tempuh dan biaya minimal. TSP dapat dimodelkan dalam bentuk graph lengkap. Salah satu metode yang digunakan dalam menyelesaikan TSP adalah dengan menggunakan algoritma genetika yang digabungkan dengan konsep topological sort dalam menentukan lintasan yang visibel. Tahapan penyelesaian TSP dengan algoritma genetika yaitu: tahap inisialisasi (pembentukan populasi awal), tahap perhitungan nilai fitnes, tahap pemilihan (seleksi) dengan Roullete Wheel, tahap pindah silang dengan partial mapped crossover dan tahap mutasi (swapping mutation). Untuk memudahkan dalam mencari penyelesaian TSP terutama saat harus mengunjungi banyak kota, algoritma genetika diimplementasikan dalam software Matlab. Berdasarkan uraian yang telah disampaikan di atas, maka dapat dikembangkan dua jenis rumusan masalah berikut ini:
Apakah perbedaan algoritma genetika dibandingkan dengan metode komputasi konvensional lain dalam penyelesaian TSP?
Bagaimana aplikasi algoritma genetik dalam menyelesaikan masalah Travelling Salesman Problem (TSP)
II. LANDASAN TEORI
A. Algoritma Genetik
Algoritma genetik adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetika. Algoritma genetika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi kompleks, yang sulit dilakukan oleh metode konvensional (Anita Desiani dan Muhammad Arhami, 2006, 7).
Algoritma genetika merupakan metode yang adaptif yang biasa digunakan untuk memecahkansuatu pencarian nilai dalam suatu masalah optimasi. Algoritma ini bekerja dengan suatu populasi yang terdiri dari individu-individu, yang masing-masingmempresentasikan suatu solusi yang mungkin bagi persoalan yang ada. Dalam kaitan ini, individu dilambangkan dengan suatu nilai fitness yang akan digunakan untuk mencari solusi terbaik dari persoalan yang ada. (Sri Kusumadewi, 2003, 278).
Algoritma genetik adalah suatu bentuk teknik pencarian secara stokastik, berdasarkan mekanisme yang ada pada seleksi alam dan genetik secara natural. Algoritma genetika telah banyak diaplikasikan untuk penyelesaian masalah dan pemodelan dalam bidang teknologi seperti optimasi, pemrograman otomatis dan machine learning. Berbeda dengan teknik pencarian konvensional, tahap awal pencarian dalam algoritma genetika dimulai dari himpunan penyelesaian acak yang disebut populasi ( Ahmad Hidayatno, Darjat, dan Hendry H.L.T., 2011, 1 )
B.Travelling Salesman Problem(TSP)
Travelling Salesman Problem merupakan permasalahan untuk mencari perjalanan terpendek melalui semua titik dan tiap titik dilewati tepat satu kali. Permasalahan TSP dapat dimodelkan dalam bentuk graph lengkap dengan titik/simpul sebagai kota dan sisi sebagai jalur antar kota. Pada TSP diketahui himpunan titik-titik dan waktu perpindahan antar titik dan permasalahannya adalah menemukan suatu perjalanan yang melewati setiap titik-titik tersebut tepat satu kali dan harus kembali ke titik awal dengan panjang minimal.
C. Algoritma Genetika untuk Penyelesaian Travelling Salesman Problem
Langkah-langkah dalam mencari penyelesaian masalah Travelling Salesman Problem) dengan menggunakan algoritma genetika tersebut adalah sebagai berikut:
a. Penentuan Parameter Genetika
Jumlah populasi (pop_size) merupakan angka yang menunjukkan jumlah kromosom.
Jumlah generasi (max_gen) merupakan angka yang menunjukkan jumlah generasi yang diproses.
Probabilitas crossover (Pc) menunjukkan kemungkinan kromosom dalam satu populasi untuk melakukan pindah silang.
Probabilitas mutasi (Pm) digunakan untuk menunjukkan kemungkinan banyak gen yang akan mengalami mutasi
b. Tahap Inisialisasi (Pembentukan Populasi Awal)
Teknik inisialisasi yang digunakan pada TSP adalah dengan konsep jarak, yaitu mendapatkan nilai bobot berdasarkan dua titik simpul yang didefinisikan seperti mencari sebuah jarak, dinotasikan D1:2 artinya jarak dari titik 1 ke titik 2 atau sebaliknya.
Misalkan terdapat 3 simpul A, B, dan C yang mempresentasikan sebuah lokasi atau kota, maka akan didapat DA:B , DA:C,danDB:C.diperlihatkan pada Tabel 3.1 berikut:
Tabel 1. Insisialisai dengan tiga simpul
Dua titik: DA:B DA :C DB :C
Sisi/jarak: 20 26 32
c. Tahap Perhitungan Fungsi Objektif (FO)
Setelah diperoleh lintasan yang fisibel, tahap selanjutnya adalah perhitungan nilai fungsi objektif. Fungsi objektif adalah perhitungan dari semua sisi yang terbentuk dari gen-gen yang ada pada sebuah Kromosom. Dimisalkan terdapat sebanyak n gen pada kromosom maka FO dari kromosom tersebut:
FO=V1 : 2+V2 : 3+…+Vn-1 : n
d. Tahap Perhitungan Nilai Fitness
Nilai fitness adalah nilai yang akan digunakan sebagai fungsi pembuat optimasi darisebuah tujuan, optimasi yang ingin di capai yaitu mendapakan jarak yang paling minimal. Maka Fungsi Objektif yang paling kecil akan mendapat Nilai fitness dengan nilai paling Besar, Maka fungsinya sebagai berikut :
Fitnessi=1FO [i]
e. Pemilihan (Seleksi)
Metode pemilihan yang digunakan adalah seleksi Roullete Wheel. Cara kerja metode ini adalah sebagai berikut:
Menghitung nilai probabilitas dari setiap kromosom, dinotasikan:
Pi=Fitnes [i]total Fitnes
Menghitung probabilitas kumulatif setiap kromosom,
Didefinisikan K 0=0
K i=K i-1+P i
Proses ini seperti membuat sebuah papan Roullete Wheel.
Membangkitkan nilai random probabilitas R[i]sebanyak pop_size untuk tahap penyeleksian.
Tahap seleksi. Menentukan populasi baru yang terbentuk, dengan ketentuan jika
K[h-1]
maka kromosom ke-i berubah menjadi kromosom ke-h.
e. Pindah Silang Titik (Crossover)
Proses rekombinasi pindah silang atau crossover adalah menyilangkan dua kromosom sehingga membentuk kromosom baru yang harapannya lebih baik daripada kromosom sebelumnya. Tidak semua kromosom pada pop_size akan mengalami proses rekombinasi. Kemungkinan suatu kromosom akan akan mengalami proses pindah silang didasarkan pada probabilitas pindah silang yang telah ditemukan terlebih dahulu. Probablitas crossover dapat menyatakan banyaknya kromosom yang akan dilakukancrossover.
Teknik pindah silang yang digunakan adalah Partial-Mapped Crossover (PMX). PMX merupakan perluasan dari crossover dua titik sederhana (simple two point crossover). Metode ini menggunakan prosedur perbaikan khusus untuk mengatasi kendala yang disebabkan oleh oleh crossover dua titik. Jadi, hal pokok dari PMX adalah crossover dua titik sederhana ditambah dengan suatu prosedur perbaikan.
Langkah 1 : Memilih satu bagian dari kromosom secara acak
Parent 1
Parent 2
Langkah 2 : Menukar masing masing substring
Langkah 3 : Menentukan pemetaan dari masing- masing gen pada substring
Langkah 4 : Memperbaiki kromosom dengan mempergunakan informasi yang diperoleh dari langkah 3
Offspring 1
Offsring 2
f.Mutasi (Mutation)
Proses mutasi atau pertukaran titik dilakukan setelah proses rekombinasi atau crossover dengan cara memilih kromosom yang akan ditukar secara acak kemudian menentukan titik pertukaran pada kromosom tersebut. Banyaknya gen yang akan mengalami pertukaran dihitung berdasarkan probabilitas mutasi yang telah ditentukanterlebih dahulu. Apabila probabilitas mutasi adalah 100% maka semua gen yang ada pada himpunan tersebut akan mengalami pertukaran. Sebaliknya, jika probabilitas pertukaran yang digunakan adalah 0% maka tidak ada gen yang mengalami pertukaran.
Teknik pertukaran yang digunakan adalah Swapping Mutation. Cara kerja metode ini adalah sebagai berikut:
Membangkitkan bilangan acak sebanyak total bit (jumlah kromosom dikalikan dengan pop_size) untuk menentukan gen yang termutasi. Bilangan acak yang dibangkitkan adalah bilangan real antara 0 sampai 1.
Mencari letak bilangan acak yang kurang dari probabilitas mutasi.
Menukarkan gen dengan bilangan acak kurang dari probabilitas mutasi dengan gen sesudahnya.
Sebagai contoh untuk proses swapping mutation, misal bilangan acak yang kurang dari probabilitas mutasi terletak pada bit ke-2 pada suatu kromosom, maka posisi gen ke-2 ditukar dengan posisi gen ke-3. Ilustrasi untuk proses ini terdapat pada Gambar 2
Setelah ditukar kromosom menjadi
Gambar 2. Proses Swapping Mutation
Metode seleksi dalam algoritma genetika dilakukan secara acak, sehingga ada kemungkinan bahwa kromosom yang sebenarnya sudah baik tidak bisa turut serta pada generasi berikutnya karena tidak lolos seleksi. Untuk itu perlu kiranya ada pelestarian kromosom-kromosom terbaik, sehingga kromosom-kromosom yang sudah baik tersebut bisa lolos seleksi. Muhlenbein mengusulkan adanya perbaikan pada algoritma genetika yang dikenal dengan nama Breeder Gas(BGA). Pada BGA ini digunakan parameter r yang menunjukkan kromosom-kromosom terbaik. Kromosom-kromosom ini akan tetap dipertahankan padagenerasi berikutnya dengan cara menggantikan sebanyak r kromosom pada generasi tersebut secara acak (Sri Kusumadewi, 2003:313).
III. PEMBAHASAN
Penyelesaian dengan algoritma genetika menghasilkan pilihan alternatif solusi lebih dari satu, sehingga jika salah satu solusi tidak dimungkinkan untuk diterapkan, maka masih terdapat solusi lain yang bisa dilakukan. Kelebihan algoritma genetika dibandingkan metode pencarian konvensional lain dalam penyelesaian masalah TSP yaitu :
1. Solusi dapat diperoleh kapanpun karena solusi dihasilkan pada generasi ke berapapun.
2.Algoritma genetika tidak harus membutuhkan waktu yang lama karena tidak semua kemungkinan dicoba, tergantung pada kriteria berakhirnya.
Salah satu contoh kasus permasalahan TSP adalah seorang sales akan melakukan perjalanan ke 5 tempat untuk mengirim barang. Sales tersebut berangkat dari satu kota ke kota lainnya. Setiap kota dikunjungi tepat satu kali, dan salesman tersebut harus memulai dan mengakhiri perjalanan di kota yang sama. Permasalahan ini dapat diselesaikan dengan program Matlab. Berikut ini adalah contoh kasus permasalahan TSP yang akan diselesaikan dengan algoritma genetik :
Seorang sales PT. Khong Guan yang terletak di Jakarta Timur akan mendistribusikan barang ke 4 tempat di wilayah Jakarta yaitu Plaza Semanggi di Jakarta Selatan , Mall Taman Palem di Jakarta Barat, Mall Artha Gading di Jakarta Utara dan Plaza Senayan di Jakarta Pusat.
Tampilan graph lengkap:
Keterangan :
A : PT. Khong Guang
B : Plaza Semanggi
C : Mall Taman Palem
D : Mall Artha Gading
E : Plaza Senayan
Selanjutnya akan dicari jarak optimum dari graph di atas dengan menggunakan algoritma genetik.
1.Inisialisasi
Pada tahap ini akan ditentukan populasi awal dengan jumlah kromosom yang sesuai dengan yang kita harapkan. Pertama, tentukan terlebih dahulu bobot dari setiap sisi.
Kedua, tentukan jumlah populasi adalah 6, yaitu:
Kromosom[1] = AECBDA
Kromosom[2] = ADBECA
Kromosom[3] = ACBDEA
Kromosom[4] = AEDCBA
Kromosom[5] = ADBCEA
Kromosom[6] = ACDEBA
2. Nilai Fungsi Objektif tiap kromosom
FO Kromosom [1] = 117.0
FO Kromosom [2] = 112.1
FO Kromosom [3] = 125.7
FO Kromosom [4] = 117.7
FO Kromosom [5] = 117.0
FO Kromosom [6] = 112.8
3. Nilai Fitness tiap kromosom
Fitness[1] = 0.00855
Fitness[2] = 0.00892
Fitness[3] = 0.00796
Fitness[4] = 0.00850
Fitness[5] = 0.00855
Fitness[6] = 0.00887
Total Fitness = 0.05135
4.Seleksi Kromosom
Proses ke 1 pada tahap seleksi kromosom adalah membangkitkan probabilitas setiap kromosom
P[1] = 0.16651
P [2] = 0.17378
P [3] = 0.15498
P [4] = 0.16552
P [5] = 0.16497
P [6] = 0.17271
Proses ke 2 pada tahap seleksi kromosom. dengan nilai probabilitas yang sudah didapatkan akan dibentuk papan Roulette Wheel dengan menghitung probabilitas kumulatif untuk melakukan proses seleksi secara random.
K[1] = 0.16651
K[2] = 0.34029
K[3] = 0.49527
K [4] = 0.66079
K[5] = 0.82729
K[6] = 1.00000
Proses ke 3 pada tahap Seleksi Kromosom adalah membangkitkan Bilangan acak dengan selang [0,1] sebanyak pop_size untuk melakukan seleksi.
R[1] = 0.81472
R[2] = 0.90579
R[3] = 0.12699
R[4] = 0.91338
R[5] = 0.63236
R[6] = 0.09754
Angka acak pertama yaitu R[1] berada antara K[4] dan K[5] maka Kromosom[1] berubah menjadi Kromosom[5]. Angka acak ke dua yaitu R[2] berada antara K[5] dan K[6] maka Kromosom [2] berubah menjadi Kromosom [6] dan seterusnya sampai anka acak yang terakhir, maka didapat Kromosom baru yaitu :
Kromosom[1] = ADBCEA Kromosom[2] = ACDEBA
Kromosom[3] = AECBDA
Kromosom[4] = ACDEBA
Kromosom[5] = AEDCBA
Kromosom[6] = AECBDA
4. Crossover
Dalam proses ini kita menentukan yang akan dipindah silang yaitu sebesar 50% dari semua pop_size, artinya akan ada 3 kromosom yang akan saling silang, pemilihan gen yang akan dipindah silangsebesar 66,67% yaitu dari gen ke 2 sampai gen 5 dari kromosom terpilih, tujuannya adalah mempermudah Proses Persilangan. Pilih 3 Kromosom secara acak untuk dilakukan persilangan Setelah itu pilih kembali 3 Kromosom lainnya secara acak untuk dijadikan pasangan dari kromosom yang sudah terpilih tadi.
Kromosom terpilih yaitu kromosom ke 5 , dengan kromosom ke 1, kromosom ke 3 dengan kromosom ke 4, kromosom ke 6 dengan kromosom ke 6.
Kromosom[1] = ADBCEA
Kromosom[2] = ACDEBA
Kromosom[3] = ACDEBA
Kromosom[4] = ACDEBA
Kromosom[5] = ADBCEA
Kromosom[6] = AECBDA
6. Metode Pertukaran Mutasi (Swap Mutation)
Dalam proses ini kita menentukan yang akan dimutasi yaitu sebesar 50% dari semua pop_size, artinya akan ada 3 kromosom yang akan dimutasi, pemilihan gen yang akan dipindah silangsebesar 33,33% yaitu sebanyak dua gen yang akan saling bertukar termpat.
Kromosom terpilih yaitu kromosom ke 1 dengan gen ke 3 dan ke 5, kromosom ke 5 dengan gen ke 4 dan ke 5, kromosom ke 3 dengan gen ke 2 dan ke 2.
Kromosom[1] = ADECBA
Kromosom[2] = ACDEBA
Kromosom[3] = ACDEBA
Kromosom[4] = ACDEBA
Kromosom[5] = ADBECA
Kromosom[6] = AECBDA
Setelah tahap mutasi ini berakhir maka akan ada perbaikan kembali untuk mendapakan nilai minimal, proses akan berhenti jika semua kromosom (dalam hal ini kromosom 1 sampai 6) mempunyai Nilai Fungsi Objektif yang sama dan Fungsi Objektif pada setiap kromosom sudah dianggap nilai minimum.
Setelah proses ke-10 didapat jalur terpendek yaitu 104.1 km dengan salah satu trek terpendeknya adalah : ABECDA
.
III. KESIMPULAN
Travelling Salesman Problem (TSP) merupakan salah satu permasalahan kombinasi kombinatorial mengenai seorang distributor yang harus mengunjungi beberapa kota dan harus melalui setiap kota tersebut tepat satu kali dan kembali lagi ke kota awal dengan jarak tempuh dan biaya minimal. Algoritma genetik dapat dimanfaatkan untuk menyelesaikan masalah optimasi yang kompleks. Penyelesaian masalah TSP dengan algoritma genetik melalui beberapa tahapan yaitu: tahap inisialisasi tahap perhitungan nilai fitnes, tahap seleksi dengan Roullete Wheel, tahap pindah silang dengan dan tahap mutasi.
Pada pencarian solusi suatu masalah terkadang dibutuhkan formulasi matematika yang kompleks untuk memberikan solusi yang pasti. Solusi optimum mungkin dapat diperoleh akan tetapi memerlukan proses perhitungan yang panjang dan tidak praktis yang tidak selalu menghasilkan solusi terbaik, namun jika dirancang dengan baik akan menghasilkan solusi yang mendekati optimum dalam waktu yang cepat. Kelebihan algoritma genetika dibandingkan metode pencarian konvensional pada TSP yaitu pertama, solusi dapat diperoleh kapanpun karena solusi dihasilkan pada generasi ke berapapun, kedua, algoritma genetika tidak harus membutuhkan waktu yang lama karena tidak semua kemungkinan dicoba, tergantung pada kriteria berakhirnya.
DAFTAR PUSTAKA
[1] Syarif, Admi, 2014, Algoritma Genetik: Teori dan Aplikasi, Yogyakarta : Graha Ilmu
[2] Fernando, Erick, 2012, Optimalisasi Penjadwalan Mata Kuliah dengan Kombinasi Algotirma Genetik dan Tabu Search , Jurnal Processor Vol.6 No.1
[3] Sihombing, Romauli Statina. 2014. Pemanfaatan Algoritma Genetika Pada Aplikasi Penempatan Buku Untuk Perpustakaan Sekolah. Pelita Informatika Budi Darma, Vol. VI No.2
[4] Mahmudy, Wayan Firdaus dan Rahman, Muh. Arif. 2011. Optimasi Fungsi Multi-Obyektif Berkendala Menggunakan Algoritma Genetika Adaptif dengan Pengkodean Real, Jurnal Ilmiah Kursor Vol.6, No.1, Januari 2011
[5] Sukaton, Rama M., 2011, Penggunaan Algortima Genetika dalam Masalah Jalur Terpendek pada Jaringan Data. Skripsi : Universitas Indonesia