IOEMFG 543 Chapter 5 Parallel machine models Sections

  • Slides: 16
Download presentation
IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5. 1 -5. 2) 1

IOE/MFG 543 Chapter 5: Parallel machine models (Sections 5. 1 -5. 2) 1

Two-step process 1. 2. Determine which jobs have to be allocated to which machines

Two-step process 1. 2. 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 2

Makespan Cmax n Single machine models – Sum of processing times of all jobs

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

Section 5. 1 Makespan without preemptions Pm||Cmax n n Pm||Cmax is NP-hard => Heuristics

Section 5. 1 Makespan without preemptions Pm||Cmax n n Pm||Cmax is NP-hard => Heuristics Easy to compute lower bound Cmax ≥ C*max= max{pmax, (Spj)/m} where pmax=max{pj} n 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 4

Worst case bound for the LPT rule n Let – Cmax(LPT) be the makespan

Worst case bound for the LPT rule n Let – Cmax(LPT) be the makespan under the LPT rule – Cmax(OPT) be the optimal makespan n Theorem 5. 1. 1 Cmax(LPT) 4 1 ≤ Cmax(OPT) 3 3 m 5

LPT Example n n n 4 machines and 9 jobs job j 1 2

LPT Example n n n 4 machines and 9 jobs job j 1 2 3 4 5 6 pj 7 7 6 6 5 5 Compute Cmax(LPT) Pair the jobs 1 -5, 2 -6, 4 -5, 7 -8 -9 7 4 8 4 9 4 – What is Cmax? – Is this Cmax(OPT)? Why? n What is Cmax(LPT)/Cmax(OPT) 6

Precedence constraints Pm|prec|Cmax n At least as hard as Pm||Cmax – Strongly NP-hard in

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

Algorithm 5. 1. 3 Critical path method Start a job as soon as all

Algorithm 5. 1. 3 Critical path method Start a job as soon as all its preceding jobs have been completed n Example 5. 1. 4 n job j pj 1 4 2 9 1 3 4 3 5 6 6 8 7 8 8 12 9 6 2 6 7 8 9 5 8

Precedence constraints Pm|prec|Cmax (2) A critical path rule is optimal for Pm|pj=1, tree|Cmax (Theorem

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

Pm|Mj|Cmax n For interest: See pages 103 -104 10

Pm|Mj|Cmax n For interest: See pages 103 -104 10

Section 5. 2 Makespan with preemptions Pm|prmp|Cmax Preemptions are useful when there are multiple

Section 5. 2 Makespan with preemptions Pm|prmp|Cmax Preemptions are useful when there are multiple machines even if there are no release dates n Assumption: A job cannot be processed on 2 machines at the same time n 11

Linear program for Pm|prmp|Cmax minimize Cmax subject to Sxij=pj m j=1, …, n i=1

Linear program for Pm|prmp|Cmax minimize Cmax subject to Sxij=pj m j=1, …, n i=1 m Sxij≤Cmax j=1, …, n i=1 n Sxij ≤Cmax i=1, …, m xij≥ 0 i=1, …, m j=1, …, n j=1 12

Linear program for Pm|prmp|Cmax (2) xij is the amount of processing of job j

Linear program for Pm|prmp|Cmax (2) xij is the amount of processing of job j on machine i n Cmax is a decision variable n The solution of the LP does not give a feasible schedule, although a feasible schedule can be constructed given the solution n 13

Algorithm 5. 2. 3 for Pm|prmp|Cmax 1. 2. 3. Create a single machine schedule

Algorithm 5. 2. 3 for Pm|prmp|Cmax 1. 2. 3. 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: I 1=[0, C*max], I 2= [C*max, 2 C*max], …, Im=[(m-1)C*max, m. C*max] Take the schedule for machine i of the parallel machines to be the processing sequence in interval Ii 14

Pm|prmp|Cmax example n Use Algorithm 5. 2. 3 to determine a schedule that minimizes

Pm|prmp|Cmax example n Use Algorithm 5. 2. 3 to determine a schedule that minimizes the makespan of the following jobs on 3 machines job j 1 2 3 4 5 6 7 8 9 pj 4 9 3 3 6 8 8 12 6 15

Longest Remaining Processing Time rule n n n Analogous to the LPT rule LRPT

Longest Remaining Processing Time rule n n n Analogous to the LPT rule LRPT minimizes the makespan What happens while a job is processed? – – n RPT decreases => switch to a new job Results in infinitely many switchovers! LRPT-FM (FM=fastest machine) is optimal for Qm|prmp|Cmax 16