Kuliah 10 LSiPro – FT Untirta Muhammad Adha Ilhami 2nd Edition Penjadwalan Kuliah 10 LSiPro – FT Untirta Muhammad Adha Ilhami 2nd Edition Muhammad Adha Ilhami
Tujuan Pembelajaran Mahasiswa mampu memahami konsep & logika penjadwalan. Mahasiswa mampu membuat jadwal produksi Muhammad Adha Ilhami
Permasalahan Penjadwalan Masalah penjadwalan muncul di pabrik, rumah sakit, universitas, airport, klinik, dll. Kadang pesanan (job/order) berbeda tapi harus dikerjakan pada mesin/alat/orang yang sama. Sehingga perlu diatur job mana yang dikerjakan duluan dan mana yang belakangan. Muhammad Adha Ilhami
Tipe Permasalahan Penjadwalan Muhammad Adha Ilhami
Pendekatan Penjadwalan Model Penjadwalan Job Scheduling : hanya memecahkan masalah sequencing (urutan job) saja, karena ukuran job diketahui. Batch Scheduling : memecahkan masalah sequencing dan penentuan ukuran batch sekaligus. Pendekatan Penjadwalan Forward Scheduling: penjadwalan maju yang dimulai segera saat job siap (ready time);mulai dari time zero dan bergerak searah dengan pergerakan waktu. Jadwal dipastikan feasible namun mungkin melewati due date. Backward Scheduling : penjadwalan mundur yang dimulai dari due date dan bergerak berlawanan arah waktu. Jadwal pasti memenuhi due date namun belum pasti feasible. Muhammad Adha Ilhami
Ilustrasi Single Stage Due date Due date M1 M1 t = 0 t = 0 Forward Scheduling Backward Scheduling Mana duluan dan di mesin mana? Mana duluan? Job 1 Job 2 Machine NC Job 1 Single Machine Job 3 Job 2 Machine NC Job 3 t Single Machine Paralel/Heterogeneous Machine Muhammad Adha Ilhami
Ilustrasi Multiple Stages Which is the better schedule? A or B Flow Shop A Flow Shop B M1 M1 J1 J2 J2 J1 M2 M2 J1 J2 J2 J1 t = 0 t = 0 Job Shop M1 J1 J2 M2 J2 J1 t = 0 Muhammad Adha Ilhami
Terminologi dalam Penjadwalan Processing Time (waktu proses): estimasi waktu penyelesaian (job/task), ti. Setup time (waktu setup): waktu yang dibutuhkan untuk kegiatan persiapan sebelum job diproses, si. Flow time (waktu tinggal): waktu antara saat datang (arrival time) dan saat kirim (delivery date), Fi. Arrival time (saat datang): saat job mulai berada di shop floor (production line), ai. Delivery date (saat kirim): saat pengiriman job dari shop floor ke proses berikutnya atau ke konsumen, deli. Ready time (saat siap): saat sebuah job siap diproses, ri. Due date (deadline): saat jika saat job selesai melampaui waktu tersebut job dikatakan terlambat, di. Muhammad Adha Ilhami
Terminologi dalam Penjadwalan Makespan: interval waktu total untuk penyelesaian seluruh job, completion time terbesar dari seluruh job. Completion time (saat selesai): saat suatu job selesai diproses, ci. Lateness: deviasi antara saat selesai dan due date, Li = ci – di. Tardiness (Ti) = positive lateness, Earliness (Ei) = negative lateness. Slack: sisa waktu sampai due date, SLi =di – ti – saat sekarang. Loading: menggambarkan beban mesin Schedule: menggambarkan urutan (sequence) dari job yang akan dikerjakan (ada saat mulai dan saat selesai) Muhammad Adha Ilhami
Terminologi dalam Penjadwalan Waiting time: adalah waktu job menunggu karena mesin sedang mengerjakan job lain. Idle time: adalah waktu mesin tidak bekerja karena tidak ada job yang harus dikerjakan. Priority rule: aturan penjadwalan berdasarkan prioritas tertentu. Seperti: FCFS (first come first serve), SPT (shortest processing time), LPT (longest processing time), EDD (earliest due date), CR (critical ratio) Muhammad Adha Ilhami
Kriteria Penjadwalan Ada beberapa kriteria yang dapat digunakan dalam menentukan apakah suatu jadwal itu baik atau buruk, yaitu: Minimasi shop time (waktu shop digunakan): minimize flow time, atau minimize makespan. Maksimasi utilisasi shop floor (yaitu meminimasi idle time) Minimasi WIP (work in process): minimize flow time atau minimize earliness. Minimasi konsumen menunggu (maksimasi kepuasan konsumen): number of tardy jobs, mean lateness, maximum lateness, mean queue time. Muhammad Adha Ilhami
A. Permasalahan Single Machine : SPT Job Pi Flow time 1 10 2 8 18 3 14 32 4 5 37 40 Total Flow time 137 Mean Flow time 27,4 Job Pi Flow time 5 3 4 8 2 16 1 10 26 14 40 Total Flow time 93 Mean Flow time 18,6 SPT 1 2 3 4 5 5 4 2 1 3 t t Muhammad Adha Ilhami
B. Penjadwalan Single Machine: WSPT Job Pi Bobot (Wi) P/W 1 10 2 8 3 2,67 14 7 4 5 2,5 Job Bobot (Wi) Pi Flow time Weighted flow time 4 2 5 10 3 8 13 39 1 16 14 30 60 40 Total 9 104 165 Rata-rata 20,8 33 WSPT Muhammad Adha Ilhami
C. Penjadwalan Single Machine: EDD Job Waktu Due date Saat Selesai Lateness 5 3 1 10 12 13 4 17 18 14 32 2 8 20 40 Total 36 Rata-rata 7,2 Maximum Job Waktu Due Date Saat Selesai Lateness 1 10 12 -2 2 8 20 18 3 14 32 4 5 17 37 40 Total 69 Rata-rata 13,8 Maximum EDD Terbukti, EDD mampu meminimumkan maximum lateness. Muhammad Adha Ilhami
D. Penjadwalan Single Machine: Algoritma Hodgson Algoritma Hodgson meminimumkan jumlah job yang tardy pada sebuah mesin. Langkah-langkah Algoritma Hodgson: Step 1: Urutkan job dengan EDD, jika tidak ada atau hanya satu job yang tardy (positive lateness) maka stop. Jika lebih dari satu maka lanjutkan ke langkah 2. Step 2: Mulai dari awal sampai akhir dari urutan EDD, lakukan identifikasi tardy job yang paling awal. Bila tidak tardy lanjutkan ke step 4. Jika ada, lanjutkan ke step 3. Step 3: Jika job tardy berada di urutan ke-i, pilih job dengan waktu proses terpanjang di antara i buah job tersebut. Keluarkan job terpilih tersebut. Hitung saat selesai yang baru, dan kembali ke step 2. Step 4: Tempatkan job yang dikeluarkan dalam urutan sembarang di bagian akhir urutan job. Muhammad Adha Ilhami
Contoh Algoritma Hodgson 2 1 3 5 4 6 7 8 ti 10 14 Ci 13 19 29 32 46 53 56 Di 15 20 25 40 45 50 Li -2 9 Number of Tardy Jobs = 6 Jobs Muhammad Adha Ilhami
Contoh Algoritma Hodgson 1 3 5 4 6 7 8 Ti 10 14 Ci 11 21 24 38 45 48 Di 15 20 25 40 50 Li -10 -4 -1 -2 Karena hanya ada 1 job yang Tardy maka STOP Muhammad Adha Ilhami
Contoh Algoritma Hodgson 1 3 5 4 6 7 8 2 Ti 10 14 Ci 11 21 24 38 45 48 56 Di 15 20 25 40 50 Li -10 -4 -1 -2 46 Number of Tardy Jobs = 2 Jobs Muhammad Adha Ilhami
Perbandingan Penjadwalan Single Machine & Peruntukannya Berdasarkan Kriteria Performansi Muhammad Adha Ilhami
I. Penjadwalan n Job Mesin Paralel: SPT Tujuannya : Meminimumkan flow time pada mesin paralel. Step 1 Urut semua job dengan aturan SPT Step 2 Jadwalkan job satu per satu pada mesin yang memiliki beban minimum. Bila beban sama pilih sembarang. Job Pi 1 10 2 8 3 14 4 5 Contoh: ada 2 mesin paralel (sejenis) dan ada 5 job. Urutan SPT i 5 4 2 1 3 Pi 8 10 14 Muhammad Adha Ilhami
I. Penjadwalan n Job Mesin Paralel: SPT 5 4 2 1 3 Pi 8 10 14 Machine NC #1 5 2 3 Machine NC #2 4 1 i Mesin #1 Mesin #2 5 2 3 4 1 Pi 8 14 10 FT 11 25 15 Mean Flow Time = (3 + 11 + 25 + 5 + 15)/5 = 11,8 Muhammad Adha Ilhami
II. Penjadwalan n Job Mesin Serial Penjadwalan Flow Shop 2 mesin: Algoritma Johnson (1956), solusi optimal. Penjadwalan Flow Shop m mesin: Algoritma Campbell, Dudek, & Smith (CDS). Penjadwalan Job Shop Muhammad Adha Ilhami
II.A. Penjadwalan Flow Shop 2 Mesin Serial: Kriteria Minimasi Makespan Flow Shop, jumlah mesin > 1, urutan proses seluruh job adalah sama. Asumsi: Setiap mesin hanya mampu memproses 1 job pada satu saat. Setiap job hanya bisa diproses di satu mesin di saat yang sama. Muhammad Adha Ilhami
II.A. Penjadwalan Flow Shop 2 Mesin Serial : Algoritma Johnson Step 1 Tentukan waktu proses terpendek dari daftar job. Step 2 Ada tiga kondisi: 2.a Jika waktu terpendek ada di mesin 1, maka jadwalkan job tersebut pada posisi paling kiri pada urutan yang dimungkinkan. Step 3 2.b Jika waktu terpendek ada di mesin 2, maka jadwalkan job tersebut pada posisi paling kanan pada urutan yang dimungkinkan. Step 3 2.c Jika terdapat beberapa nilai waktu terpendek yang sama, maka pilih sembarang, dan jadwalkan job tersebut di posisi paling kiri atau kanan sesuai di mesin mana job tersebut memiliki waktu proses terpendek. Step 3 Step 3 Keluarkan job yang sudah dijadwalkan dari daftar job. Bila masih ada job yang belum dijadwalkan, maka kembali ke Step 1. Jika seluruh job sudah dijadwalkan maka STOP. Muhammad Adha Ilhami
Contoh Algoritma Johnson Job 1 2 3 4 5 Mesin 1 10 8 14 Mesin 2 7 9 12 5 3 2 1 4 5 3 2 1 4 Makespan = 42 Machine 1 5 3 2 1 4 Machine2 5 3 2 1 4 Muhammad Adha Ilhami
II.B. Penjadwalan Flow Shop m Mesin Serial : Algoritma CDS Step 1 Set K = 1. Hitung ti,1* dan ti,2* (m = jumlah mesin) Step 2 Gunakan Algoritma Johnson untuk penentuan urutan pekerjaan dengan menyatakan ti,1 = ti,1* dan ti,2 = ti,2*. Step 3 Hitung makespan untuk urutan tersebut. Catat Jadwal dan makespan yang dihasilkan. Step 4 Jika K = m – 1, maka pilih jadwal dengan makespan terpendek sebagai jadwal yang digunakan, lalu STOP. Jika K = K + 1, maka kembali ke Step 1. Muhammad Adha Ilhami
II.B. Penjadwalan Flow Shop m Mesin Serial : Algoritma CDS Job K = 1 tm1 tm3 1 10 8 2 6 3 14 12 4 5 7 Job 1 2 3 4 5 Mesin 1 10 8 14 Mesin 2 7 9 12 Mesin 3 6 K = m – 1 =3 – 1 = 2 Maka akan ada 2 iterasi dan menghasilkan 2 jadwal. Iterasi 1 Step 1 - K = 1, waktu yang digunakan adalah waktu pada mesin 1 dan mesin 3 saja. Step 2 – Lakukan penjadwalan dengan algoritma Johnson Step 3 – Hitung makespan, dan catat nilai makespan tersebut. Muhammad Adha Ilhami
II.B. Penjadwalan Flow Shop m Mesin Serial : Algoritma CDS Urutan Job K = 1 tm1 tm3 5 3 4 7 14 12 1 10 8 2 6 Job 1 2 3 4 5 Mesin 1 10 8 14 Mesin 2 7 9 12 Mesin 3 6 No. Job Start Time M1 M1 Start Time M2 M2 Idle Time M2 Start Time M3 M3 Idle Time M3 Finish Time 1 5 3 12 15 20 2 4 8 17 7 27 14 22 9 31 43 10 32 37 51 40 47 6 57 Makespan Step 4 – Karena K = 1 < 2, maka lanjutkan/kembali ke Step 1. Muhammad Adha Ilhami
II.B. Penjadwalan Flow Shop m Mesin Serial : Algoritma CDS Iterasi 2 Step 1 - K = 2, waktu yang digunakan adalah waktu pada (mesin 1 + mesin 2) dan (mesin 2 + mesin 3). Step 2 – Lakukan penjadwalan dengan algoritma Johnson Step 3 – Hitung makespan, dan catat nilai makespan tersebut. Job K = 2 Tm1+2 Tm2+3 1 15 13 2 3 23 21 4 7 9 5 17 Urutan Job K = 2 Tm1+2 Tm2+3 4 7 9 5 15 17 3 23 21 2 13 1 Muhammad Adha Ilhami
II.B. Penjadwalan Flow Shop m Mesin Serial : Algoritma CDS Urutan Job K = 2 Tm1+2 Tm2+3 4 7 9 5 15 17 3 23 21 2 13 1 Job 1 2 3 4 5 Mesin 1 10 8 14 Mesin 2 7 9 12 Mesin 3 6 No. Job Start Time M1 M1 Start Time M2 M2 Idle Time M2 Start Time M3 M3 Idle Time M3 Finish Time 1 4 5 2 7 14 3 8 12 20 6 25 22 9 31 43 30 38 49 10 40 45 57 Makespan Step 4 – Karena K = 1+1 = 2, maka Stop. Muhammad Adha Ilhami
III. Job Shop Scheduling Job Shop : urutan pekerjaan tidak unidirectional. Indeks yang umum digunakan dalam penjadwalan Job Shop adalah indeks (i, j, k) Dimana: i : indeks job j : indeks operasi k : indeks mesin M1 Mk Finish Job WIP New Job Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling Jenis Penjadwalan Job Shop: Jadwal Semi Aktif Jadwal Aktif* Jadwal Non Delay. * Optimal SA A ND Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Jadwal Aktif (Notasi) PSt = Jadwal parsial yang terdiri dari t buah operasi terjadwal St = Set/kumpulan operasi yang dapat dijadwalkan pada stage t, setelah diperoleh PSt. σt = Waktu tercepat operasi J Є St dapat dimulai Фt = Waktu tercepat operasi J Є St dapat diselesaikan Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Algoritma Jadwal Aktif Step 1 Tentukan t = 0, dan kemudian mulai dengan PS0 sebagai jadwal parsial nol. Tentukan seluruh operasi tanpa predecessor sebagai S0. Step 2 Tentukan ф* = minjЄSt {фj} dan mesin m* yaitu mesin tempat ф* dapat direalisasikan. Step 3 Untuk setiap operasi j Є St yang membutuhkan mesin m* dan berlaku σj < ф*, buat jadwal parsial baru dengan menambahkan operasi j pada PSt dengan saat mulai operasi pada σj . Step 4 Untuk setiap jadwal parsial baru PSt+1, yang dihasilkan pada step 3, perbaharui set data berikut: Keluarkan operasi j dari St. Tambahkan suksesor langsung operasi j ke dalam St+1. Naikkan nilai t dengan 1. Step 5 Untuk setiap PSt+1 yang dihasilkan pada Step 3, kembali ke step 2. Lanjutkan langkah ini sampai seluruh job terjadwalkan. Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Contoh Permasalahan Jadwal Aktif Misalkan secara sembarang diusulkan jadwal dengan urutan 4 – 3 – 2 – 1, maka dihasilkan Gantt Chart sbb: Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Penyelesaian Jadwal Aktif (1) Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Penyelesaian Jadwal Aktif (2) Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Penyelesaian Jadwal Aktif (3) 6 9 Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Penyelesaian Jadwal Aktif (4) Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Penyelesaian Jadwal Aktif (5) 9 2 Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Penyelesaian Jadwal Aktif (6) Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling: Penyelesaian Jadwal Aktif (7) Muhammad Adha Ilhami