IOE/MFG 543

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

description

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 - PowerPoint PPT Presentation

Transcript of IOE/MFG 543

Page 1: IOE/MFG 543

11

IOE/MFG 543IOE/MFG 543

Chapter 5: Parallel machine Chapter 5: Parallel machine modelsmodels

(Sections 5.1-5.2)(Sections 5.1-5.2)

Page 2: IOE/MFG 543

22

Two-step process Two-step process

1.1. Determine which jobs have to Determine which jobs have to be allocated to which be allocated to which machinesmachines

2.2. Determine the sequence of the Determine the sequence of the jobs allocated to each machinejobs allocated to each machine

– In some cases use single In some cases use single machine modelsmachine models

Page 3: IOE/MFG 543

33

Makespan CMakespan Cmaxmax

Single machine modelsSingle machine models– Sum of processing times of all jobs Sum of processing times of all jobs – Exception: Release dates or Exception: Release dates or

sequence dependent setup timessequence dependent setup times Parallel machine modelsParallel machine models

– Minimizing the makespan ensures Minimizing the makespan ensures a good load balance on the a good load balance on the machines machines

Page 4: IOE/MFG 543

44

Section 5.1 Makespan Section 5.1 Makespan without preemptions without preemptions Pm||Pm||CCmaxmax Pm||CPm||Cmaxmax is NP-hard => Heuristics is NP-hard => Heuristics Easy to compute lower boundEasy to compute lower bound

CCmaxmax ≥≥ C* C*maxmax= max{p= max{pmaxmax, (, (ppjj)/m})/m}

where pwhere pmaxmax=max{p=max{pjj}}

Longest Processing Time first (LPT)Longest Processing Time first (LPT)– Largest m jobs are put on the machines firstLargest m jobs are put on the machines first– When a machine is freed, the longest job When a machine is freed, the longest job

among the jobs not yet processed is put on among the jobs not yet processed is put on the machinethe machine

Page 5: IOE/MFG 543

55

Worst case bound for Worst case bound for the LPT rulethe LPT rule Let Let

– CCmaxmax(LPT) be the makespan under (LPT) be the makespan under the LPT rulethe LPT rule

– CCmaxmax(OPT) be the optimal makespan(OPT) be the optimal makespan

Theorem 5.1.1Theorem 5.1.1Cmax(LPT)Cmax(LPT)

≤ ≤44

- - 11

Cmax(OPT)Cmax(OPT) 33 3m3m

Page 6: IOE/MFG 543

66

LPT ExampleLPT Example

4 machines and 9 jobs4 machines and 9 jobs

Compute CCompute Cmaxmax(LPT)(LPT) Pair the jobs 1-5, 2-6, 4-5, 7-8-9Pair the jobs 1-5, 2-6, 4-5, 7-8-9

– What is CWhat is Cmaxmax??

– Is this CIs this Cmaxmax(OPT)? Why?(OPT)? Why?

What is CWhat is Cmaxmax(LPT)/C(LPT)/Cmaxmax(OPT)(OPT)

job jjob j 11 22 33 44 55 66 77 88 99

ppjj 77 77 66 66 55 55 44 44 44

Page 7: IOE/MFG 543

77

Precedence Precedence constraints Pm|prec|constraints Pm|prec|CCmaxmax At least as hard as Pm||CAt least as hard as Pm||Cmaxmax

– Strongly NP-hard in generalStrongly NP-hard in general Special case: PSpecial case: P∞∞|prec|C|prec|Cmaxmax

– unlimited resources (or munlimited resources (or m≥≥n, more n, more resources than jobs)resources than jobs)

For PFor P∞∞|prec|C|prec|Cmaxmax the the Critical Path Critical Path MethodMethod (CPM) minimizes the (CPM) minimizes the makespanmakespan

Page 8: IOE/MFG 543

88

Algorithm 5.1.3Algorithm 5.1.3Critical path methodCritical path method Start a job as soon as all its Start a job as soon as all its

preceding jobs have been preceding jobs have been completedcompleted

Example 5.1.4Example 5.1.4job jjob j 11 22 33 44 55 66 77 88 99

ppjj 44 99 33 33 66 88 88 1212 66

3 4 5

1 26

8

7

9

Page 9: IOE/MFG 543

99

