Latar Belakang Biologi Struktur Umum Algoritma Genetika

Gambar 3.2.1. Ilustrasi Algoritma Genetika mutation 00110 1 1001 00110 1001 crossover 110010 1010 101110 1110 1100101110 1011101010 solutions evaluation 1100101110 1011101010 0011001001 offspring fitness computation decoding 1100101010 1011101110 0011011001 1100110001 chromosomes selection solutions encoding new population Keterangan gambar 3.2.1. Dalam menyelesaikan masalah, algoritma genetika diawali dengan menginisialisasikan himpunan solusi yang dibangkitkan secara acak. Himpunan solusi ini disebut populasi. Setiap individu pada populasi disebut kromosom yang menggambarkan sebuah solusi dari masalah yang akan diselesaikan. Sebuah kromosom dapat dinyatakan dalam simbol string misalnya kumpulan string bit. Kromosom-kromosom dapat berubah terus menerus disebut dengan regenerasi. Pada setiap generasi, kromosom dievaluasi dengan mengunakan alat ukur yang disebut fungsi fittnes tingkat kesesuaian. Untuk membuat generasi berikutnya, kromosom-kromosom baru yang disebut offspring keturunan terbentuk dengan cara menggabung dua kromosom dari generasi sekarang dengan menggunakan operator crossover rekombinasi atau mengubah sebuah kromosom dengan menggunakan operator mutasi. Generasi baru dibentuk dengan cara seleksi yang dilakukan terhadap induk dan anak berdasarkan nilai fitness-nya dan menghilangkan yang lainnya. Kromosom-kromosom yang lebih sesuai memiliki probabilitas untuk dipilih. Setelah beberapa generasi, algoritma ini akan konvergen ke arah bentuk kromosom yang terbaik, dengan harapan dapat menyatakan solusi optimal dari permasalahan yang diselesaikan.

C. Komponen-komponen Utama Algoritma Genetika

1. Teknik Penyandian

