2. 1. Konsep Dasar
Konsep AM didefinisikan oleh Moscato [1989] yang terinspirasi oleh deskripsi
meme oleh Dawkins “Selfish Gene.Oxford University Press. ISBN 0-19-929115-2.” [1976].
Menurut Moscato, AM adalah pernikahan antara pencarian global berbasis
populasi dengan pencarian lokal heuristik yang dibuat oleh individu dalam
populasi. Moscato, P. (1989). "On Evolution, Search, Optimization, Genetic Algorithms and
Martial Arts: Towards Memetic Algorithms". Caltech Concurrent Computation Program
AM adalah perluasan dari algoritma Genetika (AG). Pada AM, konsep AG yang
menggunakan teknik global search dipadukan dengan teknik local search.
Lokal search pada AM bertujuan untuk melakukan perbaikan lokal/individu
yang dapat diterapkan sebelum dan atau sesudah proses seleksi, cross over dan
mutasi. Melalui local search, diharapkan dapat membantu proses komputasi
lebih cepat karena dapat meminimalisir seleksi dalam sebuah populasi.
3. 2. Flowchart AM
problem
Pengkodean
Bentuk Populasi
Local Search
Evaluasi Nilai fitness
Seleksi
Cross Over
Mutasi
Local Search
STOP
StopTraining
Operator
AM
No
Yes
Pembentuklan
Populasi Baru
4. Implementasi AM
Beberapa aplikasi yang menggunakan algoritma memetika
diantaranya : Penjadwalan kuliah dan Travelling salesman problem
Contoh pada Penjadwalan Kuliah
Untuk penyelesaian. Terdiri dari beberapa tahap yaitu managemen
data, representasi jadwal, pembuatan populasi awal, pencarian solusi
lokal, solusi kendala hard dan soft.
1. Managemen Data
Data mentah terdiri dari kapasitas ruangan, kuliah, mahasiswa, dosen,
dan slot waktu. Dari sini, dibuat matrik dan vektor yang saling
berhubungan yaitu : vektor kapasitas ruangan, matrik KM |K|x|M|, Matrik
WD|W|x |D| ,, Matrik |K|x|D|, vektor sks dan kuliah prasyarat, Matrik |K|x|R|, dan
Matrik |K|x|K|.
5. 2. Representasi Jadwal
Managemen data yang telah disimpan dalam bentuk matrik dan vektor digunakan
untuk membuat jadwal , dimana kumpulan semua jadwal yang layak, masuk ke ruang
solusi. Representasi jadwal dibuat dalam matrik J|R|x|W|.
Jika ruang ke-i dan slot waktu ke-j terdapat kuliah, maka elemen J(i,j) adalah label
kuliahnya. Namun jika ruang ke-i dan slot waktu ke-j tidak ada kuliah, maka J(i,j) = -1.
Berikut matrik representasi jadwal J
6. Matrik jadwal J ditransformasi menjadi kromosom. Dimana setiap gen membawa
informasi mengenail ruang dan slot waktu.
Satu jadwal mewakili 1 kromosom, tiap kuliah diwakili 1 gen. Sehingga dalam
kromosom yang terbentuk berukuran sejumlah kuliah yang ada.
Kromosom jadwal ini adalah kandidat solusi jadwal kuliah.
MK1 MK2 … … Mki … … MKn
3. Pembuatan Populasi Awal
Ruang i
Slot ke-j
Sejumlah n kromosom sebagai kandidat jadwal awal dibuat. Dimana sejumlah n/2
dibuat secara random dan sisanya non-random.
Pembuatan random dengan menempatkan semua kuliah dalam matrik jadwal J,
dan elemen matrik J yang kosong, diisi dengan 1.
Pembuatan non-random dengan menempatkan kuliah satu persatu ke matrik jadwal
J.
7. 5. Pencarian solusi lokal
Setelah jadwal awal terbentuk, dilakukan pembentukan populasi kromosom
yang memenuhi kendala hard dan dilakukan dengan pencarian lokal.
Untuk membangun solusi jadwal yang memenuhi kendala hard = 0, maka
dilakukan pencarian lokal yakni menukar jadwal 2 kuliah dalam satu
kromosom jadwal.
Pencarian solusi lokal dilakukan berulang hingga tidak melanggar kendala
hard.
Setelah seluruh jadwal memenuhi kendala hard, seluruh jadwal yang
merupakan bentuk kromosom, akan terkumpul dalam satu populasi.
Seluruh kromosom, diurutkan berdasarkan kualitas yang dapat dilihat dari nilai
penalti kendala soft di tiap-tiap kromosom.
8. 6. Optimasi Kendala Soft
Dalam AM, proses ini disebut sebagai evolusi / pergantian populasi.
Evolusi adalah pembentukan populasi baru yang beranggotakan kromosom-kromosom
yang lebih berkualitas sehingga kandidat solusi akan semakin mendekati
optimal.
Proses evolusi dilakukan dalam ruang solusi jadwal layak yakni hanya kromosom
yang tidak melanggar kendala hard yang dapat berevolusi.
Berikut proses evolusi yang terjadi :
6.1 Seleksi Orang Tua
6.2 Pindah Silang (Cross Over)
6.3 Mutasi
6.4 Pencarian Lokal Kembali
9. 7. Pergantian Populasi
Jika semua kuliah sudah terjadwalkan kembali, maka jadwal
baru ini akan ditransformasi menjadi kromosom anak.
Penalti kendala soft pada kromosom anak dihitung dan
dibandingkan dengan penalti soft orang tua.
Jika penalti soft kromosom orang tua melebihi penalti soft
kromosom anak, maka gantilah kromosom orang tua dengan
kromosom anak .
Proses ini diulang hingga diperoleh kromosom dengan
kualitas yang paling baik (optimal).