Prinsip Kerja Algoritma Genetika

secara bersamaan, mengevaluasi tiap calon solusi secara bersamaan, mengevaluasi tiap calon solusi, kemudian memurnikan calon-calon solusi yang lebih baik dengan cara mempertukarkan informasi diantara calon solusi yang berbeda crossover, dan bereksperimen dengan menciptakan calon solusi baru yang belum pernah ada sebelumnya mutation. Dengan bereksperimen terhadap sejumlah calon solusi, algoritma genetika dengan cepat dapat menentukan ruang pencarian yang menjanjikan solusi yang optimal dari keseluruhan ruang pencarian dan mengeksplorasinya secara lebih mendetail Dhar dan Stein, 1997. Karena kemampuan inilah, algoritma genetik juga dapat diterapkan untuk menyelesaikan persamaan-persamaan linear maupun non linear yang bersifat kontinyu maupun diskontinyu. Saat ini algoritma genetika telah berhasil diimplementasikan ke dalam berbagai bidang keteknikan engineering, investasi, robotik, manajemen industri seperti desain sistem produksi, tata letak fasilitas, penjadwalan produksi, dan otomatisasi industri, serta improvisasi musik jazz. Di bidang agroindustri, algoritma genetika juga diaplikasikan untuk desain sistem penyimpanan dan pengawetan hasil laut, desain sistem bioreaktor, prediksi permintaan produk agroindustri, prediksi tingkat suku bunga, penjadwalan pemupukan serta penentuan kadar nutrisi pupuk tanaman.

2. Prinsip Kerja Algoritma Genetika