Teknik penyandian meliputi penyandian gen dari kromosom. Satu gen biasanya akan mewakili satu variabel, dan dapat direpresentasikan dalam bentuk: string bit, pohon, array, bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi lainnya yang dapat diimplementasikan untuk operator genetika. Gambar 3.3.1.1 menunjukan representasi string bit. Biasanya penyandian kromosom menggunakan string biner. Setiap bit dalam string dapat merepresentasikan beberapa karateristik dari solusi. 0 1 0 1 0 0 1 1 0 1 0 0 1 1 1 Pengkodean nilai untuk variabel x 1 Pengkodean nilai untuk variabel x 2 Gambar 3.3.1.1 Representasi string bit Pertama, variabel keputusan dikodekan ke dalam bentuk string biner. Panjang dari string tergantung pada ketepatan angkanya. Contohnya, domain dari x j adalah [a j , b j ] dan ketepatan angkanya adalah 4 angka setelah desimal. Ketepatan tersebut diperlukan karena pada selang domain dari setiap variabel harus terbagi sedikitnya b j -a j ×10 n n=ketepatan angka ukuran selang. Keharusan berapa bit dinotasikan dengan m j yang diperlukan untuk sebuah variabel dihitung dengan cara sebagai berikut : ] 1 10 log[ 2 + − = n j j j a b m 1 2 10 2 1 − ≤ × − − mj n j j mj a b . Pemetaan dari string biner ke bilangan real untuk variabel x j secara sederhana dan lengkap ditunjukkan sebagai berikut: 1 2 desimal − − × + = mj j j j j j a b substring a x dimana desimal substring j menunjukkan nilai desimal dari substring j untuk variabel keputusan x j . Panjang kromosom keseluruhan adalah ∑ = n j j m 1 bit dimana j adalah banyaknya variabel yang digunakan dan direpresentasikan sebagai berikut: 33 bit v j 000001010100101001 101111011111110 18 bit 15bit Gambar 3.3.1.2 representasi panjang kromosom Nilai biner Nilai desimal x 1 000001010100101001 5417 x 2 101111011111110 24318 Tabel 3.3.1.1 pemetaan nilai biner ke nilai real

2. Prosedur Inisialisasi

Ukuran populasi tergantung dari permasalahan yang akan diselesaikan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan inisialisasi terhadap kromosom yang terdapat dalam populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada.

3. Fungsi Evaluasi fitness function

Secara umum, fungsi evaluasi diturunkan dari fungsi objektif fungsi tujuan dengan nilai yang tidak negatif. Apabila ternyata fungsi tujuan memiliki nilai negatif, maka perlu ditambahkan suatu konstanta C agar nilai fitness yang terbentuk menjadi tidak negatif. Proses dari penentuan fitness dari sebuah kromosom terdiri dari tiga langkah, yaitu: 1. Tukar kromosom genotip ke kromosom penotip. Artinya, tukar string biner ke nilai real relatif x k = x 1 , x 2 , k = 0, 1, 2, …, ukuran populasi. 2. Hitung fungsi tujuan fx k . 3. Tukar nilai dari fungsi tujuan ke fitness. Untuk permasalahan maksimum, nilai fitness sebanding dengan nilai fungsi tujuannya, populasi ukuran ..., , 2 , 1 , , = = k x f v eval k k . Dari penghitungan tersebut, akan dapat dilihat kromosom yang terkuat, mempunyai nilai fitness paling besar dan kromosom yang paling lemah, mempunyai nilai fitness yang paling kecil.

4. Seleksi

Tujuan dari seleksi adalah untuk menentukan individu-individu mana saja yang akan dipilih untuk dilakukan rekombinasi dan mutasi. Metode seleksi yang paling sering digunakan adalah Rank-based assignment, Roulette wheel selection seleksi roda roulette, dan tournament selection seleksi dengan turnamen. Seleksi akan menentukan individu-individu mana saja yang akan dipilih untuk dilakukan rekombinasi dan bagaimana anak terbentuk dari individu-individu terpilih tersebut. 4.1. Seleksi Roda Rolet roulette-wheel Metode seleksi roda rolet merupakan metode yang paling sederhana, dan sering juga dikenal dengan nama stochastic sampling with replacement. Metode ini menirukan permainan roulette-wheel di mana masing-masing kromosom menempati potongan lingkaran pada roda rolet secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang mempunyai nilai fitness lebih besar menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom bernilai fitness rendah. Gambar 3.4.1.1 ilustrasi sebuah contoh penggunaan metode roda roulette. Kromosom Nilai Fitness Probabilitas K1 1 0.25 K2 2 0.5 K3 0.5 0.125 K4 0.5 0.125 Jumlah 4 Gambar 3.4.1.1 Contoh penggunaan metode seleksi roda roulette. K3 K4 K1 K2 Kromosom K1 mempunyai probabilitas 25 untuk dipilih setiap kali suatu kromosom dipilih setiap roda diputar. Probabilitas masing- masing individu dapat dicari dari pembagian fitness masing-masing individu dengan total fitness dalam populasi. Seleksi dengan roda rolet berdasarkan skala fitness. Karena terpilihnya suatu kromosom dalam populasi untuk dapat berkembang biak adalah sebanding dengan fitnesnya, maka akan terjadi kecenderungan kromosom yang baik akan terpelihara terus sehingga dapat membawa ke hasil optimum lokal konvergensi dini ke suatu hasil yang bukan optimum global. Sebaliknya, jika semua kromosom dalam populasi mempunyai fitness yang hampir sama, maka seleksi ini akan menjadi seleksi yang bersifat acak. 4.2. Seleksi Ranking Seleksi dengan roda rolet sebelumnya memiliki kelemahan ketika fitness yang tersebar dalam populasi berbeda jauh misalnya jika fitness dari kromosom terbaik dalah 90 dari keseluruhan roda rolet, maka kromosom lain akan mempunyai kesempatan yang kecil untuk terpilih. Pada seleksi ranking, pertama dilakukan merangkingkan kromosom dalam populasi kemudian setiap kromosom menerima nilai fitness dari ranking tersebut. Kromosom yang terjelek akan mendapatkan nilai fitness 1, terjelek kedua mendapat nilai fitness 2 dan seterusnya