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