Mekanisme kerja algoritma genetika cukup sederhana, dimana melibatkan proses yang tidak lebih rumit dari menyalin kromosom dan mempertukarkan bagian tertentu dalam kromosom tersebut. Kesederhanaan operasi dan kehebatan dalam menyelesaikan masalah optimasi merupakan dua hal yang sangat menarik dari algoritma genetika Goldberg, 1999. Untuk menyelesaikan suatu masalah dengan algoritma genetika, tahap pertama adalah mengkodekan variabel keputusan kedalam suatu struktur yang mirip dengan kromosom makhluk hidup. Dalam optimasi numerik menggunakan algoritma genetika, angka biner {0,1} adalah notasi yang paling banyak digunakan untuk mempresentasikan suatu variabel ke dalam suatu kromosm Bagchi, 1999. Algoritma genetika mulai bekerja dengan membangkitkan beberapa calon solusi awal sebanyak n kromosom yang masing-masing memiliki panjang l. Kromosom-kromosom tersebut merupakan populasi awal initial population yang akan dieksekusikan oleh algoritma genetika. Calon-calon solusi tersebut dibangkitkan secara acak oleh algoritma genetika menggunakan analogi koin yang dilempar berturut-turut sebanyak n x l, dimana bagian muka koin mewakili angka 1 dan bagian belakang koin mewakili angka 0. Contohnya: suatu populasi awal terdiri dari 4 kromosom yang masing-masing memiliki panjang 5, maka dibutuhkan 20 4 x 5 kali lemparan koin untuk menentukan populasi awal. Misalnya, lemparan tersebut menghasilkan populasi awal sebagai berikut: 01101 11000 01000 10011 Goldberg 1989 menyatakan bahwa sebuah algoritma genetika yang dapat menghasilkan solusi yang baik pada banyak masalah praktis terdiri dari tiga operator utama, yakni: 1. Reproduction 2. Crossover 3. Mutation Reproduction adalah sebuah proses dimana sebuah deret kromosom disalin berdasarkan bila fungsi tujuan f para ahli biologi menyebut fungsi ini sebagai fungsi fitness. Fungsi fitness merupakan suatu fungsi yang mengukur keuntungan, kegunaan, atau kebaikan yang akan dimaksimalkan. Menyalin kromosom berdasarkan nilai fitness berarti bahwa kromosom yang memiliki nilai fitness lebih tinggi akan memiliki peluang yang lebih tinggi dalam memberikan satu atau lebih keturunan pada generasi berikutnya. Misalnya, algoritma genetika digunakan untuk menyelesaikan sebuah masalah, yakni memaksimalkan fungsi f x = x 2 . Maka nilai fitness empat buah kromosom yang dihasilkan pada populasi awal akan ditentukan oleh fungsi tujuannya, yakni fx = x 2 . Tabel 1 berikut menunjukkan nilai fitness masing-masing kromosom dalam populasi awal. Tabel 1. Nilai fitness masing-masing kromosom No. Kromosom Pada Populasi Awal Dibangkitkan secara acak Nilai x fx x 2 1 01101 = 2 4 x0 + 2 3 x1 + 2 2 x1 + 2 1 x0 + 2 x1 13 169 2 11000 = 2 4 x1 + 2 3 x1 + 2 2 x0 + 2 1 x0 + 2 x0 24 576 3 01000 = 2 4 x0 + 2 3 x1 + 2 2 x0 + 2 1 x0 + 2 x0 8 64 4 10011 = 2 4 x1 + 2 3 x0 + 2 2 x0 + 2 1 x1 + 2 x1 19 361 Operator reproduksi dapat diimplementasikan kedalam bentuk algoritmik dalam berbagai cara. Salah satunya adalah dengan menciptakan roda rolet dimana tiap kromosom dalam populasi memiliki slot pada rolet yang ukurannya sesuai dengan proporsi nilai fitness-nya, yakni rasio antara nilai fitness suatu kromosom dengan total nilai fitness semua kromosom. Tabel 2 berikut menunjukkan besarnya ukuran slot masing-masing kromosom pada populasi awal. Tabel 2. Ukuran slot masing-masing kromosom No. Kromosom Pada Populasi Awal fx x 2 Ukuran Slot f i ∑f x 100 1 01101 169 14,40 2 11000 576 49,20 3 01000 64 5,50 4 10011 361 30,90 Reproduksi dilakukan dengan cara memutar roda rolet yang telah ditentukan ukuran slotnya sebanyak jumlah kromosom yang terdapat dalam populasi tersebut. Kromosom yang terpilih selanjutnya akan disalin dan hasil salinannya akan ditempatkan ke dalam mating pool, yaitu tempat berkumpulnya kromosom-kromosom induk yang akan mengalami penyilangan dan mutasi. Gambar 4 berikut merupakan contoh roda rolet yang setiap slotnya mewakili peluang terpilihnya kromosom untuk dimasukkan ke dalam mating pool. Gambar 4. Roda Rolet dengan ukuran slot yang masing-masing mewakili peluang terpilihnya kromosom. Setelah roda rolet diputar sebanyak empat kali, hasilnya menunjukkan bahwa kromosom 1 dan 4 masing-masing memiliki satu salinan di dalam mating pool, kromosom 2 memiliki dua salinan, sedangkan kromosom 4 tidak memiliki salinan. Hal ini menunjukkan bahwa kromosom yang memiliki nilai fitness yang paling tinggi akan memiliki lebih banyak salinan, kromosom yang nilai fitness-nya rata-rata memiliki salinan yang lebih sedikit, sedangkan kromosom yang nilai fitness-nya paling rendah tidak akan disalin. Di dalam mating pool yang telah terisi oleh salinan kromosom-kromosom dengan nilai fitness yang baik, proses penyilangan akan terjadi dalam dua tahap: Pertama, kromosom akan dipasangkan secara acak dengan kromosom lainnya melalui lemparan koin. Kedua, kromosom yang telah berpasangan akan disilangkan, dimana titik penyilangannya akan ditentukan oleh lemparan koin. Kedua, kromosom yang telah berpasangan akan disilangkan, dimana titik penyilangannya akan ditentukan oleh lemparan koin. Berdasarkan contoh sebelumnya, hasil lemparan koin ternyata memasangkan kromosom 3 dengan kromosom 1 dan titik penyilangannya adalah 4, sehingga dua kromosom tersebut, yakni 11000 dan 01101 bersilangan dan menghasilkan dua kromosm baru: 11001 dan 01100. Dua kromosom lainnya melakukan penyilangan pada titik 2. Hasilnya dapat dilihat pada Tabel 3 berikut ini. Tabel 3. Hasil penyilangan kromosom Kromosom dalam Mating Pool Pasangan Dipilih Acak Titik Penyilangan Dipilih Acak Populasi Baru Nilai x fx x 2 0110 | 1 2 4 01100 12 144 1100 | 0 1 4 11001 25 625 11 | 000 4 2 11011 27 729 10 | 011 3 2 10000 16 256 Operator terakhir adalah mutasi, yang dilakukan dengan basis perbit. Menurut Goldberg 1989, operator mutasi diperlukan karena meskipun operator reproduksi dan penyilangan dapat mencari solusi secara efektif dan mengkombinasikan peluang-peluang yang ada, namun terkadang opertaor0operator tersebut bekerja terlalu berlebihan sehingga menghilangkan beberapa material genetik yang potensial, misalnya 1 atau 0 pada lokasi tertentu dalam krmomosom, dimana material tersebut berperan dalam meningkatkan nilai fitness suatu kromosom dan keturunannya. Dhar dan Stein 1997 berpendapat bahwa operator mutasi menyediakan peluang bagi anggota populasi dalam algoritma genetika untuk melompat dari suatu daerah dalam ruang solusi ke tempat lainnya, sehingga algoritma genetika dapat memeriksa daerah pencarian baru dalam rangka untuk mencari solusi yang lebih baik. 1. 14,4 2. 49,20 3. 5,50 4. 30,90 Peluang terjadinya mutasi Pm adalah rasio antara jumlah gen yang diharapkan mengalami mutasi pada setiap generasi dengan jumlah gen total dalam populasi. Nilai Pm yang digunakan biasanya sangat rendah, yakni berkisar antara 0,001-0,2 Gen dan Cheng, 1997. Pada contoh diatas, diasumsikan bahwa peluang terjadinya mutasi adalah sebesar 0,001. Dengan jumlah gen sebanyak 20 bit dalam populasi, perkiraan banyaknya bit yang akan mengalami mutasi dalam satu generasi adalah sejumlah 20 x 0,001 = 0,02 bit. Namun contoh di atas menunjukkan bahwa mutasi tidak terjadi selama proses pembiakan. Berdasarkan contoh diatas, dapat dilihat bahwa algoritma genetika menghasilkan populasi baru dengan rata-rata nilai fitness yang lebih tinggi, yakni sebesar 439 dibandingkan rata-rata nilai fitness populasi awal yang hanya sebesar 293. Nilai fitness maksimum pada populasi baru juga meningkat, yakni sebesar 729, sedangkan populasi awal hanya sebesar 576. Hal ini menujukkan bahwa lagoritma genetika memiliki kemampuan untuk belajar dan beradaptasi, dengan menciptakan calon-calon solusi yang lebih baik pada setiap generasi, sampai ditemukannya solusi yang paling optimal.

3. Prosedur Algoritma Genetika.