Penerapan Algoritma Genetik Pada Optimasi Penjadwalan

Jika penjadwalan suatu operasi melanggar salah satu constraint, maka penjadwalan operasi tersebut harus dialihkan waktunya, dimana pengalihan waktu ini bisa membuat proses penyelesaian job dapat berlangsung lebih lama dan bahkan membuat seluruh proses mengalami keterla mbatan. Suatu operasi yang akan dijadwalkan pada suatu waktu, penjadwalan tersebut harus memenuhi kedua constraint yang telah disebutkan diatas. Jika penjadwalan tersebut melanggar salah satu constra int , maka operasi tersebut harus dijadwalkan pada waktu yang lain. Ketika penjadwalan melanggar salah satu constraint, hal ini dikatakan penjadwalan tersebut mengalami konflik. Oleh karena itu, operasi itu akan dijadwalkan pada waktu yang lain. Jika penjadwalan pada waktu tersebut tetap menghasilkan konflik, maka harus dipilih kembali satu waktu lain yang tidak menimbulkan konflik, begitu seterusnya. Proses penjadwalan yang berulang-ulang dan terus menemui konflik ini membuat efisiensi dari algoritma penjadwalan itu semakin buruk. Adapun dua sasaran utama pada algoritma penjadwalan job shop adalah: 1. Feasibility ; menemukan solusi yang memenuhi setiap constraint. Jika sudah ditemukan solusi, dapat dilakukan optimisasi berdasarkan kriteria tertentu. 2. Efficiency ; meminimalisasi jumlah terjadinya konflik pada setiap penjadwalan operasi. Untuk dapat mencegah terjadinya konflik dalam proses penjadwalan operasi dapat diantisipasi dengan mendeteksi kapan resource untuk mengerjakan operasi tersebut sedang tidak dipakai.

3.2 Penerapan Algoritma Genetik Pada Optimasi Penjadwalan

Algoritma genetika adalah algoritma heuristik adaptif yang memiliki dasar pemikiran atau gagasan evolusioner untuk proses seleksi alami dan genetika. Konsep dasar dari algoritma genetika dirancang untuk menirukan proses di dalam sistem alami yang penting bagi evolusi makhluk hidup untuk dapat terus bertahan hidup, yang secara rinci teori ini dicetuskan oleh Charles Darwin yaitu “Survival of the Fittest”. Dengan menirukan teori dari Charles Darwin, algoritma genetika dapat digunakan untuk mencari solusi dari segala macam permasalahan dalam ilmu pengetahuan seperti dalam mencari solusi penjadwalan job shop. Berdasarkan waktu kedatangan job , penjadwalan job shop dapat dikelompokkan sebagai static job shop scheduling dan dynamic job shop scheduling . Pada static job shop scheduling , semua job diterima pada saat yang sama. Pada dynamic job shop scheduling , waktu kedatangan job bervariasi tetapi sudah diketahui sebelumnya deterministic atau waktu kedatangan job bervariasi dan tidak dapat diketahui sebelumnya non deterministic Thiang, 2001. Pada umumnya suatu penerapan algoritma genetika secara generasional sederhana terdiri dari 3 bagian, yaitu: 1. Memilih populasi awal inisial populasi. 2. Evaluasi nilai fitness dari setiap individu didalam populasi. 3. Ulangi sampai proses berhenti nilai fitness terbaik terpenuhi. a. Pilih individu terbaik berdasar ranking untuk reproduksi. b. Bentuk generasi baru melalui pindah silang dan mutasi untuk menghasilkan keturunan baru. c. Evaluasi nilai fitness keturunan yang dihasilkan. d. Setelah diatur terlebih dahulu, gantikan individu dengan nilai fitness terburuk dengan keturunan yang dihasilkan. Maka proses Algoritma genetika yang dilakukan dapat dijelaskan pada gambar flow chart di bawah ini : Populasi Awal Evaluasi Mutasi Pindah Silang Seleksi Individu Terbaik Fitnes Terbaik ? yes no Gambar 3.1 Flowchart Algoritma Genetika

3.3 Pemodelan