Title: IOE/MFG 543
1IOE/MFG 543
- Chapter 6 Flow shops
- Sections 6.1 and 6.2
- (skip section 6.3)
2Flow 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 gt blocking
3Section 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 F2Cmax and F3Cmax 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
4Computing 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,jcompletion time of job j on machine i
i
Ci,j1 S pl,j1 i1,,m
l1
k
C1,jk S p1,jl k1,,n
l1
Ci,jk max(Ci-1,jk, Ci,jk-1)pi,jk i2,,m k2,,n
5Computing 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 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
6Johnsons rule for F2Cmax
- Set I All jobs such that p1jltp2j
- Set II All jobs such that p1jgtp2j
- Jobs with p1jp2j can be put in either set
- SPT(1) LPT(2) schedule (Johnsons rule)
- Jobs in Set I go first and in an increasing
(non-decreasing) order of p1j gt SPT(1) - Jobs in Set II go last and in a decreasing
(non-increasing) order of p2j gt LPT(2) - Theorem 6.1.4
- Any SPT(1)-LPT(2) schedule is optimal for F2Cmax
7FmprmuCmax
- Theorem 6.1.7
- F3prmuCmax is strongly NP-hard
- 3-Partition reduces to F3prmuCmax
8Mixed integer programming formulation of
FmprmuCmax
- Notation
- xjk1 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 (k1)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 (k1)th position starts on machine i1
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
9Proportionate flow shops
- The processing time (work) for job j is pijpj
- Theorem 6.1.8
- The makespan of Fmprmu,pijpjCmax is
- CmaxSpj(m-1)max(p1,,pn)
- and is independent of the schedule
10Single machine models and proportionate flow
shops
Rule/algorithm Single machine Proportionate flow shop
SPT rule 1SCj FmpijpjSCj
Algorithm 3.3.1 1SUj Fmprmu,pijpjSUj
Algorithm 3.2.1 1hmax Fmprmu,pijpjhmax
Algorithm 3.4.4 1STj Fmprmu,pijpjSTj
Lemma 3.5.1 1SwjTj Fmprmu,pijpjSwjTj
Note WSPT is not always optimal for
Fmprmu,pijpjSwjCj
11Slope heuristic for FmprmuCmax
- Slope index of job j
- 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
m
Aj - S (m-(2i-1))pij j1,,n
i1
12Section 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 CijDij
13Computing the makespan of a sequence
i
Di,j1 S pl,j1 i1,,m
l1
Di,jk max(Di-1,jkpi,jk, Di1,jk-1) i1,,m-1 k2,,n
Dm,jk Dm-1,jkpm,jk k2,,n
- The makespan of a given sequence can also be
computed by a critical path method - The problem F3blockCmax is strongly NP-hard
14Profile fitting (PF) heuristic for FmblockCmax
- A job j1 is selected to go first
- Try all the other jobs as the next job
- 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 scheduledgt STOPOtherwise
go to Step 2.
15Example 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