PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP) Mohamad Subchan STMIK Muhammadiyah Banten e-mail:
[email protected] ABSTRAK: Permasalahan pencarian rute terpendek dapat direpresentasikan menggunakan graf berarah dan memiliki bobot dan disebut dengan TSP (Travelling Salesman Problem), dimana melibatkan seorang salesman yang harus membuat simpul dari sejumlah kota yang akan dilalui menggunakan jalur terpendek yang tersedia. Untuk meminimalkan rute perjalanan ini menggunakan pendekatan algoritma genetika pada pemecahan masalah rute jalur terpendek pada penyelesaian Travelling Salesman Problem (TSP). Pada penerapan algoritma genetika, proses persilangan mempertukarkan sebagian atau seluruh kromosom dan proses mutasi mempertahankan keragaman kromosom dalam populasi.
Kata kunci: Travelling Salesman Probelm (TSP), Algoritma Genetika
1.
PENDAHULUAN Persoalan jalur terpendek (Shortest Path) merupakan suatu jaringan pengarahan perjalanan dimana seseorang pengarah jalan ingin menentukan jalur terpendek antara dua kota atau lebih yang akan dilalui berdasarkan jalur alternatif yang tersedia, dimana kota tujuan hanya satu. Dari permasalahan pencarian rute terpendek maka diperlukan bantuan dari algortima Genetika untuk mengoptimasi penentuan parameter yang memiliki arah dan bobot dan disebut dengan TSP (Travelling Salesman Problem). 2. 2.1.
TINJAUAN PUSTAKA Inisialiasi Travelling Salesman Dalam masalah permutasi dengan tujuan menentukan rute terpendek (atau biaya minimum) pada sebuah grafik yang mewakili suatu rute kota atau node yang akan dikunjungi (dilalui). Travelling Salesman dimulai pada satu node, mengunjungi semua node lainnya berturut-turut hanya sekali dilalui dan akhirnya kembali ke node awal. Yaitu, n kota diberikan {c1, c2, ... cn}, dan permutasi,
{σ1, σ2 ... σn} tujuannya adalah untuk memilih σi sedemikian rupa sehingga jumlah dari jarak Euclidean antara setiap node dan penerusnya diminimalkan. Penerus dari node terakhir dalam permutasi adalah yang pertama. Euclidean jarak d, antara dua kota dengan koordinat (x1, y1) dan (x2, y2) dihitung dengan: d= ((x1 - x2)2 + (y1-y2)2 )1/2 2.2.
Algoritma Genetika (Genetic algorithm) Algoritma adalah prosedur langkah demi langkah untuk memecahkan masalah. Algoritma genetika (GA) didasarkan pada prinsip Genetika dan Evolusi. Algoritma Genetika adalah suatu algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis. Sebuah solusi yang dibangkitkan dalam algoritma genetika disebut sebagai kromosom (chromosome), sedangkan kumpulan kromosom tersebut disebut sebagai populasi. Sebuah kromosom dibentuk dari komponenkomponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik,
biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan. Kromosom tersebut akan berevolusi secara berkelanjutan yang disebut dengan generasi. Dalam tiap generasi kromosom tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan (fungsi_objektif) menggunakan ukuran yang disebut dengan fitness. Untuk memilih kromosom yang tetap dipertahankan untuk generasi selanjutnya dilakukan proses yang disebut dengan seleksi. Proses seleksi kromosom yang mempunyai nilai fitness tinggi akan memiliki peluang lebih besar untuk terpilih lagi pada generasi selanjutnya. Kromosom baru yang disebut dengan offspring, dibentuk dengan cara melakukan perkawinan antar kromosom dalam satu generasi yang disebut sebagai proses crossover. Jumlah kromosom dalam populasi yang mengalami crossover ditetukan oleh paramater yang disebut dengan crossover_rate. Mekanisme perubahan susunan unsur penyusun mahkluk hidup akibat adanya faktor alam yang disebut dengan mutasi direpresentasikan sebagai proses berubahnya satu atau lebih nilai gen dalam kromosom dengan suatu nilai acak. Jumlah gen dalam populasi yang mengalami mutasi ditentukan oleh parameter yang dinamakan mutation_rate. Setelah beberapa generasi akan dihasilkan kromosom yang nilai gen-gennya konvergen ke suatu nilai tertentu yang merupakan solusi terbaik yang dihasilkan oleh algoritma genetika terhadap permasalahan yang ingin diselesaikan.
Generasi, populasi awal dibangun secara acak sedangkan populasi selanjutnya merupakan hasil evolusi kromosom-kromosom melalui iterasi. Fungsi Fitness, alat ukur yang digunakan untuk proses evaluasi kromosom. Nilai fitness dari suatu kromosom akan menunjukan kualitas kromosom dalam populasi tersebut. Generasi berikutnya dikenal dengan anak (offspring) terbentuk dari gabungan 2 kromosom generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan operator penyilang (crossover). Mutasi, operator untuk memodifikasi kromosom.
Start
Create initial random Population
Evaluate fitness for eash population
Store best individuals
Store best individuals
Create mating pool
Create next generation by applying crossover
Struktur umum pada algoritma genetika terdiri atas: Populasi, istilah pada teknik pencarian yang dilakukan sekaligus atas sejumlah solusi yang mungkin. Pendefinisian Kromosom, individu yang terdapat dalam satu populasi yang terdapat dalam satu populasi dan merupakan suatu solusi yang masih berbentuk simbol.
Option solusi? YES
Stop
NO
Reproduce and ignore few populations
Perform mutations
Gambar 1. Flowchart Algoritma Genetika
Menganalisa tiap titik dan jalur untuk membentuk populasi secara acak
Untuk memastikan algoritma genetika memenuhi persyaratan, nilai fitness semakin besar, makasistem yang dihasilkan semakin baik. Operasi yang dilakukan adalah reproduksi, crossover, dan mutasi untuk mendapatkan sebuah solusi menurut nilai fitness-nya.
Memproduksi individu yang akan diolah secara gentik dengan metode Roulette Wheel
Melakukan persilangan beberapa individu berdasarkan peluang persilangan
2.3.
Algoritma genetika pada penyelesaian Travelling Salesman Problem Untuk menemukan pemecahan permasalahan Travelling Salesman Problem menggunakan algoritma genetika dengan cara khusus. Sebagai contoh, pemecahaan masalah yang valid akan perlu untuk mewakili rute mana setiap lokasi yang setidaknya hanya sekali dilalui. Jika sebuah rute berisi berisi lebih dari satu kali jalur yang dilalui, tidak akan berlaku.
METODOLOGI DAN PERANCANGAN Algoritma Genetika melalui tahap-tahap kerja, yaitu pembentukan populasi secara acak, reproduksi, persilangan, mutasi dan seleksi. Proses ini akan berulang hingga syarat tertentu dipenuhi, seperti yang tampak pada gambar berikut:
Melakukan mutasi beberapa gen dari individu berdasarkan peluang mutasi
Meyeleksi individu yang akan dianalisa lebih lanjut dengan metode elitisme
Mengulangi proses di atas hingga diperoleh individu yang memiliki jalur paling optimal setelah perulangan sebanyak 10 kali perulangan berturutturut atau batas generasi yang diinginkan dipenuhi
3.
Gambar 2. bagan kerja algoritma genetika
4.
IMPLEMENTASI DAN UJICOBA
Untuk memastikan algoritma genetika dalam menyelesaikan masalah harus memenugi persyaratan jenis khusus diperlukan metode mutasi dan crossover. Pertama, metode mutasi seharusnya tidak pernah menambah atau menghapus lokasi dari rute, jika tidak maka akan beresiko menciptakan penyelesaian yang tidak valid. Salah satu jenis metode mutasi kita bisa menggunakan swap mutasi. Dengan swap mutasi dua lokasi di rute yang dipilih secara acak kemudian posisi mereka hanya bertukar. Sebagai contoh, jika menerapkan pertukaran mutasi ke daftar berikut, [1, 2, 3, 4, 5, 6, 7, 8, 9] kemungkinan akan berakhir dengan, [1, 2, 8, 4, 5, 6, 7, 3, 9]. Disini posisi 3 dan 5 dialihkan membuat daftar baru dengan persis nilai yang sama hanya urutannya yang berbeda.
Karena swap mutasi hanya menukar nilai-nilai yang sudah ada, itu tidak akan membuat daftar yang hilang atau menggandakan nilai bila dibandingkan dengan aslinya, dan itulah apa yang kita inginkan untuk permasalahan Travelling Salesman Problem. 1
2
3
4
5
6
7
8
9
1
2
8
4
5
6
7
3
9
Setelah menentukan metode mutasi, selanjutnya memilih metode crossover yang dapat menciptakan nilai yang valid dalam suatu kendala yang sama. Salah satu metode crossover yang mampu menghasilkan rute yang valid. Dalam metode crossover ini perlu memilih subset dari induk pertama (parents), kemudian menambahkan bagian itu untuk keturuannya. Nilai-nilai yang hilang kemudian menambahkan keturuan dari induk kedua agar mereka ditemukan. Untuk membuat penjelasan ini lebih jelas sedikit pertimbangankan contoh berikut:
ditambahkan ke rute keturuan itu. Selanjutnya, lokasi rute hilang menambahkan dari induk kedua. Lokasi pertama di rute induk kedua adalah 9 yang tidak di rute keturunan (offspring) sehingga itu ditambahkan di posisi pertama yang tersedia. Posisi berikutnya di rute induk (parents) adalah posisi 8 yang di rute keturunan (offspring) itu dilewati. Proses ini berlanjut sampai keturunanya tidak memiliki sisa nilai kosong. Jika diterapkan dengan benar akhirnya harus menjadi rute yang berisi semua posisi yang dilakukan parents itu tanpa ada posisi yang hilang atau digandakan.
200 180 160 140 120 100 80 60 40 20 0 0 20 40 60 80 100 120 140 160 180 200
Parents:
1
2
3
4
5
6
7
8
9
9
8
7
6
5
4
3
2
1
Offspring: 6
9
5
4
3
2
7
6
7
8
8
1
Berikut keterangan bagian dari rute yang diambil dari induk pertama [6, 7, 8] dan
Initial distance: 1996 Finished Final distance: 940 Solution: |60, 200|20, 160|40, 120|60, 80|20, 40|20, 20|60, 20|100, 40|160, 20|200, 40|180, 60|120, 80|140, 140|180, 100|200, 160|180, 200|140, 180|100, 120|100, 160|80, 180|
200 180 160 140 120 100 80 60 40 20 0 0 20 40 60 80 100 120 140 160 180 200
Keterangan: Titik biru menandakan awal dari lintasan rute, arah panah menunjukan arah awal dari titik 0 lintasan. 5.
KESIMPULAN Pada penerapan Algoritma Genetika dalam memberikan pemecahan masalah mengenai menentukan rute jarak terpendek tidak memerlukan informasi derivatif atau menurunkan kualitas dari suatu informasi. Dengan bantuan algoritma Genetika penentuan rute jarak terpendek pada Travelling Salesman Problem akan memberikan respon sistem yang optimal. Algortima Genetika ini akan selalu menunjukan kenaikan fitness atau kata lain generasi selanjutnya lebih baik atau minimal sama dengan generasi sebelumnya dan tidak akan dibawah generasi sebelumnya. Generasi yang terbaik (terpilih) akan mewarisi gen dari induk (parents), sehingga dapat diperoleh hasil lebih variatif.
DAFTAR PUSTAKA Alamsyah, Pemanfaatan Metode Heuristik Pada Pencarian Jalur Terpendek dengan Algoritma Genetika. Jurnal SMARTek, Vol. 8 No. 4. Nopember 2010: 307 316. Robandi, Imam. 2006. Desain sistem tenaga modern: optimisasi, logika fuzzy, algoritma genetika. Andi, Yogyakarta. Setemen, Komang, 2008, Optimasi generate jadwal mata kuliah menggunakan algoritma genetika dan tabu serch, Universitas Pendidikan Ganesha Singaraja, Bali Suarga. 2006. Algoritma Pemrograman. Andi, Yogyakarta.