memetica algorithm
Post on 12-Jul-2015
55 Views
Preview:
TRANSCRIPT
ALGORITMA MEMETIKAOleh Aila Gema Safitri
NIM : 23213314
UTS Sistem Intilijen
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.
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
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|.
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
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.
3. Pembuatan Populasi Awal
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.
MK1 MK2 … … Mki … … MKn
Ruang i
Slot ke-j
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.
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
7. Pergantian PopulasiJika 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).
8. Hasil
top related