/0/0 Scheduling Problems Job Shop Scheduling Problems Mata Kuliah: Penjadwalan Produksi Teknik Industri Universitas Brawijaya Job Shop Scheduling () Job Shop Scheduling () Flow shop: aliran kerja unidirectional Job shop: aliran kerja tidak unidirectional In process jobs New jobs M k In process jobs Flow shop: Indeks (i, j) t ij : Waktu proses job i di mesin j Job shop: Indeks (i, j, k) job operasi Waktu proses Job M M M m J J J n mesin Completed jobs t ijk Waktu operasi ke j untuk pemrosesan job i di mesin k
/0/0 Job Shop Scheduling () Geser-Kiri (left-shift) Waktu Proses Operasi Operasi Operasi Job J Job J Job J Job J t = t = = t Routing Operasi Operasi Operasi Job J Job J Job J Job J Geser-kiri lokal (local left-shift) penyesuaian (menjadi lebih cepat) saat mulai (start time) suatu operasi dengan tanpa mengubah urutan Geser-kiri global (global left-shift) penyesuaian sehingga suatu operasi dimulai lebih cepat tanpa menyebabkan delay operasi lain Jenis Jadwal Pada Job Shop (). Jadwal semiaktif adalah satu set jadwal yang tidak memungkinkan lagi untuk melakukan geser-kiri lokal adalah satu set jadwal yang tidak memiliki superfluous idle time Superfluous idle time terjadi pada jadwal yang apabila suatu operasi dimulai lebih awal tidak menyebabkan perubahan urutan pada mesin manapun Jenis Jadwal Pada Job Shop () Waktu Proses Operasi Operasi Operasi Job J Job J Job J Job J Misal urutan job adalah ---: M M Routing Operasi Operasi Operasi Job J Job J Job J Job J M
/0/0 Jenis Jadwal Pada Job Shop () Jenis Jadwal Pada Job Shop () Geser-kiri lokal tidak bisa dilakukan (menggeser saat mulai tanpa mengubah urutan) Saat mulai operasi (,,) bisa dilakukan tanpa menyebabkan delay pada operasi lain (tapi harus mengubah urutan) M M M. Jadwal Aktif adalah satu set jadwal yang tidak memungkinkan lagi untuk melakukan geser-kiri global. Jadwal non-delay adalah jadwal aktif yang tidak membiarkan mesin menjadi idle bila suatu operasi dapat dimulai 0 Jenis Jadwal Pada Job Shop () Algoritma Pembangkitan Jadwal Aktif () PS t = Jadwal parsial yang terdiri t buah operasi terjadwal All schedule SA A ND SA = semiactive A = active ND = non-delay = optimal S t = Set operasi yang dapat dijadwalkan pada stage t, setelah diperoleh PS t t = Waktu tercepat operasi j S t dapat dimulai t = Waktu tercepat operasi j S t dapat diselesaikan
/0/0 Algoritma Pembangkitan Jadwal Aktif () Step. Tentukan t=0, dan kemudian mulai dengan PS 0 sebagai jadwal parsial nol. Tentukan seluruh operasi tanpa predecessor sebagai S 0. Step. Tentukan min dan mesin m j S j yaitu mesin tempat t dapat direalisasikan Step. Untuk setiap operasi j S t yang membutuhkan mesin m dan berlaku j, buat jadwal parsial baru dengan menambahkan operasi j pada PS t dengan saat mulai operasi pada j Algoritma Pembangkitan Jadwal Aktif () Step. Untuk setiap jadwal parsial baru PS t+, yang dihasilkan pada Step, perbaharui (up date) set data berikut: Keluarkan operasi j dari S t Tambahkan suksesor langsung operasi j ke dalam S t+ Naikkan nilai t dengan Step. Untuk setiap PS t+ yang dihasilkan pada Step, kembali ke Step. Lanjutkan langkah-langkah ini sampai suatu jadwal aktif dihasilkan. Contoh Waktu Proses Operasi Operasi Operasi Job J Job J Job J Job J Routing Operasi Operasi Operasi Job J Job J Job J Job J Jadwal Aktif() Stage s t j t ij j m PS t 0 0 0 0 0 0 0 0 0 0 0 0
/0/0 Jadwal Aktif() Jadwal Aktif() Stage s t j t ij j m PS t Stage s t j t ij j m PS t 0 0 Jadwal Aktif() Stage s t j t ij j m PS t Jadwal Aktif() Stage s t j t ij j m PS t 0
/0/0 Jadwal Aktif() Jadwal Aktif() Stage s t j t ij j m PS t M 0 M M Algoritma Pembangkitan Jadwal Non-delay() Step. Tentukan t=0, dan kemudian mulai dengan PS 0 sebagai jadwal parsial nol. Tentukan seluruh operasi tanpa predecessor sebagai S 0. Step. Tentukan min dan mesin m j S j yaitu mesin tempat t dapat direalisasikan Step. Untuk setiap operasi j S t yang membutuhkan mesin m dan berlaku j, buat jadwal parsial baru dengan menambahkan operasi j pada PS t dengan saat mulai operasi pada j Algoritma Pembangkitan Jadwal Non-delay () Step. Untuk setiap jadwal parsial baru PS t+, yang dihasilkan pada Step, perbaharui (up date) set data berikut: Keluarkan operasi j dari S t Tambahkan suksesor langsung operasi j ke dalam S t+ Naikkan nilai t dengan Step. Untuk setiap PS t+ yang dihasilkan pada Step, kembali ke Step. Lanjutkan langkah-langkah ini sampai seluruh jadwal aktif dihasilkan.
/0/0 Priority Control Priority rules: for establishing the priority of orders Common priority rules First Come First Served (FCFS) Shortest Processing Time (SPT) Earliest Due Date (EDD) Slack per Remaining Operation (S/OPN) Critical Ratio (CR) Queue Ratio (QR) Operation Due Date (OPNDD) Referensi Introduction to Sequencing and Scheduling. Kenneth R. Baker. Duke University. John Wiley & Sons..