Upload
endahk
View
736
Download
20
Tags:
Embed Size (px)
Citation preview
PENJADWALAN JOB SHOP
Job shop scheduling
• Flow shop: aliran kerja unidirectional• Job shop: aliran kerja tidak unidirectional
• Flow shop: Indeks (i, j)tij: Waktu proses job i di mesin j
• Job shop: Indeks (i, j, k)
tijk : Waktu operasi ke j untuk pemrosesan job
i di mesin k
i = job, j = operasi k = mesin
Job shop schedulingW aktu Proses
Operasi 1 Operasi 2 Operasi 3Job J1 4 3 2Job J2 1 4 4Job J3 3 2 3Job J4 3 3 1
RoutingOperasi 1 Operasi 2 Operasi 3
Job J1 1 2 3Job J2 2 1 3Job J3 3 2 1Job J4 2 3 1
t233 = 4 t313=3 1= t431
Geser-kiri (left-shift)• Geser-kiri lokal (local left-shift)penyesuaian (menjadi lebih cepat) saat mulai (start time) suatuoperasi dengan tanpa mengubah urutan• Gese-kiri global (global left-shift)penyesuaian sehingga suatu operasi dimulai lebih cepat tanpamenyebabkan delay operasi lainJenis jadwal pada job shop(1)
1. 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 :2. Jadwal Aktif adalah satu set jadwal yang tidak memungkinkan lagi
untuk melakukan geser-kiri global3. Jadwal non-delay adalah jadwal aktif yang tidak membiarkan mesin
menjadi idle bila suatu operasi dapat dimulai
SAND
*
A
All schedule SA = semiactiveA = activeND = non-delay* = optimal
Operasi 1
Operasi
2Operasi
3
Job J1 4 3 2
Job J2 1 4 4
Job J3 3 2 3
Job J4 3 3 1
Operasi 1 Operasi
2 Operasi 3
Job J1 1 2 3
Job J2 2 1 3
Job J3 3 2 1
Job J4 2 3 1
Waktu Proses Routing
Misal Urutan Proses : 4 – 3 – 2 – 1
M3 4 3 1
M2 4 3 2 2 1
M1 4 3 2 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2627
Makespan = 27
Jadwal semiaktif
•Geser-kiri lokal tidak bisa dilakukan (menggeser saat mulai tanpa mengubah urutan)•Saat mulai operasi (1,1,1) bisa dilakukan tanpa menyebabkan delay pada operasi lain (tapi harus mengubah urutan)
M3 4 3 1
M2 4 3 2 1 2
M1 4 1 3 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Makespan = 22
Algoritma Pembangkitan Jadwal Aktif(1)
Notasi :
PSt = Jadwal parsial yang terdiri t buah operasi terjadwalSt = Set operasi yang dapat dijadwalkan pada stage t, setelah diperoleh PStCt = Waktu tercepat operasi dapat dimulai rj = Waktu tercepat operasi dapat diselesaikan (rj = cj + tij)tij = Waktu proses pekerjaan i pada operasi j
Algoritma Pembangkitan Jadwal Aktif(2)Step 1.Tentukan t=0, dan kemudian mulai dengan PS0 sebagai jadwal
parsial nol. Tentukan seluruh operasi tanpa predecessor sebagai S0 Step 2.Tentukan r* min {rj; jESt} dan mesin m * yaitu mesin yang dapat
merealisasikan r*Step 3. Untuk setiap operasi j E St yang membutuhkan mesin m * dan memenuhi rj < r* maka tambahan operasi j yang memenuhi
syarat ini ke dalam PSt dan hitung indeks prioritas. Masukkan operasi dengan
indeks prioritas tertinggi ke dalam PSt dan dikerjakan pada mesin M*
sesuai dengan urutan prioritas
Step 4. Untuk setiap jadwal parsial baru PSt+1, yang dihasilkan pada Step 3, perbaharui (up date) set data berikut:
• Keluarkan operasi j dari St• Masukkan operasi selanjutnya dari pekerjaan yang sama dari operasi yang dikeluarkan tersebut ke dalam St• Harga t berubah menjadi t+1
Step 5. Untuk setiap PS t+1 yang dihasilkan pada Step 3, kembali ke Step 2. Lanjutkan langkah-langkah ini sampai suatu jadwal aktif dihasilkan.
mesin
Stage 1 2 3 St Cj tij rj r* m* PSt
0 0 0 0 111 0 4 4
212 0 1 1 1 2 212
313 0 3 3
412 0 3 3
1 0 1 0 111 0 4 4
221 1 4 5
313 0 3 3 3 3 313
412 1 3 4
2 0 1 3 111 0 4 4 4 1 112
221 1 4 5
322 3 2 5
412 1 3 4
mesin
Stage 1 2 3 St Cj tij rj r* m* PSt
3 4 1 3 122 4 3 7
221 4 4 8
322 1 2 5
412 3 3 4 4 2 412
4 4 4 3 122 4 3 7
221 4 4 8
322 4 2 6 6 2 322
423 4 3 7
5 4 6 3 122 6 3 9
221 4 4 8
331 4 4 8
423 4 3 7 7 3 423
mesin
Stage 1 2 3 St Cj tij rj r* m* PSt
5 4 6 3 122 6 3 9
221 4 4 8
331 4 4 8
423 4 3 7 7 3 423
6 4 6 7 122 6 3 9
221 4 4 8 8 1 221
331 6 3 9
431 7 1 8
7 8 6 7 122 6 3 9
233 8 4 12
331 8 3 11
431 8 1 9 9 1 431
mesin
Stage 1 2 3 St Cj tij rj r* m* PSt
8 9 6 7 122 6 3 9 9 2 122
233 8 4 12
331 8 3 11
9 9 9 7 133 9 3 12 9 2 133
233 8 4 12
331 9 3 12
10 9 9 11 233 11 4 15
331 9 3 12 12 1 331
11 12 9 11 233 11 4 15
Hasil Penjadwalan Aktif
M3 313
It 423 It 133 233
M2 212 412 322
122
M1 111 221 431 331 It
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Waiting Time
Idle Time
Ms = 15
Jadwal Non Delay Proses pengurutan pekerjaan dimana
tidak ada mesin yang dibiarkan menganggur selama masih ada operasi pekerjaan yang mengantri
Diprioritaskan Job dengan C* terkecil. Apabila terdapat C* terkecil dengan
mesin yang berbeda, bisa dijadwalkan sekaligus
Apabila terdapat C* terkecil dengan mesin yang sama, diprioritaskan yang mempunyai rj terkecil.n
mesin
Stage 1 2 3 St Cj tij rj c* m* PSt
0 0 0 0 111 0 4 4 0 1111
212 0 1 1 0 2 212
313 0 3 3 0 3313
412 0 3 3 0 2
1 4 1 3 122 4 3 7
221 4 4 8
322 3 2 5
412 1 2 4 1 2 412
2 4 4 3 122 4 3 7 4 2
221 4 4 8 4 1 221
322 4 2 6 4 2 322
423 4 3 7 4 3 423
mesin
Stage 1 2 3 St Cj tij rj c* m* PSt
3 8 6 7 122 6 3 9 6 2122
233 8 4 12
331 8 3 11
431 8 1 9
4 8 9 7 133 9 2 11
233 8 4 12 8 3 233
331 8 3 11 8 1
431 8 1 9 8 1 431
5 9 9 12 133 12 2 14
331 9 3 12 9 1 331
6 12 9 12 133 12 2 14 12 3 133
12 9 14
Hasil Penjadwalan Non Delay
M3 313
423
233 133
M2 212 412 322 122
M1 111 221 431 331
1 2 3 4 5 6 7 8 9 10 11 12 13 14