150 likes | 278 Views
IOE/MFG 543. Chapter 6: Flow shops Sections 6.1 and 6.2 (skip section 6.3). Flow shop (Fm). m machines, n jobs Jobs are processed on the machines in series Processing time of job j on machine i is p i,j Buffers between machines Unlimited Limited => blocking.
E N D
IOE/MFG 543 Chapter 6: Flow shops Sections 6.1 and 6.2 (skip section 6.3)
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
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
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
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
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 (non-decreasing) order of p1j => SPT(1) • Jobs in Set II go last and in a decreasing (non-increasing) order of p2j => LPT(2) • Theorem 6.1.4 • Any SPT(1)-LPT(2) schedule is optimal for F2||Cmax
Fm|prmu|Cmax • Theorem 6.1.7 • F3|prmu|Cmax is strongly NP-hard • 3-Partition reduces to F3|prmu|Cmax
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
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
Single machine models and proportionate flow shops Note: WSPT is not always optimal for Fm|prmu,pij=pj|SwjCj
Slope heuristic for Fm|prmu|Cmax • 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
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
Computing the makespan of a sequence • The makespan of a given sequence can also be computed by a critical path method • The problem F3|block|Cmax is strongly NP-hard
Profile fitting (PF) heuristic for Fm|block|Cmax • 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 scheduled=> STOPOtherwise go to Step 2.