ENDANG SUGIHARTI
PENGANTAR
▪ Dalam kehidupan sehari-hari seringkali kita berhadapan dengan pencarian solusi suatu masalah
seperti contoh berikut:
o Pembuatan jadwal kuliah yang mencakup ketersediaan dosen dan ruangan. Jadwal harus
dibuat dengan tujuan untuk menghindari seorang dosen/mahasiswa terjadwal di lebih dari satu
kelas pada waktu yang sama.
o Persoalan transportasi yang mencakup pendistribusian suatu komoditas atau produk dari
sejumlah sumber kepada sejumlah tujuan dengan tujuan meminimumkan ongkos pengangkutan
yang terjadi.
o Pemilihan rute terpendek (biaya terkecil) untuk mengunjungi sejumlah kota.
o Penentuan komposisi makanan ternak dengan biaya minimum yang harus memenuhi
batasan minimal untuk setiap komponen nutrisi.
PENGANTAR
▪ Penyelesaian masalah di atas akan mudah dilakukan jika ukuran data relatif kecil.
▪ Masalah akan menjadi kompleks jika data berukuran besar atau melibatkan
sejumlah entitas besar.
▪ Pada masalah kompleks dibutuhkan juga formulasi matematika yang kompleks yang
bisa jadi sangat sulit dibangun atau membutuhkan waktu yang lama.
▪ Berdasarkan model matematis yang dibangun bisa dilakukan analisis untuk mencari
solusi yang terbaik (optimum). Solusi optimum mungkin dapat diperoleh tetapi
memerlukan proses perhitungan yang panjang.
PENGANTAR
▪ Algoritma Evolusi (evolutionary algorithms, EAs) merupakan teknik optimasi yang meniru proses
evolusi biologi.
▪ Menurut teori evolusi terdapat sejumlah individu dalam populasi. Dari generasi ke generasi,
individu-individu ini berperan sebagai induk (parent) yang melakukan reproduksi menghasilkan
keturunan (offspring).
▪ Individu-individu ini (beserta offspring) berevolusi dan individu-individu yang lebih baik (mampu
beradaptasi dengan lingkungannya) mempunyai peluang lebih besar untuk melewati seleksi
alam (natural selection) dan bertahan hidup.
▪ Individu yang lebih baik juga cenderung (tidak selalu tapi mempunyai kemungkinan lebih besar)
menghasilkan keturunan yang lebih baik, sehingga dari generasi ke generasi akan terbentuk
populasi yang lebih baik.
PRINSIP KERJA ALGORITMA EVOLUSI
▪ Keseluruhan proses dalam EAs ditunjukkan pada Gambar berikut :
▪ Individu-individu dalam populasi di EAs merepresentasikan solusi dari masalah yang akan
diselesaikan.
▪ Sebuah fungsi fitness digunakan untuk mengukur seberapa baik suatu individu. Individu
terbaik di akhir generasi bisa didekodekan sebagai solusi terbaik yang bisa diperoleh.
▪ Dari penjelasan di atas, EAs bisa dikelompokkan dalam algoritma ‘generate and test’ yang
berbasis populasi (population based). EAs juga bersifat stochastic, setiap kali dijalankan untuk
masalah yang sama ada kemungkinan menghasilkan solusi yang berbeda.
PRINSIP KERJA ALGORITMA EVOLUSI
▪ Berbagai tipe EAs telah dikembangkan sebagai berikut:
o Algoritma genetika (Genetic Algorithms, GAs), merupakan tipe EAs yang paling popular dan banyak
diterapkan pada masalah-masalah kompleks. Pada awalnya banyak menggunakan representasi string
biner tapi kemudian berkembang dengan menggunakan vektor bilangan integer dan pecahan (real).
Pembangkitkan solusi baru banyak mengandalkan proses tukar silang (crossover). Mutasi biasanya dipakai
sebagai operator tambahan untuk menjaga keragaman populasi.
o Evolution Strategies (ES), representasi solusi biasanya menggunakan vektor bilangan pecahan. Mutasi
merupakan operator reproduksi utama. Mekanisme self-adaptation digunakan untuk mengontrol
perubahan nilai parameter pencarian.
o Genetic Programming (GP), digunakan untuk mengoptimasi rangkaian program komputer
yang direpresentasikan dalam bentuk struktur data pohon (tree).
o Evolutionary Programming (EP), mempunyai tujuan seperti GP tapi prinsip kerjanya seperti ES.
Finite State Machines (FSM) digunakan untuk merepresentasikan program komputer.
ALGORITMA GENETIKA
1. Algoritma ini hanya melakukan sedikit perhitungan matematis yang berhubungan dengan
masalah yang ingin diselesaikan. Karena sifat perubahan evolusi alamiahnya, maka algoritma
ini akan mencari penyelesaian tanpa memperhatikan proses-proses yang berhubungan
dengan masalah yang diselesaikan secara langsung. Algoritma ini mengendalikan fungsi
objektif dan kendala yang didefinisikan, baik pada ruang pencarian diskrit, maupun ruan
pencarian analog.
2. Operator-operator evolusi membuat algoritma ini sangat efektif pada pencarian global.
3. Algoritma ini memiliki fleksibilitas yang tinggi untuk dihibridkan dengan metode pencarian
lainnya supaya lebih efektif.
PERBEDAAN ALGORITMA GENETIKA DENGAN ALGORITMA
PENCARIAN LAIN (GOLDBERG, 1989)
1. Algoritma ini bekerja dalam kawasan representasi penyelesaian masalah yang dikodekan dalam
bentuk kromosom bukan dalam kawasan masalah itu sendiri.
2. Algoritma ini mencari penyelesaian dari titik-titik populasi dan bukan dari sebuah titik saja.
Proses pencarian dengan sekumpulan titik-titik populasi ini menyebabkan algoritma ini lebih
kecil kemungkinannya untuk terjebak pada nilai optimum lokal.
3. Algoritma ini hanya berdasarkan nilai fungsi objektif saja dan tidak berdasarkan pengetahuan
bantuan (auxiliary knowledge).
4. Algoritma ini bekerja berdasarkan pada aturan probabilistik (probabilistic rule) bukan aturan
deterministik (deterministic rule).