• Tidak ada hasil yang ditemukan

Algoritma Genetika untuk Penjadwalan Flowshop

Algoritma Genetika (Genetic Algorithm/GA) merupakan metode pencarian global stokastik yang meniru fenomena proses evolusi biologi yang berlangsung secara alamiah dan teori-teori genetika (Michalewicz, 1996). Algoritma pencarian dengan menggunakan GA berbasiskan mekanisme seleksi alamiah terhadap populasi yang ada dan berusaha untuk melakukan perbaikan terhadap populasi tersebut menggunakan prinsip bertahan untuk anggota populasi yang terbaik (Goldberg, 1989).

GA telah cukup sukses digunakan untuk memecahkan masalah optimasi dalam bidang pencarian rute, penjadwalan (scheduling), adaptive control, model kognitif, masalah transportasi, traveling salesman problem, masalah optimal control dan optimasi pencarian database.

Selanjutnya Goldberg (1989) menjelaskan bahwa GA berbeda dengan teknik optimasi atau teknik pencarian lain dalam hal: 1) algoritma genetik bekerja dengan serangkaian solusi yang telah diberi kode, bukan pada solusi itu sendiri, 2) algoritma genetik melakukan pencarian solusi pada sekumpulan kromosom (pada suatu populasi) sehingga didapatkan banyak solusi, bukan hanya pada satu solusi, 3) algoritma genetik menggunakan informasi mengenai hasil (fungsi fitness) dan bukan menggunakan suatu fungsi turunan atau fungsi bantuan lainnya, dan 4) algoritma genetik menggunakan aturan transisi/pertukaran yang probabilistik, bukan deterministik.

Menurut Michalewicz (1996) dan Kusumadewi (2003) pemecahan masalah dengan menggunakan GA harus memiliki 6 ( enam) komponen, yaitu: 1) Representasi genetik untuk solusi potensial pada masalah yang akan

dipecahkan. Representasi genetik ini digambarkan dalam bentuk populasi dimana pencarian akan dilakukan, dan individu-individu dalam populasi tersebut yang disebut sebagai kromosom. Representasi kromosom dalam GA umumnya menggunakan single –level binary string (digit yang terdiri dari angka 0 dan 1).

2) Cara untuk menghasilkan populasi awal (initial population) dari solusi potensial.

3) Fungsi evaluasi yang berperan dalam melakukan peringkat terhadap solusi yang dihasilkan. Fungsi evaluasi ini terdiri dari fungsi tujuan (objective function) dan fungsi kesesuaian (fitness function).

4) Fungsi seleksi yang bertujuan untuk memilih anggota populasi yang akan menjadi orang tua (parents) dari proses operasi genetika.

5) Operator genetik yang melakukan operasi genetika.

Pencarian solusi dilakukan dengan memanipulasi kromosom orang tua (parents) dengan menggunakan operator pindah silang (crossover) dan mutasi.

6) Nilai beberapa parameter yang digunakan oleh GA (seperti ukuran populasi, probabilitas penerapan operator genetik, dan lain-lain)

Selanjutnya Rajkumar dan Shahabudeen (2009) menjelaskan bahwa secara umum algoritma genetika terdiri dari beberapa langkah, yaitu:

Langkah 1 : Menetapkan atau membangkitkan populasi awal yang terdiri dari sejumlah kromosom.

Langkah 2 : Mengevaluasi nilai fitness setiap kromosom

Langkah 3 : Menghasilkan populasi baru dan kromosom baru dengan menjalankan operator genetika seperti crossover dan mutasi terhadap kromosom yang ada sekarang.

Langkah 4 : Mengevaluasi nilai fitness kromosom-kromosom yang terdapat pada populasi yang baru dan terus memperbaiki nilai fitness populasi tersebut melalui operator genetika.

Langkah 5 : Jika kondisi penghentian tercapai (hasil sudah memuaskan), berhenti dan tetapkan kromosom terbaik, jika tidak, kembali ke langkah 3.

Representasi Kromosom

Proses untuk menggambarkan/merepresentasikan gen-gen yang terdapat pada suatu kromosom disebut juga dengan representasi kromosom/pengkodean

