Anda di halaman 1dari 34

Penjadwalan Produksi Flow-

Shop dan Job-Shop

Perencanaan dan Pengendalian Produksi


Hasil Pembelajaran
• Umum
– Mahasiswa mampu menerapkan model
matematik, heuristik dan teknik statistik
untuk menganalisis dan merancang suatu
sistem perencanaan dan pengendalian
produksi

• Khusus
– Memahami konsep penjadwalan produksi
serta mampu menyusun jadwal produksi

2
Penjadwalan Flow Shop
• Ciri dari flow shop:
– Aliran material seragam
– Semua job mengikuti praktis tahapan yang
sama hanya waktu operasinya yang
berbeda-beda

• Persoalan penjadwalan dalam flow


shop dikenal:
– Shop terdiri dari 2 mesin saja
– Shop terdiri dari lebih dari 2 mesin

3
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

4
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.

5
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.

6
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

7
Algoritma Campbell-Dudek-Smith (CDS)
• Algortima:
• Pengembangan
aturan Johnson I. Tetapkan K=1; buat dua mesin
• Digunakan untuk semu dengan waktu proses ti,1*
flow shop dengan dan ti,2* dengan cara:
jumlah mesin m > K
  ti ,m  k 1
K
2 ti*,1   ti ,k
*
t i,2
• Rute proses tetap, k 1 k 1
dari mesin 1, II. Urutkan pekerjaan dengan aturan
mesin 2, …. mesin Johnson dan hitung makespan
n
III. Jika K=(m-1) berhenti; cari urutan
dengan makespan terpendek.
Jika tidak K=K+1, kembali ke
langkah I.
8
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

9
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

10
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

11
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

12
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

13
Geser-kiri (left-shift)

• Geser-kiri lokal (local left-shift)


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

14
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

15
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

16
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

17
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

18
Jenis jadwal pada job shop(4)

All schedule
* SA = semiactive
SA * A = active
A ND
ND = non-delay
* = optimal

19
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

20
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

21
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.

22
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

23
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

24
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 6 3 9
423 4 3 7 7 3

25
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

26
Jadwal Aktif(5)

Mesin
Stage 1 2 3 st j tij j * m* PSt

8 9 6 7 122 6 3 9 9 2 122
233 8 4 12
331 9 3 12
9 9 9 7 133 9 2 11 11 3 133
233 8 4 12
331 9 3 12

27
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

28
Jadwal Aktif(7)

M3 313 423 133 233

M2 412 322 122

212
M1 111 221 331
431

29
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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

30
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 dihasilkan.

31
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
2 4 4 3 122 4 3 7 221
221 4 4 8 4 1 322
322 4 2 6 2 423
423 4 3 7 3
32
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
33
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

34

Anda mungkin juga menyukai