• Tidak ada hasil yang ditemukan

D. ALGORITMA GENETIKA

3. Operator-operator Algoritma Genetika

Proses dalam algoritma genetika menggunakan inisial populasi yang akan digunakan sebagai input. Proses pada algoritma genetika tersebut terdiri dari beberapa operator, yaitu seleksi, reproduksi, penyilangan, dan mutasi untuk menghasilkanprogenies (sebagai kandidat generasi berikutnya untuk mengatasi masalah optimasi). Progenies akan dievaluasi dan dicoba untuk hasil akhir. Jika kriteria hasil akhir telah ditemukan maka ketiga operator tersebut dapat diiterasikan ke dalam populasi, kemudian prosedur akan dilanjutkan sampai pada kriteria hasil akhir pada populasi. Prosedur akan terus dilanjutkan sampai pada penemuan hasil akhir. Di dalam iterasi dari operasi-operasi yang berlaku yaitu untuk menghasilkan keturunan yang disebut sebagai sebuah generasi penemuan akhir dari algoritma genetika (Bagchi, 1999).

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

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 nilaifitness

(Hopgood, 2001).

b. Penyilangan

Penyilangan atau crossover juga dikenal sebagai rekombinasi. Operasi penyilangan akan mengalami pertukaran informasi di antara string-string yang ada di dalammating 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 dinamakanmapping 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 buahmapping section.

Langkah 4 :

Legalkanoffspring(kromosom anak) hasilmapping relationship.

Contoh ilustrasi pengaplikasian prosedur PMX terdapat pada Gambar 5 berikut ini :

Langkah 1 :

Pilihmapping section secara acak pada dua buah kromosom induk.

Langkah 2 :

Pertukarkanmapping section antara dua kromosom induk sehingga menghasilkan dua kromosom anak.

Langkah 3 :

Tentukanmapping relationshipantara dua buahmapping section.

Langkah 4 :

Legalkanoffspring(kromosom anak) hasilmapping relationship.

Gambar 5.Ilustrasi prosedur PMX (Gen dan Cheng, 1997) 4 9 2 5 3 1 6 Parent1 1 2 3 4 5 6 7 8 9 Parent2 5 4 6 9 2 1 7 8 3 Offspring2 5 4 3 4 5 6 7 8 3 Offspring1 1 2 6 9 2 1 7 8 9 3 4 5 6 6 9 2 1 Offspring2 2 9 3 4 5 6 7 8 1 Offspring1 3 5 6 9 2 1 7 8 4

c. Mutasi

Mutasi adalah operator pendukung dalam algoritma genetika yang melakukan perubahan acak secara spontan pada struktur kromosom. Mutasi akan menghasilkan kromosom anak dengan satu atau lebih gen (string) yang berubah. Dalam algoritma genetika, mutasi sangat berperan penting, diantaranya adalah (a) menempatkan kembali kromosom-kromosom yang telah hilang dari populasi akibat proses seleksi dan (b) memunculkan kromosom-kromosom yang belum pernah ada pada populasi sebelumnya (Gen dan Cheng, 1997).

Peluang mutasi (Pm) didefinisikan sebagai persentase kromosom yang akan mengalami mutasi terhadap total kromosom di dalam populasi. Mutasi akan mencoba memunculkan kromosom baru pada sebuah populasi. Jika peluang mutasi terlalu kecil maka banyak kromosom yang memiliki potensi (nilaifitnessyang tinggi) tidak akan pernah muncul. Akan tetapi, apabila peluang mutasi terlalu besar maka akan banyak bermunculan kromosom yang kemungkinan tidak memiliki potensi dalam pencapaian solusi optimum, kromosom anak (offspring) akan kehilangan kemiripan dengan kromosom induk yang memiliki potensi pada populasi sebelumnya dan algoritma genetika akan kehilangan kemampuan untuk belajar dari proses pencarian yang lalu (Gen dan Cheng, 1997).

NilaiPmyang digunakan biasanya sangat kecil (berkisar antara 0,001 – 0,2). Proses mutasi akan terjadi pada suatu gen, jika suatu bilangan yang dibangkitkan secara acak r, 0 r 1, nilainya kurang dari atau sama denganPm (Syarif dan Mitsuo, 2003).

Beberapa operator mutasi yang digunakan pada permutation representation adalah inversion mutation (mutasi inversi), insertion mutation (mutasi penyisipan), displacement mutation (mutasi pemindahan), dan reciprocal exchange mutation (mutasi penukaran balik). Ilustrasi proses mutasi dapat dilihat pada gambar-gambar di bawah ini (Gambar 6 – 9) :

Gambar 6. Ilustrasiinversion mutation(mutasi inversi) (Gen dan Cheng, 1997)

Gambar 7. Ilustrasiinsertion mutation(mutasi penyisipan) (Gen dan Cheng, 1997)

Gambar 8. Ilustrasidisplacement mutation(mutasi pemindahan) (Gen dan Cheng, 1997)

Gambar 9. Ilustrasireciprocal exchange mutation(mutasi penukaran balik) (Gen dan Cheng, 1997)

Dokumen terkait