160 likes | 171 Views
IOE/MFG 543. Chapter 5: Parallel machine models (Sections 5.1-5.2). Two-step process. Determine which jobs have to be allocated to which machines Determine the sequence of the jobs allocated to each machine In some cases use single machine models. Makespan C max. Single machine models
E N D
IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)
Two-step process • Determine which jobs have to be allocated to which machines • Determine the sequence of the jobs allocated to each machine • In some cases use single machine models
Makespan Cmax • Single machine models • Sum of processing times of all jobs • Exception: Release dates or sequence dependent setup times • Parallel machine models • Minimizing the makespan ensures a good load balance on the machines
Section 5.1 Makespan without preemptions Pm||Cmax • Pm||Cmax is NP-hard => Heuristics • Easy to compute lower bound Cmax≥ C*max= max{pmax, (Spj)/m} where pmax=max{pj} • Longest Processing Time first (LPT) • Largest m jobs are put on the machines first • When a machine is freed, the longest job among the jobs not yet processed is put on the machine
Worst case bound for the LPT rule • Let • Cmax(LPT) be the makespan under the LPT rule • Cmax(OPT) be the optimal makespan • Theorem 5.1.1
LPT Example • 4 machines and 9 jobs • Compute Cmax(LPT) • Pair the jobs 1-5, 2-6, 4-5, 7-8-9 • What is Cmax? • Is this Cmax(OPT)? Why? • What is Cmax(LPT)/Cmax(OPT)
Precedence constraints Pm|prec|Cmax • At least as hard as Pm||Cmax • Strongly NP-hard in general • Special case: P∞|prec|Cmax • unlimited resources (or m≥n, more resources than jobs) • For P∞|prec|Cmax the Critical Path Method (CPM) minimizes the makespan
Algorithm 5.1.3Critical path method • Start a job as soon as all its preceding jobs have been completed • Example 5.1.4 1 2 6 7 3 4 5 8 9
Precedence constraints Pm|prec|Cmax (2) • A critical path rule is optimal for Pm|pj=1, tree|Cmax (Theorem 5.1.5) • Largest Number of Successors rule often used for Pm|pj=1, prec|Cmax • Not optimal (see pg. 102) • Largest total amount of processing rule for Pm|prec|Cmax • Not optimal
Pm|Mj|Cmax • For interest: See pages 103-104
Section 5.2 Makespan with preemptions Pm|prmp|Cmax • Preemptions are useful when there are multiple machines even if there are no release dates • Assumption: A job cannot be processed on 2 machines at the same time
Linear program for Pm|prmp|Cmax (2) • xij is the amount of processing of job j on machine i • Cmax is a decision variable • The solution of the LP does not give a feasible schedule, although a feasible schedule can be constructed given the solution
Algorithm 5.2.3 for Pm|prmp|Cmax • Create a single machine schedule of the n jobs in any order without preemptions • Compute C*max= max{pmax, (Spj)/m}. Cut the single machine schedule in m intervals: I1=[0, C*max], I2= [C*max, 2C*max], …, Im=[(m-1)C*max,mC*max] • Take the schedule for machine i of the parallel machines to be the processing sequence in interval Ii
Pm|prmp|Cmax example • Use Algorithm 5.2.3 to determine a schedule that minimizes the makespan of the following jobs on 3 machines
Longest Remaining Processing Time rule • Analogous to the LPT rule • LRPT minimizes the makespan • What happens while a job is processed? • RPT decreases => switch to a new job • Results in infinitely many switchovers! • LRPT-FM (FM=fastest machine) is optimal for Qm|prmp|Cmax