Lecture 8: Dispatch Rules © J. Christopher Beck 2008
Outline A Scheduling Problem What are Heuristic Methods? What is a Dispatch Rule? Trying them out © J. Christopher Beck 2008
Readings P Ch 5.2, C.2, C.3 © J. Christopher Beck 2008
A Scheduling Problem Jobs Processing times J0R0[15] J0R1[50] J0R2[60] 1 J1R1[50] J1R0[50] J1R2[15] 2 J2R0[30] J2R1[15] J2R2[20] Find a schedule that minimizes the makespan (saw this in last lecture, too) © J. Christopher Beck 2008
Why would you use a heuristic method? Heuristic Methods Fast algorithms that result in a schedule usually polynomial run-time What does this mean? Usually no quality guarantee except in very restricted cases e.g., 1-machine sometimes good quality, but can be arbitrarily bad depending on the data for the specific problem Why would you use a heuristic method? © J. Christopher Beck 2008
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 2008
Shortest Processing Time (SPT) Always choose the to execute the activity in the queue with the shortest processing time There are many other rules we will look at some of these later in the course © J. Christopher Beck 2008
Weighted Shortest Processing Time (WSPT) Always choose the to execute the activity in the queue with the greatest ratio of weight to processing time Only makes sense if activities have weight © J. Christopher Beck 2008
Dispatch Rules Except in special cases, dispatch rules are not guaranteed to find the optimal solution Often used for very hard (or large) problems were a good solution is “good enough” © J. Christopher Beck 2008
Another Scheduling Problem Jobs Processing times Weights J0R0[15] J0R1[50] J0R2[60] w0 = 2 1 J1R1[50] J1R0[50] J1R2[15] w1 = 3 2 J2R0[30] J2R1[15] J2R2[20] w2 = 5 Find a schedule that minimizes the total weighted completion time w0C0 + w1C1 + w2C2 Use WSPT Ci is the end time of job i There is a slight complication here … © J. Christopher Beck 2008