memetica algorithm

10
ALGORITMA MEMETIKA Oleh Aila Gema Safitri NIM : 23213314 UTS Sistem Intilijen

Upload: aila-gema

Post on 12-Jul-2015

55 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Memetica Algorithm

ALGORITMA MEMETIKAOleh Aila Gema Safitri

NIM : 23213314

UTS Sistem Intilijen

Page 2: Memetica Algorithm

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.

Page 3: Memetica Algorithm

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

Page 4: Memetica Algorithm

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|.

Page 5: Memetica Algorithm

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

Page 6: Memetica Algorithm

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

Page 7: Memetica Algorithm

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.

Page 8: Memetica Algorithm

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

Page 9: Memetica Algorithm

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).

Page 10: Memetica Algorithm

8. Hasil