Penerapan Algoritma Genetika Dalam Optimasi Anastasia Widya Wati B 163
yang baru terbentuk kembali. Proses ini akan diulang sampai jumlahnya sesuai
dengan input jumlah generasi dari user atau memberikan output yang dianggap telah
memenuhi kriteria permasalahan.
Dalam pembentukan generasi awal ini, satu nomor kromosom mewakili satu
sifat, yang akan diacak oleh komputer untuk menyusun suatu gen, proses ini
disebut reproduksi. Gen adalah susunan kromosom dalam bentuk nomor yang
terkumpul menjadi suatu string dalam bentuk kode. Jumlah gen yang disusun
tergantung pada input dari user.
b. Mencari fitness cost
Pada tahap ini, setiap individu yang terbentuk dicari fitness costnya sebagai
pembanding antara individu satu dengan individu lainnya. Metode fitness cost yang
diambil dengan menjumlahkan semua nilai pembanding yang dihasilkan dari susunan
populasi. Perubahan solusi dapat diperoleh melalui 2 proses yaitu proses mutasi dan
proses persilangan.
c. Pengurutan sorting
Individu yang
ada di
populasi diurutkan berdasarkan fitness cost-nya.
Tujuannya adalah untuk mencari individu terbaik dari populasi yang ada, yang disebut
sebagai solusi terbaik sementara.
d. Proses Regenerasi
Terdiri dari 2 metode yaitu •
Metode Elitism Metode dimana individu-individu yang
akan mengalami regenerasi, yaitu mutasi dan crossover, didasarkan pada
nilai fitness yang rendah, sedangkan individu yang memiliki nilai fitness
tinggi
akan dipertahankan
untuk dibandingkan dengan individu hasil
proses regenerasi. •
Metode Non-Elitism Metode
yang melibatkan
semua individu, baik individugen terbaik
maupun gen yang kurang baik. Ada beberapa proses:
a. Mutasi
Mutasi adalah perubahan yang terjadi pada suatu individu, terlepas
dari pengaruh individu yang lain, yang
dilakukan dengan
cara mengubah kode string secara
probabilitas. Diharapkan
kode string terakhir yang diperoleh
merupakan solusi terbaik untuk permasalahan yang dihadapi.
b. Crossover
Kawin silang Proses penggabungan string dari
dua kode yang berbeda yang berarti mengambil bagian solusi yang
terbaik dari dua solusi yang berlainan, dengan harapan akan
dihasilkan
suatu solusi
yang terbaik.
Crossover dilakukan
dengan beberapa langkah sederhana sebagai berikut:
• Pertama, dipilih lokasi string
secara random •
Kedua, dipilih panjang string yang akan dikawinkan secara
random •
Ketiga, menukartempatkan gen yang dipilih dengan bagian
string dari gen terbaik. •
Keempat, memposisikan bagian kromosom yang tidak tertukar.
e. Tahap pengulangan
Setelah proses regenerasi selesai, maka dilakukan pengulangan sampai sejumlah
generasi yang dikehendaki. Gen dari generasi sebelumnya digantikan posisinya
dengan generasi yang baru. Individu yang diperoleh dari proses mutasi dan crossover
dianggap sebagai populasi awal lagi. Algoritma Genetika akan mengulang tahap
b sampai e secara terus menerus sampai pada
sejumlah generasi
yang telah
ditentukan. Pada akhir proses pengulangan ini, diharapkan diperoleh individu terbaik
dengan FC=0.
3. APLIKASI ALGORITMA GENETIK
Algoritma Genetika
dalam mengoptimasikan model dan simulasi suatu
sistem sudah banyak diterapkan pada bidang
manufaktur, di
sini dibahas
beberapa contoh mengenai hal tersebut. 1.
Optimasi Penjadwalan Produksi
Contoh aplikasi yang akan dibahas untuk masalah ini diambil berdasarkan
jurnal mengenai perencanaan produksi menggunakan simulasi dan algoritma dalam
optimasi penjadwalan
multi-kriteria.
164 , ISSN:1411-6340
Masalah yang dibahas disini adalah masalah yang dihadapi oleh banyak
perusahaan yaitu bagaimana menjadwalkan produksi
dalam usahanya
untuk meminimasi
ongkos produksi
dan penjadwalan produksi yang merata. Metoda
tradisional membuktikan ketidaksesuaian metoda tersebut untuk produk yang sangat
variatif dan prosedur produksinya sangat rumit, karena akan banyak memakan waktu.
Penjadwalan produksi yang dibahas dalam topik ini bersifat job shop dengan
tujuan untuk mengoptimasikan rencana penjadwalan
produksi dengan
menggunakan metode algoritma genetika, yang merupakan algoritma pencarian yang
meniru mekanisme dari genetika alam. Dalam optimasi rencana penjadwalan
produksi dengan menggunakan algoritma genetika,
kromosom mewakili
daftar pesanan produksi yang harus dijadwalkan
sesuai dengan kriteria yang ditentukan dan harus sesuai dengan pembatasan dalam
proses produksi. Simulasi model digunakan untuk fungsi fitness, sehingga setiap
kromosom akan mendapatkan nilai fitness fitness value.
Data untuk mengoptimasi jadwal tersedia dalam database, program algoritma
genetika didasarkan pada data yang diekstraksi yang disiapkan untuk populasi
awal dari kromosom. Setiap populasi bersifat terbatas, dan memiliki ukuran yang
tetap yang disebut sebagai generasi. Dengan bantuan dari fungsi fitness, yang
diwakili oleh model simulasi, kromosom di setiap populasi kemudian dievaluasi, hal ini
dilakukan untuk memilih kromosom mana yang akan bertahan di generasi berikutnya.
Evolusi dari
kromosom yang
bertahan hidup diuji berdasarkan operator genetik seperti mutasi dan crossover,
sehingga kromosom yang baru akan berkembang. Proses evolusi akan terus
berulang sampai diperoleh hasil yang terbaik. Kromosom dengan nilai fitness
yang lebih baik akan disimulasikan dalam model
simulasi visual.
Dengan menggunakan simulasi visual dan integrasi
optimisasi dari system untuk perencanaan produksi,
dapat diputuskan
mana perencanaan jadwal produksi yang mudah
dan cepat. Program untuk optimisasi penjadwalan dengan algoritma genetika
dikembangkan dengan program C++, dan untuk tujuan validasi dari fungsi fitness
diimplementasikan dengan Promodel.
Karena proses
produksi menggunakan sistem Job Shop, maka
rencana penjadwalan sangat tergantung pada pesanan produksi. Jika terdapat
pesanan baru maka akan dilakukan penjadwalan ulang. Penjadwalan ulang ini
sangat
bergantung pada
pembatalan pesanan, pesanan baru, kerusakan mesin
dan kejadian tak terduga lainnya. Dengan menggunakan
algoritma genetika
perencanaan penjadwalan yang pertama membutuhkan waktu sekitar 25 menit, jika
ada tambahan pesanan algoritma genetika tidak langsung melakukan penjadwalan
ulang tetapi akan menggunakan jadwal yang sudah ada, tapi pesanan yang baru
akan secara langsung ditambahkan pada jadwal yang sudah ada, dan secara otomatis
jadwal yang baru langsung terbentuk, dan waktu yang dibutuhkan adalah sekitar 7
menit.
Jika dibandingkan
antara penjadwalan dengan cara yang lama
membutuhkan waktu sekitar 120 menit, sedangkan dengan menggunakan algoritma
genetika hanya membutuhkan waktu sekitar 25 menit untuk menyelesaikan persoalan
yang sama.
Pada Gambar 1 dibawah ini dapat dilihat penjadwalan yang optimal dari 5 job
untuk waktu tertentu, dimana tersedia beberapa waktu bebas. Sewaktu pesanan
baru datang langsung dapat dijadwalkan pada akhir penjadwalan. Pada gambar 2,
diperlihatkan penjadwalan yang tidak optimal dari 5 job. Sedangkan gambar 3
menunjukkan jadwal yang sudah optimal untuk 5 job, pesanan baru bisa langsung
dikerjakan karena ketersediaan waktu di workstation tidak berlebihan.