IOE/MFG 543
-
Upload
jonah-mack -
Category
Documents
-
view
14 -
download
0
description
Transcript of 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)
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
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
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
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
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
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
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
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
1010
Pm|MPm|Mjj|C|Cmaxmax
For interest: See pages 103-104For interest: See pages 103-104
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
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
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
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
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
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