Precedence Precedence constraints Pm|prec|constraints Pm|prec|CCmax max (2)(2) A critical path rule is optimal for A critical path rule is optimal for

Pm|pPm|pjj=1, tree|C=1, tree|Cmaxmax (Theorem 5.1.5) (Theorem 5.1.5) Largest Number of Successors rule Largest Number of Successors rule

often used for Pm|poften used for Pm|pjj=1, prec|C=1, prec|Cmaxmax – Not optimal (see pg. 102)Not optimal (see pg. 102)

Largest total amount of processing Largest total amount of processing rule for Pm|prec|Crule for Pm|prec|Cmaxmax – Not optimalNot optimal

Page 10: IOE/MFG 543

1010

Pm|MPm|Mjj|C|Cmaxmax

For interest: See pages 103-104For interest: See pages 103-104

Page 11: IOE/MFG 543

1111

Section 5.2 Makespan Section 5.2 Makespan with preemptions with preemptions Pm|Pm|prmp|Cprmp|Cmaxmax Preemptions are useful when Preemptions are useful when

there are multiple machines even there are multiple machines even if there are no release dates if there are no release dates

Assumption: A job cannot be Assumption: A job cannot be processed on 2 machines at the processed on 2 machines at the same timesame time

Page 12: IOE/MFG 543

1212

Linear program for Pm|Linear program for Pm|prmp|Cprmp|Cmaxmax

minimizeminimize CCmaxmax mm

subject tosubject to xxijij=p=pjjj=1,…,nj=1,…,n

i=1i=1 mm

xxijij≤≤CCmaxmaxj=1,…,nj=1,…,n

i=1i=1 nn

xxij ij ≤≤CCmaxmaxi=1,…,mi=1,…,m

j=1j=1

xxijij≥0≥0 i=1,…,mi=1,…,m j=1,…,nj=1,…,n

Page 13: IOE/MFG 543

1313

Linear program for Pm|Linear program for Pm|prmp|Cprmp|Cmax max (2)(2)

xxijij is the amount of processing of is the amount of processing of job j on machine ijob j on machine i

CCmaxmax is a decision variable is a decision variable The solution of the LP does not The solution of the LP does not

give a feasible schedule, although give a feasible schedule, although a feasible schedule can be a feasible schedule can be constructed given the solutionconstructed given the solution

Page 14: IOE/MFG 543

1414

Algorithm 5.2.3 for Algorithm 5.2.3 for Pm|prmp|CPm|prmp|Cmaxmax

1.1. Create a single machine schedule of Create a single machine schedule of the n jobs in any order without the n jobs in any order without preemptionspreemptions

2.2. Compute Compute C*C*maxmax= max{p= max{pmaxmax, (, (ppjj)/m}.)/m}.Cut the single machine schedule in m Cut the single machine schedule in m intervals: Iintervals: I11=[0, C*=[0, C*maxmax], I], I22= [C*= [C*maxmax, , 2C*2C*maxmax], …, I], …, Imm=[(m-1)C*=[(m-1)C*maxmax,mC*,mC*maxmax]]

3.3. Take the schedule for machine i of the Take the schedule for machine i of the parallel machines to be the processing parallel machines to be the processing sequence in interval Isequence in interval Iii

Page 15: IOE/MFG 543

1515

Pm|prmp|CPm|prmp|Cmaxmax example example

Use Algorithm 5.2.3 to Use Algorithm 5.2.3 to determine a schedule that determine a schedule that minimizes the makespan of the minimizes the makespan of the following jobs on 3 machinesfollowing jobs on 3 machines

job jjob j 11 22 33 44 55 66 77 88 99

ppjj 44 99 33 33 66 88 88 1212 66

Page 16: IOE/MFG 543

1616

Longest Remaining Longest Remaining Processing Time ruleProcessing Time rule Analogous to the LPT ruleAnalogous to the LPT rule LRPT minimizes the makespanLRPT minimizes the makespan What happens while a job is What happens while a job is

processed?processed?– RPT decreases => switch to a new jobRPT decreases => switch to a new job– Results in infinitely many switchovers!Results in infinitely many switchovers!

LRPT-FM (FM=fastest machine) is LRPT-FM (FM=fastest machine) is optimal for Qm|prmp|Coptimal for Qm|prmp|Cmaxmax