Slides from ISD Digital Roadshow @IOE 29th June 2016 'Futures @ IOE'
IOE/MFG 543
-
Upload
bevis-browning -
Category
Documents
-
view
14 -
download
0
description
Transcript of IOE/MFG 543
11
IOE/MFG 543IOE/MFG 543
Chapter 3: Single machine Chapter 3: Single machine modelsmodels
(Sections 3.1 and 3.2)(Sections 3.1 and 3.2)
22
Sec. 3.1: The total Sec. 3.1: The total weighted completion weighted completion time time 1||1|| w wjjCCjj Criteria for schedulingCriteria for scheduling
– Shorter jobs processed first => more jobs Shorter jobs processed first => more jobs finish earlyfinish early
– The higher the weight the earlier a job The higher the weight the earlier a job should finishshould finish
Weighted shortest processing time Weighted shortest processing time first rule (WSPT)first rule (WSPT)– order the jobs in decreasing order of order the jobs in decreasing order of wwj j /p/pjj
Theorem 3.1.1Theorem 3.1.1– The WSPT is optimal for The WSPT is optimal for 1||1|| w wjjCCjj
33
Precedence Precedence constraintsconstraints Chains 1Chains 12 2 ... ... kk -factor (largest ratio of weight -factor (largest ratio of weight
and processing times)and processing times)
l
j j
l
j j
kll
j j
l
j j
p
w
p
wk
1
1
1*
1
*
1 max),...,2,1(
44
Algorithm 3.1.4 for Algorithm 3.1.4 for chainschains
1.1. Whenever a machine is freed, Whenever a machine is freed, schedule among the remaining schedule among the remaining chains the one with the highest chains the one with the highest ––factorfactor
2.2. Process this chain without Process this chain without interruption up to and including the interruption up to and including the job job l*l* that determines the that determines the –factor–factor
Do example on slide 7Do example on slide 7
55
11|| || ΣΣwwjj((1-e1-e-rC-rCjj))
Weighted discounted shortest Weighted discounted shortest processing time first rule (WDSPT)processing time first rule (WDSPT)– Order jobs in non-increasing order ofOrder jobs in non-increasing order of
wwjjee-rp-rpjj
11-e-e-rp-rpjj
– Gives the optimal schedule (Thm. 3.1.6)Gives the optimal schedule (Thm. 3.1.6) Algorithms for chains also existAlgorithms for chains also exist
66
Summary of other Summary of other completion time completion time modelsmodels
1 | prec | wjCj with arbitrary precedence relation
strongly NP-hard
1 | rj, prmp | wjCj NP-hard
1 | rj, prmp | Cj SRPT ruleSRPT rule
1 | rj | Cj NP-hard
77
Example 3.1.5Example 3.1.5
There are 2 chainsThere are 2 chains
112 2 334 and 54 and 56677 The weights and processing times areThe weights and processing times are
Determine the schedule that minimizes Determine the schedule that minimizes the total weighted completion timethe total weighted completion time
job jjob j 11 22 33 44 55 66 77
wwjj 66 1818 1212 88 88 1717 1818
ppjj 33 66 66 55 44 88 1010
88
Section 3.2Section 3.2The maximum latenessThe maximum lateness Due date relatedDue date related The problem The problem 1 || 1 || LLmaxmax is easy is easy
– For a single machine problem with For a single machine problem with regular objective functions regular objective functions CCmaxmax==ppjj
– LLmaxmax==maxmaxii{1,…,{1,…,nn} } LLi i ((LLi i =C=Cii-d-dii))
– Select jobs in increasing order of Select jobs in increasing order of their due dates => earliest due date their due dates => earliest due date first rule (EDD)first rule (EDD)
99
Backward algorithm forBackward algorithm for1|1|precprec||hhmaxmax
hhmaxmax=max(=max(hh11((CC11),…,),…,hhnn((CCnn))))– The functions The functions hhii are nondecreasing are nondecreasing
JJ is the set of jobs already scheduledis the set of jobs already scheduled– Jobs in Jobs in JJ are processed in the interval are processed in the interval
JJcc is the set of jobs still to be is the set of jobs still to be scheduledscheduled
JJ'' is the set of jobs that can be is the set of jobs that can be scheduled (scheduled (schedulableschedulable jobs) jobs)
[[CCmaxmax--ppjj, , CCmaxmax
]] jjJJ
1010
Algorithm 3.2.1 for 1|Algorithm 3.2.1 for 1|precprec||hhmaxmax
1.1. Set Set JJ==, , JJcc={1,…,={1,…,nn} } and let and let JJ'' be all jobs be all jobs that have no successorsthat have no successors
2.2. Determine Determine
Add Add j*j* to to JJDelete Delete j*j* from from JJcc
Modify Modify JJ'' to represent the new set of to represent the new set of schedulable jobs (have no successors)schedulable jobs (have no successors)
3.3. If If JJcc= = STOP, otherwise go to 2 STOP, otherwise go to 2
cJk
kjJj
phj'
minarg*
1111
Example 3.2.3Example 3.2.3
Use Algorithm 3.2.1 to determine Use Algorithm 3.2.1 to determine the schedule that minimizes the schedule that minimizes hhmaxmax and compute the optimal valueand compute the optimal value
job jjob j 11 22 33
ppjj 22 33 55
hhj j ((CCjj)) 1+ 1+ CC11 1.2 1.2 CC22 1010
1212
Theorem 3.2.2.Theorem 3.2.2.
Algorithm 3.2.1. yields an optimal Algorithm 3.2.1. yields an optimal schedule for schedule for 1 | prec | h1 | prec | hmaxmax
Proof:Proof:
1313
Release datesRelease dates 1 | 1 | rrj j | | LLmaxmax
Significantly harder than Significantly harder than 1 | 1 | precprec | | LLmaxmax
It may be optimal to keep the It may be optimal to keep the machine idle to wait for the release machine idle to wait for the release of a new job (not a nondelay of a new job (not a nondelay schedule)schedule)
Theorem 3.2.4.Theorem 3.2.4.– The problem The problem 1 | 1 | rrj j | | LLmaxmax is strongly NP-hard is strongly NP-hard– Reduces from 3-Reduces from 3-PARTITIONPARTITION
1414
Branch and boundBranch and bound
A method of effective enumerationA method of effective enumeration– Generate a node treeGenerate a node tree
Compute the objective of a feasible Compute the objective of a feasible schedule (feasible node)schedule (feasible node)
Compute lower bounds for a class of Compute lower bounds for a class of schedules (node)schedules (node)
The node can be eliminated if the The node can be eliminated if the lower bound is higher than the cost of lower bound is higher than the cost of a schedule obtained earliera schedule obtained earlier
1515
Branch and bound forBranch and bound for 1 | 1 | rrj j | | LLmaxmax
BranchingBranching– Level Level 00: single node and no jobs : single node and no jobs
have been scheduledhave been scheduled– Level Level 11: : nn nodes such that job nodes such that job jj is is
scheduled first at node scheduled first at node jj– Level Level kk: jobs in the first : jobs in the first kk positions positions
have been specifiedhave been specified
1616
Branch and bound forBranch and bound for 1 | 1 | rrj j | | LLmax max (2)(2) BranchingBranching
– At a node let At a node let JJ be the set of jobs that be the set of jobs that have not been scheduledhave not been scheduled
– Also let t be the time when a job can Also let t be the time when a job can start processing at the nodestart processing at the node
– Only create a node for job Only create a node for job jj at the at the node ifnode if
rrjj<min<minllJJ(max((max(tt,,rrll)+)+ppll))
1717
Branch and bound forBranch and bound for 1 | 1 | rrj j | | LLmax max (3)(3) BoundingBounding
– At each node compute the optimal At each node compute the optimal value using value using 1 | 1 | rrj j , prmp, prmp | | LLmax max for the for the remaining jobsremaining jobs
– Preemptive EDD rule is optimal for Preemptive EDD rule is optimal for 1 | 1 | rrj j , prmp, prmp | | LLmaxmax
– If the preemptive solution gives a If the preemptive solution gives a non-preemptive schedule then it is non-preemptive schedule then it is feasiblefeasible
1818
Example 3.2.5Example 3.2.5
Use branch and bound to Use branch and bound to determine the schedule for determine the schedule for 1 | 1 | rrj j | |
LLmax max and compute the optimal and compute the optimal value forvalue forjob jjob j 11 22 33 44
ppjj 44 22 66 55
rrjj 00 11 33 55
ddjj 88 1212 1111 1010