Penjadwalan Produksi PDF
Penjadwalan Produksi PDF
PERMASALAH PENJADWALAN
Mesin M1 M2
Pekerjaan (jam) (jam)
1 2 4
2 1 3
3 8 2
M1 1 2 3
1 2 3 4 5 6 7 8 9 10 11 12 13
M2 1 2 3
Makespan =13jam
Urutan 2-1-3
M1 2 1 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
M2 2 1 3
Makespan =13jam
Urutan 1-3-2
M1 1 3 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
M2 1 3 2
Makespan =15jam
Urutan 3-1-2
M1 3 1 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
M2 3 1 2
Makespan =17jam
URUTAN 2-3-1
M1 2 3 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
M2 2 3 1
Makespan =15jam
URUTAN 3-2-1
M1 3 2 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
M2 3 2 1
Makespan =17jam
Pendahuluan
• Masalah penjadwalan muncul di berbagai
macam kegiatan: rumah sakit, universitas,
airline, factory
• Penjadwalan yang dimaksud dibahas adalah
untuk keperluan perencanaan dan
pengendalian produksi
• Keluaran proses perencanaan tahap akhir ini
dalam bentuk jadwal kerja operasi-operasi
manufaktur pada setiap mesin atau fasilitas
• Kapan (time) dan dimana (resource) operasi-
operasi manufaktur dilakukan
9
Penjadwalan dalam Kerangka
PPC
MRP
O-1
Fasilitas
O-2 terbatas
Work Order
O-3
SFC/
PAC
Pelaksanaan
Produksi
PENJADWALAN
10
Model Penjadwalan(1)
Single machine
Single stage
Parallel/heterogeneous
Penjadwalan Job machines
Flow shop
Multiple stages
Job shop
Batch
11
Model Penjadwalan(2)
• Job scheduling (memecahkan masalah sequencing saja,
karena ukuran job telah diketahui)
– n jobs on 1 processor
Single Stage
– n jobs on m-parallel processors
– Flow shop scheduling Multiple Stage
– Job shop scheduling
• Batch scheduling (memecahkan masalah penentuan
ukuran batch dan masalah sequencing secara simultan)
12
Pendekatan
Forward
Backward scheduling
scheduling(penjadwalan maju):
(penjadwalan mundur):
penjadwalan yang dimulai
penjadwalan mulai dari date
segera setelah saat job siap;
date dan bergerak berlawanan
mulai dari time zero dan
arah dengan arah pergerakan
bergerak searah dengan
waktu. Jadwal pasti memenuhi
pergerakan waktu. Jadwal pasti
due date tapi mungkin tidak
feasible tapi mungkin melebihi
feasible
due date
13
Masukan Untuk Penjadualan
15
Terminologi(2)
• Delivery date (saat kirim): saat pengiriman job dari
shop floor ke proses berikut atau ke konsumen, di
• Ready time (saat siap): saat sebuah job siap
diproses.
• Due date: saat batas (deadline) untuk job, yang
setelah batas tersebut job dinyatakan terlambat, di
• Makespan: interval waktu total untuk penyelesaian
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.
16 • Earliness (Ei): negative lateness
Terminologi(3)
• Slack: sisa waktu sampai due date, SLi = di -
ti –saat sekarang
• Gantt chart: adalah peta visual yang
menggambarkan loading dan scheduling
• Loading menggambarkan beban mesin
• Schedule menggambarkan urutan
(sequence) pemrosesan job, dan
menggambarkan saat dimulai dan saat
selesai suatu pekerjaan
• Dalam bidang penelitian scheduling,
schedule dan sequence biasanya
mempunyai pengertian yang dapat
17
dipertukarkan (schedule = sequence)
Terminologi(4)
• Waiting time adalah waktu job menunggu karena
mesin yang seharus memproses job tersebut sedang
memproses job lain
• Idle time adalah waktu mesin tidak bekerja
(menganggur) karena tidak ada job yang harus
diprosesPriority rule: aturan penentuan prioritas
pemrosesan
• Priority rules: FCFS (first come first serve); SPT
(shortest processing time), LPT (longest processing
time), EDD (earliest due date); rasio kritis (critical
ratio, CR). CR = (due date – today’s date)/(lead time
remaining) atau CR = (due date – today’s
18 date)/(workdays remaining)
Terminologi(5)
• Kriteria penjadwalan:
19
Terminologi(6)
• Suatu variant dalam batch scheduling problems
adalah lot streaming.
22
Penjadwalan n jobs pada single
machine(3)
Waktu
Job Flow time
proses
4 3 3
8 3 6 Makespan = 56
1 5 11
3 6 17
7 7 24 4 8 1 3 7 2 5 6
2 8 32
5 10 42
6 14 56
Total 191
Rata-rata 23.875
Gantt chart
23
Penjadwalan n jobs pada single
machine(4)
• Aturan WSPT (Weighted shortest
processing time):
• Bila terdapat n jobs yang akan diproses di
sebuah mesin dan setiap job mempunyai
bobot Wi, maka rata-rata flow time akan
minimum bila job tersebut diurut menurut:
t1 t2 tn1 tn
...
W1 W2 Wn 1 Wn
24
Penjadwalan n jobs pada single
machine(5)
Waktu ti Weighted
Job Bobot Job Bob Waktu Flow time
proses Wi Flow time
3 3 6 6 18
1 5 1 5 4 1 3 9 9
2 8 2 4 8 1 3 12 12
3 6 3 2 7 2 7 19 38
4 3 1 3 2 2 8 27 54
5 10 2 5 6 3 14 41 123
1 1 5 46 46
6 14 3 4.7
5 2 10 56 112
7 7 2 3.5 Total 15 Total 216 412
8 3 1 3 Rata-rata 27 27.46667
25
Penjadwalan n jobs
pada single machine(6)
• Aturan SPT meminimumkan mean lateness
• Bila terdapat n jobs yang akan diproses di
sebuah mesin, maka mean lateness akan
minimum bila jobs tersebut diurut menurut aturan
SPT
Job Waktu Due date
1 5 15
2 8 10
3 6 15
4 3 25
5 10 20
6 14 40
7 7 45
26
8 3 50
Penjadwalan n jobs
pada single machine(7)
Saat Latenesss
Job Waktu Due date
Selesai c-d
4 3 25 3 -22
8 3 50 6 -44
1 5 15 11 -4
3 6 15 17 2
7 7 45 24 -21
2 8 10 32 22
5 10 20 42 22
6 14 40 56 16
Total -29
Rata-rata -3.625
Maximum lateness: 22
27
Penjadwalan n jobs pada single
machine(8)
• Aturan EDD (earliest due date)
• Aturan EDD meminimumkan maximum
lateness pada sebuah mesin
Saat Latenesss
Job Waktu Due date
Selesai c-d
2 8 10 8 -2
1 5 15 13 -2
3 6 15 19 4
5 10 20 29 9
4 3 25 32 7
6 14 40 46 6 Maximum lateness:
7 7 45 53 8
8 3 50 56 6
9
Total 36
28 Rata-rata 4.5
Penjadwalan n jobs pada single
machine(9)
• Algoritma Hodgson meminimumkan jumlah job yang tardy pada
sebuah mesin
• Step 1. Urut semua job sesuai EDD; bila tidak ada atau hanya
satu job yang tardy (positive lateness) maka stop. Bila lebih dari
sebuah maka lanjutkan ke Step 2
– Step 2. Mulai dari awal sampai akhir job pada urutan EDD,
identifikasi tardy job yang paling awal. Bila tidak tardy job
maka lanjutkan ke Step 4. Bila ada, maka lanjutkan ke Step 3
– Step 3. Misal tardy job tersebut berada di urutan ke i. Pilih job
yang mempunyai 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 ujung belakang urutan
29
Penjadwalan n jobs pada single
machine(10)
i 2 1 3 5 4 6 7 8
ti 8 5 6 10 3 14 7 3
ci 8 13 19 29 32 46 53 56
di 10 15 15 20 25 40 45 50
Li -2 -2 4 9 7 6 8 6
i 1 3 5 4 6 7 8
ti 5 6 10 3 14 7 3
ci 5 11 21 24 38 45 48
di 15 15 20 25 40 45 50
Li -10 -4 1 -1 -2 0 -2
30
Penjadwalan n jobs pada single
machine(11)
i 1 3 4 6 7 8
ti 5 6 3 14 7 3
ci 5 11 14 28 35 38
di 15 15 25 40 45 50
Li -10 -4 -11 -12 -10 -12
i 1 3 4 6 7 8 2 5
ti 5 6 3 14 7 3 8 10
ci 5 11 14 28 35 38 46 56
di 15 15 25 40 45 50 10 20
Li -10 -4 -11 -12 -10 -12 36 36
31
Penjadwalan n jobs pada single
machine(12)
Perbandingan perfomansi scheduling rule
32
Algoritma Johnson dan CDS
• Kriteria: minimasi makespan
– Flow shop 2 mesin: Algoritma Johnson (1956)
– Flow shop m mesin: Algoritma Campbell, Dudek
dan Smith (CDS)
• Urutan pemrosesan n job di seluruh mesin adalah
sama
• Panjang makespan ditentukan dengan membuat
Gantt chart untuk jadwal terpilih: Setiap job hanya
diproses di satu mesin pada saat yang sama, dan
setiap mesin hanya memproses sebuah job pada
saat yang sama
33
Algoritma Johnson(1)
• Step 1. Tentukan waktu proses yang terpendek di
antara seluruh job dalam daftar job yang akan
diproses
• Step 2a. Bila waktu proses terpendek berada di
mesin M1, maka jadwalkan job dengan waktu
terpendek itu pada posisi paling kiri pada urutan
yang dimungkinkan, dan lanjutkan ke Step 3.
• Step 2b. Bila waktu proses terpendek berada di
mesin M2, maka jadwalkan job dengan waktu
terpendek itu pada posisi paling kanan pada urutan
yang dimungkinkan, dan lanjutkan ke Step 3.
34
Algoritma Johnson(2)
• Step 2c. Bila terdapat beberapa nilai waktu
proses terpendek, maka pilih sembarang;
dan jadwalkan job dengan waktu proses
terpilih di posisi paling kiri atau kanan
sesuai dengan keberadaan waktu proses
terpilih tersebut.
• Step 3. Keluarkan job yang sudah
dijadwalkan dari daftar job. Bila masih ada
job yang belum dijadwalkan, maka kembali
ke Step 1. Bila seluruh job sudah
dijadwalkan maka stop.
35
Algoritma Johnson(3)
3
1 4 5 2
3 1 4 5 2
24
36
Algoritma Campbell-Dudek-Smith
(CDS)
• Pengembangan • Algortima:
aturan Johnson I. Tetapkan K=1; buat dua mesin semu
dengan waktu proses ti,1* dan ti,2*
• Digunakan untuk K
t
denganKcara:
flow shop dengan *
jumlah mesin m > 2 ti ,1
*
ti , k t
i,2 i , m k 1
• Rute proses tetap, k 1 k 1
dari mesin 1, mesin
2, …. mesin n II. Urutkan pekerjaan dengan aturan
Johnson dan hitung makespan
37
Contoh:
Pekerjaan ti,1 ti,2 ti,3
i
1 4 3 5
2 3 3 4
3 2 1 6
4 5 3 2
5 6 4 7
6 1 8 3
Pekerjaan
i K=1 K=2
t*i,1 t*i,2 t*i,1 t*i,2
1 4 5 7 8
2 3 4 6 7
3 2 6 3 7
4 5 2 8 5
5 6 7 10 11
6 1 3 9 11
38
Contoh………
• Untuk K = 1 :
– Urutan yang terbentuk adalah 6 – 3 – 2 – 1 – 5 – 4
– Makespan adalah: 36 satuan waktu
• Untuk K = 2
– Urutan yang terbentuk adalah 3 – 2 – 1 – 6 – 5 – 4
– Makespan adalah: 33 satuan waktu
39
Job shop scheduling(1)
• Flow shop: aliran kerja unidirectional
• Job shop: aliran kerja tidak unidirectional
New jobs
Completed jobs
40 40
Job shop scheduling(2)
• Flow shop: Indeks (i, j)
Waktu proses
Job M1 M2 … Mm
tij: Waktu proses job i di mesin j J1 … … … …
J2 … … … …
… … …
…
Jn … … …
• Job shop: Indeks (i, j, k)
41
41
Job shop scheduling(2)
t233 = 4 t31…
3 = 3 1= t431
42
42
Geser-kiri (left-shift)
43
43
Jenis 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
44
44
Jenis jadwal pada job shop(1)
Waktu Proses Routing
Operasi 1 Operasi 2 Operasi 3 Operasi 1 Operasi 2 Operasi 3
Job J1 4 3 2 Job J1 1 2 3
Job J2 1 4 4 Job J2 2 1 3
Job J3 3 2 3 Job J3 3 2 1
Job J4 3 3 1 Job J4 2 3 1
M1 4 3 2 1
M2 4 3 2 1
M3 4 3 2 1
45
45
Jenis jadwal pada job shop(2)
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)
1
M1 4 1 3 2 1
1
M2 4 3 2 1 1
M3 4 3 1 2 1
1
46
46
Jenis jadwal pada job shop(3)
2. Jadwal Aktif
adalah satu set jadwal yang tidak
memungkinkan lagi untuk melakukan geser-kiri
global
3. Jadwal non-delay
adalah jadwal aktif yang tidak membiarkan
mesin menjadi idle bila suatu operasi dapat
dimulai
47
47
Jenis jadwal pada job shop(4)
All schedule
* SA = semiactive
SA * A = active
A ND
ND = non-delay
* = optimal
48
48
Algoritma Pembangkitan Jadwal Aktif(1)
PSt = Jadwal parsial yang terdiri t buah operasi
terjadwal
St = Set 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
50
50
Algoritma Pembangkitan Jadwal Aktif(3)
51
51
Jadwal Aktif(1)
Mesin
Stage 1 2 3 st j tij j * m* PSt
0 0 0 0 111 0 4 4 212
212 0 1 1 1 2
313 0 3 3
412 0 3 3
1 0 1 0 111 0 4 4 313
221 1 4 5
313 0 3 3 3 3
412 1 3 4
52
52
Jadwal Aktif(2)
Mesin
Stage 1 2 3 st j tij j * m* PSt
2 0 1 3 111 0 4 4 4 1 111
221 1 4 5
322 3 2 5
412 1 3 4
3 4 1 3 122 4 3 7 412
221 4 4 8
322 3 2 5
412 1 3 4 4 2
53
53
Jadwal Aktif(3)
Mesin
Stage 1 2 3 st j tij j * m* PSt
4 4 4 3 122 4 3 7 322
221 4 4 8
322 4 2 6 6 2
423 4 3 7
5 4 6 3 122 6 3 9 423
221 4 4 8
331 4 3 7
423 4 3 7 7 3
54
54
Jadwal Aktif(4)
Mesin
Stage 1 2 3 st j tij j * m* PSt
6 4 6 7 122 6 3 9 221
221 4 4 8 8 1
331 6 3 9
431 7 1 8
7 8 6 7 122 6 3 9 431
233 8 4 12
331 8 3 11
431 8 1 9 9 1
55
55
Jadwal Aktif(5)
Mesin
Stage 1 2 3 st j tij j * m* PSt
8 9 6 7 122 6 3 9 122
233 8 4 12 8 1
331 9 3 12
9 9 9 7 133 9 2 11 11 3 133
233 8 4 12
331 9 3 12
56
56
Jadwal Aktif(6)
Mesin
Stage 1 2 3 st j tij j * m* PSt
10 9 9 11 233 11 4 15 331
331 9 3 12 12 1
11 12 9 11 233 11 4 15 15 3 233
12 9 15
57
57
Jadwal Aktif(7)
431
58
58
Algoritma Pembangkitan Jadwal Non-delay(1)
Step 1. Tentukan t=0, dan kemudian mulai dengan PS0
sebagai jadwal parsial nol. Tentukan seluruh operasi
tanpa predecessor sebagai S0.
Step 2. Tentukan *
min jS j dan mesin m* yaitu
t
59
59
Algoritma Pembangkitan Jadwal Non-delay (2)
61
Stage Mesin
1 2 3 St Cj tij rj C* m* PSt
3 8 6 7 122 6 3 9 6 2 122
233 8 4 12
331 8 3 11
431 8 1 9
4 8 9 7 133 9 2 11 233
233 8 4 12 8 3 431
331 8 3 11
431 8 1 9
5 9 9 12 133 12 2 14 331
331 9 3 12 9 1
6 12 9 12 133 12 2 14 12 3 133
62
HASIL PENJADWALAN NON DELAY
63
Penjadwalan n jobs, parallel
machines(1)
• Algoritma meminimkan mean flow time
pada mesin paralel
–Step 1. Urut semua jobs dengan urutan SPT
–Step 2. Jadwalkan job tersebut satu per satu
pada mesin yang memiliki beban minimum.
Bila beban mesin sama, pilih sembarang mesin
i 1 2 3 4 5 6 7 8 9 10
ti 5 6 3 8 7 2 3 5 4 2
Urutan SPT
i 6 10 3 7 9 1 8 2 5 4
ti 2 2 3 3 4 5 5 6 7 8
65
Penjadwalan n jobs, parallel machines(2)
i 6 10 3 7 9 1 8 2 5 4
ti 2 2 3 3 4 5 5 6 7 8
M3 3 1 5
M2 10 9 2
M1 6 7 8 4
66
Penjadwalan n jobs, parallel machines(3)
M1 M2 M3
Job Waktu Flow time Job Waktu Flow time Job Waktu Flow time
6 2 2 10 2 2 3 3 3
7 3 5 9 4 6 1 5 8
8 5 10 2 6 12 5 7 15
4 8 18
Total 35 20 26
Rata-rata 8.75 6.666667 8.666667
pengerjaan sbb:
2 4 6 10 18
Langkah 3
• 4–5–2–1–8–9–3–7–6–
10 Mesin 3 10 3 2 1
• Langkah 1 Mesin 2 7 8 5
membebankan pada
mesin Mesin 1 6 9 4
• Langkah 2 membalik 2 4 6 10 18
69
urutan pada setiap mesin
Penjadwalan n jobs, serial
machines
• Kriteria: minimasi makespan
– Flow shop 2 mesin: Algoritma Johnson (1956)
– Flow shop m mesin: Algoritma Campbell, Dudek
dan Smith (CDS)
• Urutan pemrosesan n job di seluruh mesin
adalah sama
• Panjang makespan ditentukan dengan
membuat Gantt chart untuk jadwal terpilih:
Setiap job hanya diproses di satu mesin pada
saat yang sama, dan setiap mesin hanya
memproses sebuah job pada saat yang sama
70
Algoritma Johnson(1)
• Step 1. Tentukan waktu proses yang terpendek
di antara seluruh job dalam daftar job yang akan
diproses
• Step 2a. Bila waktu proses terpendek berada di
mesin M1, maka jadwalkan job dengan waktu
terpendek itu pada posisi paling kiri pada urutan
yang dimungkinkan, dan lanjutkan ke Step 3.
• Step 2b. Bila waktu proses terpendek berada di
mesin M2, maka jadwalkan job dengan waktu
terpendek itu pada posisi paling kanan pada
71 urutan yang dimungkinkan, dan lanjutkan ke
Step 3.
Algoritma Johnson(2)
• Step 2c. Bila terdapat beberapa nilai waktu
proses terpendek, maka pilih sembarang;
dan jadwalkan job dengan waktu proses
terpilih di posisi paling kiri atau kanan
sesuai dengan keberadaan waktu proses
terpilih tersebut.
• Step 3. Keluarkan job yang sudah
dijadwalkan dari daftar job. Bila masih ada
job yang belum dijadwalkan, maka kembali
ke Step 1. Bila seluruh job sudah
72
dijadwalkan maka stop.
Algoritma Johnson(3)
Job Job1 Job2 Job3 Job4 Job5
tj1 3 5 1 6 7
tj2 6 2 2 6 5
3
1 4 5 2
3 1 4 5 2
24
73
Algoritma Campbell-Dudek-Smith
(CDS)
• Algortima:
• Pengembangan I. Tetapkan K=1; buat dua mesin
aturan Johnson semu dengan waktu proses ti,1*
• Digunakan dan ti,2* dengan cara:
untuk flow shop K
ti ,mk 1
K
ti*,1 ti ,k
*
dengan jumlah t i,2
k 1 k 1
mesin m > 2
II. Urutkan pekerjaan dengan aturan
• Rute proses
Johnson dan hitung makespan
tetap, dari
mesin 1, mesin III. Jika K=(m-1) berhenti; cari urutan
2, …. mesin n dengan makespan terpendek.
Jika tidak K=K+1, kembali ke
langkah I.
74
Contoh:
Pekerjaan ti,1 ti,2 ti,3
i
1 4 3 5
2 3 3 4
3 2 1 6
4 5 3 2
5 6 4 7
6 1 8 3
Pekerjaan
i K=1 K=2
t*i,1 t*i,2 t*i,1 t*i,2
1 4 5 7 8
2 3 4 6 7
3 2 6 3 7
4 5 2 8 5
5 6 7 10 11
6 1 3 9 11
75
Contoh………
• Untuk K = 1 :
– Urutan yang terbentuk adalah 6 – 3 – 2 – 1 – 5 – 4
– Makespan adalah: 36 satuan waktu
• Untuk K = 2
– Urutan yang terbentuk adalah 3 – 2 – 1 – 6 – 5 – 4
– Makespan adalah: 33 satuan waktu
76