Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
1. Pendahuluan
2. Algoritma Genetika
direpresentasikan dalam biner sebagai string yang terdiri dari 0 dan 1, namun
penggunaan metode encoding lain juga mungkin dipakai. Berbeda dengan teknik
pencarian konvensional, algoritma genetika bermula dari himpunan solusi yang
dihasilkan secara acak. Kromosom-kromosom berevolusi dalam suatu proses iterasi
yang berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom
dievaluasi berdasarkan suatu fungsi evaluasi. Setelah beberapa generasi maka
algoritma genetika akan konvergen pada kromosom terbaik, yang diharapkan
merupakan solusi optimal.
Pertama kali, sebelum algoritma genetika dijalankan, maka perlu
didefinisikan fungsi fitness sebagai masalah yang ingin dioptimalkan. Jika nilai fitness
semakin besar, maka sistem yang dihasilkan semakin baik. Fungsi fitness ditentukan
dengan metode heuristik. Algoritma genetika sangat tepat digunakan untuk
penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan
menggunakan metode konvensional. Sebagaimana halnya proses evolusi di alam,
suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operasi yaitu:
operasi reproduksi, operasi persilangan (crossover), dan operasi mutasi. Struktur
umum dari suatu algoritma genetika dapat didefinisikan dengan langkah – langkah
sebagai berikut:
Membangkitkan populasi awal secara random.
Membentuk generasi baru dengan menggunakan tiga operasi diatas secara
berulang-ulang sehingga diperoleh kromosom yang cukup untuk
membentuk generasi baru sebagai representasi dari solusi baru.
Evolusi solusi yang akan mengevaluasi setiap populasi dengan menghitung
nilai fitness setiap kromosom hingga kriteria berhenti terpenuhi. Bila
kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru
dengan mengulangi langkah 2. Beberapa kriteria berhenti yang sering
digunakan antara lain:
berhenti pada generasi tertentu
berhenti setelah dalam beberapa generasi berturut-turut didapatkan
nilai fitness
tertinggi/terendah (tergantung persoalan) tidak berubah.
Reproduksi :
Cross-Over
dan Mutasi
Populasi Baru
Nilai Fitness, menyatakan seberapa baik nilai dari suatu individu atau solusi
yang didapatkan.
3. Pembahasan
interval [si, fi) dan [sj, fj) tidak overlap atau berhimpit (yakni, mi dan mj saling
berurutan jika si fj atau sj fi).
Soal-2: Tentukan jumlah ruangan minimum yang dapat digunakan dalam mengatur
jadwal matakuliah.
Sebagai contoh, diberikan matakuliah M = {m1, m2, …, m11} dengan waktu mulai dan
waktu akhir matakuliah pada tabel berikut.
mi 1 2 3 4 5 6 7 8 9 10 11
si 1 3 0 5 3 5 6 8 8 2 12
fi 4 5 6 7 8 9 10 11 12 13 14
Pasangan matakuliah {m1, m4, m8, m11} dan {m2, m4, m9, m11} adalah pasangan
matakuliah yang saling berurutan dengan ukuran maksimum.
Jumlah ruangan minimum yang dibutuhkan adalah 5 dengan matakuliah yang saling
berpasangan: {m1, m4, m8, m11}, {m2, m6}, {m3, m7}, {m5, m9}, {m10}
Jawaban :
Soal yang akan dibahas adalah soal nomor 2 dengan menggunakan Algoritma
Genetika dimana ditanyakan mengenai jumlah ruangan minimum yang dapat
digunakan. Oleh karena yang hendak kita cari adalah jumlah ruangan minimum,
maka kita harus menemukan mata kuliah - mata kuliah apa saja yang overlap atau
bertabrakan agar dapat diperoleh jumlah ruangan minimumnya. Namun, selain
syarat bahwa mata kuliah tersebut harus bertabrakan, dalam pasangan mata kuliah
– mata kuliah tersebut juga tak boleh ada dua atau lebih mata kuliah yang saling
berurutan. Dari tabel di atas, dapat ditemukan pasangan mata kuliah yang saling
bertabrakan.
Berikut adalah pasangan mata kuliah – mata kuliah tersebut :
1. {m1, m2, m3, m5, m10}
2. {m3, m4, m5, m6, m10}
3. {m4, m5, m6, m7, m10}
4. {m6, m7, m8, m9, m10}
5. {m10, m11}
Berikut beberapa individu yang dipilih sebagai populasi awal/generasi pertama
disesuaikan dengan mata kuliah – mata kuliah yang bertabrakan. Dalam hal ini, nilai
fitness suatu individu dihitung dari banyaknya mata kuliah yang bertabrakan
(banyaknya alel yang bernilai 1 dalam suatu kromosom) :
Individu 1
1 2 3 4 5 6 7 8 9 10 11
1 1 1 0 1 0 0 0 0 1 0
Nilai Fitness = 5
Individu 2
1 2 3 4 5 6 7 8 9 10 11
0 0 0 0 0 1 1 1 1 1 0
Nilai Fitness = 5
Individu 3
1 2 3 4 5 6 7 8 9 10 11
0 0 1 1 1 1 0 0 0 1 0
Nilai Fitness = 5
Individu 4
1 2 3 4 5 6 7 8 9 10 11
0 0 0 0 0 0 0 0 0 1 1
Nilai Fitness = 2
Individu 5
1 2 3 4 5 6 7 8 9 10 11
0 0 0 1 1 1 1 0 0 1 0
Nilai Fitness = 5
Individu – individu tersebut kemudian akan menjadi induk yang akan dipersilangkan
dan dimutasikan.
1 1 1 0 1 0 0 0 0 1 0
0 0 0 0 0 1 1 1 1 1 0
Nilai
Fitness
1 1 1 0 0 1 1 0 0 1 0 6 gagal
0 0 0 0 1 0 0 1 1 1 0 4 gagal
NB : Digit angka yang di-highlight biru adalah gen-gen yang akan dimutasikan
Dan dari hasil mutasi, diperoleh lagi dua individu baru yaitu :
Nilai Fitness
1 1 1 0 0 1 0 0 0 1 0 5 Gagal
0 0 0 0 1 0 1 1 1 1 0 5 Gagal
2. Individu 1 dan 3
Dilakukan Cross Over antara individu 1 dan 3 :
1 1 1 0 1 0 0 0 0 1 0
0 0 1 1 1 1 0 0 0 1 0
Nilai Fitness
1 1 1 0 1 1 0 0 0 1 0 6 Gagal
0 0 1 1 1 0 0 0 0 1 0 4 Berhasil
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
1 1 1 0 1 1 0 0 0 1 0 6 Gagal
0 0 1 1 1 0 0 0 0 1 0 4 Berhasil
3. Individu 1 dan 4
Dilakukan Cross Over antara individu 1 dan 4 :
1 1 1 0 1 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1 1
Nilai Fitness
1 1 1 0 0 0 0 0 0 1 0 4 Berhasil
0 0 0 0 1 0 0 0 0 1 1 3 Gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
1 1 1 0 0 0 0 0 0 1 0 4 Berhasil
0 0 0 0 1 0 0 0 0 1 1 3 Gagal
4. Individu 1 dan 5
Dilakukan Cross Over antara individu 1 dan 5 :
1 1 1 0 1 0 0 0 0 1 0
0 0 0 1 1 1 1 0 0 1 0
Nilai Fitness
1 1 1 0 1 1 1 0 0 1 0 7 Gagal
0 0 0 1 1 0 0 0 0 1 0 3 Berhasil
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
1 1 1 0 1 1 0 0 0 1 0 6 Gagal
0 0 0 1 1 0 1 0 0 1 0 4 Berhasil
5. Individu 2 dan 3
Dilakukan Cross Over antara individu 2 dan 3 :
0 0 0 0 0 1 1 1 1 1 0
0 0 1 1 1 1 0 0 0 1 0
Nilai Fitness
0 0 0 0 1 1 0 1 1 1 0 4 Gagal
0 0 1 1 0 1 1 0 0 1 0 5 Gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 0 0 1 1 1 1 1 1 0 6 Gagal
0 0 1 1 0 1 0 0 0 1 0 4 Berhasil
6. Individu 2 dan 4
Dilakukan Cross Over antara individu 2 dan 4 :
0 0 0 0 0 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1
Nilai Fitness
0 0 0 0 0 0 0 1 1 1 0 3 Berhasil
0 0 0 0 0 1 1 0 0 1 1 4 Gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 0 0 0 0 1 1 1 1 0 4 Berhasil
0 0 0 0 0 1 0 0 0 1 1 3 Gagal
7. Individu 2 dan 5
Dilakukan Cross Over antara individu 2 dan 5 :
0 0 0 0 0 1 1 1 1 1 0
0 0 0 1 1 1 1 0 0 1 0
Nilai Fitness
0 0 0 0 1 1 1 1 1 1 0 6 Gagal
0 0 0 1 0 1 1 0 0 1 0 4 Berhasil
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 0 0 1 1 1 1 1 1 0 6 Gagal
0 0 0 1 0 1 1 0 0 1 0 4 Berhasil
8. Individu 3 dan 4
Dilakukan Cross Over antara individu 3 dan 4 :
0 0 1 1 1 1 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1 1
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3 berhasil
0 0 0 0 1 1 0 0 0 1 1 4 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3 berhasil
0 0 0 0 1 1 0 0 0 1 1 4 gagal
9. Individu 3 dan 5
Dilakukan Cross Over antara individu 3 dan 5:
0 0 1 1 1 1 0 0 0 1 0
0 0 0 1 1 1 1 0 0 1 0
Nilai Fitness
0 0 1 1 1 1 1 0 0 1 0 6 gagal
0 0 0 1 1 1 0 0 0 1 0 4 berhasil
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 1 1 0 0 0 1 0 5 berhasil
0 0 0 1 1 1 1 0 0 1 0 5 berhasil
0 0 1 1 1 1 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1 1
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3 berhasil
0 0 0 0 1 1 0 0 0 1 1 4 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3 berhasil
0 0 0 0 1 1 0 0 0 1 1 4 gagal
Dilihat dari hasil cross over dan mutasi, terdapat beberapa anak yang gagal. Maksud
gagal di sini adalah gen individu – individu tersebut tidak sesuai dengan pasangan
mata – mata kuliah yang bertabrakan atau dengan kata lain, ada beberapa gen
( mata kuliah ) dari individu yang gagal tersebut yang tidak bertabrakan / berurutan.
Sementara, untuk hasil persilangan yang sukses, memiliki kemungkinan untuk
menjadi solusi (penyelesaian) karena alel dari gen – gen tersebut sesuai dengan
pasangan mata kuliah yang bertabrakan. Maka, dari hasil reproduksi tersebut,
diperoleh calon-calon individu generasi kedua yang berhasil :
Dari calon – calon anak dari hasil reproduksi di atas, ada beberapa individu yang
memiliki untaian dengan gen yang sama, oleh karena itu individu – individu yang
sama tersebut dapat digabungkan menjadi satu saja. Maka, individu – individu untuk
generasi kedua, yaitu :
8 0 0 0 1 0 1 1 0 0 1 0 4
9 0 0 1 1 0 0 0 0 0 1 0 3
10 0 0 0 1 1 1 0 0 0 1 0 4
11 0 0 1 1 1 1 0 0 0 1 0 5
12 0 0 0 1 1 1 1 0 0 1 0 5
13 0 0 1 1 0 0 0 0 0 1 0 3
Tabel 1.2 : Tabel Individu – Individu Generasi Kedua
Setelah diperoleh beberapa individu generasi kedua yang unggul, maka dilakukan
lagi proses reproduksi yang meliputi, cross-over dan mutasi.
0 0 1 1 1 1 0 0 0 1 0
0 0 0 1 1 1 1 0 0 1 0
Nilai
Fitness
0 0 1 1 1 1 1 0 0 1 0 6 gagal
0 0 0 1 1 1 0 0 0 1 0 4 berhasil
NB : Digit angka yang di-highlight biru adalah gen-gen yang akan dimutasikan
Dan dari hasil mutasi, diperoleh lagi dua individu baru yaitu :
Nilai Fitness
0 0 1 1 1 1 0 0 0 1 0 5 berhasil
0 0 0 1 1 1 1 0 0 1 0 5 berhasil
2. Individu 1 dan 3
Dilakukan Cross Over antara individu 1 dan 3 :
0 0 1 1 1 1 0 0 0 1 0
0 0 1 1 1 0 0 0 0 1 0
Nilai
Fitness
berhasi
0 0 1 1 1 0 0 0 0 1 0 4 l
berhasi
0 0 1 1 1 1 0 0 0 1 0 5 l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 1 0 0 0 0 1 0 4 berhasil
0 0 1 1 1 1 0 0 0 1 0 5 berhasil
3. Individu 1 dan 4
Dilakukan Cross Over antara individu 1 dan 4 :
0 0 1 1 1 1 0 0 0 1 0
1 1 1 0 0 0 0 0 0 1 0
Nilai
Fitness
berhasi
0 0 1 1 0 0 0 0 0 1 0 3 l
1 1 1 0 1 1 0 0 0 1 0 6 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3 berhasil
1 1 1 0 1 1 0 0 0 1 0 6 gagal
4. Individu 1 dan 5
Dilakukan Cross Over antara individu 1 dan 5 :
0 0 1 1 1 1 0 0 0 1 0
0 0 0 1 1 0 1 0 0 1 0
Nilai
Fitness
0 0 1 1 1 0 1 0 0 1 0 5 gagal
berhasi
0 0 0 1 1 1 0 0 0 1 0 4 l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 1 0 0 0 0 1 0 4 berhasil
0 0 0 1 1 1 1 0 0 1 0 5 berhasil
5. Individu 2 dan 3
Dilakukan Cross Over antara individu 2 dan 3 :
0 0 0 1 1 1 1 0 0 1 0
0 0 1 1 1 0 0 0 0 1 0
Nilai
Fitness
berhasi
0 0 0 1 1 0 0 0 0 1 0 3 l
0 0 1 1 1 1 1 0 0 1 0 6 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 0 1 1 0 1 0 0 1 0 4 berhasil
0 0 1 1 1 1 0 0 0 1 0 5 berhasil
6. Individu 2 dan 4
0 0 0 1 1 1 1 0 0 1 0
1 1 1 0 0 0 0 0 0 1 0
Dari hasil persilangan diperoleh dua individu baru yaitu :
Nilai Fitness
berhasi
0 0 0 1 0 0 0 0 0 1 0 2 l
1 1 1 0 1 1 1 0 0 1 0 7 gagal
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 0 1 0 0 1 0 0 1 0 3 berhasil
1 1 1 0 1 1 0 0 0 1 0 6 gagal
7. Individu 2 dan 5
Dilakukan Cross Over antara individu 2 dan 5 :
0 0 0 1 1 1 1 0 0 1 0
0 0 0 1 1 0 1 0 0 1 0
Nilai Fitness
berhasi
0 0 0 1 1 0 1 0 0 1 0 4 l
berhasi
0 0 0 1 1 1 1 0 0 1 0 5 l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 0 1 1 0 1 0 0 1 0 4 berhasil
0 0 0 1 1 1 1 0 0 1 0 5 berhasil
8. Individu 3 dan 4
Dilakukan Cross Over antara individu 3 dan 4 :
0 0 1 1 1 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 1 0
Nilai Fitness
berhasi
0 0 1 1 0 0 0 0 0 1 0 3 l
berhasi
1 1 1 0 1 0 0 0 0 1 0 5 l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 0 0 0 0 0 1 0 3 berhasil
1 1 1 0 1 0 0 0 0 1 0 5 berhasil
9. Individu 3 dan 5
Dilakukan Cross Over antara individu 3 dan 5 :
0 0 1 1 1 0 0 0 0 1 0
0 0 0 1 1 0 1 0 0 1 0
Nilai Fitness
0 0 1 1 1 0 1 0 0 1 0 5 gagal
berhasi
0 0 0 1 1 0 0 0 0 1 0 3 l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
0 0 1 1 1 0 0 0 0 1 0 4 berhasil
0 0 0 1 1 0 1 0 0 1 0 4 berhasil
1 1 1 0 0 0 0 0 0 1 0
0 0 0 1 1 0 1 0 0 1 0
Nilai Fitness
1 1 1 0 1 0 1 0 0 1 0 6 gagal
berhasi
0 0 0 1 0 0 0 0 0 1 0 2 l
Kedua individu baru dimutasikan dan dari hasil mutasi diperoleh lagi dua individu
baru, yaitu :
Nilai Fitness
1 1 1 0 1 0 0 0 0 1 0 5 berhasil
0 0 0 1 0 0 1 0 0 1 0 3 berhasil
Dilihat dari hasil cross over dan mutasi, terdapat beberapa anak yang gagal. Seperti
pada hasil persilangan induk – induk pada generasi pertama, maksud gagal di sini
ialah gen individu – individu tersebut tidak sesuai dengan pasangan mata – mata
kuliah yang bertabrakan atau dengan kata lain, ada beberapa gen ( mata kuliah ) dari
individu yang gagal tersebut yang tidak bertabrakan / berurutan. Sementara, untuk
hasil persilangan yang sukses, memiliki kemungkinan untuk menjadi solusi
(penyelesaian) karena alel dari gen – gen tersebut sesuai dengan pasangan mata
kuliah yang bertabrakan. Maka, dari hasil reproduksi tersebut, diperoleh calon-calon
individu generasi ketiga yang berhasil :
26 0 0 0 1 0 0 1 0 0 1 0 3
27 0 0 0 1 0 0 1 0 0 1 0 3
28 0 0 0 1 1 0 0 0 0 1 0 3
29 0 0 0 1 1 0 0 0 0 1 0 3
30 0 0 0 1 0 0 0 0 0 1 0 2
31 0 0 0 1 0 0 0 0 0 1 0 2
Tabel 1.4 : Tabel Calon Individu – Individu Generasi Ketiga
Ket : individu dengan warna yang sama memiliki kromosom dengan nilai yang sama
Dari calon – calon anak dari hasil reproduksi di atas, ada beberapa individu yang
memiliki untaian dengan gen yang sama, oleh karena itu individu – individu yang
sama tersebut dapat digabungkan menjadi satu saja. Maka, individu – individu untuk
generasi kedua, yaitu :
Dari tabel 1.5, dapat dilihat bahwa nilai fitness tertinggi di antara individu – individu
tersebut adalah 5, sehingga dapat disimpulkan bahwa jumlah ruangan minimum
yang dapat digunakan untuk mengatur jadwal mata kuliah adalah 5 ruangan.
4. Kesimpulan
Algoritma genetika ini sangat tepat untuk diimplementasikan pada
penyelesaian program pengaturan jadwal mata kuliah dan permasalahan lain dengan
memberikan solusi yang mengutamakan efisiensi dan . Karena tadi telah ditunjukkan
bahwa algoritma ini dapat menyelesaikan suatu persoalan yang apabila dikerjakan
secara manual (otak manusia) sangat lama. Jadi, algoritma ini cukup mangkus untuk
REFERENSI
[1] http://en.wikipedia.org/wiki/Genetic_algortihm, diakses tanggal 21 Mei 2007
[2] http://www.informatika.org