1 / 20

IOE/MFG 543

IOE/MFG 543. Chapter 14: General purpose procedures for scheduling in practice Sections 14.1-14.3: Dispatching rules and filtered beam search. Motivation . So far we have (mostly) discussed algorithms for obtaining an optimal solution for a specific problem

lona
Download Presentation

IOE/MFG 543

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. IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections 14.1-14.3: Dispatching rules and filtered beam search

  2. Motivation • So far we have (mostly) discussed algorithms for obtaining an optimal solution for a specific problem • Many scheduling problems are difficult to solve in practice • Important to have general methods that can give good schedules in a relatively short amount of time

  3. Overview • Dispatching (or priority) rules • E.g., WSPT • Composite dispatching rules • Try to intelligently combine two or more dispatching rules • Filtered beam search • Heuristic implementation of branch and bound • Local search • Try to find a better schedule in a neighborhood of the current best schedule • Methods: Simulated annealing, tabu search, genetic algorithms

  4. Section 14.1Dispatching rules • There are several ways to classify the dispatching rules • Static vs. Dynamic • WSPT is … • SRPT is … • Global vs. Local • LAPT and Johnson’s rules are … • WSPT is …

  5. Applicability of elementary dispatching rules • Dispatching rules can work well when there is only a single objective • See Table 14.1 page 337 for a list of rules and in what environments they tend to work well (sometimes optimal) • More sophisticated rules can often do better • Minimizing a combination of objectives • The objective can change with time and with the jobs waiting to be processed

  6. Section 14.2 Composite dispatching rules (CDR) • A CDR is a ranking expression that combines two or more elementary dispatching rules • An elementary rule is a function of attributes of jobs and/or machines • Each elementary rule has a scaling parameter • Depends on the attributes • E.g., compute statistics for the set of jobs (are the due dates tight?)

  7. Composite rule for 1||S wjTj • Recall: Problem 1||S wjTj is NP-hard • We developed a pseudopolynomial DP algorithm for 1||S Tj • What rules could produce good schedules? • If all due dates (and release dates) are zero? • If due dates are loose and spread out?

  8. Apparant Tardiness Cost (ATC) rule for 1||S wjTj • Combines WSPT and minimum slack (MS) • Slack of job j is max(dj-pj-t, 0) • Ranking index for job j • K is the scaling parameter • p is the average of the processing time of the remaining jobs

  9. Apparant Tardiness Cost (ATC) rule for 1||S wjTj (2) • How do we determine the value of K? • Due date tightness factor • Due date range factor R = (dmax-dmin)/Cmax • Empirical studies K = 4.5 + R if R≤0.5 K = 6 - 2R if R>0.5

  10. Apparant Tardiness Cost with setups (ATCS) • Generalization of the ATC rule to take sequence dependent setup times into account • sjk is the setup time of job k if it comes after job j on the machine • s0k is the setup time if job k is scheduled first on the machine • SST rule (Chapter 4) • The job with the smallest setup time goes first • ATCS combines WSPT, MS and SST

  11. Apparant Tardiness Cost with Setups (ATCS) (2) • Ranking index for job j when job l has just completed its processing • s is the average of the setup times of the jobs remaining to be scheduled

  12. Apparant Tardiness Cost with Setups (ATCS) (3) • Choosing the scaling parameters • Function of t, R and h = s/p • t is a function of Cmax • Cmax is now schedule dependent • Estimate Cmax as Cmax = Spj + ns • K1 is computed the same way as K in ATC • K2 = t / (2√h)

  13. ATCS Example 14.2.1 Job data Setup times

  14. Implementing a general composite rule • Choose the elementary rules • Compute the required job and/or machine statistics • Use the statistics to compute the values of the scaling values • Apply the dispatching rule to the set of jobs

  15. Section 14.3Filtered beam search (FBS) • Enumerative branch and bound is one of the most widely used procedures for solving NP-hard problems • It can be used to optimally solve any of the scheduling problems that we have considered so far • Problem:

  16. Branch and bound (B&B) • In branch and bound we can eliminate all nodes such that the lower bound is higher than the cost of the best feasible solution found so far • Consequences: • If we can start off with a good solution then many nodes can potentially be eliminated • Bad news: • The number of nodes can still be large

  17. Beam width • FBS is a B&B-based method in which only some nodes at any given level are evaluated • Nodes that are not evaluated are discarded permanently • The number of nodes that are retained is called the beam width

  18. Filter width • Evaluating each node at a given level can be computationally expensive • Instead, do a “crude prediction” of the quality of all nodes at a given level • Evaluate a number of nodes thoroughly • This number is called the filter width

  19. Crude prediction and thorough evaluation • Example of a crude prediction • Combine • The contribution to the objective of the jobs already scheduled • Some job statistic, e.g., due date factor • Example of a thorough evaluation • Schedule the remaining jobs according to a composite dispatching rule • This gives an upper bound on the value at this node

  20. Example 14.3.1 • Solve 1 || SwjTj using the following data • Use beam width = 2 and no filter

More Related