KULIAH 10 - PENJADWALAN PRODUKSI

Download Report

Transcript KULIAH 10 - PENJADWALAN PRODUKSI

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
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
Backward Scheduling
t=0
Forward Scheduling
Mana duluan?
Job 1
Job 2
Single
Machine
Single Machine
Job 3
t
Mana duluan dan di mesin mana?
Machine
NC
Job 1
Machine
NC
Job 3
Job 2
Paralel/Heterogeneous Machine
Muhammad Adha Ilhami
Ilustrasi Multiple Stages
Which is the better schedule? A or B
Flow Shop A
J1
M1
M2
Flow Shop B
J2
J2
M1
J1
M2
J2
t=0
J2
t=0
Job Shop
J1
M1
M2
J2
J1
J2
J1
t=0
Muhammad Adha Ilhami
J1
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:
1. Minimasi shop time (waktu shop digunakan): minimize
flow time, atau minimize makespan.
2. Maksimasi utilisasi shop floor (yaitu meminimasi idle
time)
3. Minimasi WIP (work in process): minimize flow time atau
minimize earliness.
4. 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
1
Job
Pi
Flow time
Job
Pi
Flow time
1
10
10
5
3
3
2
8
18
4
5
8
3
14
32
2
8
16
4
5
37
1
10
26
5
3
40
3
14
40
SPT
Total Flow time
137
Total Flow time
93
Mean Flow time
27,4
Mean Flow time
18,6
2
3
4 5
5 4
t
Muhammad Adha Ilhami
2
1
3
t
B. Penjadwalan Single Machine: WSPT
Job
Pi
Bobot
(Wi)
P/W
Job
Bobot (Wi)
Pi
Flow time
Weighted
flow time
1
10
1
10
4
2
5
5
10
2
8
3
2,67
2
3
8
13
39
3
14
2
7
5
1
3
16
16
4
5
2
2,5
3
2
14
30
60
5
3
1
3
1
1
10
40
40
Total
9
Total
104
165
20,8
33
WSPT
Rata-rata
Muhammad Adha Ilhami
C. Penjadwalan Single Machine: EDD
Job
Waktu
Due
Date
Saat
Selesai
Lateness
Job
Waktu
Due
date
Saat Selesai
Lateness
1
10
12
10
-2
5
3
3
3
0
2
8
20
18
-2
1
10
12
13
1
3
14
18
32
14
4
5
17
18
1
4
5
17
37
20
3
14
18
32
14
5
3
3
40
37
2
8
20
40
20
EDD
Total
69
Total
36
Rata-rata
13,8
Rata-rata
7,2
Maximum
37
Maximum
20
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
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
Number of Tardy Jobs = 6 Jobs
Muhammad Adha Ilhami
Contoh Algoritma Hodgson
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
Karena hanya ada 1 job yang Tardy maka STOP
Muhammad Adha Ilhami
Contoh Algoritma Hodgson
i
1
3
5
4
6
7
8
2
Ti
5
6
10
3
14
7
3
8
Ci
5
11
21
24
38
45
48
56
Di
15
15
20
25
40
45
50
10
Li
-10
-4
1
-1
-2
0
-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
5
3
Contoh: ada 2 mesin paralel (sejenis) dan ada 5 job.
Urutan SPT
i
5
Pi
3
4
2
1
3
5
8
10
14
Muhammad Adha Ilhami
I. Penjadwalan n Job Mesin Paralel:
SPT
i
5
4
2
1
3
Pi
3
5
8
10
14
Machine
5 2
NC #1
Machine
4
NC #2
i
3
1
Mesin #1
Mesin #2
i
5
2
3
4
1
Pi
3
8
14
5
10
FT
3
11
25
5
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
5
3
Mesin 2
5
7
9
2
12
5
3
5
2
1
3
2
4
1
Makespan = 42
Machine
5
1
Machine
2
3
2
1
4
5
3
2
1 4
Muhammad Adha Ilhami
4
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
1
2
3
4
5
Mesin 1
10
8
14
5
3
Mesin 2
5
7
9
2
Mesin 3
8
6
12
7
Job
K=1
tm1
tm3
1
10
8
12
2
8
6
5
3
14
12
4
5
7
3
5
5
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
No.
1
2
3
4
5
K=1
tm1
tm3
5
3
5
4
5
7
3
14
12
1
10
8
2
8
6
Job
5
4
3
1
2
Start Time
M1
0
3
8
22
32
M1
3
5
14
10
8
Start Time
M2
3
8
22
32
40
M2
12
2
9
5
7
Job
1
2
3
4
5
Mesin 1
10
8
14
5
3
Mesin 2
5
7
9
2
12
Mesin 3
8
6
12
7
5
Idle Time Start Time
M2
M3
3
15
0
17
5
31
1
37
3
47
M3
5
7
12
8
6
Step 4 – Karena K = 1 < 2, maka lanjutkan/kembali ke Step 1.
Muhammad Adha Ilhami
Idle Time M3 Finish Time
15
20
0
27
4
43
0
51
0
57
Makespan
57
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
Urutan
Job
1
15
13
4
7
9
2
15
13
5
15
17
3
23
21
3
23
21
4
7
9
2
15
13
5
15
17
1
15
13
Muhammad Adha Ilhami
K=2
Tm1+2
Tm2+3
II.B. Penjadwalan Flow Shop m Mesin
Serial : Algoritma CDS
No.
1
2
3
4
5
Job
4
5
3
2
1
Urutan
Job
K=2
Tm1+2
4
Job
1
2
3
4
5
Tm2+3
Mesin 1
10
8
14
5
3
7
9
Mesin 2
5
7
9
2
12
5
15
17
3
23
21
Mesin 3
8
6
12
7
5
2
15
13
1
15
13
Start Time
M1
0
5
8
22
30
M1
5
3
14
8
10
Start Time
M2
5
8
22
30
40
M2
2
12
9
7
5
Idle Time Start Time
M2
M3
5
7
1
20
2
31
0
38
2
45
Step 4 – Karena K = 1+1 = 2, maka Stop.
Muhammad Adha Ilhami
M3
7
5
12
6
8
Idle Time
M3
7
6
6
0
0
Makespan
Finish
Time
14
25
43
49
57
57
III. Job Shop Scheduling
Job Shop : urutan pekerjaan tidak unidirectional.
Indeks yang umum digunakan dalam penjadwalan Job Shop adalah
indeks (i, j, k)
Dimana:
New Job
Finish Job
i
: indeks job
WIP
WIP
WIP
j
: indeks operasi
M1
Mk
k : indeks mesin
Finish Job
Muhammad Adha Ilhami
New Job
III. Jenis Job Shop Scheduling
Jenis Penjadwalan Job Shop:
1. Jadwal Semi Aktif
2. Jadwal Aktif*
3. 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
Muhammad Adha Ilhami
9
III. Jenis Job Shop Scheduling:
Penyelesaian Jadwal Aktif (4)
Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling:
Penyelesaian Jadwal Aktif (5)
9
Muhammad Adha Ilhami
2
III. Jenis Job Shop Scheduling:
Penyelesaian Jadwal Aktif (6)
Muhammad Adha Ilhami
III. Jenis Job Shop Scheduling:
Penyelesaian Jadwal Aktif (7)
Muhammad Adha Ilhami