(encoding). Tiga skema yang paling umum digunakan dalam representasi

kromosom, yaitu (Sivanandam dan Deepa, 2008; Suyanto, 2005) :

String bit (Binary encoding)

Setiap sel atau gen hanya bernilai 0 atau 1. Contoh : 10011, 01101 Permutasi (real number encoding)

Setiap gen merupakan bilangan string atau bilangan real/integer yang merepresentasikan nomor dari suatu urutan. Contoh : 1 5 3 2 6 4 7 9 8

Discrete decimal encoding

Setiap gen bisa bernilai salah satu bilangan bulat dalam interval [0,9]

Seleksi Kromosom

Seleksi kromosom adalah metode untuk memilih kromosom-kromosom yang akan dipindah-silangkan dari populasi yang ada sekarang. Proses seleksi kromosom secara acak memilih kromosom berdasarkan nilai fitness dari fungsi evaluasinya. Semakin besar nilai fitness suatu kromosom semakin besar

kesempatan kromosom tersebut untuk dipilih (Sivanandam dan Deepa, 2008; Rajkumar dan Shahabudeen, 2009).

Ada beberapa operator yang dapat digunakan untuk memilih kromosom. Dua di antaranya adalah metode roda rolet (roulette wheel selection) dan metode seleksi turnamen (tournament selection). Pada metode roda rolet kromosom orang tua (parents) yang akan dipindah-silangkan dipilih berdasarkan nilai fitnessnya. Nilai fitness dari masing-masing kromosom dibagi dengan total nilai fitness seluruh kromosom yang ada pada populasi. Setiap kromosom dianggap merupakan potongan/bagian dari roda rolet dengan ukuran potongan yang proporsional dengan nilai fitnessnya. Suatu nilai target antara angka nol dan angka satu ditetapkan secara acak. Kemudian roda rolet diputar sebanyak N kali, dimana N adalah jumlah individual atau kromosom dan populasi. Dari setiap putaran, kromosom dengan nilai fitness yang berada di bawah nilai target dipilih untuk menjadi parents bagi generasi berikutnya.

Berbeda dengan seleksi roda rolet, seleksi turnamen memilih kromosom dengan cara mengadakan kompetisi/turnamen di antara individu-individu yang menjadi anggota populasi. Individu terbaik dari hasil turnamen adalah yang memiliki nilai fitness terbesar, yang disebut sebagai pemenang (winner). Pemenang diletakkan pada kolam kompetisi (mating pool). Turnamen diulang hingga mating pool untuk menghasilkan generasi baru penuh. Mating pool akan berisi pemenang-pemenang turnamen dengan nilai fitness tertinggi (Sivanandam dan Deepa, 2008).

Pindah Silang (Cross Over)

Terdapat beberapa operator pindah silang yang digunakan pada masalah penjadwalan hybrid flowshop. Di antaranya adalah Two Point Crossover, Partially Mapped Crossover (PMX), dan Similar Job Order Crossover (SJOX).

Operator pindah silang yang digunakan pada penelitian ini adalah Partially Mapped Crossover (PMX) dengan langkah-langkah sebagai berikut:

1. Tentukan dua titik secara random untuk membagi parents. Area yang terletak antara dua titik pada kromosom orang tua (parents) disebut area pemetaan (mapping)

Gambar 9 Pindah Silang dengan Metode PMX

2. Pertukarkan area mapping dari dua parent untuk diturunkan kepada anak (child). Area mapping dari parent pertama dicopy untuk diturunkan pada

child ke 2, sedangkan area mapping dari parent ke 2 dicopy untuk diturunkan pada child pertama.

3. Definisikan pemetaan pada area mapping antara dua parent. Pada contoh kasus ini pemetaan gennya adalah sebagai berikut :

4. Isi offspring dengan gen yang dicopy secara langsung dari parent secara berurutan dari kiri ke kanan. Jika gen tersebut sudah terdapat pada area

mapping yang dicopykan sebelumnya, lakukan pengisian gen dengan

melakukan pemetaan.

Mutasi

