200 likes | 319 Views
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
E N D
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 • 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
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
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 …
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
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?)
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?
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
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
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
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
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)
ATCS Example 14.2.1 Job data Setup times
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
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:
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
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
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
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
Example 14.3.1 • Solve 1 || SwjTj using the following data • Use beam width = 2 and no filter