Algoritma Genetik

 Pengertian Algoritma Genetik

Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya, David Goldberg (1989). Dimana mendefenisikan algoritma genetik ini sebagai metode algoritma pencarian berdasarkan pada mekanisme seleksi alam dan genetik alam.

Algoritma Genetik adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan masalah (problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan melakukan proses ini secara berulang, algoritma ini diharapkan dapat mensimulasikan proses evolusioner.

Pada  akhirnya,  akan  didapatkan  solusi-solusi  yang  paling  tepat  bagi permasalahan yang dihadapi. Berikut adalah tiga aspek yang penting untuk penggunaan Algoritma Genetik:

a.   Definisi fungsi fitness

b.   Definisi dan implementasi representasi genetik
 c.   Definisi dan implementasi operasi genetik
 Struktur Umum Algoritma Genetik


Algoritma Genetik memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetik, pembentukan kromosom baru serta seleksi alami seperti yang terjadi pada makhluk hidup. Algoritma Genetik secara umum dapat diilustrasikan dalam diagram alir.

Menurut Golberg (1989) mengemukakan bahwa Algoritma Genetik mempunyai karakteristik-karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lain, yaitu:

a. Algoritma Genetik dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri.
b.   Algoritma Genetik pencarian pada sebuah solusi dari sejumlah individu-individu yang merupakan solusi permasalahan bukan hanya dari sebuah individu.
c.   Algoritm Genetik   informasi   fungsi   objektif   (fitness),   sebagai   cara   untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi.
d.   Algoritma Genetik menggunakan aturan-aturan transisi peluang, bukan aturan-aturan deterministik.



Variabel dan parameter yang digunakan pada Algoritma Genetik adalah:

a.  Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu untuk menentukan tingkat kesesuaian individu tersebut dengan kriteria yang ingin dicapai.
b.   Populasi jumlah individu yang dilibatkan pada setiap generasi.

c.   Probabilitas terjadinya crossover (persilangan) pada suatu generasi. d.   Probabilitas terjadinya mutasi pada setiap individu.



e.   Jumlah generasi yang akan dibentuk yang menentukan lama penerapan Algoritma

Genetik.

Secara  umum  struktur  dari  suatu  Algoritma  Genetik  dapat  mendefenisikan dengan langkah-langkah sebagai berikut:
a.   Membangkitkan populasi awal

Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan.
b.   Membentuk generasi baru

Untuk membentuk generasi baru, digunakan operator reproduksi atau seleksi, crossover dan mutasi. Proses ini dilakukan berulang-ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru. Generasi baru ini dikenal dengan istilah anak (offspring).
c.   Evaluasi solusi

Pada tiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah b. Beberapa kriteria berhenti yang sering digunakan antara lain: berhenti pada generasi tertentu, berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah, berhenti dalam n generasi tidak didapatkan nilai fitness yang lebih tinggi.
Dari persamaan diatas nilai fitness ditentukan oleh nilai penalty. Penalty tersebut menunjukkan jumlah pelanggaran kendala pada suatu kromosom. Semakin tinggi nilai fitness  akan semakin besar kemungkinan kromosom tersebut terpilih ke generasi berikutnya. Jadi nilai penalty berbanding terbalik dengan nilai fitness, semakin kecil nilai penalty (jumlah pelanggaran) semakin besar nilai fitness-nya.
Cara Kerja Algoritma Genetik

Gambaran umum cara kerja Algoritma Genetik sebagai berikut [OBI98]:

a.    [Start] Pilih secara acak sekumpulan kromosom sebagai populasi awal. Kromosom ini harus sesuai dengan masalah yang hendak dicari solusinya.
b.    [Fitness] Evaluasi nilai fitness dari tiap kromosom pada populasi.

c.    [New population] Buat populasi baru dari populasi lama dengan cara:



1) [Selection]  Pilih  dua  kromosom  induk  dari  populasi  lama  berdasarkan  nilai fitness-nya (semakin baik suatu kromosom, semakin besar kemungkinan terpilihnya).
2) [Crossover]  Pertimbangkan  kemungkinan  pindah  silang  untuk  memutuskan apakah  terjadi  pindah  silang.  Jika  ya,  bentuk  kromosom  baru  dengan melakukan pindah silang pada kedua kromosom induk. Jika tidak, salin ulang kedua kromosom induk.
3) [Mutation]  Pertimbangkan  kemungkinan  mutasi  untuk  memutuskan  apakah terjadi mutasi. Jika ya, mutasikan kromosom yang dihasilkan proses 3.b [Crossover]. Jika tidak, salin ulang kromosom yang dihasilkan proses 3.b [Crossover].
4) [Accepting]  Masukkan  kromosom, yang  dihasilkan proses  3.c  [Mutation]  ke dalam populasi offspring.
d.    [Replace Buang   populasi   lama,   gunakan   populasi   offspring   untuk   proses selanjutnya.
e.    [Test]  Cek  kondisi  berhenti  (pertimbangkan banyak  populasi  baru  yang  sudah terbentuk  dan/atau  pertimbangkan  isi  populasi  baru).  Jika  terpenuhi,  proses pencarian solusi dapat diakhiri. Beberapa kromosom terbaik dari populasi terakhir dapat dianggap sebagai solusi.
f.     [Loop]  Jika  kondisi  berhenti  tidak  terpenuhi,  lanjutkan  proses  ke  langkah  2 [Fitness].
Seperti yang dapat dilihat di atas, pencarian solusi dilakukan secara iteratif. Satu siklus iterasinya mewakili satu generasi tertentu.

No comments