Lec8.ppt

advertisement
Lecture 8:
Dispatch Rules
© J. Christopher Beck 2008
1
Outline




A Scheduling Problem
What are Heuristic Methods?
What is a Dispatch Rule?
Trying them out
© J. Christopher Beck 2008
2
Readings

P Ch 5.2, C.2, C.3
© J. Christopher Beck 2008
3
A Scheduling Problem
Jobs
Processing times
0
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
4
Heuristic Methods

Fast algorithms that result in a schedule

usually polynomial run-time


Why would
you use a
heuristic
method?
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
© J. Christopher Beck 2008
5
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
6
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
7
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
8
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
9
Another Scheduling
Problem
Jobs
0
Processing times
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
C is the end


Weights
w0C0 + w1C1 + w2C2
Use WSPT
© J. Christopher Beck 2008
i
time of job i
There is a slight complication here …
10
Download