chapter6.ppt

advertisement
IOE/MFG 543
Chapter 6: Flow shops
Sections 6.1 and 6.2
(skip section 6.3)
1
Flow shop (Fm)


m machines, n jobs
Jobs are processed on the machines
in series
– Processing time of job j on machine i is
pi,j

Buffers between machines
– Unlimited
– Limited => blocking
2
Section 6.1. Unlimited
storage - Permutation rule

Permutation rule
– All jobs are processed in the same order
on the machines
– Equivalent to a FCFS rule


For F2||Cmax and F3||Cmax there exists
a permutation schedule that is optimal
It is much harder to minimize the
makespan when the sequencing is not
restricted to the permutation rule
3
Computing the makespan
for a given permutation
 Let j1,…,jn be a given permutation
–
i.e., job jk is the kth job on all the machines
 Ci,j=completion time of job j on machine i
i
Ci,j1=
S pl,j1
i=1,…,m
S p1,jl
k=1,…,n
l=1
k
C1,jk=
l=1
Ci,jk= max(Ci-1,jk, Ci,jk-1)+pi,jk i=2,…,m; k=2,…,n
4
Computing the makespan
for a given permutation (2)


Instead of solving the recursive equations
on the previous slide the makespan can be
computed by a critical path method
Example 6.1.1
job j
p1j
p2j
1
5
4
2
5
4
3
3
2
4
6
4
5
3
4
p3j
p4j
4
3
4
6
3
3
4
2
1
5
5
Johnson’s rule for
F2||Cmax




Set I: All jobs such that p1j<p2j
Set II: All jobs such that p1j>p2j
Jobs with p1j=p2j can be put in either set
SPT(1) – LPT(2) schedule (Johnson’s rule):
– Jobs in Set I go first and in an increasing (nondecreasing) order of p1j => SPT(1)
– Jobs in Set II go last and in a decreasing (nonincreasing) order of p2j => LPT(2)

Theorem 6.1.4
– Any SPT(1)-LPT(2) schedule is optimal for
F2||Cmax
6
Fm|prmu|Cmax

Theorem 6.1.7
– F3|prmu|Cmax is strongly NP-hard
– 3-Partition reduces to F3|prmu|Cmax
7
Mixed integer programming
formulation of Fm|prmu|Cmax

Notation
– xjk=1 if job j is the kth job in the sequence and 0
otherwise
– Iik is the idle time on machine i between jobs in
the kth and (k+1)th position
– Wik is the waiting time after it has finished on
the ith machine of the job in the kth position
– Dik is the difference between the time when the
job in the (k+1)th position starts on machine i+1
and the time the job in the kth position finishes
on machine i
– pi(k) is the processing time on machine i of the
job in the kth position
8
Proportionate flow shops


The processing time (work) for job j is
pij=pj
Theorem 6.1.8
– The makespan of Fm|prmu,pij=pj|Cmax is
Cmax=Spj+(m-1)max(p1,…,pn)
and is independent of the schedule
9
Single machine models and
proportionate flow shops
Rule/algorithm
Single machine Proportionate flow shop
SPT rule
1||SCj
Fm|pij=pj|SCj
Algorithm 3.3.1 1||SUj
Fm|prmu,pij=pj|SUj
Algorithm 3.2.1 1||hmax
Fm|prmu,pij=pj|hmax
Algorithm 3.4.4 1||STj
Fm|prmu,pij=pj|STj
Lemma 3.5.1
1||SwjTj
Fm|prmu,pij=pj|SwjTj
Note: WSPT is not always optimal
for Fm|prmu,pij=pj|SwjCj
10
Slope heuristic for
Fm|prmu|Cmax

Slope index of job j
m
Aj= - S (m-(2i-1))pij
j=1,…,n
i=1


The slope index is large if the processing
times on the downstream machines are
large relative to the processing times on the
upstream machines
Heuristic rule
– Sequence jobs in decreasing order of the slope
index

Example 6.1.10
11
Section 6.2 Limited
storage flow shops


Only need to consider the case where
the storage between machines is zero
New notation
– Dij is the time when job j departs machine
i
– D0j is the time when job j starts processing
on machine 1
– Note that Cij≤Dij
12
Computing the makespan
of a sequence
i
Di,j1=
S pl,j1
i=1,…,m
l=1
Di,jk= max(Di-1,jk+pi,jk, Di+1,jk-1) i=1,…,m-1; k=2,…,n
k=2,…,n
Dm,jk= Dm-1,jk+pm,jk


The makespan of a given sequence can
also be computed by a critical path
method
The problem F3|block|Cmax is strongly
NP-hard
13
Profile fitting (PF) heuristic
for Fm|block|Cmax
1.
2.
A job j1 is selected to go first
Try all the other jobs as the next job
–
–
–
3.
Use the equations on the previous slide to
compute the departure times
Compute a penalty as the sum of idle times
and blocked times on all machines
Choose the job with the lowest penalty to go
next
If all jobs have been scheduled=> STOP
Otherwise go to Step 2.
14
Example 6.2.5
job j
1
2
3
4
5
p1j
5
5
3
6
3
p2j
4
4
2
4
4
p3j
4
4
3
4
1
p4j
3
6
3
2
5
15
Download