Algoritma Genetika

advertisement
Tugas Mata Kuliah E-Bisnis
REVIEW TESIS
Desain Algoritma Genetika Untuk Optimasi Penjadwalan
Produksi Meuble Kayu
Studi Kasus Pada PT. Sinar Bakti Utama
(oleh Fransiska Sidharta
dibawah bimbingan Prof.Kudang Boro Seminar)
Disusun oleh
Rizal Bahara
P056120232.41E
Dosen
Dr. Ir. Arif Iman Suroso, MSc.
MAGISTER MANAJEMEN BISNIS
PROGRAM PASCASARJANA MANAJEMEN DAN BISNIS
2014
1. Identifikasi
Judul Jurnal :
Desain Algoritma Genetika Untuk Optimasi Penjadwalan Produksi Mebel Kayu
(Studi Kasus Pada PT. Sinar Bakti Utama)
Nama Penulis
: Fransiska Sidharta
Nama Universitas : IPB
Dosen Pembimbing : Prof. Kudang Boroseminar
2. Latar Belakang
Perjadwalan Produksi mebel kayu merupakan persoalan pengurutan tahapan produksi yang
dip roses pada mesin-mesin tertentu dengan urutan pengerjaan yang berbeda untuk setiap
jenis produk yang berbeda. Dengan banyaknya jumlah pesanan yang masuk perlu di
gunakan metode untuk mencari semua kemungkinan kombinasi penjadwalan untuk
mendapatkan solusi yang optimal
Pencarian semua kemungkinan kombinasi penjadwalan ini dilakukan dengan menggunakan
metode algoritma genetika. Digunakan 3 proses dasar algoritma genetika yaitu : proses
seleksi, proses crossover dan proses mutasi untuk mencari solusi yang paling optimum dari
banyak kemungkinan kombinasi solusi.
3. Tujuan
a. Merancang Algoritma Genetika untuk optimasi penjadwalan produksi kayu
b. Implementasi algoritma tersebut dalam sebuah prototype program aplikasi
4. Pemasalahan
a. Produksi meubel kayu pada PT. Sinar Bakti Utama mengalami beberapa
keterlambatan yang disebabkan kurang teraturnya jadwal produksi yang dibuat
secara manual. Hal ini berdasarkan tinjuan awal pada pabrik tersebut
b. Belum ada suatu metode penjadwalan yang optimal pada pabrik meubel kayu.
5. Kerangka Pemikiran dan Metode Penelitian
6. Konsep dan Teori
Algoritma Genetika
Algoritma genetika (GA) merupakan suatu metode pencarian yang didasarkan pada
mekanisme dari seleksi dan genetika natural (Haupt dan Haupt 2004). Proses GA dapat
dilihat pada Gambar 3.
GA digunakan untuk menemukan solusi dalam masalah yang kompleks melalui
kumpulan-kumpulan metode atau teknik seperti fungsi evaluasi (fitness function), pindah
silang, mutasi, dan seleksi alam (Owais et al., 2005). Walaupun algoritma genetika sudah
banyak digunakan di bidang pertanian dan agroindustri secara umum seperti yang
dilakukan (Mardle dan Pascoe 2000, Matthews et al., 2005, Mayer et al., 2001, Sarker dan
Ray 2009, Stewart et al., 2004, Zhang et al., 2009), namun publikasi penggunaan algoritma
genetika untuk optimasi rantai pasok produk hortikultura belum banyak ditemukan. GA
dikarakterisasi dengan 5 komponen dasar yaitu :
1. Representasikan kromosom untuk memudahkan penemuan solusi dalam masalah
pengoptimasian.
2. Inisialisasi populasi.
3. Fitness function yang mengevaluasi setiap solusi.
4. Proses genetik yang menghasilkan sebuah populasi baru dari populasi yang ada.
5. Parameter seperti ukuran populasi, probabilitas proses genetik, banyaknya generasi, dan
lain-lain.
Definisi
Algoritma genetika adalah algoritma komputasi yang diinspirasi teori evolusi
yang kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu
permasalahan dengan cara yang lebih “alamiah”, algoritma genetik juga merupakan
algoritma pencarian secara heuristik. Salah satu fungsinya ialah untuk mencari solusi atas
permasalahan optimasi kombinasi, yaitu mendapatkan suatu nilai solusi optimal terhadap
suatu permasalahan yang mempunyai banyak kemungkinan solusi. Teori dasar dari
Algoritma Genetika dikembangkan oleh John Holland awal tahun 1975 di Universitas
Michigan, Amerika Serikat. Dimana prinsip algoritma genetik diambil dari teori Darwin
yaitu setiap makhluk hidup akan menurunkan satu atau beberapa karakter ke anak atau
keturunannya. Penyelesaian menggunakan algoritma genetik sangat berpengaruh dari
kromosom yang dibangun, dimana kromosom ialah sebuah molekul yang berisi DNA
dimana terdapat informasi genetik dalam setiap sel gen yang disimpan.
Komponen Algoritma Genetik
Algoritma genetik terdiri dari delapan komponen, yang bertugas untuk menunjang
dari optimasi tersebut, adapun komponen tersebut ialah, skema pengkodean, nilai fitness,
seleksi orang tua, pindah silang, mutasi, elitisme, penggantian populasi dan kriteria
penghentian.
Skema Pengkodean
Untuk dapat diproses menggunakan algortima genetik, suatu permasalahan harus
dikonversi dahulu kedalam bentuk individu yang diwakili oleh satu atau lebih kromosom
dengan kode tertentu. Hal ini berbeda dengan teori genetika di dunia nyata. Algoritma
genetik merepresentasikan gen secara umum, sebagai bilangan real, desimal atau biner
yaitu:
1.
2.
3.
Real number enconding. Pada skema ini, niai gen berada dalam interval [0,R] dimana R
ialah bilangan real positif dan biasanya R = 1.
Discrete decimal enconding. Pada skema ini setiap gen bisa berupa deretan bilangan
bulat dalam interval [0.9].
Binary enconding. Setiap gen bisa berupa deretan nilai 0 atau 1.
Nilai Fittnes
Nilai fitness dalam sebuah algoritma genetik menggambarkan tingkat kovergensi
keoptimalan algoritma dimana yang diharapkan adalah nilai fitness yang optimal dalam hal
ini angka tertinggi ialah nilai terbaik. Dalam evolusi dunia nyata, individu
bernilai fitness tinggi akan bertahan hidup, sedangkan yang memiliki nilai fitness rendah
akan gugur atau mati. Pada algoritma genetik, fitness biasanya dapat berupa fungsi objektif
dari masalah yang akan dioptimalisasi. Kromosom-kromosom diseleksi menurut
nilai fitnessmasing-masing Kromosom yang kuat mempunyai kemungkinan tinggi untuk
bertahan hidup pada generasi berikutnya.
Seleksi Orang Tua
Seleksi merupakan proses pemilihan kromosom dari generasi lama untuk dijadikan
orangtua yang akan saling kawin silang untuk membentuk kromosom baru digenerasi baru,
dalam hal ini kita menggunakan seleksi roda roulette (roulette wheel selection). Dalam hal
ini pemilihan dua buah kromosom sebagai orang tua (parent) dilakukan secara proposional
sesuai dengan nilai fitnessnya. Dimana kromosom yang memiliki nilai fitness tertinggi akan
menempati potongan yang lebih besar pada lingkaran daripada kromosom dengan
nilai fitness yang lebih rendah. Contoh metode roulette-wheel dapat diilustrasikan sebagai
berikut.
Pada contoh diatas, nilai dari S1 memiliki nilai fitnes yang paling besar, dengan
demikian peluang dari S1 untuk terpilih menjadi orang tua sebesar 0.277 sedangkan untuk
nilai S2 dan S3 memiliki peluang yang sama sebesar 0.138
Pindah Silang
Menurut George F.Luger dan William A. Stubblefield dalam buku Artificial
Intelegence Structures and Strategies For Complex Promblem Solving. Kekuatan dari
algoritma genetik ialah pada kemampuan pencarian mereka dalam pindah silang, dimana
algoritma
genetik
menerapkan
mempertahankan
beberapa
solusi
terbaik,
dan
menghilangkan solusi yang tidak bagus. Komponen pindah silang digunakan untuk
membentuk keturunan baru berdasarkan orangtua yang terpilih. Komponen ini sangat
dominan dalam algoritma genetik dibandingkan dengan komponen mutasi. Dan jumlah
kromosom yang digunakan sebanyak dua buah kromosom.
Pindah silang dilakukan dengan harapan kromosom-kromosom baru akan
mempunyai bagian baik dari kromosom-kromosom lama dan tidak menutup kemungkinan
menjadi kromosom-kromosom yang lebih baik
Skema dari pindah silang ini ialah, dengan mendapatkan dua buah individu orang
tua, selanjutnya ditentukan titik pindah silang secara acak. Jika diasumsikan L adalah
panjang kromosom, maka titik pindah silang berada diantara 1 hingga L-1, kemudian
beberapa bagian dari dua kromosom ditukar pada titik pindah silang yang terpilih. Titik
pindah silang ialah titik terjadinya pertukaran gen antar dua individu orang tua.
Mutasi
Mutasi diperlukan untuk mengembalikan informasi bit yang hilang akibat pindah
silang. Mutasi diterapkan dengan probabilitas yang sangat kecil. Jika mutasi dilakukan
terlalu sering, maka akan menghasilkan individu yang lemah karena konfigurasi gen pada
individu yang unggul akan dirusak. Berdasarkan bagian yang termutasi, proses mutasi
dapat dibedakan atas tiga bagian.
Eliteisme
Karena seleksi dilakukan secara acak, maka tidak ada jaminan bahwa suatu individu
bernilai fitnes tertinggi akan selalu terpilih. Kalaupun individu bernilai fitnes tertinggi
terpilih, mungkin saja akan menjadi rusak karena proses pindah silang. Untuk menjaga agar
individu bernilai fitnes tertinggi tersebut tidak hilang selama evolusi, perlu dibuat satu atau
dua kopinya. Prosedur ini dikenal sebagai elitisme. Prosedur ini hanya digunakan pada
algoritma genetic berjenis generational replacement.
Penggantian Populasi
Pada algoritma genetik berjenis generational replacement, N individu pada suatu
generasi digantikan sekaligus oleh N individu baru hasil pindah silang dan mutasi. Untuk
mempertahankan individu terbaik, diperlukan skema elitisme.
Adapun prosedur penggantian populasi pada algoritma genetik ialah:
1.
2.
3.
Mengganti individu yang memiliki nilai fitnes terkecil.
Mengganti individu yang paling tua.
Membandingkan anak dengan kedua orang tua, apabila anak memiliki nilai
menggantikan orang tua yang memiliki nilai fitnes terendah.
Kriteria Penghentian
Terdapat beberapa syarat penghentian yang digunakan pada proses perulangan.
1.
2.
3.
Memberikan batasan jumlah iterasi, apabila batas iterasi tersebut tercapai dan nilai
fitnes tertingi sebagai solusi.
Memberikan batasan waktu proses algoritma genetic
Menghitung kegagalan penggantian anggota populasi yang terjadi secara berurutan
sampai jumlah tertentu.
7. Tahapan Penelitian dan Lokasi
Lokasi penelitian adalah di PT. Sinar Bakti Utama Cimanggis Bogor. Tahapan
penelitian di lakukan dengan melakukan penelitian pendahuluan, identifikasi masalah, studi
pustaka, perumusan tujuan penelitian, pengumpulan data, pemodelan algoritma genetika,
dan terakhir adalah implementasi algoritma kedalam bentuk protype program.
8. HASIL DAN PEMBAHASAN
Perancangan algoritma genetika
4 hal dasar yang di terapkan sebelum merancang algoritma genetika adalah pemilihan
jenis representasi masalah, pemilihan operator genetika, penerapan fungsi fitness dan
penerapan parameter gentika.
Metode pemilihan representasi masalah di lakukan dengan representasi kedalam bentuk
string. Tipe pengkodean pada representasi dalam bentuk string dapat berbentuk binary
encoding, permutasi encoding dan value encoding. Pada penelitian ini menggunakan
permutation encoding. Satu gen mewakili satu operasi, nilai yang terdapat dalam gen
tersebut mewakili nomor job dan nomer urut tahapan produksi operasi tesebut.
Jika ada n Job dan tiap job maksimal terdiri dari m operasi maka panjang string
maksimal adalah n x m gen.
Tabel 1. Contoh tahapan produksi yang direpresentasikan ke string
Tipe
Produk
2210
1-1
3-3
Job
Tahap 1
Tahap 2
Tahap 3
Job 1
Job 2
Job 3
Job 4
1,5
1,5
2,3
3,3
2,6
2,4
5,5
5,5
5,3
3,6
6,5
8,4
2-3
4-3
2-2
4-1
3-1
1-3
4-2
2-1
3-2
1-2
Gambar 1. Contoh representasi string untuk tabel 1
Pemilihan Operator Genetika
Operator genetika yang dipakai pada perancangan algoritma genetika terdiri dari
operator seleksi, operator crossover dan mutasi.
Operator seleksi digunakan elitism yaitu membuat sejumlah string terbaik tiap generaso
akan otomatis diturunkan ke generasi berikutnya.
Operator crossover yang digunakan adalah precedence preservative crossover, dimana
string baru di susun secara acak dari gen dua string induk. Angka acak 1 atau 2 dipakai
untuk memilih induk. Jika 1 diturunkan gen paling kiri dari induk pertama lalu gen
tersebut di hapus dari induk kedua. Jika 2 di turunkan gen paling kiri dari induk kedua
lalu gen tersebut di hapus dari induk pertama, proses di lakukan sampai karakter dikedua
induk tersebut habis.
Penetapan Fungsi Fitness
Pada penjadwalan ini fungsi fitness yang menjadi parameter setiap string adalah jumlah
waktu efektif pengoperasian mesin pada jadwal. Faktor yang mempengaruhi nilai fitness
adalah prosedur pengubahan string menjadi sebuah jadwal, karena dengan prosedur
tersebut ditentukan waktu mulai dan waktu selesai sebuah operasi pada mesin, mesin
yang dipakai untuk operasi-operasi tersebut dan akan prosedur ini juga menntukan
waktu delay pada sebuah jadwal.
Penerapan Parameter Genetika
Parameter genetikan berguna untuk pengedalian operator-operator genetika, parameter
yang digunakan adalah ukuran populasi, jumlah generasi, probabilitas crossover dan
probabilitas mutasi. Pada penelitian ini ukuran populasinya 20, jumlah generasi 100, dan
probabilitas crossover 80% dan probabilitas mutasi 1%
Pemodelan Matematika Penjadwalan
Penjadwalan yang dimaksud adalah proses penyusunan jadwal dari string. Untuk
menjelaskannya perlu di tetapkan beberapa notasi seperti tabel dibawah.
Tabel 2. Notasi dalam pemodelan matematika penjadwalan
Notasi
Penjelasan
O
Operasi (job)
On
Operasi ke n dimana 1<n<jumlah opeasi pada string
Ts ( On)
Waktu start dari On
Tp ( On)
Periode eksekusi mesin oleh On
Tf ( On)
Waktu finish dari On
Mi
Nomer mesin jenis i
Hasil Peracangan Algoritma Genetika
Gambar 2. Hasil output jadwal
Gambar 3. Grafik Nilai Fitness
9. KESIMPULAN
a. Pada Penelitian ini telah di kembangkan desain algoritma genetika untuk optimasi
penjadwalan produksi meubel kayu
b. Pada Penelitian ini telah di implementasikan algoritma tersebut pada sebuah prototype
program aplikasi
10. SARAN
a. Dapat di lakukan perancangan sistem informasi produksi pada pabtik meubel kayu
tersebut
b. Terdapat kemungkinan perbedaan kapasitas mesin untuk jenis mesin yang sama, oleh
karena itu dapat di rancang kembali algoritma yang memperhitungkang keausan mesin
ataupun adanya mesin yang baru dimana mesin tersebut mempunyai kapasitas yang
berbeda dari mesin sebelumnya
c. Terdapat kemungkinan timbulnya konsekuensi kerja yang belum diantisipasi
sebelumnya sebagai akibat dari penerapan penjadwalan ini.
Download