a. Seleksi dan Reproduksi
Algoritma genetika selalu diawali dengan seleksi secara acak dari populasi dan kemudian dijadikan inisial solusi string acak dari
populasi yang menampilkan sebuah variabel keputusan dari masalah yang ada. Masing-masing inisial string dievaluasi sampai pada sebuah
pencarian nilai fitness. Jika masalah kepuasan berdasarkan beberapa kemampuan penerimaan atau pemberhentian pada kriteria yang dicari
sudah ditemukan maka pencarian akan dihentikan Bagchi, 1999. Reproduksi selalu dilakukan oleh operator pertama yang
diaplikasikan pada sebuah keberadaan populasi untuk menciptakan progenies. Reproduksi dimulai dengan mencari kromosom induk yang
baik dari mating pool. Hal penting dari reproduksi adalah memilih kromosom dengan fitness di atas rata-rata dari keberadaan populasi
yang ada dan memasukkan ke dalam mating pool. Hasil dari seleksi populasi dengan nilai fitness rata-rata yang lebih baik yang akan
berlaku sebagai kromosom induk untuk generasi berikutnya Bagchi, 1999.
Goldberg 1989 memperkenalkan teknik seleksi dalam algoritma genetika, salah satunya adalah teknik seleksi cakram rolet
roulette wheel selection. Teknik seleksi ini diilustrasikan sebagai teknik pemutaran cakram rolet. Suatu slot pada cakram rolet ditempati
oleh setiap kromosom di dalam sebuah populasi. Ukuran slot sama dengan rasio antara nilai fitness suatu kromosom dengan total nilai
fitness semua kromosom.
Gambar 4. Ilustrasi proses seleksi kromosom induk Magnin di dalam
Gunawan, 2003 Teknik seleksi lainnya adalah seleksi turnamen tournament
selection. Seleksi ini akan membandingkan antara dua buah kromosom dalam populasi yang dipilih secara acak. Salah satu dari
kromosom akan terpilih apabila memenuhi atau mendekati nilai fitness Hopgood, 2001.
b. Penyilangan
Penyilangan atau crossover juga dikenal sebagai rekombinasi. Operasi penyilangan akan mengalami pertukaran informasi di antara
string-string yang ada di dalam mating pool untuk menciptakan string- string sebagai solusi. Representasi string yang ada berisi informasi
yang terdiri dari gen-gen dengan bit yang merupakan string. Untuk contohnya, string dengan 010111 akan mempunyai informasi spesifik
dengan 6 posisi yang jelas berbeda, seperti yang dilakukan kromosom dalam genetika alam. Di dalam penyilangan, dua string dapat diambil
dari mating pool dan beberapa porsi dari string-string ini akan saling bertukaran. Implementasi penyilangan ini secara umum akan
menggunakan satu titik untuk proses penyilangan dimana terjadi penyilangan secara acak yang merupakan pemilihan secara acak
sepanjang string yang ada dan semua bit-bit akan menyebrang dan saling bertukaran Bagchi, 1999.
Penyilangan merupakan operator primer dalam algoritma genetika. Tingkat penyilangan atau peluang penyilangan Pc adalah
rasio antara jumlah kromosom yang diharapkan mengalami penyilangan dalam setiap generasi dengan jumlah kromosom total
dalam populasi. Tingkat penyilangan yang tinggi menyebabkan semakin besarnya kemungkinan algoritma genetika mengeksplorasi
ruang pencarian sekaligus mempercepat ditemukannya solusi optimum. Akan tetapi jika tingkat penyilangan terlalu tinggi juga
kurang efisien. Penentuan nilai Pc yang tepat sangat tergantung pada permasalahan yang dihadapi Gunawan, 2003.
Nilai Pc biasanya cukup tinggi berkisar antara 0,6 – 1. Proses penyilangan akan terjadi pada sepasang kromosom jika suatu bilangan
yang dibangkitkan secara acak r, 0 r 1, nilainya kurang dari atau sama dengan Pc. Bilangan acak tersebut dibangkitkan setiap kali akan
menyilangkan sepasang kromosom. Tingkat penyilangan yang tinggi menyebabkan semakin besar kemungkinan algoritma genetika
mengeksplorasi ruang pencarian sekaligus mempercepat ditemukannya solusi optimum. Peluang penyilangan yang tepat dan efektif hanya
dapat diketahui melalui pengujian atau percobaan khusus terhadap masalah yang bersangkutan Syarif dan Mitsuo, 2003.
Operator penyilangan yang diperkenalkan oleh Holland 1975 adalah one-point crossover penyilangan satu titik, yang biasa
digunakan untuk kromosom dengan representasi biner. Beberapa operator penyilangan telah diperkenalkan untuk digunakan pada
permutation representation, seperti partial-mapped crossover PMX, order crossover OX, cycle crossover CX, position-based crossover,
order-based crossover, dan heuristic crossover Gen dan Cheng, 1997.
Goldberg dan Lingle 1985 telah memperkenalkan teknik PMX sebagai salah satu operator penyilangan. Teknik tersebut
merupakan kelanjutan perbaikan dari penyilangan dua titik two-point crossover pada permutation representation. PMX digunakan untuk
memperbaiki prosedur adanya kromosom illegal dari penyilangan dua titik. Prosedur PMX adalah sebagai berikut :
Langkah 1 :
Pilih dua buah posisi string secara acak pada dua kromosom induk yang akan disilangkan. String-string yang berada di antara dua buah
posisi tersebut dinamakan mapping section.
Langkah 2 :
Pertukarkan dua buah mapping section antara dua kromosom induk sehingga dihasilkan kromosom anak offspring.
Langkah 3 :
Tentukan mapping relationship hubungan pemetaan di antara dua buah mapping section.
Langkah 4 :
Legalkan offspring kromosom anak hasil mapping relationship. Contoh ilustrasi pengaplikasian prosedur PMX terdapat pada Gambar
5 berikut ini :
Langkah 1 :
Pilih mapping section secara acak pada dua buah kromosom induk.
Langkah 2 :
Pertukarkan mapping section antara dua kromosom induk sehingga menghasilkan dua kromosom anak.
Langkah 3 :
Tentukan mapping relationship antara dua buah mapping section.
Langkah 4 :
Legalkan offspring kromosom anak hasil mapping relationship.
Gambar 5. Ilustrasi prosedur PMX Gen dan Cheng, 1997
4 9
2 5
3 1
6 Parent 1
7 8
9 1
2 3
4 5
6 Parent 2
7 8
3 5
4 6
9 2
1
Offspring 2 7
8 3
5 4
3 4
5 6
Offspring 1 7
8 9
1 2
6 9
2 1
3 4
5 6
6 9
2 1
Offspring 2 7
8 1
2 9
3 4
5 6
Offspring 1 7
8 4
3 5
6 9
2 1
c. Mutasi