Download Presentation
## IOE/MFG 543

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**IOE/MFG 543**Chapter 3: Single machine models (Sections 3.1 and 3.2)**Sec. 3.1: The total weighted completion time 1||S wjCj**• 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) • order the jobs in decreasing order of wj /pj • Theorem 3.1.1 • The WSPT is optimal for 1||S wjCj**Precedence constraints**• Chains 12 ... k • r -factor (largest ratio of weight and processing times)**Algorithm 3.1.4 for chains**• Whenever a machine is freed, schedule among the remaining chains the one with the highest r –factor • Process this chain without interruption up to and including the job l* that determines the r –factor Do example on slide 7**1|| Σwj(1-e-rCj)**• Weighted discounted shortest processing time first rule (WDSPT) • Order jobs in non-increasing order of wje-rpj 1-e-rpj • Gives the optimal schedule (Thm. 3.1.6) • Algorithms for chains also exist**Example 3.1.5**• There are 2 chains 12 34 and 567 • The weights and processing times are • Determine the schedule that minimizes the total weighted completion time**Section 3.2The maximum lateness**• Due date related • The problem 1 || Lmax is easy • For a single machine problem with regular objective functions Cmax=Spj • Lmax=maxi{1,…,n} Li (Li =Ci-di) • Select jobs in increasing order of their due dates => earliest due date first rule (EDD)**Backward algorithm for1|prec|hmax**• hmax=max(h1(C1),…,hn(Cn)) • The functions hi are nondecreasing • Jis the set of jobs already scheduled • Jobs in J are processed in the interval • Jcis the set of jobs still to be scheduled • J'is the set of jobs that can be scheduled (schedulable jobs)**Algorithm 3.2.1 for 1|prec|hmax**• Set J=, Jc={1,…,n} and let J'be all jobs that have no successors • Determine Add j* to J Delete j* from Jc Modify J'to represent the new set of schedulable jobs (have no successors) • If Jc= STOP, otherwise go to 2**Example 3.2.3**• Use Algorithm 3.2.1 to determine the schedule that minimizes hmax and compute the optimal value**Theorem 3.2.2.**• Algorithm 3.2.1. yields an optimal schedule for 1 | prec | hmax • Proof:**Release dates 1 | rj | Lmax**• Significantly harder than 1 | prec| Lmax • It may be optimal to keep the machine idle to wait for the release of a new job (not a nondelay schedule) • Theorem 3.2.4. • The problem 1 | rj | Lmax is strongly NP-hard • Reduces from 3-PARTITION**Branch and bound**• A method of effective enumeration • Generate a node tree • Compute the objective of a feasible schedule (feasible 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**Branch and bound for1 | rj | Lmax**• 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**Branch and bound for1 | rj | Lmax (2)**• 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 rj<minlJ(max(t,rl)+pl)**Branch and bound for1 | rj | Lmax (3)**• Bounding • At each node compute the optimal value using 1 | rj , prmp| Lmax for the remaining jobs • Preemptive EDD rule is optimal for 1 | rj , prmp| Lmax • If the preemptive solution gives a non-preemptive schedule then it is feasible**Example 3.2.5**• Use branch and bound to determine the schedule for 1 | rj | Lmax and compute the optimal value for