21/04/2014
Definitions
• Contains m different machines.
• Each job consists m operators in different
machine.
Flow Shop Scheduling • The flow of work is unidirectional.
• Machines in a flow shop = 1,2,…….,m
Mata Kuliah: Penjadwalan Produksi • The operations of job i , (i,1) (i,2) (i ,3)…..(i, m)
Teknik Industri – Universitas Brawijaya • Not processed by machine k , P( i , k) = 0
Flow Shop Scheduling Baker p.136 Workflow in a flow shop Baker p.137
The processing sequence on each machine are all the same.
Type 1. Input
Machine Machine Machine Machine Machine
1 ….
2 3 1 5 4 1 2 3 M-1 M
2.
... 2 3 1 5 4 Flow shop output
.
M 1 3 2 4 5 Job shop Type 2.
Input Input Input Input Input
n! - flow shop permutation schedule
n!.n! …….n! - Job shop Machine
1
Machine
2
Machine
3
….
Machine
M-1
Machine
M
(n!) m
(n!) m k : constraint
or k (∵ routing problem) output output output output output
3 4
1
21/04/2014
Johnson’s Rule Baker p.142 Ex.
Step1 : Find mini {t i1 ,ti2 } Stage U Min tjk Assignment Partial Schedule
Step2a : If the min t requires machine 1, place the job in the first available position 1 1,2,3,4,5 t31 3=[1] 3xxxx
in sequence . go to step3.
2 1,2,4,5 t22 2=[5] 3xxx2
Step2b : If the min t requires machine 2, place the job in the first available position
3 1,4,5 t11 1=[2] 31xx2
in sequence . go to step3.
Step3 : Remove the assigned job from considerat ion and return to step 1 until all 4 4,5 t52 5=[4] 31x52
positions in sequence are filled . 5 4 t11 4=[3] 31452
Note:
Johnson’s rule can find an optimum with two machines
Flow shop problem for makespan problem.
5 6
Ex. The B&B for Makespan Problem
Job Job1 Job2 Job3 Job4 Job5 The Ignall-Schrage Algorithm (Baker p.149)
tj1 3 5 1 6 7 - A lower bound on the makespan associated with any
completion of the corresponding partial sequence σ is
tj2 6 2 2 6 5
obtained by considering the work remaining on each
machine. To illustrate the procedure for m=3.
Job3 Job1 Job4 Job5 Job2 M=24
For a given partial sequence σ, let
3 q1= the latest completion time on machine 1 among jobs in σ.
1 4 5 2 q2= the latest completion time on machine 2 among jobs in σ.
q3= the latest completion time on machine 3 among jobs in σ.
3 1 4 5 2
The amount of processing yet required of machine 1 is t j1
24 j '
7 8
2
21/04/2014
The Ignall-Schrage Algorithm The Ignall-Schrage Algorithm
Job in σ’
In the most favorable situation, the last job
1) Encounters no delay between the completion of one M1 …….. tk1
operation and the start of its direct successor, and q1
2) Has the minimal sum (tj2+tj3) among jobs j belongs to σ’ M2 …….. tk2
q2
Hence one lower bound on the makespan is b1 q1 j' t j1 min
j'
{t j2 t j3} M3 …….. tk3
q3 b1
A second lower bound on machine 2 is b 2 q 2 t j2 min{t j3}
j' j'
A lower bound on machine 3 is b 3 q 3 t j3
j' M2 …….. tk2
The lower bound proposed by Ignall and Schrage is B max{b1 , b 2 , b3} q2
M3 …….. tk3
q3 b2
9 10
Partial Sequence ( q1 , q2 , q3 ) (b1,b2,b3) B
Ex. B&B 1xxx Ex.
( 3 , 7 , 17 ) ( 37 , 31 , 37 ) 37
2xxx ( 11 , 12 , 17 ) ( 45 , 39 , 42 ) 45
m=3 3xxx ( 7 , 16 , 29 ) ( 37 , 35 , 46 ) 46
For the first node: σ =1
j 1 2 3 4 4xxx ( 10 , 22 , 24 ) ( 37 , 41 , 52 ) 52
q1 t 11 3 12xx ( 14 , 15 , 22 ) ( 45 , 38 , 37 ) 45
tj1 3 11 7 10 q 2 t 11 t 12 7 13xx ( 10 , 19 , 32 ) ( 37 , 34 , 39 ) 39
tj2 4 1 9 12 q 3 t 11 t12 t 13 17
14xx ( 13 , 25 , 27 ) ( 37 , 40 , 45 ) 45
tj3 10 5 13 2 The lower bound
132x ( 21 , 22 , 37 ) ( 45 , 36 , 39 ) 45
b1 3 28 6 37
134x ( 20 , 32 , 34 ) ( 37 , 38 , 39 ) 39
b 2 7 22 2 31
1 5 b 3 17 20 37 b1 q1 t j1 min{t j2 t j3 }
B max(37,31,37) 37 1 2 j ' j '
6 min9 13 0 3 14
12 2 9 13
1 2 14 (7 10) min
7 15 12 2
1 2
17 22 45
11 12
3
21/04/2014
Ex. B&B Hw.
P0 Consider the following four-job three-machine problem
j 1 2 3 4
1xxx 2xxx 3xxx 4xxx tj1 13 7 26 2
B=37 B=45 B=46 B=52 tj2 3 12 9 6
tj3 12 16 7 1
12xx 13xx 14xx
a. Find the min makespan using the basic Ignall-Schrage
B=45 B=39 B=45
algorithm. Count the nodes generated by the branching
process.
132x 134x b. Find the min makespan using the modified algorithm.
B=45 B=39
13 14
CDS
Heuristic Approaches
(Campbel, Dudek and Smith)
Traditional B&B: Its strength lies in two properties:
• The computational requirements will be severe for large 1.It use Johnson’s rule in a heuristic fashion
problems 2.It generally creates several schedules from which a “best”
• Even for relatively small problems, there is no guarantee schedule can be chosen.
that the solution can be obtained quickly,
The CDS algorithm corresponds to a multistage use if
Heuristic Approaches Johnson’s rule applied to a new problem, derived from the
• can obtain solutions to large problems with limited original, with processing times t ' j1 and t ' j2. At stage 1,
computational effort. t ' j1 t j1 and t ' j2 t jm
• Computational requirements are predictable for problem
of a given size.
15 16
4
21/04/2014
CDS CDS
Step 1. Set K=1. Hitung (m=jumlah mesin):
In other words, Johnson’s rule is applied to the first and mth K K
operations and intermediate operations are ignored. At stage ti*,1 ti ,k dan ti*, 2 ti ,mk 1
2, k 1
t ' j1 t j1 t j2 and t ' j2 t jm t j,m1 k 1
Step 2. Gunakan Algoritma Johnson untuk penentuan urutan pekerjaan
dengan menyatakan
That is, Johnson’s rule is applied to the sums of the first two and last two
operation processing times. In general at stage i, ti ,1 ti*,1 dan ti , 2 ti*, 2
i i Step 3. Hitung makespan untuk urutan tersebut. Catat jadwal dan
t ' j1 t jk and t ' j2 t j,m k 1 makespan yang dihasilkan
k 1 k 1
Step 4. Jika K=m-1 maka pilih jadwal dengan makespan terpendek
sebagai jadwal yang digunakan, lalu stop. Jika K<m-1 maka
K=K+1 dan kembali ke Step 1.
17 18
CDS CDS
Job i Mesin 1 Mesin 2 Mesin 3 Job i K=1 K=2
1 4 3 5 Mesin 1 Mesin 3 Mesin 1 Mesin 2
1 4 5 7 8
2 3 3 4
2 3 4 6 7
3 2 1 6
3 2 6 3 7
4 5 3 2 4 5 2 8 5
5 6 4 7 5 6 7 10 11
6 1 8 3 6 1 3 9 11
Set K=1 Set K=2
1 2
t1*,1 t1,k t1,1 4 t1*,1 t1,k t1,1 t1, 2 4 3 7
k 1 k 1
1 2
t*
1, 2 t1,3k 1 t1,3 5 t*
1, 2 t1,3 k 1 t1,3 t1, 2
k 1 k 1
53 8
19 20
5
21/04/2014
CDS Palmer
Palmer proposed the calculation of a slope index, sj,
for each job.
s j (m 1)t j,m (m 3)t j,m1 (m 5)t j,m2 (m 3)t j,2 (m 1)t j,1
Then a permutation schedule is constructed using the
job ordering
s[1] s[2] s[n ]
21 22
Gupta Gupta
Gupta thought a transitive job ordering in the form of follows Generalizing from this structure, Gupta proposed that for m>3,
that would produce good schedules. Where the job index to be calculated is
ej ej
sj sj
min{t j1 t j2 , t j2 t j3 } min {t jk t j,k 1}
1 k m 1
Where Where
1 if t j1 t j3 1 if t j1 t jm
ej ej
1 if t j1 t j3 1 if t j1 t jm
23 24
6
21/04/2014
Ex. HW. j 1 2 3 4 5
j 1 2 3 4 5 tj1 8 11 7 6 9
tj1 6 4 3 9 5 tj2 3 2 5 7 11
tj2 8 1 9 5 6 Let {1,3} tj3 6 5 7 13 10
CDS: 3-5-4-1-2 M=35
tj3 2 1 5 8 6
1. Use Ignall-Schrage & McMahon-Burton to
Palmer: s j m 1t j 3 m 1t j1 2t j 3 2t j1 solve b1 , b2 , b3 , b4 , b5 of P132 xxx , P312 xxx
s1 8 s2 6 s3 4 s4 2 s5 2
3 5 4 2 1 M 37
2. Use Palmer, Gupta, CDS to solve this
1 1 1 1 1
Gupta: s1 s2 s3 s4 s5 problem.
10 2 12 13 11
5 3 4 1 2 M 36
25 26
Referensi
• Introduction to Sequencing and Scheduling.
Kenneth R. Baker. Duke University. John Wiley
& Sons. 1974.
• Production Scheduling. PPT: Course Material.
P.C. Chang. IEM. YZU.