INISIALISASI POPULASI PADA ALGORITMA
GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC) UNTUK TRAVELING SALESMAN PROBLEM (TSP)
TESIS
DELIMA SITANGGANG 137038061
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2015
INISIALISASI POPULASI PADA ALGORITMA
GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC) UNTUK TRAVELING SALESMAN PROBLEM (TSP)
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika
DELIMA SITANGGANG 137038061
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2015
PERSETUJUAN
Judul : INISIALISASI POPULASI PADA ALGORITMAGENETIKA
MENGGUNAKAN SIMPLE HILL CLIMBING(SHC)UNTUK TRAVELING SALESMAN PROBLEM (TSP)
Kategori : TESIS
Nama : DELIMA SITANGGANG
Nim : 137038061
Program Studi : MAGISTER (S2) TEKNIK INFORMATIKA
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Zakarias Situmorang Prof. Dr. Opim Salim Sitompul
Diketahui/disetujui oleh
Program StudiS2 Teknik Informatika Ketua,
Prof. Dr. Muhammad Zarlis NIP. 19570701 198601 1 003
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:
Nama : Delima Sitanggang
NIM : 137038061
Program Studi : Magister (S2)Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Ekslusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:
INISIALISASI POPULASI PADA ALGORITMA GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC) UNTUK TRAVELING
SALESMAN PROBLEM (TSP)
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Ekslusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan,30 Oktober 2015
DelimaSitanggang 137038061
PERNYATAAN
INISIALISASI POPULASI PADA ALGORITMA GENETIKA MENGGUNAKAN SIMPLE HILL CLIMBING (SHC)UNTUK TRAVELING
SALESMAN PROBLEM (TSP)
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 30 Oktober 2015
Delima Sitanggang 137038061
ABSTRAK
Pada algoritma genetika klasik, penentuan populasi awal dibangkitkan dengan metode acak (random). Pada penelitian dengan menggunakan jumlah populasi yang besar, metode ini sering menimbulkan efek yang tidak baik berupa konvergensi prematur dalam menemukan solusi optimal. Pada penelitian ini,Algoritma Simple Hill Climbing (SHC) sebagai algoritma yang bersifat lokal optimal dianalisis penerapannya untuk memperbaiki kinerja dari algoritma genetika dalam rangka menghindari algoritma genetika pada masalah konvergensi prematur sehingga diharapkan dicapai solusi yang optimal dalam penyelesaian masalah Traveling Salesman Problem(TSP). Pada penelitian ini dilakukan tiga jenis percobaan dengan menerapkan parameter Algoritma Genetika yang berbeda. Masing-masing parameter terdiri dari 10, 20 dan 50 populasi, jumlah iterasi 100, Probabilitascrossover0,1 dan Probabilitas Mutasi 0,75. Pada percobaan pertama diperoleh nilai inisial solusi untuk SHC sebesar 3596.6, solusi terbaik untuk SHC sebesar 31618.0 dan solusi terbaik untuk AlgoritmaGenetika 2725.5.
Pada percobaan kedua diperoleh nilai inisial solusi untuk SHC sebesar 3494.1,solusi terbaik untuk SHC sebesar 3060.9dansolusi terbaik untuk Algoritma Genetika 2722.1. Pada percobaan ketiga diperoleh nilai inisial solusi untuk SHC sebesar3330.9,solusi terbaik untuk SHC sebesar 3202.3dan solusi terbaikuntuk Algoritma Genetika 2695.7.Pada penelitian ini semakin besar jumlah populasi yang diterapkan pada algoritma genetika maka diperoleh nilai solusi yang semakin baik pula. Pada penelitian ini penulis membandingkan hasil yang diperoleh dengan penelitian sejenis yang menggunakan metode EA, GA, dan ACO-GA. Hasil yang diperoleh dengan metode EA adalah sebesar 2678, dengan GA sebesar 3218 dan dengan ACO-GA sebesar 3092 sedangkan dengan penelitian penulis diperoleh dengan hasil 2667
Kata Kunci : Simple Hill Climbing, Algoritma Genetika, Travelling Salesman Problem
POPULATION INITIALIZATIONIN GENETIC ALGORITHM USING SIMPLE HILL CLIMBING (SHC) FOR TRAVELING
SALESMAN PROBLEM
(TSP)
ABSTRACT
In classical genetic algorithm, the determination of the initial population generated by random methods. In the study using a large population, these methods often cause undesirable effects such as premature convergence in finding the optimal solution. In this study, algorithm Simple Hill Climbing (SHC) as the algorithm locally optimal analyzed its application to improve the performance of the genetic algorithm in order to avoid the genetic algorithm to the problem of convergence premature so expect to achieve optimal solutions in solving the Traveling Salesman Problem (TSP), In this research, three types of experiments by applying different parameters of Genetic Algorithm. Each of these parameters consist of 10, 20 and 50 of the population, number of iterations 100, crossover probability 0.1 and mutation probability of 0.75. In the first experiment, initial values obtained for the solution is 3596.6, SHC amounted to 31618.0 best solution and the best solution Genetic Algorithm 2725.5. In the second experimental values obtained initial solution to SHC at 3494.1, 2722.1 and the best SHC for the best solution Genetic Algorithm 2722.1. In the third experiment obtained the initial value of 3330.9 solutions for SHC, SHC best solution and the best solution for 3202.3 Genetic Algorithm 2695.7. In this study population the greater the number of genetic algorithm applied to the obtained value the better solution.In this study, the authors compare the results obtained with similar studies that use methods of EA, GA and ACO-GA. The results obtained by the method of EA is equal to 2678, the GA of 3218 and with the ACO-GA by 3092 while with the research results obtained by the author in 2667
Keywords: Simple Hill Climbing, Genetic Algorithms, Travelling Salesman Problem
DAFTAR ISI
Halaman
HALAMAN JUDUL i
PENGESEHAN ii
PERNYATAAN ORISINALITAS iii
PERSETUJUAN PUBLIKASI iv
PANITIA PENGUJI v
RIWAYAT HIDUP vi
UCAPAN TERIMA KASIH vii
ABSTRAK ix
ABSTRACK x
DAFTAR ISI xi
DAFTAR GAMBAR xiv
DAFTAR TABEL xv
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang Masalah 1
1.2 Perumusan Masalah 3
1.3 Batasan Masalah 4
1.4 Tujuan Penelitian 4
1.5 Manfaat Penelitian 4
BAB 2 TINJAUAN PUSTAKA 5
2.1. Algoritma Genetika 5
2.1.1. Pengantar 5
2.1.2. Struktur Umum Algoritma Genetika 6
2.2 Teknik Encoding 8
2.3 Operator Genetika 10
2.3.1.Seleksi 10
2.3.2. Crossover 11
2.3.3. Mutasi 12
2.4 Parameter Genetika 13
2.4.1. Probabilitas Persilangan (Crossover Probability) 13 2.4.2. Probabilitas Mutasi (Mutation Probabality) 14
2.4.3. Jumlah Individu 14
2.4.4. Jumlah Populasi 14
2.5 Simple Hill Climbing(SHC) 14
2.5.1. Pengantar 14
2.5.2. Prosedur Simple Hill Climbing 15
2.6 Traveling Salesman Probelem (TSP) 15
2.7 Riset- Riset Terkait 18
BAB 3 METODOLOGI PENELITIAN 19
3.1 Pengantar 19
3.2 Data Source 21
3.3 Prosedur Penyelesaian Masalah 22
3.4 Algoritma Sistem 26
3.4.1.Penjelasan Algoritma Sistem 27
3.4.2. Proses Evaluasi 28
3.4.3. Proses Seleksi 29
3.4.4. Crossover 30
3.4.5. Proses Mutasi 30
3.4.6. Kondisi Selesai 31
BAB 4 HASIL DAN PEMBAHASAN 32
4.1 Pengantar 32
4.2 Inisialisasi Solusi Menggunakan SHC 33
4.2.1. Perhitungan Total Jarak 36
4.3 Algoritma Genetika 38
4.3.1. Parameter 38
4.3.2. Individu Awal 39
4.3.3. Best Individu 41
4.3.4. Global Best 47
4.4 Pengaruh Jumlah Individu Terhadap Pencapaian Total Jarak 49 4.4.1. Perbandingan Nilai Total Jarak Pada Awal Individu 49 4.4.2. Perbandingan Nilai Total Jarak Pada Indvidu Akhir 50 4.5 Perbandingan Hasil Penelitian dengan penelitian Terkait 51
BAB 5 KESIMPULAN DAN SARAN 54
5.1 Kesimpulan 54
5.2 Saran 55
DAFTAR PUSTAKA 56
LAMPIRAN 58
BAB 1 PENDAHULUAN
1.1. Latar Belakang
Algoritma genetika adalah salah satu metode heuristik adaptif yang merupakan cabang dari evolutionary algorithm, yaitu suatu teknik untuk memecahkan masalah-masalah optimasi yang rumit dengan menirukan proses evolusi makhluk hidup. Algoritma genetika merupakan salah satu algoritma optimasi berbasis pencarian (search) yang didasarkan seleksi natural dan genetika natural (Golberg & Richardson, 1997).
Penyelesaian masalah optimasi menggunakan algoritma genetika tergolong sulit karena kualitas keputusan yang diselesaikan menggunakan algoritma genetika berhubungan dengan banyak karakteristik misalnya populasi awal, crossover, mutasi, probabilitas, fungsi fitness, faktor seleksi dan faktor yang lainnya. Keseluruhan faktor tersebut saling mempengaruhi satu sama lain sebagai sebuah sistem (Pedro & Gomez, 2007).
Algoritma genetika diawali dengan sebuah himpunan populasi awal (initial population).
Hill (1999) menyatakan bahwa kualitas populasi awal sangat mempengaruhi hasil akhir yang dicapai oleh algoritma genetika. Populasi awal yang baik tentunya akan memfasilitasi algoritma genetika dalam mencapai konvergensi yang optimal dan sebaliknya populasi awal yang tidak baik (poor) akan menuntun kepada penemuan solusi yang tidak optimal.
Pada algoritma genetika klasik, penentuan populasi awal dibangkitkan dengan metode acak (random). Pada penelitian dengan menggunakan jumlah populasi yang besar, metode ini sering menimbulkan efek yang tidak baik berupa waktu eksekusi yang sangat lama dalam menemukan solusi optimal (Kumar et al. 2013). Penelitian serupa juga dikemukakan olehRaja
&Bhaskaran (2013) bahwa populasi awal yang tidak baik atau terlalu besar dapat mereduksi kecepatan konvergensi. Pedro et al. (2009) mengemukakan bahwa populasi yang terlalu besar dapat mengakibatkan.
konvergensi prematur. Melalui serangkaian proses yang iteratif, algoritma genetika akan membangkitkan populasi baru dan selanjutnya akan melakukan pencarian solusi terbaik. Algoritma akan berhenti ketika menemukan solusi yang optimal (Kumar, 2012).
Penelitian terhadap metode pembangkitan populasi awal algoritma genetika merupakan bidang kajian riset yang tidak luput dari perhatian para peneliti akhir-akhir ini. Pendekatan ini dilakukan dalam rangka menghindari algoritma genetika mencapai konvergensi prematur.
(Kuczapski et al. 2010) menerapkan metode Weighted Sum of Priority Rules (WSPR) untuk menentukan inisial populasi yang baik bagi Genetic Algorithm pada kasus Job Shop Scheduling (JSS), hasil penelitian menemukakan bahwa dengan metode WSPR diperoleh waktu yang lebih singkat sebesar 50 % dalam menyelesaikan JSS tersebut. Peneliti lain yaitu Deb et al.(2005) menerapkan metode Non-dominate Sorting (NS) dalam menghasilkan inisial populasi yang baik pada algoritma genetika. Hasil penelitian menunjukkan bahwa dengan metode tersebut diperoleh konvergensi yang mendekati tingkat pareto-optimal yaitu suatu kondisi dengan tingkat efisiensi yang paling tinggi.
Algoritma Simple Hill Climbing (SHC) merupakan salah satu algoritma heuristik yang bersifat optimum lokal (local optimal) dimana hasil pencarian yang ditemukan dengan metode tersebut bukan yang paling baik (optimum) dari semua solusi yang ada (Vaughan, 2000).
Algoritma ini tergolong sederhana dan memerlukan waktu komputasi yang cepat. Algoritma Simple Hill Climbing (SHC) banyak diterapkan dalam penyelesaian masalah yang berkaitan dengan pencarian rute terpendek (shortest path). Diantaranya adalah Thiang & Shih (2012) meyelesaikan pencarian rute terpendek pada aplikasi mobile robot, Novitasari et al. (2013) menyelesaikan masalah TSP (Traveling Salesman Problem) menggunakan metode SHC.
Aawar & Bakri (2014) meneliti sekaligus mengimplementasikan Simple Hill Climbing (SHC) pada bidang robotic automation control 2D dan 3D. Pada penelitian tersebut Simple Hill Climbing (SHC) mampu memberikan pemetaan (mapping) yang baik bagi robot sehingga diperoleh jarak terpendek dan kemampuan yang lebih baik dalam menghindari tabrakan terhadap penghalang. Dalam perkembangan penelitian selanjutnya Simple Hill Climbing (SHC) banyak dikombinasikan dengan algoritma yang lain untuk meningkatkan kinerja dari algoritma
yang bersangkutan. Lim et al. (2006) mengkombinasikan Simple Hill Climbing (SHC) dengan Ant Colony Optimization (ACO) dalam meningkatkan bandwidth jaringan pada aplikasi GPS (Global Positioning System). Koschra &Joshi (2012) menerapkan Simple Hill Climbing (SHC) pada segmentasi citra, hasilnya di peroleh segmentasi yang baik. Pada penelitian ini algoritma Simple Hill Climbing (SHC) diterapkan untuk memperbaiki kinerja dari algoritma genetika yait u mempercepat konvergensi algoritma genetika dalam hal optimasi berdasarkan populasi awal.
Berdasarkan penelitian di atas penulis tertarik untuk meneliti metode atau algoritma yang lain untuk mencari solusi yang lebih variatif dalam rangka membangkitkan inisial populasi awal yang baik bagi algoritma genetika. Penulis meneliti penerapan algoritma Simple Hill Climbing (SHC) sebagai metode alternatif dalam rangka membangkitkan inisial populasi yang baik bagi algoritma genetika.
1.2. Rumusan Masalah
Pada algoritma genetika klasik, penentuan populasi awal dibangkitkan dengan metode acak (random). Pada kasus dengan jumlah populasi yang besar, metode ini sering menimbulkan efek yang tidak baik berupa konvergensi prematur dalam menemukan solusi optimal. Algoritma Simple Hill Climbing (SHC) sebagai algoritma yang bersifat lokal optimal akan dianalisis penerapannya untuk memperbaiki kinerja dari algoritma genetika dalam rangka menghindari masalah konvergensi prematur sehingga diharapkan dicapai solusi yang optimal dalam penyelesaian masalah Traveling Salesman Problem (TSP)
1.3. Batasan Masalah
Luasnya ruang lingkup yang berkaitan dengan algoritma Simple Hill Climbing (SHC) dan algoritma genetika, maka untuk menyajikan hasil penelitian yang efektif dan efisien perlu dilakukan pembatasan masalah penelitian.
1. Algoritma genetika yang diterapkan adalah algoritma genetika dengan cross over satu titik karena lebih sederhana dan mudah diterapkan
2. Metode seleksi yang digunakan adalah Roulette Wheel selection karena lebih sederhana dan mudah diterapkan.
3. Data source yang digunakan untuk studi kasus penelitian ini adalah data source Hasler Whithney TSPLIB95 A280.
1.4. Tujuan Penelitian
Tujuan dari penulisan penelitian ini adalah untuk memperbaiki kinerja dari algoritma genetika menggunakan algoritma Simple Hill Climbing (SHC), dengan menganalisis perbedaan hasil pencarian dengan algoritma Simple Hill Climbing (SHC) dan tanpa algoritma Simple Hill Climbing (SHC)
1.5. Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini adalah sebagai berikut :
1. Dapat mengetahui sejauh mana tingkat perbaikan optimasi yang dapat dicapai dengan menggunakan algoritma Simple Hill Climbing (SHC).
2. Hasil penelitian ini dapat menjadi rujukan para pembaca dalam memahami pembangkitan populasi awal pada algoritma genetika menggunakan algoritma Simple Hill Climbing (SHC).
BAB 2
TINJAUAN PUSTAKA
2.1. Algoritma Genetika 2.1.1. Pengantar
Algoritma genetika merupakan teknik pencarian yang didasarkan atas mekanisme seleksi dan genetika natural. Algoritma genetika berbeda dengan teknik pencarian konvensional, dimana pada algoritma genetika kondisi diawali dengan setting awal solusi acak yang disebut populasi.
Tiap individu dalam populasi disebut kromosom, yang merepresentasikan suatu solusi atas permasalahan.
Kromosom adalah suatu string simbol, yang umumnya merupakan string bit biner.
Kromosom berevolusi melalui iterasi berkelanjutan, yang disebut generasi. Pada setiap generasi, kromosom dievaluasi berdasarkan suatu fungsi evaluasi (Golberg & Richarson, 1997). Untuk menghasilkan generasi berikutnya, kromosom baru yang disebut offspring, dibentuk baik melalui penyatuan dua kromosom dari generasi awal menggunakan operator per kawinan silang (crossover) atau memodifikasi kromosom menggunakan operator mutasi (mutation). Suatu generasi baru dibentuk melalui proses seleksi beberapa induk (parents) dan anak (offspring), sesuai dengan nilai fitness, dan melalui eliminasi kromosom lainnya agar ukuran populasi tetap konstan. Kromosom yang sesuai memiliki kemungkinan tertinggi untuk dipilih. Setelah beberapa generasi, algoritma menghasilkan kromosom-kromosom terbaik yang diharapkan mewakili solusi optimal atau suboptimal atas permasalahan.
Hal-hal yang harus dilakukan dalam menggunakan algoritma genetika adalah:Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.
1. Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya sebuah individu atau baik-tidaknya solusi yang didapatkan.
2. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk.
3. Menentukan proses seleksi yang akan digunakan.
4. Menentukan proses perkawinan silang (cross-over).
5. Mutasi gen yang akan digunakan
2.1.2. Struktur umum algoritma genetika.
Algoritma genetika memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetika, pembentukan kromosom baru serta seleksi alam seperti yang terjadi pada mahluk hidup. Algoritma genetika secara umum dapat diilustrasikan dalam diagram alir berikut ini (ebrahimzadeh, 2013).
Gambar 2.1. Struktur umum algoritma genetika
Menurut Kuhn et al. (2013), variabel dan parameter yang digunakan pada algoritma genetika adalah:
Seleksi
Crossover
Mutasi
Best Fitness
Selesai Kriteria optimal ?
Ya
Tidak
Mulai
Populasi awal
Hitung Fitness
1. Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu untuk menentukan tingkat kesesuaian individu tersebut dengan criteria yang ingin dicapai.
2. Jumlah individu yang dilibatkan pada setiap generasi.
3. Probabilitas terjadinya persilangan (crossover) pada suatu generasi.
4. Probabilitas terjadinya mutasi pada setiap individu.
5. Jumlah generasi yang akan dibentuk yang menentukan lama penerapan algoritma genetika.
Rexhepi et al. (2013) menyatakan bahwa secara umum struktur dari suatu algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut :
1. Membangkitkan populasi awal
Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan.
2. Membentuk generasi baru
Untuk membentuk generasi baru, digunakan operator reproduksi/seleksi, crossover dan
mutasi. Proses ini dilakukan berulang-ulang sehingga
didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru.
generasi baru ini dikenal dengan istilah anak (offspring).
3. Evaluasi solusi
Pada tiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut.
Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2.
2.2. Teknik Encoding
Proses pembentukan kromoson adalah salah satu proses yang sulit dalam algoritma genetika.
Hal ini disebabkan karena teknik pembentukan kromoson untuk setiap permasalahan berbeda, karena tidak semua teknik pembentukan kromoson cocok untuk setiap permasalahan.
Pembentukan kromoson menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah gen.
Ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma genetika.
Beberapa teknik encoding itu antara lain adalah binary encoding, permutation encoding, value encoding serta tree encoding (Kumar, 2012)
Untuk menyelesaikan suatu permasalahan menggunakan algoritma genetika, perlu diketahui beberapa macam encoding guna menentukan operator crossover dan mutasi yang akan digunakan. Encoding tersebut tergantung pada permasalahan apa yang diangkat.
Menurut Varnam khasti & Lee (2012), beberapa macam encoding pada algoritma genetika adalah :
1. Binary Encoding
Encoding jenis ini sering digunakan. Kromosom dari binary encoding ini berupa kumpulan dari nilai biner 0 dan 1.
Contohnya:
Chromosome1 1101100100110110 Chromosome2 1101011000011110
Dalam Binary Encoding memungkinkan didapatkan kromosom dengan nilai allele yang kecil, tetapi kekurangannya tidak dapat digunakan untuk beberapa permasalahan dan terkadang diperlukan adanya koreksi setelah proses crossover dan mutasi. Salah satu permasalahan yang menggunakanencoding adalah menghitung nilai maksimal dari suatu fungsi.
2. Permutation Encoding
Kromosom dari permutation encoding ini berupa kumpulan dari nilai integer yang mewakili suatu posisi dalam sebuah urutan. Biasanya digunakan pada permasalahan TSP.
Contohnya:
Chromosome 1 1 4 7 9 6 3 5 0 2 8 Chromosome 2 9 3 2 5 8 1 6 0 4 7 16 3 3. Value Encoding
Kromosom dari value encoding berupa kumpulan dari suatu nilai, yang bisa berupa macam-macam nilai sesuai dengan permasalahan yang dihadapi, seperti bilangan real, char atau objek yang lain. Encoding ini merupakan pilihan yang bagus untuk beberapa permasalahan khusus, biasanya diperlukan metode khusus untuk memproses crossover dan mutasinya sesuai dengan permasalahan yang dihadapi.
Contohnya:
Chromosome 1 A B E D B C A E D D Chromosome 2 N W W N E S S W N N 4. Tree Encoding
Tree Encoding biasanya digunakan pada genetic programming. Kromosom yang digunakan berupa sebuah tree dari beberapa objek, seperti fungsi atau command pada genetic programming.
Menurut Rani & Kumar (2014), Teknik encoding yang digunakan pada Traveling Salesman Problem adalah permutation encoding. Selain digunakan pada Traveling Salesman Problem, teknik ini juga dapat digunakan pada Task Ordering Problem. Pada permutation encoding, kromosom-kromosom adalah kumpulan angka yang mewakili posisi dalam sebuah rangkaian. Pada gambar 2.2. Kromoson yang terbentuk adalah : A, C, E, G, F, D, B, A
Gambar 2.2. Lintasan (Path) dalam TSP 2.3. Operator Genetika
Algoritma genetika merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritma genetika dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi premature, yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal.
Operator genetika yang digunakan setelah proses evaluasi tahap pertama membentuk populasi baru dari generasi sekarang. Operator-operator tersebut adalah operator seleksi, crossover dan mutasi (Malhotra, et al. 2011)
2.3.1 Seleksi
Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya
A
B
C
E
G
D F
sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut.
Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya.
Kemampuan algoritma genetika untuk memproduksi kromosom yang lebih baik secara progresif tergantung pada penekanan selektif (selective pressure) yang diterapkan ke populasi. Penekanan selektif dapat diterapkan dalam dua cara. Cara pertama adalah membuat lebih banyak kromosom anak yang dipelihara dalam populasi dan memilih hanya kromosom-kromosom terbaik bagi generasi berikut. Walaupun orang tua dipilih secara acak, metode ini akan terus menghasilkan kromosom yang lebih baik berhubungan dengan penekanan selektif yang diterapkan pada individu anak tersebut.
Menurut Sharma et al. (2014), ada beberapa metode untuk memilih kromosom yang sering digunakan antara lain adalah seleksi roda rolet (roulette wheel selection), seleksi ranking (rank selection) dam seleksi turnamen (tournament selection). Dalam penelitian ini, metode yang digunakan adalah seleksi roda rolet(roulette wheel selection). Pada seleksi ini, orang tua dipilih berdasarkan fitness mereka. Lebih baik kualitas suatu kromosom, lebih besar peluangnya untuk terpilih. Probabilitas suatu individu terpilih untuk crossover sebanding dengan fitness-nya. Cara penyeleksian ini merupakan peniruan dari permainan rodarolet.
2.3.2. Crossover
Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Beberapa jenis crossover tersebut adalah:
1. Crossover satu titik
Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang
sama. Proses yang demikian dinamakan operator crossover satu titik sebagaimana diperlihatkan pada gambar 2.1.
Tabel 2.1 Contoh Crossover satu titik Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11001111
2. Crossover dua titik
Proses crossover ini dilakukan dengan memilih dua titik crossover.
Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orangtua pertama, bagian dari titik crossover pertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orangtua pertama lagi sebagaimana diperlihatkan pada gambar 2.2.
Tabel 2.2 Contoh Crossover dua titik Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11011111
3. Crossover seragam
Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya sebagaimana diperlihatkan pada gambar 2.3.
Tabel 2.3 Contoh Crossover seragam Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11011111
2.3.3. Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom.Operasi crossover yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang dengan fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung pada kromosom yang memiliki fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang optimal lokal sangat mudah terjadi Operator mutasi merupakan operasi yang menyangkut satu kromosom tertentu.
Beberapa cara operasi mutasi diterapkan dalam algoritma genetika menurut jenis pengkodean terhadap phenotype, antara lain:
1. Mutasi dalam pengkodean biner
Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana. Proses yang
dilakukan adalah menginversi nilai bit pada
posisi tertentu yang terpilih secara acak (atau menggunakan skema tertentu) pada kromosom, yang disebut inverse bit sebagaimana diperlihatkan pada gambar 2.4.
Tabel 2.4 Contoh Mutasi pada pengkodean biner Kromosom sebelum mutasi 1 0 0 1 0 1 1 1 Kromosom setelah mutasi 1 0 0 1 0 0 1 1
2. Mutasi dalam pengkodean permutasi
Proses mutasi yang dilakukan dalam pengkodean biner dengan mengubah langsung bit-bit pada kromosom tidak dapat dilakukan pada pengkodean permutasi karena konsistensi urutan permutasi harus diperhatikan. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling dipertukarkan sebagaimana diperlihatkan pada gambar 2.5.
Tabel 2.5 Contoh Mutasi pada pengkodean permutasi Kromosom sebelum mutasi 1 2 3 4 6 5 8 7 9 Kromosom setelah mutasi 1 2 7 4 6 5 8 3 9
3. Mutasi dalam pengkodean nilai
Mutasi pada pengkodean nilai hampir sama dengan yang dilakukan pada pengkodean biner, tetapi yang dilakukan bukan menginversi nilai bit.Penerapannya
bergantung pada jenis nilai yang digunakan. Sebagai
contoh untuk nilai rill, proses mutasi dapat dilakukan seperti yang dilakukan pada pengkodean permutasi, dengan saling mempertukarkan nilai dua gen pada kromosom.
4. Mutasi dalam pengkodean pohon
Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan cara mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu
verteks pohon yang dipilih. Atau, dapat juga dilakukan dengan memilih dua verteks dari pohon dan saling mempertukarkan operator atau nilainya
2.4. Parameter Genetika
Pengoperasian algoritma genetika dibutuhkan 4 parameter : 2.4.1. Probabilitas persilangan (crossover probability)
Menunjukkan kemungkinan crossover terjadi antara dua kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan generasi yang lama.Jika probabilitas crossover 100%maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan harapan bahwa kromosom yang baru akan lebih baik.
2.4.2. Probabilitas mutasi (mutation probability)
Menunjukkan kemungkinan mutasi terjadi pada gen-gen yag menyusun sebuah kromosom.
Jika tidak terjadi mutasi maka keturunan yang dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi bagian kromosom akan berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika probabilitasnya 0%, tidak ada yang mengalami mutasi.
2.4.3. Jumlah individu
Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam satu generasi). Jika hanya sedikit kromosom dalam populasi maka algoritma genetika akan mempunyai sedikit variasi kemungkinan untuk melakukan crossover antara orangtua karena hanya sebagian kecil dari search space yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetika akan berjalan lambat.
2.4.4. Jumlah populasi
Menentukan jumlah populasi atau banyaknya generasi yang dihasilkan, digunakansebagai batas akhir proses seleksi, persilangan dan mutasi.
2.5. Simple Hill Climbing 2.5.1 Pengantar
Metode Simple Hill Climbing adalah salah satu metode dari sekian banyak metode kecerdasan buatan untuk menyelesaikan permasalahan optimasi. Karena algoritmanya yang cukup sederhana, metode Simple Hill Climbing telah banyak diterapkan dalam berbagai aplikasi.
Metode Simple Hill Climbing hampir sama dengan metode pembangkitan dan pengujian (Generate and Test), hanya saja proses pengujian dilakukan menggunakan fungsi heuristik.
Pembangkitan keadaan berikutnya (next state) sangat tergantung pada feedback dari prosedur pengujian, pengujian yang berupa fungsi heuristik ini akan menunjukkan seberapa besar nilai terkaan yang diambil terhadap keadaan lainnya yang mungkin.
Metode Simple Hill Climbing merupakan variasi dari Depth-First Search (DFS). Dengan metode ini, eksplorasi terhadap keputusan dilakukan dengan cara Depth-First Search yaitu dengan mencari langkah (path) yang bertujuan menurunkan cost untuk menuju kepada keputusan (goal), dengan selalu memilih nilai heuristik terkecil (Pothdar & Thool 2014)
2.5.2. Prosedur simple hill climbing
Menurut Shirazi et al. (2008), prosedur algoritma Simple Hill Climbing dapat dijelaskan dalam bentuk langkah-langkah berikut ini :
1. Mulai dari keadaan awal, lakukan pengujian:
1.1. Jika merupakan tujuan, maka berhenti
1.2. Jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
2. Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada rute kunjungan baru (successor) baru yang akan diaplikasikan pada keadaan sekarang.
3. Cari rute kunjungan baru (successor) yang belum pernah digunakan, gunakan rute kunjungan baru ini untuk mendapatkan keadaan yang baru.
4. Evaluasi keadaan baru tersebut:
4.1. Jika keadaan baru merupakan tujuan maka selesai.
4.2. Jika bukan tujuan, namun nilainya lebih baik dari pada keadaan
sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.
4.3. Jika keadaan baru tidak lebih baik dari pada keadaan sekarang, maka lanjutkan iterasi.
2.6. Traveling Salesman Problem (TSP)
Traveling Salesman Problem (TSP) merupakan sebuah permasalahan optimasi yang dapat diterapkan pada berbagai kegiatan seperti routing. Masalah optimasi TSP terkenal dan telah menjadi standar untuk mencoba algoritma yang komputational. Pokok permasalahan dari TSP adalah seorang salesman harus mengunjungi sejumlah kota yang diketahui jaraknya satu dengan yang lainnya dan kembali ke kota asal.
Traveling salesman problem dapat didefenisikan sebagai berikut : ada satu set kota {C1, C2, C3,...Cn} dan d {Ci, Cj} adalah jarak antar kota ke-i dan ke-j. Tujuannya adalah menemukan urutan π dari rumus berikut untuk mendapatkan nilai yang paling minimal (Gupta & Panwar 2013).
∑ ( ( ) ( )) ( ( ) ( )) (2.1)
Hasil dari rumus tersebut disebut sebagai panjang dari perjalanan seorang salesman mengunjungi kota-kota sesuai urutan π dimana setelah mengujungi semua kota, salesman tersebut kembali lagi ke kota asalnya.
Permasalahan Traveling Salesman Problem ada dua macam, yaitu Symetric Salesman Problem yang biasa disebut dengan Traveling Salesman Problem dan Asymetric Salesman Problem. Pada Symetric Salesman Problem, d {Ci, Cj}=d {Cj, Ci} sedangkan jika Asymetric Salesman Problem maka d {Ci, Cj}≠d {Cj, Ci} untuk 1≤i dan j≥n.
Traveling Salesman Problem adalah salah satu masalah optimasi yang merupakan NP- complete problem (non deterministic polynomial complete), yaitu suatu permasalahan dimana dengan bertambahnya variabel secara linier maka waktu yang diperlukan untuk memecahkan masalah itu bertambah secara eksponensial. Hal ini sering juga disebut dengan combinatorial exponential.
TSP secara sederhana dapat didefinisikan sebagai proses pencarian lintasan terefisien dan terpendek dari beberapa kota yang dipresentasikan, melewati setiap kota tersebut dan kembali ke kota awal. Setiap kota hanya dapat dikunjungi sebayak satu kali saja. Persoalan yang dihadapi TSP ialah bagaimana merencanakan total jarak yang minimum. Untuk menyelesaikan persoalan tersebut, tidak mudah dilakukan karena terdapat ruang pencarian dari sekumpulan permutasi sejumlah kota, maka TSP kemudian dikenal dengan persoalan Non Polynomial.
Gambaran sederhana dari pengertian TSP dapat diperlihatkan pada gambar 2.3.
Kota-kota pada gambar 2.3 masing-masing mempunyai koordinat (x,y), sehingga jarak antar kedua kota dapat dihitung dengan rumus (2.2) (Gupta & Panwar 2013).
√( ) ( ) (2.2)
Keterangan :
x,y = Koordinat titik (Kota)
Setelah jarak-jarak yang menghubungkan tiap kota diketahui, maka dicari rute terpendek dari jalur yang akan dilewati untuk kembali ke kota awal diperlihatkan pada gambar 2.4.
Gambar 2.4. Lintasan (path) dalam TSP
2.7. Riset-Riset Terkait
Dalam melakukan penelitian, penulis menggunakan beberapa riset terkait yang akan di
jadikan acuan yang membuat penelitian berjalan lancar. Pada penelitian sebelumnya untuk judul traveling salesman problem inspired by Eurygasters movement. dengan Metode Eurygasters Algorithm (EA) (Rafe & Karimi, 2012) dan untuk judul penelitian berikutnya Menggunakan Algoritma Genetika (GA) dan ACO (Haroun et al.2015) serta penelitian penulis dengan SHC-GA untuk kasus TSP sama- sama menggunakan data source Hasler Whithney TSPLIB95 A280. Adapun riset-riset terkait tersebut adalah seperti tercantum pada tabel 2.6 berikut ini.
Start
A
B
C
E
G
D F
Tabel 2.6. Riset-riset terkait No Judul Riset Nama dan
Tahun Peneliti
Metode yang Digunakan
Hasil Penelitian
1 A Novel approach to solve traveling salesman
problem inspired by Eurygasters
movement.
International
Research Journal of Applied and Basic Sciences.
Rafe
Karimi (2012)
Eurygasters Algorithm (EA)
Penerapan Algoritma Eurygasters atau Eurygasters Algorithm (EA) dalam menemukan rute terpendek pada kasus TSP. Penelitian tersebut menemukan solusi terbaik dengan nilai 2678
2 A Performance Comparison of GA and ACO Applied to TSP. International Journal of Computer Applications
Haroun et al (2015)
Genetic
Algorithm(GA) dengan Ant Colony Optimization (ACO).
Menggunakan Algoritma Genetika (GA) dan ACO diperoleh hasil terbaik sebesar 3218
3 A Performance Comparison of GA and ACO Applied to TSP. International Journal of Computer Applications
Haroun et al (2015)
Ant Colony Optimization (ACO).
Diperoleh hasil terbaik sebesar 3092.
BAB 3
METODOLOGI PENELITIAN
3.1. Pengantar
Algoritma Simple Hill Climbing (SHC) sebagai algoritma yang bersifat lokal optimal diterapkan untuk memperbaiki kinerja dari algoritma genetika dalam rangka menghindari algoritma genetika pada masalah konvergensi prematur sehingga diharapkan dicapai solusi yang optimal dalam penyelesaian masalah Traveling Salesman Problem (TSP)
3.2. Data source
Data source untuk penelitian ini adalah data source Hasler Whithney TSPLIB95 A280. Data source tersebut dapat ditampilkan pada tabel 3.1. Data source tersebut terdapat 280 titik (node) yaitu dari C1 sampai C 280. Setiap titik (node) terdiri atas X (ordinat) dan Y (absis), misalnya kota 1 (C1) ada pada koordinat X = 288 dan Y=149.
Tabel 3.1 Data source TSP Hasler whithney TSPLIB95 A280
C X Y C X Y C X Y C X Y
1 288 149 71 8 89 141 180 77 211 236 61
2 288 129 72 8 81 142 180 69 212 228 61
3 270 133 73 8 73 143 180 61 213 228 53
4 256 141 74 8 65 144 180 53 214 236 53
5 256 157 75 8 57 145 172 53 215 236 45
6 246 157 76 16 57 146 172 61 216 228 45
7 236 169 77 8 49 147 172 69 217 228 37
8 228 169 78 8 41 148 164 77 218 236 37
9 228 161 79 24 45 149 148 81 219 236 29
10 220 169 80 32 41 150 124 85 220 228 29
11 212 169 81 32 49 151 124 85 221 228 21
12 204 169 82 32 57 152 124 93 222 236 21
13 196 169 83 32 65 153 124 109 223 252 21
14 188 169 84 32 73 154 124 125 224 260 29
15 196 161 85 32 81 155 124 117 225 260 37
16 188 145 86 40 83 156 124 101 226 260 45
17 172 145 87 40 73 157 104 89 227 260 53
18 164 145 88 40 63 158 104 81 228 260 61
19 156 145 89 40 51 159 104 73 229 260 69
20 148 145 90 44 43 160 104 65 230 260 77
21 140 145 91 44 35 161 104 49 231 276 77
22 148 169 92 44 27 162 104 41 232 276 69
23 164 169 93 32 25 163 104 33 233 276 61
24 172 169 94 24 25 164 104 25 234 276 53
25 156 169 95 16 25 165 104 17 235 284 53
26 140 169 96 16 17 166 9 29 236 284 61
27 132 169 97 24 17 167 80 9 237 284 69
28 124 169 98 32 17 168 72 9 238 284 77
29 116 161 99 44 11 169 64 21 239 284 85
30 104 153 100 56 9 170 72 25 240 284 93
31 104 161 101 56 17 171 80 25 241 284 101
32 104 169 102 56 25 172 80 25 242 288 109
33 90 165 103 56 33 173 80 41 243 280 109
34 80 157 104 56 41 174 88 49 244 276 101
35 64 157 105 64 41 175 104 57 245 276 93
36 64 165 106 72 41 176 124 69 246 276 85
37 56 169 107 72 49 177 124 77 247 268 97
38 56 161 108 56 49 178 132 81 248 260 109
39 56 153 109 48 51 179 140 65 249 252 101
40 56 145 110 56 57 180 132 61 250 260 93
41 56 137 111 56 65 181 124 61 251 260 85
42 56 129 112 48 63 182 124 53 252 236 85
43 56 121 113 48 73 183 124 45 253 228 85
44 40 121 114 56 73 184 124 37 254 228 93
45 40 129 115 56 81 185 124 29 255 236 93
46 40 137 116 56 83 186 132 21 256 236 101
47 40 145 117 56 89 187 124 21 257 228 101
48 40 153 118 56 97 188 12 9 258 228 109
49 40 161 119 104 97 189 12 89 259 228 117
50 40 169 120 104 105 190 13 69 260 228 125
51 32 169 121 104 113 191 14 89 261 220 125
52 32 161 122 104 121 192 16 29 262 212 117
53 32 153 123 104 129 193 156 25 263 204 109
54 32 145 124 104 137 194 172 21 264 196 101
55 32 137 125 104 145 195 180 21 265 188 93
56 32 129 126 116 145 196 180 29 266 180 93
57 32 121 127 124 145 197 172 29 267 180 101
58 32 113 128 132 145 198 172 37 268 180 109
59 40 113 129 132 137 199 172 45 269 180 117
60 56 113 130 140 137 200 180 45 270 180 125
61 56 105 131 148 137 201 180 37 271 196 145
62 48 99 132 156 137 202 188 41 272 204 145
63 40 99 133 164 137 203 196 49 273 212 145
64 32 97 134 172 125 204 204 57 274 220 145
65 32 89 135 172 117 205 212 65 275 228 145
66 24 89 136 172 109 206 220 73 276 236 145
67 16 97 137 172 101 207 228 69 277 246 141
68 16 109 138 172 93 208 228 77 278 252 125
69 8 109 139 172 85 209 236 77 279 260 129
70 8 97 140 180 85 210 236 69 280 280 133
Keterangan : C=Kota
X=Koordinat sumbu X Y=Koordinat sumbu Y
3.3. Prosedur Penyelesaian Masalah
Prosedur penyelesaian masalah dalam penelitian ini dapat ditampilkan pada gambar 3.1
Gambar 3.1 Prosedur Penyelesaian Masalah Input :
Data Source TSP
Simple Hill Climbing : 1. Penentuan initial state (kondisi awal) 2. Penentuan successor (kondisi berikut) 3. Penentua goal state (kondisi akhir)
Algoritma Genetika 1. Proses Reproduksi 2. Proses kawin silang 3. Proses Mutasi 4. Proses seleksi 5. Proses evaluasi
Output : Shortest Path
Mulai
Selesai
Pada gambar 3.1 proses penyelesaian masalah secara garis besar diselesaikan dalam dua tahap utama yakni Simple Hill Climbing dan algoritma genetika. Simple Hill Climbing diterapkan pada penentuan kondisi awal (initial state), kondisi berikut yang di bangkitkan dari initial state (succesor) dan kondisi akhir (goal state). Algoritma genetika diterapkan untuk proses lanjutan yaitu proses reproduksi, kawin silang (cross over), mutasi, seleksi dan evaluasi.
Algoritma di atas dapat dijelaskan pada gambar 3.2. C1, C2, C3, C4, C1 adalah representasi kota atau node yang diperoleh dari dataset penelitiaan.
1) Simple Hill Climbing 1.1.Initial state
Pada tahap ini ditentukan initial state atau rute kunjungan awal yaitu semua node pada dataset yang berjumlah 280 node, pada gambar hanya diwakili oleh empat node saja.
Initial state tentu saja memiliki total jarak keseluruhan node yang dikunjungi, misalnya 10.
1.2. Sucessor pertama
Kondisi berikutnya dari initial state dibangkitkan empat sucessor. Setiap sucessor memiliki total jarak masing masing. Rute pertama (C2, C1, C3, C4, C2) memiliki total jarak 8, karena nilai ini lebih baik dari nilai sebelumnya maka akan dijadikan sebagai kondisi sekarang (current state).
1.3. Sucessor kedua
Pada tahap ini juga dibangkitkan sebanyak empat sucessor memiliki total jarak masing masing. Rute pertama (C2, C1, C3, C4, C2) memiliki nilai 11, karena nilai ini tidak lebih baik dari sebelumnya maka rute yang lain akan dievaluasi.
1.4. Sucessor ketiga
Pada tahap ini diperoleh nilai local optimum yang dijadikan sebagai kromosom untuk algoritma genetika. Rute (C1, C4, C3, C2, C1) yang memiliki nilai 4, maka rute ini
yang terpilih menjadi rute terbaik diantara semua rute yang dievaluasi dengan SHC sehingga dijadikan sebagai kromosom bagi proses optimasi selanjutnya.
2) Algoritma genetika.
a. Kromosom
Rute C2, C1, C3, C4, C2 terpilih menjadi rute terbaik diantara semua rute yang dievaluasi dengan SHC sehingga dijadikan sebagai kromosom bagi proses optimasi selanjutnya.
b. Seleksi c. Crossover d. Mutasi
C1, C2, C3, C4,C1
C2, C1, C3, C4,C2 C1, C3, C4, C2,C1 C1, C2, C4, C3,C1 C4, C2, C3, C1,C4
C3, C2, C1, C4,C3 C3, C1, C4, C2,C3 C1, C4, C3, C2,C1 C4, C2, C3, C1,C4
Seleksi
Crossover
Mutasi
C2, C1, C3, C4,C2 C1, C3, C4, C2,C1 C1, C2, C4, C3,C1 C4, C2, C3, C1,C4 1) Simple Hill Climbing
2). Algoritma genetika
1.1 . 1.2
.
1.3 .
1.4 .
2.1 .
a.
b.
c.
(10) 1.
(8)
(11) (6)
(9) (7) (4) (11)
C2, C1, C3, C4,C2 C1, C3, C4, C2,C1 C1, C2, C4, C3,C1 C4, C2, C3, C1,C4
Pada gambar 3.2 terlihat bahwa, pada keadaan awal, lintasan terpilih adalah C1, C2, C3, C4, C1 dengan total jarak=10. Pada level (1.2), Simple Hill Climbing akan mengunjungi C2, C1, C3, C4,C2 dengan total jarak=8. C2, C1, C3 ,C4 ,C2 memiliki nilai heuristik lebih kecil dibandingkan C1, C2 , C3, C4, C1 (8<10), sehingga C2, C1, C3 ,C4, C2 menjadi pilihan selanjutnya.
Pada level (1.3) pilihan pertama yang di kunjungi adalah C2, C1, C3, C4, C2 dengan nilai heuristik=11. C2 ,C1 ,C3, C4 ,C1 memiliki nilai heuristik yang lebih besar atau lebih buruk jika dibandingkan dengan rute sebelumnya yaitu C2 , C1, C3 ,C4, C2 (11>8), sehingga rute ini tidak dipilih dan dilanjutkan dengan mengevaluasi solusi yang lain yang satu level yaitu C1, C3 ,C4 ,C2 ,C1 yang memiliki nilai heuristik=6. C1, C3, C4, C2, C1 Memiliki nilai heuristik yang lebih kecil dibandingkan dengan C2, C1, C3, C4, C2 (6<8), Sehingga C1, C3, C4, C2, C1 menjadi pilihan selajutnya.
Pada level (1.4) solusi pertama yang di evaluasi adalah C2, C1, C3, C4, C2 dengan nilai heuristik=9. Nilai heuristik ini lebih buruk dari solusi sebelumnya yaitu C1, C3, C4, C2, C1 (9>6). Demikian juga dengan solusi selanjutnya yaitu C3, C1,C4, C2, C3 dengan nilai heuristik=7 karena kedua solusi ini memiliki nilai heuristik yang lebih buruk dari C1, C3, C4 ,C2, C1 maka tidak dipilih dan dilanjutkan dengan mengevaluasi C1, C4 ,C3, C2, C1. C1, C4, C3, C2, C1 memiliki nilai heuristik=4 (4<6) maka C1, C4, C3, C2, C1 menjadi pilihan terbaik.
Pada proses menggunakan algortima genetika, kumpulan solusi pada level 1.4 yaitu (C2 ,C1, C3, C4, C2), (C3, C1, C4, C2, C3), (C1, C4, C3, C2, C1), (C4, C2, C3, C1, C4), dijadikan sebagai inisial populasi.Selanjutnya inisial populasi ini akan diproses dalam tahap seleksi, crossover dan mutasi sampai diperoleh solusi akhir.
3.4. Algoritma Sistem
Algoritma sistem yang dirancang pada penelitian ini ditampilkan pada gambar 3.3
Gambar 3.3 Algoritma Sistem Mulai
Tidak
Tampilkan kromosom (Rute) terbaik
Ya Proses crossover
Proses mutasi
Kriteria berhenti dicapai ? Proses seleksi Kriteria fitness
Evaluasi : Evaluasi nilai tujuan
Tidak
Ya
Selesai
Hitung jarak total terpendek SHC
Populasi Awal
3.4.1. Penjelasan algoritma sistem
Pada gambar 3.3 yaitu diagram alir algoritma sistem, inisialisasi populasi dengan menerapakan sebayak 280 individu berupa grup kota yang akan dikunjungi secara random. Pada tahap ini penentuan inisial populasi ditentukan dengan SHC untuk menghubungkan kota-kota yang berdekatan. Penentuan grup kota sebagai initial state pada SHC ditentukan secara acak. Jumlah kota atau node yang diacak ada sebanyak 280 node. Pada level terakhir prosedur simple hill climbing akan dihasilkan solusi terbaik yang di evaluasi berdasarkan nilai fitness yang dimilikinya.
Skema encoding yang akan digunakan adalah permutation encoding. Pada permutation encoding, setiap kromosom terdiri atas deretan angka yang menyatakan posisi kota tersebut.
Hasil proses encoding dapat di perlihatkan pada tabel 3.2.
Pada penelitian ini terdapat 280 individu, setiap individu merepresentasikan jalur yang mungkin dilalui. Pada kasus ini, jalur tersebut disimpan dalam sebuah tabel. Pada tabel tersebut, disimpan kota yang dituju dan kota yang telah dikunjungi. Hal ini dimaksudkan agar setiap kota dapat dikunjungi dan tidak ada kota yang tidak dikunjungi. Pada tabel 3.2, C1, C2, C3,C4,….,C280 adalah kota atau titik yang dikunjungi oleh salesman pada permasalahan Trav eling Salesman Problem. Kromosom tersebut dibangkitkan secara acak atau random.
Tabel 3.2 Tabel encoding
Kromosom Encoding
Kromosom 1
C1, C17, C21, C57, C95, C199, C202, C277, C51, C4, C73, C36, C27, C165, C63, C221, C58, C43, C66, C272, C133, C212, C223, C191, C266, C13, C124, C127, C96, C178, C225, C214, C183, C98, C8, C65, C3, C224, C172, C23, C142, C24, C40, C126, C53, C249, C87, C271, C101, C132, C134, C244, C104, C192, C64, C56, C167, C232, C181, C162, C35, C262, C256, C72, C113, C7, C89, C193, C161, C69, C136, C149, C254, C155, C30, C62, C71, C241, C166, C122, C153, C180, C61, C90, C110, C186, C20, C2, C16, C238, C68, C60, C154, C118, C11, C82, C279, C219, C177, C144, C226, C198, C79, C45, C205, C38, C171, C28, C245, C276, C117, C55, C263, C217, C264, C93, C111, C105, C108, C141, C67, C19,
C80, C33, C267, C227, C275, C255, C59, C47, C203, C168, C54, C251, C213, C211, C173, C280, C123, C99, C270, C94, C159, C229, C209, C190, C46, C150, C265, C120, C231, C48, C240, C175, C85, C242, C197, C151, C164, C236, C152, C109, C5, C77, C158, C49, C88, C269, C204, C130, C188, C12, C44, C18, C207, C260, C257, C157, C139, C114, C184, C125, C210, C50, C179, C246, C31, C91, C116, C129, C15, C222, C135, C75, C92, C100, C121, C208, C200, C250, C170, C206, C237, C52, C41, C81, C259, C42, C248, C86, C76, C187, C140, C194, C32, C239, C243, C102, C137, C160, C215, C230, C148, C268, C163, C25, C247, C235, C216, C138, C84, C119, C195, C147, C220, C278, C273, C131, C261, C22, C196, C182, C106, C112, C252, C115, C26, C14, C185, C258, C169, C83, C218, C174, C143, C37, C201, C9, C29, C70, C78, C189, C228, C10, C74, C6, C97, C156, C146, C176, C253, C39, C34, C234, C274, C128, C233, C107, C145, C103, C1]
Kromosom 2
C1, C35, C117, C156, C26, C190, C51, C48, C71, C21, C280, C28, C126, C261, C257, C189, C152, C14, C130, C50, C157, C9, C216, C206, C131, C31, C27, C209, C127, C268, C140, C185, C240, C121, C66, C213, C83, C139, C79, C18, C148, C227, C217, C254, C188, C184, C204, C122, C279, C92, C20, C165, C187, C210, C270, C129, C39, C264, C110, C120, C101, C3, C19, C81, C112, C103, C235, C166, C133, C176, C17, C104, C211, C230, C218, C109, C15, C234, C248, C271, C60, C123, C22, C99, C46, C25, C141, C125, C242, C108, C76, C8, C212, C258, C203, C49, C249, C238, C272, C95, C154, C221, C243, C193, C16, C158, C144, C164, C201, C241, C147, C74, C143, C145, C93, C90, C106, C96, C207, C260, C266, C64, C105, C12, C191, C55, C40, C42, C37, C198, C61, C274, C225, C98, C182, C171, C178, C62, C100, C170, C54, C63, C89, C36, C29, C142, C84, C169, C179, C220, C41, C168, C146, C2, C161, C138, C233, C4, C174, C181, C232, C7, C11, C149, C202, C34, C24, C177, C77, C94, C53, C118, C236, C114, C32, C151, C253, C69, C91, C132, C116, C124, C208, C13, C88, C70, C153, C192, C267, C43, C67, C180, C58, C226, C223, C47, C87, C57, C222, C134, C137, C167, C119, C163, C80, C159, C237, C97, C160, C196, C44, C107, C65, C150, C162, C30, C197, C265, C186, C52, C245, C115, C175, C250, C247, C135, C275, C244, C224, C277, C194, C256, C199, C229, C200, C219, C231, C172, C259, C255, C38, C128, C56, C45, C269, C6, C205, C10, C82, C73, C183, C59, C273, C85, C72, C262, C23, C251, C111, C136, C86, C214, C5, C263, C195, C113, C276, C246, C252, C215, C68, C75, C78, C278, C102, C173, C155, C33, C228, C239, C1]
3.4.2. Proses evaluasi.
Dalam masalah optimasi pada penelitian ini individu (kromosom) yang bernilai fitness yang tinggi yang akan bertahan hidup atau yang akan terpilih dan kromosom yang bernilai rendah akan mati atau tidak terpilih pada tahap selanjutnya. Karena solusi yang dicari adalah meminimalkan sebuah fungsi h, maka nilai fitness yang dicari adalah kromosom yang memiliki panjang jalur yang pendek, oleh karena itu, rumus untuk mencari nilai fitness pada masalah minimasi ini disajikan pada persamaan (3.1) (Rani & Kumar, 2014)
(3.1)
Keterangan : f = fungsi fitness h = Total jarak
Pada tahap ini koordinat node XY merupakan input. Mula-mula hitung jarak antara node asal (Xstart, Ystart ) dengan node pertama, kemudian jumlahkan dengan jarak-jarak dari setiap node berikutnya. Setelah itu jumlahkan dengan jarak dari node terakhir ke node tujuan (Xend, Yend).
Jarak kartesian dari node satu ke node selanjutnya dihitung dengan persamaan (3.2) (Rani &
Kumar, 2014)
| | (√( ) ( ) )
Keterangan :
C1, C2 = node1 dan node2
X,Y = koordinat node (absis, ordinat)
Setelah didapat total jarak atau panjang jalur satu kromosom, yang terakhir menghitung nilai fitness-nya dengan menggunakan rumus 3.3. Hasilnya disimpan pada variabel fitness yang
(3.2)
merupakan argumen output fungsi. Nilai fitness ini merupakan input bagi proses berikutnya pada program utama.
3.4.3. Proses seleksi
Metode seleksi yang digunakan pada proses seleksi ini adalah metode roulette wheel. Pada tahap ini akan dilakukan penyeleksian kromosom berdasarkan nilai fitness-nya untuk memilih kromosom mana yang akan mengalami proses perkawinan atau pindah silang. Kromosom yang benilai fitness tinggi memiliki kesempatan terpilih lebih besar. Namun, tidak menutup kemungkinan kromosom yang bernilai fitness rendah
akan terpilih juga. Pada proses roulette wheel ini akan dihitung nilai kumulatif dari probabilitas fitness masing-masing kromosom (Rani & Kumar, 2014)
P[i] = fitness[i] / jumlah fitness (3.3) ∑ (3.4)
Keterangan:
P[i] = probabilitas fitness[i]
C[i] = nilai kumulatif indeks ke-i i= indeks kromosom (1,2,3,…n) k= counter (1,2,3,…n)
3.4.4. Crossover
Prosedur pindah silang adalah prosedur untuk mengkawinkan dua induk yang telah dipilih pada proses roulette wheel, namun tidak semua induk akan mengalami pindah silang karena proses pindah silang ini banyak dikendalikan oleh beberapa bilangan random.Pindah silang pada TSP dapat diimplementasikan dengan skema order crossover. Pada skema ini, satu bagian kromosom dipertukarkan dengan tetap menjaga urutan kota yang bukan bagian dari kromosom tersebut. Pada skema order crossover digunakan teknik satu titik potong (one-point crossover), dimana titik potong ini menentukan gen mana saja yang akan dipertukarkan antar induk. Titik potong (TP) diperoleh secara random, gen-gen yang terletak diantara dua titik potong akan saling dipertukarkan antar induk.
3.4.5. Proses Mutasi
Pada kasus TSP ini skema mutasi yang digunakan adalah skema swap mutation. Dengan skema swap mutation ini mutasi dilakukan dengan cara menukarkan gen-gen yang dipilih secara acak
dengan gen yang dipilih secarak acak juga. Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh parameter probabilitas mutasi.
3.4.6. Kondisi selesai
Kondisi selesai dicapai jika setelah beberapa generasi/iterasi berturut-turut nilai fitness terbaik tidak mengalami perubahan kembali.
BAB 4
HASIL DAN PEMBAHASAN
4.1 Pengantar
Penelitian ini menganalisis penerapan algoritma Simple Hill Climbing (SHC) dalam menentukan insial populasi untuk algoritma genetika. Inisial populasi yang baik diharapkan akan membantu algoritma genetika dalam pencarian solusi jarak terpendek dalam kasus TSP.
4.2 Inisialisasi solusi menggunakan SHC
Pada Tabel 4.1, 4.2 dan 4.3 ditampilkan solusi awal (initial solution) yang dicapai menggunakan SHC. Pada lintasan tersebut titik pertama (node 1) dibuat sebagai titik awal (start) sekaligus menjadi titik akhir (finish). Pada percobaan pertama diperoleh nilai total jarak sebesar3596.6, percobaan kedua diperoleh nilai solusi awal sebesar 3494.1 dan pada percobaan ketiga diperoleh nilai solusi awal sebesar3330.9.
4.2.1. Percobaan Pertama
Tabel 4.1. Tabel solusiawal percobaan pertama
Lintasan (Path) Total jarak
[1, 8, 267, 101, 70, 215, 195, 205, 264, 102, 158, 208, 54, 78, 251, 36, 148, 266, 183, 224, 75, 172, 202, 96, 210, 212, 255, 171, 64, 203, 185, 220, 81, 24, 128, 126, 89, 241, 234, 263, 231, 196, 106, 52, 49, 142, 160, 26, 88, 105, 35, 190, 94, 62, 252, 194, 179, 229, 273, 134, 93, 127, 165, 123, 67, 269, 254, 44, 222, 22, 277, 246, 156, 237, 268, 265, 95, 186, 211, 119, 207, 57, 18, 178, 3, 168, 145, 114, 191, 272, 116, 161, 117, 45, 140, 227, 66, 16, 61, 32, 253, 46, 92, 238, 249, 275, 98, 250, 91, 138, 4, 47, 242, 232, 34, 150, 139, 6, 174, 198, 53, 173, 244, 274, 76, 270, 77, 245, 68, 17, 233, 262, 112, 107, 180, 258, 80, 236, 9, 69, 110, 199, 149, 41, 137, 87, 176, 217, 103, 230, 256, 223, 146, 121, 280, 167, 147, 239, 56, 235, 118, 131, 79, 155, 260, 82, 271, 37, 115, 132, 38, 100, 124, 72, 85, 84, 159, 111, 218, 133, 187, 23, 19, 136, 216, 163, 143, 276, 71, 10, 55, 151, 164, 43, 226, 166, 5, 141, 99, 181, 248, 30, 104, 214, 204, 193, 240, 261, 125, 59, 25, 73, 213, 169, 14, 200, 130, 201, 31, 108, 2, 197, 257, 162, 259, 86, 247, 120, 221, 50, 29, 39, 83, 228, 184, 74, 152, 33, 243, 225, 27, 63, 153, 206, 189, 135, 279, 20, 97, 278, 122, 11, 177, 90, 109, 175, 15, 12, 219, 13, 113, 170, 157, 21, 209, 48, 154, 129, 40, 7, 192, 58, 182, 144, 60, 188, 65, 51, 42, 28, 1]
3596.6
Pada tabel 4.2 disajikan tabel pencarian solusi untuk SHC. Dengan menerapkan 20 iterasi maka diperoleh solusi SHC pada iterasi ke 10 dengan nilai total jarak31618.0
Tabel 4.2. Pencarian solusi dengan SHC
Iterasi Cost function operator Path minimum 1
2 3 4 5 6 7 8 9
34371.0 33380.0 33823.0 32794.0 33763.0 34045.0 34869.0 32748.0 34781.0
min(1,2) min(2,3) min(3,4)
min(4,5) min(5,6) min(6,7) min(7,8) min(8,9) min(9,10)
33380.0 33380.0 32794.0 32794.0 32794.0 32794.0 32794.0 32794.0 31618.0
10 11 12 13 14 15 16 17 18 19 20
31618.0 32332.0 33323.0 34668.0 32100.0 31798.0 34354.0 34030.0 33850.0 33792.0 32019.0
min(10,11) min(11, 12) min(12,13) min(13,14) min(14,15) min(15,16) min(16,17) min(17,18) min(18,19) min(19,20)
31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0 31618.0
Pada tabel di atas, setiap iterasi memiliki cost function berupa total jarak yang ditempuh sesuai dengan dataset yang diterapkan. Iterasi pertama memiliki cost function sebesar 34371.0 dan iterasi ke dua sebesar 33380.0. Kedua cost function tersebut dievaluasi dengan operator fungsi untuk mencari nilai yang paling minimum. Operator yang digunakan adalah min (1,2)yang bertujuan untuk mengevaluasi nilai cost function iterasi pertama dengan iterasi ke dua. Path minimum adalah nilai current solution yang diperoleh selama evaluasi cost function.
Dari tabel 4.2 disajikan bahwa nilai cost function terbaik adalah 31618.0.Nilai ini akan dijadikan sebagai populasi awal untuk Algoritma genetika
4.2.2. Percobaan kedua
Tabel 4.3.Tabel solusiawal percobaan kedua
Lintasan (Path) Total Jarak
[1, 120, 44, 248, 189, 40, 103, 212, 35, 211, 19, 160, 223, 185, 232, 36, 100, 181, 55, 221, 132, 165, 59, 275, 169, 18, 49, 156, 149, 124, 131, 227, 17, 126, 150, 130, 262, 127, 148, 47, 201, 167, 98, 65, 57, 194, 164, 13, 260, 245, 83, 264, 111, 214, 8, 26, 85, 106, 62, 21, 271, 60, 256, 14, 141, 166, 243, 154, 15, 277, 66, 176, 224, 270, 258, 27, 88, 84, 196, 75, 219, 240, 76, 52, 182, 246, 222, 244, 20, 215, 168, 184, 50, 205, 99, 37, 89, 279, 259, 68, 250, 269, 230, 229, 170, 87, 144, 122, 56, 93, 46, 265, 117, 135, 152, 186, 23, 143, 118, 200, 109, 123, 67, 112, 272, 225, 121, 188, 274, 70, 280, 153, 190, 34, 237, 81, 110, 39, 10, 179, 140, 90, 136, 236, 92, 3, 267, 195, 203, 158, 162, 217, 4, 61, 261, 69, 146, 172, 142, 183, 38, 157, 138, 119, 48, 238, 77, 43, 151, 171, 79, 177, 95, 218, 63,
3494.1