4.5. Proses Optimasi dengan Algoritma Genetika
Proses pencarian pertama dilakukan dengan metode langsung tanpa melalui algoritma penjadwalan. Pada metode ini kromosom akan langsung berisi kode waktu dan ruangan yang
akan digunakan. Fungsi objektif terdiri dari dua bagian yaitu meminimalkan pelanggaran waktu serta meminimalkan penggunaan ruangan. Untuk kondisi optimasi dengan dua fungsi
fitness seperti ini dapat didekati melalui metode Paretto Optimization. Metode ini tidak
langsung menemukan suatu solusi yang menjadi solusi tunggal dari permasalahan namun merupakan kumpulan solusi terbaik yang mempertimbangkan seluruh fungsi fitness yang
ada. Sekumpulan solusi dianggap telah mencapai optimum apabila perubahan pada satu variabel dalam solusi tidak menyebabkan variabel lainnya berubah dan ketika kondisi ini
tercapai proses pencarian dihentikan.
4.5.1. Penentuan Hard Constraint dan Soft Constraint
Dalam proses optimasi diperlukan suatu batasan yang akan menjadi soft dan hard constraint. Hard constraint
merupakan batasan mutlak yang harus dipenuhi atau dibuat nol sedangkan soft contstraint merupakan batasan yang harus dipenuhi semaksimal mungkin
namun apabila tidak dapat dipenuhi seluruhnya tidak menjadi masalah. Pelanggaran waktu yang diwakilkan dalam fitness f
1
ditetapkan sebagai hard constraint yang harus dihilangkan terlebih dahulu lalu memimalkan penggunaan jumlah ruangan yang diwakilkan dalam fitness
f
2
. Penentuan fungsi fitness yang menjadi hard constraint dan soft constraint berguna untuk
proses algoritma genetika selanjutnya yaitu pengurutan kromosom berdasarkan jumlah pelanggaran pada hard constraint atau besar dari f
1
. Kromosom dalam populasi diurutkan
berdasarkan besar dari fitness f
1
yaitu seperti pada Tabel 4.11.
Universitas Sumatera Utara
Tabel 4.11 Pengurutan kromosom berdasarkan fitness f
1
Sebelum Sort
Setelah Sort
Kromosom fitness f
1
fitness f
2
Kromosom fitness f
1
fitness f
2
1 26
12 1
23 13
2 24
13 2
24 13
3 24
13 3
25 13
4 26
12 4
26 12
5 34
13 5
26 12
6 25
13 6
26 13
7 35
10 7
27 13
8 26
13 8
27 9
9 29
13 9
27 12
10 33
11 10
27 13
11 27
13 11
29 13
12 29
13 12
29 13
13 37
12 13
29 13
14 36
8 14
29 13
15 29
13 15
30 13
16 30
13 16
33 11
17 27
9 17
34 13
18 29
13 18
34 11
19 35
13 19
35 10
20 27
12 20
35 13
21 36
13 21
36 8
22 38
11 22
36 13
23 27
13 23
36 13
24 34
11 24
37 12
25 36
13 25
38 11
4.5.2. Pencarian Kromosom Dominated dan Non-Dominated
Proses optimasi dengan Paretto Optimization dimulai dengan melakukan proses pengurutan sorting kromosom dari populasi awal berdasarkan kromosom Dominated dan
Non-Dominated. Berdasarkan penentuan suatu kromosom yang mendominasi kromosom
selanjutnya dilakukan dengan memberikan rangking dari seluruh kromosom yang ada pada
Universitas Sumatera Utara
populasi. Untuk kromosom yang mendominasi akan diberikan ranking yang lebih tinggi dari pada kromosom yang didominasinya. Proses pemberian rangking ini dimulai dari pemberian
rangking = 1 untuk kromosom yang mendominasi dari seluruh kromosom yang ada pada populasi. Kromosom yang telah memiliki rangking akan dihilangkan dari populasi untuk
sementara. Hal ini dilakukan dengan tujuan mencegah pemberian rangking secara berulang. Dari kromosom yang tersisa selanjutnya dilakukan proses pemberian untuk rangking = 2 bagi
kromosom yang mendominasi kromosom lainnya. Proses pemberian rangking dilakukan secara berulang-ulang hingga seluruh kromosom
memperoleh rangking. Jumlah maksimum rangking adalah sejumlah kromosom pada populasi. Rangking kromosom yang telah diperoleh akan langsung menjadi nilai fitness total
dari fitness f
1
dan fitness f
2
pada suatu kromosom. Apabila kromosom tersebut merupakan rangking 1, maka fitness untuk kromosom tersebut bernilai 1 dan demikian seterusnya. Proses
pemberian rangking ini dilakukan karena proses seleksi dengan seleksi turnamen membutuhkan satu nilai fitness.
Goldberg [14] menyarankan bahwa penggunaan dominated sorted harus mempertimbangkan pembagian sumber daya yang ada pada variabel fitness f
1
dan fitness f
2
. Konsep yang menggabungkan paretto optimal pada algoritma genetika menentukan nilai
fitness merupakan fungsi penambahan nilai fitness dengan beda antara besaran fitness f
1
dan fitness f
2
atau melalui persamaan: …………….. 4.1
dimana: fitnessn
= fitness dari kromosom n
N
var
= Jumlah variabel
Universitas Sumatera Utara
p
m
n = beda antar variabel fitness dari kromosom n dalam bilangan
antara 0 dan 1
Proses penentuan fitness total pada kromosom dalam populasi ditunjukkan pada Tabel 4.12. Tabel 4.12 Pemberian nilai fitness pada kromosom dalam populasi
Kromosom fitness f
1
fitness f
2
Rangking fitness Total
1 23
13 1
1,9950 2
24 13
2 2,9940
3 25
13 2
2,9940 4
26 12
3 3,9902
5 26
12 3
3,9902 6
26 13
3 3,9916
7 27
13 4
4,9902 8
27 9
4 4,9838
9 27
12 4
4,9888
Tabel 4.12 Pemberian nilai fitness pada kromosom dalam populasi lanjutan
Kromosom fitness f
1
fitness f
2
Rangking fitness Total
10 27
13 4
4,9902 11
29 13
5 5,9872
12 29
13 5
5,9872 13
29 13
5 5,9872
14 29
13 5
5,9872 15
30 13
6 6,9856
16 33
11 7
7,9758 17
34 13
8 8,9780
18 34
11 8
8,9736 19
35 10
9 9,9688
20 35
13 9
9,9758
Universitas Sumatera Utara
4.5.3. Proses Seleksi dan Mutasi
Proses seleksi dilakukan untuk memperoleh kromosom induk untuk menghasilkan individu baru. Proses seleksi untuk optimasi paretto optimum menggunakan seleksi
turnamen. Dalam seleksi turnamen ditentukan bahwa jumlah kromosom yang akan mengikuti turnamen adalah 3 kromosom yang dipilih secara acak atau k = 3 seperti pada tabel 4.13.
Tabel 4.13 Kromosom terpilih untuk k=3
Kromosom fitness
fitness
6 3,9916
0,2001 12
5,9872 0,5003
19 9,9688
1,0000
Dari ketiga kromosom ini akan dipilih satu kromosom yang akan menjadi induk secara acak dengan kromosom yang memiliki nilai fitness lebih besar mendapatkan kesempatan
terpilih yang lebih besar. Suatu bilangan acak antara 0 hingga 1 yang terpilih yaitu 0,6 menunjukkan bahwa bilangam 0,6 berada diantara fitness kromosom 12 dan 19 sehingga
kromosom 19 akan terpilih menjadi kromosom induk. Proses elitisme akan menghilangkan setengah dari jumlah kromosom awal pada populasi sehingga untuk mengembalikan jumlah
populasi, maka dibentuk kromosom baru melalui proses reproduksi. Kromosom baru yang
dihasilkan diharapkan mewarisi sifat induk yang telah ditentukan sebelumnya.
Proses reproduksi pada optimasi paretto optimum dilakukan melalui proses mutasi saja. Proses dilakukan dengan mengubah jumlah bit biner ke dalam bentuk inversnya sehingga
diperoleh kombinasi dari kromosom yang lebih baik. Nilai probabilitas pada beberapa percobaan optimasi Paretto Optimum sebesar P
m
= 0,1. Mutasi yang digunakan adalah metode banyak titik dimana bit dipilih secara acak sejumlah 105 titik dan bit yang terpilih di-
invers- kan seperti pada Gambar 4.2.
Universitas Sumatera Utara
Kromosom induk
: 0001010100 1100110110 …0111010001 1000110100 0110110001
Hasil Mutasi: Kromosom baru 11: 000100
0100 1100110110 …0101010001 1000110100 0110010001 Kromosom baru 12: 0001010100 1101
110110 …0111010011 1000110100 0110110001 ……….
Kromosom baru 18: 0001010100 1101 110110 …0111010001 1000110100 0010110001
Kromosom baru 19: 0001110100 1101
110110 …0111010001 1000110100 0110110001
Kromosom baru 20: 00010100 00 1100110110… 0111010001 1000110100 0110010001
Gambar 4.2 Proses reproduksi dengan mutasi banyak titik Proses pembentukan populasi awal, evaluasi nilai fitness, proses seleksi dan mutasi
sampai diperoleh populasi baru dengan jumlah kromosom yang sama dengan kromosom awal merupakan satu generasi dari pencarian. Proses iterasi dari satu generasi ke generasi
selanjutnya dilakukan berulang-ulang sehingga nilai fitness yang ditemukan semakin kecil. Proses perubahan nilai fitness ini diharapkan dapat menemukan kumpulan solusi yang
optimum seperti tujuan dari proses Paretto Optimum. Proses pencarian akan berhenti apabila kumpulan solusi yang dianggap paling optimal telah ditemukan. Pencarian ini ditandai
dengan tidak terjadi lagi perubahan pada nilai fitness yang diperoleh. Kondisi ini disebut juga dengan konvergen dan pencarian dihentikan.
4.5.4. Hasil Pengujian Tanpa Algoritma Penjadwalan
Dari hasil pengujian, pencarian nilai fitness menghasilkan konvergen pada generasi ke- 127 dengan beberapa populasi akhir seperti pada Tabel 4.14.
Universitas Sumatera Utara
Tabel 4.14 Populasi akhir dari hasil proses optimasi
Kromosom fitness f
1
fitness f
2
Rangking Fitness total
1 2
12 1
1,9928 2
2 9
1 1,9960
3 2
9 1
1,9960 4
2 9
1 1,9960
5 2
13 1
1,9916 6
2 13
1 1,9916
7 2
13 1
1,9916 8
2 9
1 1,9960
9 2
11 1
1,9940 10
2 10
1 1,9950
11 2
12 1
1,9928 12
2 13
1 1,9916
13 2
9 1
1,9960 14
2 9
1 1,9960
15 2
9 1
1,9960 16
2 13
1 1,9916
17 2
13 1
1,9916 18
2 13
1 1,9916
19 2
9 1
1,9960 20
2 13
1 1,9916
Pada populasi akhir di atas terlihat konvergensi pada nilai fitness f
1
sama untuk seluruh kromosom yaitu sebesar 2, sedangkan nilai fitness f
2
berbeda-beda dengan nilai tekecil sebesar 9. Untuk fitness total terlihat bahwa nilainya berbeda-beda. Nilai fitness total akan
semakin kecil jika nilai fitness f
2
semakin kecil. Dalam Paretto Optimum seluruh kromosom dalam populasi merupakan solusi yang
mempertimbangkan semua variabel dalam fitness. Apabila proses pencarian harus menentukan single solution dari kumpulan solusi yang ada, maka solusi yang dicari adalah
solusi dengan tingkat pemenuhan terhadap seluruh variabel yang paling baik. Dalam hal ini,
Universitas Sumatera Utara
proses optimasi menginginkan tidak terjadi lagi pelanggaran waktu dan penggunaan ruangan yang paling minimal.
Berdasarkan hasil akhir dari proses pencarian, f
1
merupakan jumlah pelanggaran waktu dan f
2
merupakan penggunaan jumlah ruangan, diperoleh hasil dengan Paretto Optimum jumlah populasi=20, proses elitisme dengan menghilangkan 50 dari total kromosom pada
populasi dan probabilitas mutasi sebesar P
m
= 0.1 pada pencarian hingga 127 generasi menghasilkan jadwal dengan jumlah pelanggaran waktu sebanyak 2 kali dan jumlah ruangan
maksimal yang digunakan sebanyak 9 ruangan dan waktu yang dibutuhkan untuk mencapai konvergen adalah 93 menit.
4.6. Proses Optimasi dengan Algoritma Penjadwalan dan Algoritma Genetika