Algoritma genetika adalah algoritma
komputasi yang diinspirasi teori evolusi yang kemudian diadopsi menjadi
algoritma komputasi yang biasa digunakan untuk memecahkan suatu pencarian nilai
dalam sebuah masalah optimasi. Algoritma ini didasarkan pada proses genetik
yang ada dalam makhluk hidup yaitu perkembangan generasi dalam sebuah populasi
yang alami, secara lambat laun mengikuti prinsip seleksi alam atau “siapa yang
kuat, dia yang bertahan (survive)”.
Dengan meniru teori evolusi ini, algoritma genetika dapat digunakan untuk
mencari solusi permasalahan-pemasalahan dalam dunia nyata.
Algoritma genetika diperkenalkan
pertama kali oleh John Holland pada tahun 1975 dari Universitas Michigan. John
Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun
buatan) dapat diformulasikan ke dalam terminologi genetika. Kemudian pada tahun
1989, Goldberg mendefinisikan algoritma
genetika ini sebagai suatu pencarian algoritma berdasarkan pada mekanisme
seleksi alam. Sifat algoritma genetika adalah mencari kemungkinan-kemungkinan
dari calon solusi untuk mendapatkan yang optimal bagi penyelesaian masalah.
Algoritma genetika bergerak dari
suatu populasi kromosom ke populasi baru dengan menggunakan 3 operator yaitu
seleksi, crossover dan mutasi.
Algoritma genetika bekerja dari populasi yang merupakan solusi yang dihasilkan
secara acak. Setiap anggota himpunan yang merepresentasikan satu solusi masalah
disebut kromosom. Kromosom dalam suatu populasi berevolusi dalam iterasi fungsi evaluasi (fitness function). Pada algoritma
genetika, fitness biasanya dapat
berupa fungsi objektif dari masalah yang akan dioptimalisasi.
Kromosom-kromosom diseleksi menurut
nilai fitness masing-masing. Kromosom
yang kuat mempunyai kemungkinan tinggi untuk bertahan hidup pada generasi
berikutnya, tetapi tidak menutup kemungkinan juga bagi kromosom lemah untuk
tetap bertahan hidup.
Proses seleksi tersebut kemudian
ditentukan oleh kromosom-kromosom baru (offspring)
melalui proses crossover dan mutasi
dari kromosom yang terpilih (parents).
Dari dua proses tersebut di atas maka terbentuk suatu generasi baru yang akan
diulangi terus-menerus hingga mencapai suatu konvergensi, yaitu sebanyak
generasi yang diinginkan.
Struktur
Umum Algoritma Genetika
Secara umum struktur dari suatu
algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut :
Gambar Diagram Alir Algoritma genetika sederhana
Keterangan :
1.
Populasi awal
Proses ini merupakan proses yang
membangkitkan populasi awal secara random
sehingga didapatkan solusi awal.
2.
Evaluasi fitness
Proses ini merupakan proses untuk
menghitung nilai fitness setiap
kromosom dan mengevaluasinya sampai
terpenuhi kriteria berhenti.
3.
Seleksi
Proses seleksi merupakan proses untuk
menentukan individu-individu yang akan dipilih untuk dilakukan crossover.
Proses crossover
ini merupakan proses untuk menambah keanekaragaman string dalam satu populasi.
5.
Mutasi
Mutasi merupakan proses mengubah nilai dari
satu atau beberapa gen dalam suatu
kromosom.
6.
Kriteria berhenti
Kriteria berhenti merupakan kriteria yang
digunakan untuk menghentikan proses algoritma genetika. Beberapa kriteria
berhenti yang sering digunakan antara lain:
a. Berhenti
pada generasi tertentu.
b. Berhenti
setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness
tertinggi tidak berubah.
c. Berhenti
bila dalam n generasi berikut tidak
didapatkan nilai fitness yang lebih
tinggi.
7.
Hasil
merupakan solusi optimum yang didapat algoritma genetika.
Sumber :
Zukhri, Zainuddin.
2014. Algoritma Genetika Metode Komputasi
Evolusioner Untuk Menyelesaikan Masalah Optimasi. Yogyakarta: Andi.
Komentar
Posting Komentar