Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)

Similar presentations


Presentation on theme: "1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)"— Presentation transcript:

1 1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)

2 2 Two-step process 1. Determine which jobs have to be allocated to which machines 2. Determine the sequence of the jobs allocated to each machine –In some cases use single machine models

3 3 Makespan C max Single machine models Single machine models –Sum of processing times of all jobs –Exception: Release dates or sequence dependent setup times Parallel machine models Parallel machine models –Minimizing the makespan ensures a good load balance on the machines

4 4 Section 5.1 Makespan without preemptions Pm||C max Pm||C max is NP-hard => Heuristics Pm||C max is NP-hard => Heuristics Easy to compute lower bound Easy to compute lower bound C max ≥ C* max = max{p max, (  p j )/m} where p max =max{p j } Longest Processing Time first (LPT) 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

5 5 Worst case bound for the LPT rule Let Let –C max (LPT) be the makespan under the LPT rule –C max (OPT) be the optimal makespan Theorem 5.1.1 Theorem 5.1.1 Cmax(LPT) ≤ 4 - 1 Cmax(OPT)33m

6 6 LPT Example 4 machines and 9 jobs 4 machines and 9 jobs Compute C max (LPT) Compute C max (LPT) Pair the jobs 1-5, 2-6, 4-5, 7-8-9 Pair the jobs 1-5, 2-6, 4-5, 7-8-9 –What is C max ? –Is this C max (OPT)? Why? What is C max (LPT)/C max (OPT) What is C max (LPT)/C max (OPT) job j 123456789 pjpjpjpj776655444

7 7 Precedence constraints Pm|prec|C max At least as hard as Pm||C max At least as hard as Pm||C max –Strongly NP-hard in general Special case: P∞|prec|C max Special case: P∞|prec|C max –unlimited resources (or m≥n, more resources than jobs) For P∞|prec|C max the Critical Path Method (CPM) minimizes the makespan For P∞|prec|C max the Critical Path Method (CPM) minimizes the makespan

8 8 Algorithm 5.1.3 Critical path method Start a job as soon as all its preceding jobs have been completed Start a job as soon as all its preceding jobs have been completed Example 5.1.4 Example 5.1.4 job j 123456789 pjpjpjpj4933688126 345 12 6 8 7 9

9 9 Precedence constraints Pm|prec|C max (2) A critical path rule is optimal for Pm|p j =1, tree|C max (Theorem 5.1.5) A critical path rule is optimal for Pm|p j =1, tree|C max (Theorem 5.1.5) Largest Number of Successors rule often used for Pm|p j =1, prec|C max Largest Number of Successors rule often used for Pm|p j =1, prec|C max –Not optimal (see pg. 102) Largest total amount of processing rule for Pm|prec|C max Largest total amount of processing rule for Pm|prec|C max –Not optimal

10 10 Pm|M j |C max For interest: See pages 103-104 For interest: See pages 103-104

11 11 Section 5.2 Makespan with preemptions Pm|prmp|C max Preemptions are useful when there are multiple machines even if there are no release dates 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 Assumption: A job cannot be processed on 2 machines at the same time

12 12 Linear program for Pm|prmp|C max minimize C max m subject to  x ij =p j j=1,…,n i=1 m  x ij ≤C max j=1,…,n i=1 n i=1,…,m j=1 x ij ≥0 i=1,…,mj=1,…,n

13 13 Linear program for Pm|prmp|C max (2) x ij is the amount of processing of job j on machine i x ij is the amount of processing of job j on machine i C max is a decision variable C max 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 The solution of the LP does not give a feasible schedule, although a feasible schedule can be constructed given the solution

14 14 Algorithm 5.2.3 for Pm|prmp|C max 1. Create a single machine schedule of the n jobs in any order without preemptions 2. Compute C* max = max{p max, (  p j )/m}. Cut the single machine schedule in m intervals: I 1 =[0, C* max ], I 2 = [C* max, 2C* max ], …, I m =[(m-1)C* max,mC* max ] 3. Take the schedule for machine i of the parallel machines to be the processing sequence in interval I i

15 15 Pm|prmp|C max example Use Algorithm 5.2.3 to determine a schedule that minimizes the makespan of the following jobs on 3 machines Use Algorithm 5.2.3 to determine a schedule that minimizes the makespan of the following jobs on 3 machines job j 123456789 pjpjpjpj4933688126

16 16 Longest Remaining Processing Time rule Analogous to the LPT rule Analogous to the LPT rule LRPT minimizes the makespan LRPT minimizes the makespan What happens while a job is processed? 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|C max LRPT-FM (FM=fastest machine) is optimal for Qm|prmp|C max


Download ppt "1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5.1-5.2)"

Similar presentations


Ads by Google