1 / 19

Outline

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.

Download Presentation

Outline

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. Theory of constraints or OPT procedure - hypothesis • 1. Works best when there is a single strong and stable bottleneck

  12. 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

  13. 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:

  14. 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

  15. 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

  16. 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)

  17. 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

  18. 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

  19. Neighborhood Searches (continued) • We then explore the neighborhood of 1342: • 3142 1432 1324 etc.

More Related