Mutasi merupakan suatu cara untuk menghasilkan kromosom anak (offspring) bukan dengan cara pindah silang, melainkan dengan cara memodifikasi fitur/gen-gen orang tua (parents). Mutasi mencegah upaya pencarian dengan algoritma genetika menghasilkan nilai lokal optimum. Mutasi juga berperan dalam mengembalikan gen-gen bagus yang hilang akibat proses genetik, namun sebaliknya juga bisa merusak informasi genetik yang sudah ada (Sivanandam dan Deepa, 2008; Rajkumar dan Shahabudeen, 2009).

Selanjutnya Rajkumar dan Shahabudeen (2009) menjelaskan tiga di antara beberapa operator mutasi yang sering digunakan, sebagai berikut :

1. Pertukaran tiga gen (job) secara acak

Tiga gen dipilih secara acak, dan dipertukarkan lokasinya di antara ketiga gen secara acak.

2. Pertukaran dua gen (job) secara acak

Dua gen dipilih secara acak, kemudian lokasinya dipertukarkan

3. Pertukaran Shift (Shift Mutation)

Suatu gen yang berada pada posisi yang dipilih secara acak diambil dan kemudian dimasukkan (di insert) pada posisi lain secara acak juga.

Gen dan Cheng (1997) menyatakan terdapat tiga kelebihan utama algoritma genetika ketika menerapkan algoritma genetika untuk mencari optimasi suatu masalah yaitu: 1) algoritma genetika tidak menggunakan banyak persamaan matematik untuk mengoptimalkan solusi suatu masalah, 2) ergodicity dari operator genetika membuat algoritma genetika sangat efektif untuk melakukan pencarian global sehingga solusi yang dihasilkan bukan solusi yang bersifat lokal, dan 3) algoritma genetika memberikan fleksibilitas yang lebih besar untuk

digabungkan dengan metode heuristik lain guna menghasilkan tahapan implementasi yang lebih efisien untuk suatu masalah tertentu.

Penelitian penjadwalan untuk lantai produksi flowshop dengan menggunakan algoritma genetika telah banyak dilakukan. Namun tidak banyak yang khusus meneliti mengenai penjadwalan pada lantai produksi dengan tipe hybrid flowshop atau flexible flowshop dengan menggunakan algoritma genetika.

Jin et al (2002) meneliti kasus penjadwalan hybrid flowshop yang terdiri dari tiga stages dimana setiap stages terdiri dari mesin-mesin yang bersifat paralel. Penelitian ini menggunakan kriteria makespan, dan membuat banyak eksperimen yang merubah-rubah jumlah mesin pada setiap stages dengan tujuan memperoleh penjadwalan dapat meminimasi bottleneck disamping meminimasi makespan. Penjadwalan yang diselesaikan dengan algoritma genetika ini membuktikan bahwa algoritma genetika dapat menyelesaian kasus yang cukup kompleks seperti pada penelitian ini. Lantai produksi yang diteliti berbentuk hybrid flowshop, namun tidak ada fleksibilitas dalam melalui urutan produksi.

Penelitian penjadwalan hybrid flowshop lainnya dilakukan oleh Ruiz dan Maroto (2006) yang menyatakan bahwa kasus penjadwalan flowshop yang terdiri dari dua stages sudah merupakan kasus yang sulit untuk diselesaikan secara manual. Penelitian Ruiz dan Maroto difokuskan pada penjadwalan pekerjaan pada lantai produksi hybrid flowshop dengan multiple processor dan waktu set up yang tergantung pada urutan job (sequence dependents set up time/SDST). Penelitian yang dilakukan pada pabrik keramik ini diselesaikan menggunakan algoritma genetika dengan kriteria meminimasi makespan. Kompleksitas kasus ini semakin bertambah dengan karakteristik mesin-mesin yang tidak paralel pada setiap stages, dan adanya kendala peruntukan mesin untuk setiap job (machine eligibility constraint). Penelitian ini menunjukkan bahwa algoritma genetika dapat memecahkan masalah penjadwalan yang kompleks ini dengan baik. Di sisi lain kekurangan dari riset ini adalah adanya keharusan setiap job untuk melewati setiap stages, sehingga penjadwalan ini bukan termasuk kasus fleksible flowshop.

Dokumen terkait