Algoritma Genetika untuk menyelesaikan TSP
Untuk menghitung jarak antar dua kota
digunakan fungsi Eucidean pada Persamaan 1,
sehingga jarak antar kota ditunjukkan pada tabel 3.2.
Tabel 3.2 Jarak Antar Kota
Jarak Kendal Semarang Batang
Banjarnegera Purwokerto
Kendal 0.228
0.472 0.703
1.087
Semarang 0.228
0.695 0.839
1.258
Batang 0.472
0.695 0.494
0.715
Banjarnegera
0.703
0.839 0.494
0.447
Purwokerto
1.087 1.258
0.715 0.447
Pembentukan populasi awal
Pembentukan populasi awal dibentuk secara acak dari kromosom sebanyak jumlah populasi, pada penyelesaian yang dihasilkan oleh algoritma genetika pada
generasi pertama didapat dari penjumlahan jarak semua kota yang dikunjungi oleh salesman menggunakan persamaan 2.2. Pembentukan populasi awal dengan 4
populasi, ditunjukkan pada Tabel 3.3.
Tabel 3.3 Populasi Awal
Kromosome Representasi Path
Kendal Purwokerto Banjarnegera Semarang Batang Batang Semarang Purwokerto Banjarnegera Kendal
Banjarnegera Kendal Purwokerto Semarang Batang Batang Semarang Kendal Banjarnegera Purwokerto
Evaluasi
Proses evaluasi dilakukan dengan fungsi fitness, kromosom dengan nilai fitness tertinggi merupakan kromosom terbaik. Dalam permasalahan TSP fungsi
fitness tidak dapat didefinisikan secara langsung dari fungsi objektif karena TSP merupakan masalah pencarian nilai minimum. Oleh karena itu fungsi fitness
merupakan kebalikan inverse dari fungsi objektif, sehingga,
Semakin kecil fungsi objektif maka semakin besar fungsi fitness, dalam permasalahan TSP untuk meminimalkan jarak maka perlu memaksimalkan fungsi
fitnessnya. Hasil pemetaan fungsi objektif ke fungsi fitness dari populasi awal terlihat pada Tabel 3.4.
Tabel 3.4 Inverse fungsi objektif ke fungsi fitness
Kromosom
3.542 0.282
3.577 0.279
4.239 0.235
2.790 0.358
Elitism
Pada tahap ini kromosom terbaik disimpan untuk menghindari kromosom terbaik yang hilang selama proses crossover dan mutasi. Dari populasi awal
kromosom ,
merupakan kromosom terbaik dengan nilai fitness terbesar. Selanjutnya ada 3 kromosom yang akan dihasilkan melalui proses crossover dan mutasi.
Seleksi
Proses seleksi memilih dua orang tua dari populasi menggunakan seleksi turnamen. Dalam seleksi turnamen memilih kromosom dalam populasi secara
acak sebanyak ukuran turnamen, kemudian dari kromosom tersebut dipilih satu yang terbaik. Ukuran turnamen adalah 3, kromosom acak dari populasi adalah
kemudian pilih yang terbaik dari kromosom acak menggunakan metode evaluasi. Jadi kromosom
merupakan yang terbaik dan dijadikan sebagai parent1. Untuk mendapatkan parent2 dilakukan prosedur seleksi yang sama
seperti mendapatkan parent1.
Crossover
Hasil dari seleksi kemudian dipindah silang menggunakan order crossover. Setelah operator penyilangan, kromosom-kromosom hasil penyilangan akan
dilakukan proses mutasi.
Mutasi
Gen akan terkena mutasi jika bilangan random r yang dibangkitkan untuk gen yang bersangkutan kurang dari probabilitas mutasi Pm. Untuk selanjutnya
genkota yang terpilih akan ditukar letaknya dengan genkota lain secara acak yang terdapat pada kromosom yang sama. Hasil proses mutasi terdapat dalam
Tabel 3.5.
Tabel 3.5 Populasi Baru
Kromosom
Representasi Path
Semarang Kendal Banjarnegera Purwokerto Batang 2.790
Semarang Kendal Banjarnegera Purwokerto Batang 2.790
Purwokerto Semarang Batang Kendal Banjarnegera 3.577
Semarang Banjarnegera Batang Purwokerto Kendal 3.366