1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
2 Sec. 3.1: The total weighted completion time 1|| w j C j Criteria for scheduling Criteria for scheduling –Shorter jobs processed first => more jobs finish early –The higher the weight the earlier a job should finish Weighted shortest processing time first rule (WSPT) Weighted shortest processing time first rule (WSPT) –order the jobs in decreasing order of w j /p j Theorem Theorem –The WSPT is optimal for 1|| w j C j
3 Precedence constraints Chains 1 2 ... k Chains 1 2 ... k -factor (largest ratio of weight and processing times) -factor (largest ratio of weight and processing times)
4 Algorithm for chains 1.Whenever a machine is freed, schedule among the remaining chains the one with the highest –factor 2.Process this chain without interruption up to and including the job l* that determines the –factor Do example on slide 7
5 1|| Σw j (1-e -rC j ) Weighted discounted shortest processing time first rule (WDSPT) Weighted discounted shortest processing time first rule (WDSPT) –Order jobs in non-increasing order of w j e -rp j w j e -rp j 1-e -rp j 1-e -rp j –Gives the optimal schedule (Thm ) Algorithms for chains also exist Algorithms for chains also exist
6 Summary of other completion time models 1 | prec | w j C j with arbitrary precedence relation strongly NP-hard 1 | r j, prmp | w j C j NP-hard 1 | r j, prmp | C j SRPT rule 1 | r j | C j NP-hard
7 Example There are 2 chains There are 2 chains 1 2 3 4 and 5 6 7 The weights and processing times are The weights and processing times are Determine the schedule that minimizes the total weighted completion time Determine the schedule that minimizes the total weighted completion time job j wjwjwjwj pjpjpjpj
8 Section 3.2 The maximum lateness Due date related Due date related The problem 1 || L max is easy The problem 1 || L max is easy –For a single machine problem with regular objective functions C max = p j –L max =max i {1,…,n} L i (L i =C i -d i ) –Select jobs in increasing order of their due dates => earliest due date first rule (EDD)
9 Backward algorithm for 1| prec | h max h max =max(h 1 (C 1 ),…,h n (C n )) h max =max(h 1 (C 1 ),…,h n (C n )) –The functions h i are nondecreasing J is the set of jobs already scheduled J is the set of jobs already scheduled –Jobs in J are processed in the interval J c is the set of jobs still to be scheduled J c is the set of jobs still to be scheduled J' is the set of jobs that can be scheduled (schedulable jobs) J' is the set of jobs that can be scheduled (schedulable jobs) [ C max - p j, C max ] j J j J
10 Algorithm for 1|prec|h max 1.Set J= , J c ={1,…,n} and let J' be all jobs that have no successors 2.Determine Add j* to J Delete j* from J c Modify J' to represent the new set of schedulable jobs (have no successors) 3.If J c = STOP, otherwise go to 2
11 Example Use Algorithm to determine the schedule that minimizes h max and compute the optimal value Use Algorithm to determine the schedule that minimizes h max and compute the optimal value job j 123 pjpjpjpj235 h j (C j ) 1+ C C 2 10
12 Theorem Algorithm yields an optimal schedule for 1 | prec | h max Algorithm yields an optimal schedule for 1 | prec | h max Proof: Proof:
13 Release dates 1 | r j | L max Significantly harder than 1 | prec | L max Significantly harder than 1 | prec | L max It may be optimal to keep the machine idle to wait for the release of a new job (not a nondelay schedule) It may be optimal to keep the machine idle to wait for the release of a new job (not a nondelay schedule) Theorem Theorem –The problem 1 | r j | L max is strongly NP- hard –Reduces from 3- PARTITION
14 Branch and bound A method of effective enumeration A method of effective enumeration –Generate a node tree Compute the objective of a feasible schedule (feasible node) Compute the objective of a feasible schedule (feasible node) Compute lower bounds for a class of schedules (node) Compute lower bounds for a class of schedules (node) The node can be eliminated if the lower bound is higher than the cost of a schedule obtained earlier The node can be eliminated if the lower bound is higher than the cost of a schedule obtained earlier
15 Branch and bound for 1 | r j | L max Branching Branching –Level 0 : single node and no jobs have been scheduled –Level 1 : n nodes such that job j is scheduled first at node j –Level k : jobs in the first k positions have been specified
16 Branch and bound for 1 | r j | L max (2) Branching Branching –At a node let J be the set of jobs that have not been scheduled –Also let t be the time when a job can start processing at the node –Only create a node for job j at the node if r j <min l J (max(t,r l )+p l )
17 Branch and bound for 1 | r j | L max (3) Bounding Bounding –At each node compute the optimal value using 1 | r j, prmp | L max for the remaining jobs –Preemptive EDD rule is optimal for 1 | r j, prmp | L max –If the preemptive solution gives a non- preemptive schedule then it is feasible
18 Example Use branch and bound to determine the schedule for 1 | r j | L max and compute the optimal value for Use branch and bound to determine the schedule for 1 | r j | L max and compute the optimal value for job j 1234 pjpjpjpj4265 rjrjrjrj0135 djdjdjdj