Lecture 8: Dispatch Rules © J. Christopher Beck 2005
Outline What is a Dispatch Rule? 1-machine Problems Parallel Machines Static & dynamic 1-machine Problems WSPT, EDD, MS, ATC Parallel Machines LPT Applying dispatch rules to a big JSP © J. Christopher Beck 2005
Dispatch Rules Create a queue of operations for each resource include all operations that can execute at the current time Whenever a machine becomes free: update queues rank activities (based on a [simple] rule) schedule highest priority activity © J. Christopher Beck 2005
Dispatch Rules for JSP J0 J1 J2 © J. Christopher Beck 2005
Dispatch Rules for JSP J0 J1 J2 © J. Christopher Beck 2005
How am I picking operations from queue? Dispatch Rules for JSP J0 J1 J2 How am I picking operations from queue? © J. Christopher Beck 2005
Dispatch Rules for JSP J0 J1 J2 © J. Christopher Beck 2005
Dispatch Rules for JSP J0 J1 J2 © J. Christopher Beck 2005
Dispatch Rules for JSP J0 J1 J2 © J. Christopher Beck 2005
Dispatch Rules for JSP J0 J1 J2 © J. Christopher Beck 2005
How did I pick operations? Dispatch Rules for JSP J0 J1 J2 How did I pick operations? © J. Christopher Beck 2005
Dispatch Rules Create a queue of operations for each resource include all operations that can execute at the current time Whenever a machine becomes free: update queues rank activities (based on a [simple] rule) schedule highest priority activity © J. Christopher Beck 2005
1-Machine Problem & WSPT rj = 0, dj = ∞, obj = min wjCj Weighted Shortest Processing Time (WSPT) results in optimal schedule Order operations in decreasing order of wj/pj Bonus question: prove that WSPT finds the optimal schedule for min wjCj © J. Christopher Beck 2005
1-Machine Problem & WSPT Use WSPT to find min wjCj schedule Find min Cmax schedule Does WSPT find optimal schedule if obj = min Cmax? © J. Christopher Beck 2005
1-Machine Problem & EDD Different problem rj = 0, obj = min Lmax Each job has its own dj Earliest Due Date (EDD) results in optimal schedule Order operations in increasing order of dj © J. Christopher Beck 2005
WSPT & EDD are Static Static = basis for ordering operations does not change based on scheduling decisions You can sort all operations once Dynamic = scheduling decisions change the order of remaining operations You need to re-sort operations in queue (potentially) after every decision © J. Christopher Beck 2005
Minimum Slack is Dynamic 1-machine, rj = 0, obj = min Lmax Minimum Slack (MS) orders operations at time t in descending order of: max(dj – pj – t, 0) MS does not guarantee optimal schedule Question: can you find a 1-machine problem instance where MS doesn’t find the optimal? © J. Christopher Beck 2005
Composite Dispatch Rules Weighted tardiness 1-machine, rj = 0, obj = min wjTj Apparent Tardiness Cost rule orders operations in descending order of: MS WSPT Scaling parameter Mean pj © J. Christopher Beck 2005
Good Questions Given description of a 1-machine problem which dispatch rule would you use and why? Given a 1-machine problem, produce a schedule using dispatch rule X (show each decision)? X = WSPT, EDD, MS, ATC, or a dispatching rule (with a given definition) © J. Christopher Beck 2005
Parallel Machines Like 1-machine but you have a set of machines and operations can go on any machine Can apply dispatch rules without any optimality guarantee LPT: Longest Processing Time first pick operations in descending order of processing time © J. Christopher Beck 2005
Q5.3, p 110 6 identical, unary capacity machines in parallel Compute makespan using LPT jobs 1 2 3 4 5 6 7 8 9 10 11 12 13 pj © J. Christopher Beck 2005
JSP Apply the following dispatch rules to the problem from the last lecture: SPT MS Activities Jobs 1 2 3 4 M1, 9 M2, 8 M3, 4 M4, 4 M1, 5 M2, 6 M4, 3 M3, 6 M3, 10 M1, 4 M2, 9 M4, 2 © J. Christopher Beck 2005
Final Words Table C.1 p. 416 is a good summary of many dispatch rules © J. Christopher Beck 2005