�
�,�
= ���
�
− �
�
�
2
+ ��
�
− �
�
�
2
keterangan: x
i
x = koordinat x kota i
j
y = koordinat x kota j
i
y = koordinat y kota i
j
= koordinat y kota j
Nilai probabilitas crossover Pc yang digunakan yaitu 0,25 0,50 dan 1 dimana dipilih dari nilai Pc yang berskala kecil, sedang dan tinggi sebagai nilai untuk pengujian dari
masing-masing data.
3.3 Algoritma Genetika pada Travelling Salesman Problem TSP
Adapun prosedur kerja dari penelitian ini dapat dilihat secara keseluruhan pada Gambar 3.1 di bawah ini
Gambar 3.1 Metode Penelitian
3.3.1 Dasar Algoritma Genetika Dalam algoritma genetika terdapat beberapa proses atau tahapan yang harus
dilakukan.Pada Gambar 3.2 diperlihatkan proses yang terdapat pada algoritma genetika
Input: Data
eil51 dan Proses:
Mendefinisikan Individu Pembangkitan Populasi Awal
Hitung nilai fitness Seleksi
CrossoverPartially mapped crossover
PMX Umum,PMX I,PMX II Output:
Pengaruh pemetaan pada
PMX dalam i
b t
Universitas Sumatera Utara
Start Data:
TSPLIB Representasiencoding ke dalam
bentuk path representation Tentukan:
- ukuran populasi population sizeN - jumlah generasi
- probabilitas crossover p
c
- probabilitas mutasi p
m
Bangkitkan populasi awal inisialisasi populasi secara acak
Hitung fitness dari masing-masing kromosom
Apakah kriteriasyarat terminasi terpenuhi?
Pilih kromosom untuk dijadikan parent sesuai dengan metode seleksi yang
dipakai Kawinkan sepasang parent yang
sudah dipilih pada tahap seleksi dengan memperhatikan probabilitas
crossover p
c
sehingga menghasilkan offspring
Ubah secara acak nilai gen pada offspring dengan memperhatikan
probabilitas mutasi p
m
Apakah ukuran populasi yang baru = N populasi sebelumnya?
Gantikan populasi kromosom sekarang dengan populasi kromosom
baru untuk membentuk generasi selanjutnya
Tempatkan offspring kromosom hasil dari proses mutasi pada populasi
baru End
Ya Tidak
Ya Tidak
Gambar 3.2 Dasar Algoritma Genetika
Pada algoritma genetika terdapat proses crossover dimana pada proses ini terjadi pertukaran gen antara kromosom induk. Pada penelitian ini penulis pengaruh
menganalisis mapping dari ketiga bentuk variasi PMX. Berikut ini Flowchart Partially Mapped Crossover PMX Umum, PMX Variasi I dan PMX Variasi II dapat dilihat
pada Gambar 3.3, 3.4 dan 3.5 dibawah ini. Mulai
Tentukan nilai Pc
Pilih kromosom induk
Universitas Sumatera Utara
tidak ya
Gambar 3.3 Flowchart Partially Mapped Crossover PMX Umum
Mulai
Tentukan nilai Pc
Pilih kromosom induk
Tentukan titik potong yang berbeda pada dua kromosom Induk
Universitas Sumatera Utara
ya
Gambar 3.4 Flowchart Partially Mapped Crossover PMX Variasi I Tidak
Tentukan Pc
Pilih Kromosom Induk
Tentukan titik potong pada posisi yang sama pada dua kromosom Induk
Ganti daerah mapping pada pinggir kromosom induk gen
Mulai
Universitas Sumatera Utara
tidak ya
Gambar 3.5 Flowchart Partially Mapped Crossover PMX Variasi II
3.3.2. Mendefenisikan Individu Pada pendefenisian individu yang akan dilakukan adalah teknik penyandian
gen dan kromosom. Gen merupakan bagian dari kromosom. Satu gen diwakili oleh satu variabel. Kromosom-kromosomindividu-individu adalah kumpulan angka yang
mewakili posisi kota dalam sebuah rangkaian urutan. Dengan kata lain, sebuah kromosomindividu itu mewakili sebuah urutan kota yang dikunjungi salesman. Jadi
apabila satu kromosom berbentuk: �
1
= �
1
, �
2
, �
3
, … , �
�
artinya salesman bergerak dari kota bernomor
�
1
ke �
2
dst hingga ke �
�
Universitas Sumatera Utara
3.3.3 Pembangkitan Populasi Awal Rumus Pembangkitan Inisialisasi Populasi dengan menggunakan
Pembangkitan Bilangan Random :
������ ��, � Contoh:
������ 8, 10 artinya dibangkitkan 10 kromosom dalam 1 populasi,dimana dalam 1 kromosom terdapat 8 gen. Misalnya didapatkan :
Tabel 3.2 Pembentukan Populasi awal Kromosom
Total Jarak Fitness
Individu 1: 5 2 7 1 3 4 8 6 27,031
0,036 Individu 2: 8 1 3 4 6 5 7 2
26,042 0,0383
Individu 3: 3 6 7 2 4 5 1 8 30,423
0,0328 Individu 4: 1 4 6 7 8 2 5 3
30,254 0,0330
Individu 5: 7 2 6 4 5 8 3 1 29,906
0,0334 Individu 6 : 6 1 8 5 2 3 4 7
31,326 0,0319
Individu 7: 4 8 2 1 3 7 6 5 32,826
0,0304 Individu 8: 1 7 4 5 3 6 8 2
39,003 0,0256
Individu 9: 1 6 2 8 5 4 7 3 32,815
0,0304 Individu 10: 5 3 2 6 1 4 8 7
33,436 0,0299
3.3.4 Seleksi Metode seleksi yang dipergunakan dalam penelitian ini adalah Roulete Wheel
Selection. Sebelum dilakukan seleksi harus dihitung terlebih dahulu nilai fitness dari masing-masing kromosom.
Persamaan untuk menghitung nilai fitness adalah : Fitness = 1TotalJarak ……………….....................................................................3.1
Universitas Sumatera Utara
Semakin besar jarak maka semakin kecil nilai fitness dan sebaliknya jika semakin kecil jarak makan semakin besar nilai fitness.
Seleksi Roda Roullete :
1. Hitung Total Fitness Total Fitness dihitung dengan menggunakan persamaan :
TotalFitness = Σ Fk ………………........................................................................3.2 dimana: k = 1, 2, 3 .... , ukuran populasi
0,036+0,0383+0,0328+0,0330+0,0334+0,0319+0,0304+0,0256+0,0304+0,0299 =0,3217
2. Hitung fitness relatif tiap individu Untuk menghitung fitness tiap individu digunakan persamaan :
Pk = Fk TotalFitness ……………………............................................................ 3.3. dimana:
Pk = fitness relatif tiap-tiap kromosom Fk = fitnes tiap kromosom
individu ke -1 =
0,036 0,3217
=0,1119 individu ke -6 =
0,0319 0,3217
=0,0991 individu ke -2 =
0,0383 0,3217
= 0,1119 individu ke -7 =
0,0304 0,3217
=0,0945 individu ke -3 =
0,0328 0,3217
=0,1019 individu ke -8 =
0,0256 0,3217
=0,0795 individu ke -4 =
0,0330 0,3217
=0,1025 individu ke -9=
0,0304 0,3217
=0,0945 individu ke -5 =
0,0334 0,3217
=0,1038 individu ke -10=
0,0299 0,3217
=0,0929 3. Hitung fitness kumulatif
q1 = p1 qk = qk-1 + pk ; k = 2,3, ....popsize
q1 = 0,1119 q2 = 0,1119+0,1119=0,2238
q3= 0,1119+0,1119+0,1019=0,3257 q4=0,1119+0,1119+0,1019+0,1025=0,4282
q5=0,1119+0,1119+0,1019+0,1025+0,1038=0,532
Universitas Sumatera Utara
q6=0,1119+0,1119+0,1019+0,1025+0,1038+0,0991=0,6311 q7=0,1119+0,1119+0,1019+0,1025+0,1038+0,0991+0,0945=0,7256
q8=0,1119+0,1119+0,1019+0,1025+0,1038+0,0991+0,0945+0,0795=0,8051 q9=0,1119+0,1119+0,1019+0,1025+0,1038+0,0991+0,0945+0,0795+0,0945=0,8996
q10=0,1119+0,1119+0,1019+0,1025+0,1038+0,0991+0,0945+0,0795+0,0945+0,0929 =0,9925
3.3.5 Partially Mapped Crossover PMX dan Variasinya Crossover dilakukan atas 2 kromosom induk untuk menghasilkan kromosom anak.
Kromosom anak yang terbentuk akan mewarisi sebagian sifat induknya. Prosedur untuk memilih parent mana yang akan mengalami proses crossover :
1. Tentukan probabilitas crossover. 2. Bangkitkan bilangan random 0 sampai 1 sebanyak i jumlah kromosom dalam
satu populasi. 3. Bandingkan bilangan random itu dengan probabilitas crossover Pc.
4. Induk terpilih bila bilangan r yang ke-i kurang atau sama dengan probabilitas crossover Pc.
5. Bila induk yang terpilih jumlahnya hanya satu maka proses ini diulang sampai jumlah induk lebih dari satu.
Procedure Crossover
inputpopulasi: integer, ρc: real {melakukan pemilihan induk pada proses crossover}
Deklarasi k : integer
R[] : array of integer Function random input a-b:integer:integer
{menghasilkan bilangan random bilangan a hingga b} Algoritma
Universitas Sumatera Utara
k= 0 While k = populasi do
R[k] random0-1 If R[k] ρc then
Select Kromosom[k][] Parrent end if
k k+1 end while
Procedure CrossoverPMX1
inputpopulasi: integer, ρc: real {melakukan pemilihan induk pada proses cross over}
Deklarasi k : integer
R[] : array of integer Function random input a-b:integer
integer {menghasilkan bilangan random bilangan a hingga b} Algoritma
k= 0 While k = populasi do
R[k] random0-1 If R[k] ρc then
pilih Kromosom[k][] sebagai induk Parrent1=Kromosom[k+1]
Parrent2=Kromosom[k+2] Gen1[k+1]=left2
Gen2[k+1]=right2 Gen1[k+2]=left3
Gen2[k+2]=right1 Create Mapping
Gen1[k+1] Gen1[k+2] Gen2[k+2] Gen1[k+1]
end if
Universitas Sumatera Utara
k k+1 end while
Procedure CrossoverPMX2
inputpopulasi: integer, ρc: real {melakukan pemilihan induk pada proses cross over}
Deklarasi k : integer
R[] : array of integer Function random input a-b:integer:integer
{menghasilkan bilangan random bilangan a hingga b} Algoritma
k= 0 While k = populasi do
R[k] random0-1 If R[k] ρc then
pilih Kromosom[k][] sebagai induk Parrent1=Kromosom[k+1]
Parrent2=Kromosom[k+2] Gen1[k+1]=left2
Gen2[k+1]=right3 Gen1[k+2]=left2
Gen2[k+2]=right3 Create Mapping
MidGen1[k+1],3,3 midGen1[k+2],3,3 MidGen2[k+2],3,3 midGen1[k+1],3,3
end if k k+1
end while
a. Bentuk PMX secara umum: