Anda di halaman 1dari 76

PENJADWALAN PRODUKSI

PERMASALAH PENJADWALAN

Mesin M1 M2
Pekerjaan (jam) (jam)
1 2 4
2 1 3
3 8 2

Alternatif urutan pekerjaan yang mungkin yaitu (3 !) = 6


Bagaimana menentukan pengurutan optimum secara cepat dan
sederhana
URUT 1-2-3

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

• Jumlah dan jenis pekerjaan yang harus


diselesaikan selama periode tertentu
• Perkiraan waktu penyelesaian (processing
time)
• Batas waktu (due date)
• Tujuan penjadualan ( peningkatan utilitas,
minimasi inventori, menekan kelambatan)
• Situasi pekerjaan ( one prosesor, prosesor
seri/pararel, fasilitas produksi job-shop)
Terminologi(1)
• Processing time (waktu proses): estimasi waktu
penyelesaian pekerjaan (job, task), ti
• Setup time (waktu setup): waktu yang dibutuhkan
untuk kegiatan persiapan sebelum pemrosesan job
dilaksanakan. Sequence dependent and independent
setup times. si
• Flow time (waktu tinggal): waktu antara saat datang
(arrival time) dan saat kirim (delivery date), Fi
• Saat datang adalah saat job mulai berada di shop
floor (production line), ai

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:

– Minimasi shop time: flow time, makespan


– Maksimasi utilization (minimasi idle time)
– Minimasi WIP (work in process): Minimasi flow
time, minimasi earliness
– Minimasi customer waiting time: number of
tardy jobs, mean lateness, maximum lateness,
mean queue time

19
Terminologi(6)
• Suatu variant dalam batch scheduling problems
adalah lot streaming.

• Lot streaming adalah suatu teknik untuk


mempercepat aliran pengerjaan (the flow of work)
dengan menentukan transfer lots, yaitu lot untuk
membawa sebagian part (dari suatu batch yang
terdiri part yang identik) yang sudah selesai diproses
di suatu mesin (upstream machine) ke mesin berikut
(downstream machine). Tujuan lot streaming adalah
untuk memperpendek makespan dan sekaligus flow
time (yang berarti meminimumkan inventory).
20
Penjadwalan n jobs pada single
machine(1)
• Aturan SPT (shortest processing time)
untuk meminimumkan waktu tinggal
(flow time) rata-rata:
t1  t2  ...  tn1  tn 
• Flow time rata-rata akan minimum bila n
jobs yang akan diproses pada sebuah
mesin diurut menurut waktu
pemrosesan terpendek (shortest
processing time, SPT), yaitu:
21
Penjadwalan n jobs pada single
machine(2)
Waktu Waktu
Job Job Flow time
proses proses
1 5 4 3 3
2 8 8 3 6
3 6 1 5 11
4 3 3 6 17
5 10 7 7 24
6 14 2 8 32
7 7 5 10 42
8 3 6 14 56
F 191
F 23.875

Urutan yang dihasilkan: 4-8-1-3-7-2-5-6


Flow time rata-rata: 23,875

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:
t1 t2  tn1 tn 
  ...  
W1 W2  Wn 1 Wn 

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

Urutan yang dihasilkan: 3-4-8-7-2-6-1-5


Flow time rata-rata: 27,0
Flow time tertimbang rata-rata: 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

Jumlah tardy job: 2


Rata-rata lateness adalah 1,625, dan maximum lateness adalah 36

31
Penjadwalan n jobs pada single
machine(12)
Perbandingan perfomansi scheduling rule

Mean Flow Weighted Mean Maximum No. of Mean


Rule Time Mean Flow Lateness Lateness Tardy Tardiness
Time Jobs
SPT 23,875 29 -3,625 22 4 7,75
WSPT 27 27,467 -0.5 36 4 10,625
EDD 32 31733 4,5 9 6 5
Slack 32,125 31,133 4,625 9 6 5
Hodgson 29,125 29,867 1,625 36 2 9
Wilkerson 28,875 30,667 1,375 16 3 4

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)

Job Job1 Job2 Job3 Job4 Job5


tj1 3 5 1 6 7
tj2 6 2 2 6 5

Job3 Job1 Job4 Job5 Job2 M=24

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

III. Jika K=(m-1) berhenti; cari urutan


dengan makespan terpendek. Jika
tidak K=K+1, kembali ke langkah I.

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

Dengan demikian penjadwalan mengikuti urutan:


yang kedua: 3 – 2 – 1 – 6 – 5 – 4

39
Job shop scheduling(1)
• Flow shop: aliran kerja unidirectional
• Job shop: aliran kerja tidak unidirectional
New jobs

In process jobs In process jobs


Mk

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)

job operasi mesin


tijk Waktu operasi ke j untuk pemrosesan job i di mesin k

41
41
Job shop scheduling(2)

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

t233 = 4 t31…
3 = 3 1= t431

42
42
Geser-kiri (left-shift)

• Geser-kiri lokal (local left-shift)


penyesuaian (menjadi lebih cepat) saat mulai
(start time) suatu operasi dengan tanpa
mengubah urutan
• Gese-kiri global (global left-shift)
penyesuaian sehingga suatu operasi dimulai
lebih cepat tanpa menyebabkan delay operasi
lain

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

Misal urutan job adalah 4-3-2-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

Berikut adalah algoritma untuk


mendapatkan/mem-bangkitkan salah satu jadwal
aktif
49
49
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  *
 min j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

50
50
Algoritma Pembangkitan Jadwal Aktif(3)

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
– 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-langkah ini
sampai suatu jadwal aktif dihasilkan.

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)

M3 313 423 133 233

M2 412 322 122


212
M1 111 221 331

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 jS  j  dan mesin m* yaitu
t

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

59
59
Algoritma Pembangkitan Jadwal Non-delay (2)

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
– 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-
langkah ini sampai seluruh jadwal aktif
60 dihasilkan. 60
JADWAL NON DELAY ATURAN PRIORITAS SPT
Stage Mesin
1 2 3 St Cj tij rj C* m* PSt
0 0 0 0 111 0 4 4 0 1 111
212 0 1 1 2 212
313 0 3 3 3 313
412 0 3 3
1 4 1 3 122 4 3 7 412
221 4 4 8
322 3 2 5
412 1 2 4 1 2
122 4 3 7
221 4 4 8

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

Mesin 1 313 423 233 133


3 4 7 8 12 14
Mesin 2 212 412 322 122
1 4 6 9
Mesin 3 111 221 431 331
4 8 9 12

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

Rata-rata flow time: 8,01


Makespan: 18
67
Penjadwalan n jobs, parallel
machines(1)
• Algoritma untuk Minimasi Makespan dan Mean
Flow Time
• Langkah-langkah algoritma adalah:
– Langkah 1: Urutkan pekerjaan menurut aturan LPT
(Longest Processing Time)
– Langkah 2: Dari daftar urutan tersebut, bebankan satu
per satu pekerjaan pada mesin yang paling sedikit
mempunyai beban waktu pekerjaan terjadwal
– Langkah 3: Setelah semua pekerjaan terjadwalkan
pada mesin-mesin, balik urutan pengerjaan pada
setiap mesin dengan aturan SPT (Shortest Procesing
68 Time)
Langkah 2
Contoh
• Contoh penjadwalan Mesin 3 2 1 3 10

yang sama dengan


persoalan sebelumnya Mesin 2 5 8 7

• Dengan aturan LPT


diperoleh urutan Mesin 1 4 9 6

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

Job3 Job1 Job4 Job5 Job2 M=24

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 ,mk 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

Dengan demikian penjadwalan mengikuti urutan:


yang kedua: 3 – 2 – 1 – 6 – 5 – 4

76

Anda mungkin juga menyukai