13
1 IOE/MFG 543 IOE/MFG 543 Chapter 5: Parallel Chapter 5: Parallel machine models machine models (Sections 5.3-5.6) (Sections 5.3-5.6)

IOE/MFG 543

Embed Size (px)

DESCRIPTION

IOE/MFG 543. Chapter 5: Parallel machine models (Sections 5.3-5.6). Section 5.3: Total completion time Pm|| S C j. On a single machine C j = S k=1 p (k) where p (j) is the processing time of the jth job processed on the machine Then S C j =np (1) +(n-1)p (2) +...+p (n) - PowerPoint PPT Presentation

Citation preview

Page 1: IOE/MFG 543

11

IOE/MFG 543IOE/MFG 543

Chapter 5: Parallel machine Chapter 5: Parallel machine modelsmodels

(Sections 5.3-5.6)(Sections 5.3-5.6)

Page 2: IOE/MFG 543

22

Section 5.3: Total Section 5.3: Total completion time completion time Pm||Pm||CCjj

On a single machine On a single machine

CCjj==k=1k=1pp(k)(k)

where pwhere p(j)(j) is the processing time of is the processing time of the jth job processed on the machine the jth job processed on the machine

Then Then

CCjj=np=np(1)(1)+(n-1)p+(n-1)p(2)(2)+...+p+...+p(n)(n)

=> Shortest Processing Time first => Shortest Processing Time first rule minimizes rule minimizes CCjj

jj

Page 3: IOE/MFG 543

33

Total completion time Total completion time Pm||Pm||CCj j (2)(2)

The same argument can be The same argument can be extended to parallel machinesextended to parallel machines

Theorem 5.3.1Theorem 5.3.1– The SPT rule is optimal for The SPT rule is optimal for Pm||Pm||

CCj j

In fact, a number of optimal In fact, a number of optimal schedules existschedules exist

Page 4: IOE/MFG 543

44

Weighted total Weighted total completion time completion time Pm||Pm||wwjjCCjj WSPT rule is WSPT rule is notnot always optimal always optimal In practice it usually does pretty In practice it usually does pretty

wellwell Worst case boundWorst case bound

wwjjCCjj(WSPT)(WSPT)

<<

11(1+(1+√2) ≈ 1.2√2) ≈ 1.2wwjjCCjj(OPT)(OPT) 22

Page 5: IOE/MFG 543

55

Other completion time Other completion time modelsmodels Precedence constraints Precedence constraints Pm|prec|Pm|prec|CCjj

– Strongly NP-hardStrongly NP-hard Non-identical machines Non-identical machines Rm||Rm||CCjj

– Can be formulated as an Can be formulated as an integer integer programprogram

– The solution of the corresponding The solution of the corresponding linear linear programprogram gives an optimal schedule gives an optimal schedule

=> Can be solved in polynomial time=> Can be solved in polynomial time

Page 6: IOE/MFG 543

66

Section 5.4: Preemptions Section 5.4: Preemptions Pm|prmp|Pm|prmp|CCjj

The SPT The SPT non-preemptivenon-preemptive rule is rule is still optimalstill optimal– A special case of a more general A special case of a more general

result for result for Qm|prmp|Qm|prmp|CCjj

Recall: vRecall: vii is the speed on machine is the speed on machine i in Qm modelsi in Qm models– ppjj can be interpreted as the required can be interpreted as the required

workwork to complete job j (processing to complete job j (processing time = ptime = pjj/v/vii))

Page 7: IOE/MFG 543

77

Qm|prmp|Qm|prmp|CCjj

SRPT-FM rule: SRPT-FM rule: – Process the jobs such that the job with the Process the jobs such that the job with the

shortest remaining processing time is put shortest remaining processing time is put on the fastest machine. The job with the on the fastest machine. The job with the second shortest remaining processing time second shortest remaining processing time is put on the second fastest machine, etc.is put on the second fastest machine, etc.

– Whenever the fastest machine completes Whenever the fastest machine completes a job, all the remaining jobs are moved up a job, all the remaining jobs are moved up on the machineson the machines

Theorem 5.4.2Theorem 5.4.2– The SRPT-FM rule is optimal for The SRPT-FM rule is optimal for Qm|prmp|Qm|prmp|

CCjj

Page 8: IOE/MFG 543

88

Example 5.4.3Example 5.4.3 Qm|prmp|Qm|prmp|CCjj

4 machines4 machines

7 jobs7 jobs

Use the SRPT-FM to solve Use the SRPT-FM to solve Qm|prmp|Qm|prmp|CCjj

machine imachine i 11 22 33 44

vvii 44 22 22 11

job jjob j 11 22 33 44 55 66 77

ppjj 88 1616 3434 4040 4545 4646 6161

Page 9: IOE/MFG 543

99

Section 5.5Section 5.5Due date related Due date related objectivesobjectives Single machine problems that can Single machine problems that can

be solved “easily” be solved “easily” – e.g., 1|prec|Le.g., 1|prec|Lmaxmax, 1|r, 1|rjj,prmp|L,prmp|Lmaxmax

Single machine tardiness problems Single machine tardiness problems (1||(1||TTjj) are NP-hard) are NP-hard

If all due dates are 0If all due dates are 0– Then Pm||LThen Pm||Lmax max is equivalent to Pm||Cis equivalent to Pm||Cmaxmax

=> Pm||L=> Pm||Lmax max is NP-hardis NP-hard

Page 10: IOE/MFG 543

1010

Qm|prmp|LQm|prmp|Lmaxmax

One of few parallel machine One of few parallel machine problems that can be solved in problems that can be solved in polynomial timepolynomial time

First question: Is there a schedule First question: Is there a schedule such that Lsuch that Lmaxmax ≤ z ?≤ z ?– This can be formulated (backwards) This can be formulated (backwards)

as Qm|ras Qm|rjj,prmp|C,prmp|Cmaxmax

– Let dLet djj=d=djj+z be a hard deadline+z be a hard deadline

Page 11: IOE/MFG 543

1111

Qm|prmp|LQm|prmp|Lmax max (2)(2)

Solve the problem backwardsSolve the problem backwards– Find the job k with the latest Find the job k with the latest

deadline deadline

– Let rLet rkk=0 and r=0 and rjj=d=dkk-d-djj

Solve Solve Qm|rQm|rjj,prmp|C,prmp|Cmaxmax by applying by applying LRPT-FMLRPT-FM– The backward schedule is optimal The backward schedule is optimal

for for Qm|prmp|LQm|prmp|Lmaxmax

Page 12: IOE/MFG 543

1212

Example 5.5.1Example 5.5.1 P2|prmp|LP2|prmp|Lmaxmax

4 jobs4 jobs

Let z=0Let z=0

Solve P2|rSolve P2|rjj,prmp|C,prmp|Cmax max by LRPT ruleby LRPT rule

job jjob j 11 22 33 44

ppjj 33 33 33 88

ddjj 44 55 88 99

job jjob j 11 22 33 44

ppjj 33 33 33 88

rrjj 55 44 11 00

Page 13: IOE/MFG 543

1313

Section 5.6 DiscussionSection 5.6 Discussion

Parallel machine models are Parallel machine models are much harder than single machine much harder than single machine models!models!

Later in the course we will study Later in the course we will study heuristics that can be used to heuristics that can be used to obtain “good” schedulesobtain “good” schedules