160 likes | 177 Views
Learn about parallel machine models and job allocation strategies to minimize makespan for efficient load balance. Explore heuristics like Longest Processing Time rule and the use of preemptions. Discover critical path methods and linear programming for optimized scheduling.
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