Desain Algoritma Genetika
4.3.1 Desain Algoritma Genetika
Proses atau metode algoritma genetika terdiri dari beberapa tahapan penting, yaitu: pengkodean (Encoding), nilai fitness, dan seleksi (selection), kawin silang (crossover), dan mutase (mutation).
1. Pengkodean (Encoding)
Encoding adalah suatu proses pengkodean gen dalam suatu kromosom, dimana jadwal yang akan dimasukkan kedalam model kromosom yang didalamnya terdiri dari beberapa gen. Jenis Encoding ang dipakai yaitu real-number Encoding. Penulis memilih jenis pengkodean ini karena didasarkan oleh jumlah kromosom yang sangat banyak, sehingga jenis ini dinilai cocok untuk pengkodean. Encoding dilakukan dengan memisahkan tiap-tiap tabel masukan (missal: tabel hari) sebagai sebuah gen yang unik, dan setiap tabel dikodekan dalam bentuk angka.
Tabel 4. 1 Contoh Encoding Hari
Id Hari
Nama Hari
2. Populasi Awal
Tahap selanjutnya yaitu pembuatan pembentukan kromosom yang terdiri dari atas 1 buah gen yang sudah dikodekan sebelumnya, dimana gennya terdiri dari tabel pegawai, tabel jobs, dan tabel waktu
Tabel 4. 2 Urutan Pembentukan Kromosom
Gen
Tugas
Pegawai Pesanan
Pemesan
Durasi
3. Nilai Fitness dan Seleksi
Pada setiap populasi baru tebentuk baik dari populasi awal maupun dari proses regenerasi akan dihitung nilai fitness. Fitness merupakan nilai kualitas dari suatu kromosom. Seleksi nilai fitness merupakan solusi yang umum digunakan, rumus mencari nilai fitness yang digunakan pada aplikasi ini sebagai berikut:
Fitness =
Ket: • P = Bentrok Pesanan sama dipegawai yang sama.
• D = Durasi/jangka waktu sama pegawai yang sama. Selection adalah salah satu proses untuk mendapatkan kromosom-
kromosom berkualitas pada generasi berikutnya. Metode yang digunakan yaitu roulette whel selection. Pemilihan kromosom dalam selection dilakukan dengan memperhatikan Batasan-batasan (constraint) yang sudah ditetapkan sebelumnya. Setiap kromosom akan diperiksa satu per satu dan dibandingkan dengan kromosom lainnya sesuai dengan batasab-batasan.
Proses seleksi dilakukan dengan cara memisahkan kromosom yang tidak memiliki pelanggaran dengan kromosom yang masih memiliki nilai error atau pelanggaran. Kromosom yang tidak memiliki pelanggaran atau nilai error akan disimpan sebagai kromosom yang bekualitas yang nantinya akan digunakan untuk dibandingkan kromsom hasil kawin silang dan mutasi. Sedangkan kromosom yang Proses seleksi dilakukan dengan cara memisahkan kromosom yang tidak memiliki pelanggaran dengan kromosom yang masih memiliki nilai error atau pelanggaran. Kromosom yang tidak memiliki pelanggaran atau nilai error akan disimpan sebagai kromosom yang bekualitas yang nantinya akan digunakan untuk dibandingkan kromsom hasil kawin silang dan mutasi. Sedangkan kromosom yang
Contoh : Kromosom 1
Kromosom 2 Berikut adalah 2 kromosom dengan 2 gen didalamnya. Langkah-
langkah unutk melakukan proses seleksi kromosom yaitu:
1. Membandingkan antara kromosom 1 dengan kromosm 2 dengan memperthatikan Batasan-batasan (constraint) berikut:
• Pesanan tidak boleh dikerjakan oleh pegawai yang sama • Durasi yang sama tidak bisa dikerjakan oleh pegawai yang
sama.
2. Selanjutnya melakukan pemisahan kromosom yang tidak memiliki pelanggaran atau nilai error terhadap constraint, kemudian kromosom yang tidak terpilih akan disimpan sebagai kromsom yang berkualitas. Sedangkan kromosom yang masih memiliki nilai error selanjutnya akan dikawin silangkan (crossover) dan mutase.
4. Kawin Silang (Crossover)
Crossover yaitu mengawinkan atau menukarkan gen antara dua kromosom. Ada beberapa hal yang perlu diperhatikan dalam crossover :
a. Tentukan probabilitas persilangan (pc) yang diinginkan.
b. Bangkitkan bilangan acak ke-i antara 0-1 untuk setiap kromosom yang terdapat pelanggaran atau nilai error didalamnya.
c. Bandingkan bilangan acak ke-i pada setiap kromosom apakah ada yang memiliki nilai lebih besar dari (pc). Jika ya, maka pilih kromosom tersebut sebagai kromosom crossover.
d. Lakukan crossover pada semua pasangan gen antara dua kromosom secara berurutan, gen 1 pada kromosom 1 dikawin silangkan dengan gen 1 pada kromosm 2, gen 2 pada kromosom
1 dikawin silangkan dengan gen 2 pada kromosom 2, begirtu seterusnya.
Proses crossover dilakukan menggunakan metode one-point Crossover , ini merupakan metode perkawinan silang yang paling sederhana. Pemilihan ini didasarkan pada jumlah gen dalam kromosom yang sedikit itu 2 gen. jadi teknik ini dinilai cocok unutk digunakan. Setelah didapatkan hasil crossover, kemudian yang dilakukan evaluasi kembali tersebut. Kromosom yang tidak terdapat nilai error atau pelanggaran akan disimpan, sedangkan kromosom yang terdapat nilai error atau pelanggaran akan dilakukan proses mutasi.
5. Mutasi (Mutation)
Mutation adalah proses untuk mengubah susunan gen dalan suatu kromosom, gen yang diubah bukan keduanya, tetapi gen pegawai saja. Pemilihan posisi gen yang akan dimutasi dilakukan secara acak, tergantung mt (mutation rate), jika mt 25% maka akan diubah seperempat dari semua gen di semua kromosom. Nilai gen yang terkena proses mutase nilainya akan diganti secara acak dengan nilai yang terdapat pada tabel yang mewakili nilai tersebut. Setelah proses berhenti, kromosom hasil mutasi akan dievaluasi. Apabila masih ditemukan kromosom yang mengandung pelanggaran dari evaluasi yang dilakukan, maka akan kembali dilakukan proses crossover dan mutasi sampai sejumlah kromosom yang tersisa habis dan tidak mengandung pelanggaran lagi.
Berikut adalah langkah-langkah Generate jadwal menggunakan algoritma genetika:
Diketahui: • 20 Pegawai yang bekerja
• Tanggal mulai • Durasi • Pemesan
Tabel 4. 3 Tabel Sebelum Menerapakan Algoritma Genetika
Nama Pemesan Nama Pegawai Tgl mulai mengerjakan Durasi
2017-08-08
6 Bagas
Toni
2017-07-25
7 Nur
Kiki
2017-07-15
3 Lowike
Noobi
2017-07-15
Fahmi
2017-07-25
Tahapannya :
1. Encoding (Pengkodean Gen dalam suatu kromosom)
Tabel 4. 4 Pengkodean Pegawai
No Nama Pegawai
8 Edi
1 Toni
9 Wawan
2 Rijal
10 Ari
3 Kiki
4 Agus
5 Samsul
6 Santo
7 Engkus
Tabel 4. 5 Pengkodean Pemesan
No Nama Pemesan
Tabel 4. 6 Pengkodean Pesanan
1 Puri Handayani
NO
Nama Pesanan
2. Pembangkitan Populasi Awal
Gen
Tugas
Pegawai Pesanan
Tugas Pegawai
Tugas Pegawai
3. Seleksi Nilai Fitness
Fitness=
Ket : • P = Bentrok Pesanan yang sama
• D = Durasi/jangka waktu pesanan sama pegawai Misalnya ketika membandingkan gen 1 dan gen 2 : Jika pesanan dan pegawai sama maka bentrok (ClashPesanan+1) Jika durasi dan pegawai yang mengerjakan sama makan bentrok
(ClashPesanan+1) Gen 1 dibandingkan dengan gen 2
Gen 1 dibandingkan dengan gen 2 Kromosom 1 :
Menukar gen antara 2 kromosom Kromosom 1 :
Kromosom 2 : 3,6 4,6
CROSSOVER Kromosom 1 :
Kromosom 2 : 3,1 2,1 Masih ada bentrok
5. Mutasi
Perubahan susunan gen di dalam kromosom, yang diubah hanya gen waktu saja.
Jadwal yang sudah tidak ada bentrok dengan menerapkan perhitungan algoritma genetika:
Kromosom 1 : Kromosom 2 : 1,6 2,1