190 likes | 333 Views
Outline. Questions? Quiz New Homework Heuristics Revisit active and non-delay schedules Dispatching rules Theory of constraints Probabilistic techniques Monte Carlo Weighted random selection Case study Neighborhood searches. Heuristics.
E N D
Outline • Questions? • Quiz • New Homework • Heuristics • Revisit active and non-delay schedules • Dispatching rules • Theory of constraints • Probabilistic techniques • Monte Carlo • Weighted random selection • Case study • Neighborhood searches
Heuristics • We have covered the exact algorithms available to us • We have looked at partial enumeration • Since most problems are too large or complex for partial, and certainly, complete enumeration, we need to find other methods • We could resort to guesswork or random assignment - either would be better than doing nothing • The next best thing is to come up with ideas that lead to reasonably “good’ schedules, or at least somewhat better than the random ones • Such reasonably good scheduling (or any other discipline) methods are called heuristics • We assume that problems maybe of any n/m/G/Measure
Heuristics (continued) • We have already defined a routine that will generate an active schedule • Fortunately, the set of active schedules also contains the optimum and is a smaller set than the semi active. • We can forget about generating semi active schedules • An active schedule is one in which no operation could be started earlier without delaying another operation or violating the technological constraints
Active scheduling • For a given problem there will be many active schedules • The routine we have used generates only one and we will have to make frequent choices. Were we to follow each of these decision paths, we would generate all the active schedules and find the optimum • However, our purpose here is to make those choices as intelligently as possible, even though it is difficult to foresee their eventual consequence
Non-delay schedules • Non-delay schedules are a smaller set than the active schedules and therefore are a tempting set to explore • Unfortunately, they do not always contain the optimum • We will not let that deter us, because non-delay schedules have been found to be usually very good, if not optimal • A non-delay schedule is one where every operation is started as soon as it can be
Routine by Giffler and Thompson (continued) • Recall that at step 3b. sigmaj < phi*, we will often have several choices. We always have at least one, namely, phi* • These choices are an extensive topic that we will now discuss
Selection, priority, dispatching rules • These are elementary algorithms and rules of thumb that guide us in making selections when there are choices in step 3b in the procedures for active and non-delay schedules • Rules based on Flow time: • SPT - Shortest processing time • LWKR - Least work remaining • LOPNR - Least number of operations remaining
Selection, priority, dispatching rules (continued) • Rules based on avoiding congestion: • LPT - Longest processing time • MOPNR - Most operations remaining • FCFS - First come first served • Rules based on due dates: • EDD - Earliest due date of Job • LS - Least slack (based on job due date) • Random selection
Additional dispatching rules • COVERT - cost over time. This method calculates a priority factor for each job. If you are interested, see D.R. Sule, “Industrial scheduling”, PWS Publishing Co., 1997, page 14 • CR - Critical Ratio = (due date - current time) / pj. Schedule the smallest CR next • Neither of these is particularly effective in my opinion
Theory of constraints or OPT procedure • Basis - schedule the bottleneck, then everything around it • 1. Determine the bottleneck • 2. Schedule the bottleneck • 3. Schedule back from the bottleneck • 4. Schedule forward from the bottleneck
Theory of constraints or OPT procedure - hypothesis • 1. Works best when there is a single strong and stable bottleneck
Monte Carlo Technique • Simulating generating a schedule many times, each time making the choices selected at random • Generate the distribution of the performance measure • We can then make a statement regarding the probability of a given performance measure if the schedule is generated randomly • We can also save the best schedule for use
Weighted Random Selection • This is best explained by an example: • Suppose we have decided to use four different dispatching rules. • We now select a weight for each, adding up to 1. For example: • SPT - 0.3 • EDD - 0.4 • LWKR - 0.2 • LOPR - 0.1 • At each choice, we generate a random number between 0 and 1 and use the rule obtained by:
Weighted Random Selection (continued) • Random number between Use Rule • 0 and 0.400 EDD • 0.401 and 0.700 SPT • 0.701 and 0.900 LWKR • 0.901 and 0.999 LOPR • We need only generate one schedule. • However, we can use it multiple times to determine the distribution of the performance measure
Case study • In the mid 80’s, there were no commercially available and reasonably priced finite scheduling systems available • Consequently, we developed our own (100 machines, 1000 jobs, generate schedules twice a day) • We used a variation of the random weighted scheme • We proceeded as previously described, but then also varied the proportions • We then selected the best of these proportions, and repeated the procedure every two weeks • This generated what looked like very good schedules, but for many non-technical reasons, the software was only used for a few months
Neighborhood Searches • A very common heuristic procedure proceeds as follows: • 1. Find a schedule by whatever means - random, modified Johnson, active, non-delay • 2. Calculate the performance measure • 3. Vary the original schedule in a systematic manner (explore the “neighborhood”)* • 4. Recalculate the performance measure and keep the better schedule • *from Pinedo:”Two schedules are neighbors if one can be obtained through a well defined modification of the other” (see pages 345-353,427,492)
Neighborhood Searches (continued) • 5. Continue the process until: • a. You have no more time • b. No better schedule is produced • c. You have exhausted the possibilities of your approach • Needless to say, you can select a great variety of approaches to defining what the “neighborhood” is
Neighborhood Searches (continued) • One of the simple approaches is to use a pair wise exchange • Suppose we have a 4/1//R problem with no known algorithm • Start with a random sequence, e.g., 1324 • Let’s use what is called a single adjacent pair wise exchange • Then the neighborhood consists of: • 3124 1234 1342 • Suppose that the last of these is better than 1324
Neighborhood Searches (continued) • We then explore the neighborhood of 1342: • 3142 1432 1324 etc.