Penjadwalan Job-Shop LANDASAN TEORI

Pada prinsipnya, terdapat sejumlah jadwal yang mungkin pada permasalahan penjadwalan Job-Shop sebab waktu yang kosong diantara dua operasi dapat disisipi sehingga dapat dilakukan pergeseran ke kiri pada operasi yang masih mungkin. Pergeseran suatu jadwal dikatakan local left shift jika suatu operasi dapat dimulai dalam waktu yang lebih awal tanpa mengubah urutan operasi. Pergeseran suatu jadwal dikatakan global left shift adalah jika suatu operasi dapat dimulai dalam waktu yang lebih awal tanpa penundaan operasi lain sampai pergeseran mengubah urutan operasi. Berdasarkan dua konsep diatas, penjadwalan dapat dibedakan menjadi [Gen dan Cheng,1997]: a Jadwal Semiactive Dikatakan semiactive jika tidak terdapat local left shift b Jadwal Active Jadwal dikatakan active jika tidak terdapat global left shift c Jadwal Nondelay Jadwal dikatakan nondelay jika tidak ada mesin yang menganggurtidak memproses apa-apa pada suatu waktu ketika dapat dimulainya beberapa operasi untuk diproses. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Hubungan jadwal Semiactive, Active dan Nondelay diperlihatkan oleh diagram Venn pada gambar 2.11 berikut: opt Semi-active active nondelay Gambar 2.11: Hubungan jadwal Semiactive, Active dan Nondelay diperlihatkan oleh diagram Venn Jadwal yang optimal terletak pada himpunan jadwal active. Jadwal Nondelay lebih kecil daripada jadwal active, tetapi tidak menjamin optimum [Baker, 1974 dalam Gen dan Cheng, 1997]. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB III ALGORITMA GENETIKA

UNTUK PENJADWALAN JOB-SHOP Pada skripsi ini akan dibuat sistem dengan menggunakan algoritma untuk membantu user dalam menyelesaikan masalah penjadwalan job-shop yang diharapkan dapat menyelesaikan masalah penjadwalan dengan waktu yang relatif singkat. Penulis membangun sistem ini dengan menggunakan bahasa pemrograman Matlab. Di bawah ini akan dituliskan secara rinci penggunaan algoritma genetika untuk menyelesaikan penjadwalan job-shop.

A. Representasi Masalah

Hal yang paling penting dalam menyelesaikan masalah optimasi adalah representasi atau pemodelan masalah ke dalam suatu model yang sesuai dengan algoritma yang digunakan. Untuk menyelesaikan penjadwalan job-shop dengan algoritma genetika, maka masalah harus direpresentasikan atau dimodelkan terlebih dahulu. Untuk menyelesaikan penjadwalan job-shop akan digunakan operation-based representation . Representasi ini mengkodekan jadwal sebagai urutan operasi dan setiap gen mewakili satu operasi. Kemudian digunakan simbol berupa angka untuk menamai masing-masing gen, dimana urutan dari angka merepresentasikan urutan operasi sedangkan angka itu 32 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI sendiri adalah nama dari job. Panjang dari kromosom terdiri dari n x m gen, dimana n = jumlah job, dan m = jumlah mesin. Contoh: 3 x 3 job mesin tabel 2.2. Misal kromosomnya , dimana 1 mewakili job1, 2 mewakili job2, dan 3 mewakili job3. Karena masing-masing job mewakili 3 operasi, berarti terdapat 3 simbol yang sama di dalam kromosom. Sebagai contoh terdapat 3 gen yang sama pada urutan kedua dari kromosom tersebut, dimana gen tersebut mewakili 3 operasi dari job2. 2 yang pertama merepresentasikan operasi pertama dari job2 akan diproses oleh mesin1, 2 yang kedua merepresentasikan operasi kedua dari job2 akan diproses oleh mesin3, dan 2 yang ketiga merepresentasikan operasi ketiga dari job2 akan diproses oleh mesin2. Relasi koresponden antara operasi dari job dan proses mesin dijelaskan pada gambar dibawah ini. [ 3 1 3 2 1 1 2 2 3 ] Kromosom [ ] 3 1 3 2 1 1 2 2 3 [ ] 3 1 3 2 1 1 2 2 3 [ ] 3 1 3 2 1 1 2 2 3 Mesin 1 2 3 1 3 2 2 1 3 a b c Gambar 3.1 Operasi dari job dan korespondensi mesin a untuk job1, b untuk job2, dan c untuk job3 Berdasarkan relasi diatas, dapat memperoleh korespondensi daftar mesin yaitu yang diperlihatkan pada gambar dibawah ini. [ 3 3 1 2 2 1 3 1 2 ] Kromosom [ ] 3 1 3 2 1 1 2 2 3 Mesin [ ] 3 3 1 2 2 1 3 1 2 Gambar 3.2 Urutan proses dari job pada mesin1 Dari gambar 3.2 dapat dilihat bahwa urutan proses job untuk mesin1 adalah , untuk mesin2 adalah 3 1 2 − − 2 1 3 − − , dan untuk mesin3 adalah . Dapat juga diringkas seperti pada gambar dibawah ini. 3 1 2 − − M1 J2 J1 J3 M2 J3 J1 J2 M3 J2 J1 J3 2 5 8 3 7 11 12 waktu Gambar 3.3. Satu jadwal yang dikerjakan

B. Pembangkitan Kromosom

Setelah dilakukan representasi atau pemodelan masalah, kemudian dilakukan pembangkitan kromosom. Pembangkitan kromosom dalam penjadwalan job-shop akan dilakukan secara acak atau random. Semakin banyak job dan mesin yang akan dicari jadwal yang optimal maka semakin banyak pula kromosom yang dibangkitkan. Pada populasi awal akan dibangkitkan sepuluh kromosom secara acak. Setiap kromosom terdiri dari gen-gen sebanyak jumlah job dikali jumlah mesin yang dimasukkan. Tabel 3.2 merupakan contoh inisialisasi populasi awal sebanyak 10 kromosom. Kromosom ke- Bentuk representasinya k1 3 2 1 3 2 2 3 1 1 k2 3 1 2 1 3 3 2 1 2 k3 2 1 1 2 2 3 3 3 1 k4 3 1 3 1 3 2 2 2 1 k5 1 2 2 1 2 1 3 3 3 k6 3 1 1 2 1 3 3 2 2 k7 3 1 3 1 3 2 1 2 2 k8 3 3 3 2 2 1 1 2 1 k9 3 3 2 1 1 1 2 2 3 k10 3 3 2 2 3 2 1 1 1 Tabel 3.1. Contoh inisialisasi populasi awal sebanyak 10 kromosom

C. Pencarian nilai fitnes untuk masing-masing kromosom

Kromosom yang telah dibangkitkan akan ditentukan berdasarkan nilai fitnesnya. Nilai fitnes disini merupakan solusi dari permasalahan penjadwalan job-shop yaitu makespan. Setiap kromosom yang telah dikodekan akan diterjemahkan untuk dicari nilai fitnesnya. Untuk menentukan fitnes terbaik adalah memilih dari seluruh kromosom yang memiliki fitnes terkecil, dan kromosom tersebutlah yang merepresentasikan sebuah jadwal. Nilai fitnes dari masing-masing kromosom diperoleh dari total waktu yang dihasilkan oleh masing-masing mesin dalam menyelesaikan sejumlah job. Kromosom yang mempunyai nilai fitnes terbaik adalah kromosom yang mempunyai total waktu minimum dalam mengerjakan semua job. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI