IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections 14.1-14.3: Dispatching rules and filtered beam search 1 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 2 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 3 Section 14.1 Dispatching 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 … 4 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 5 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?) 6 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? 7 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 wj max(dj-pj-t, 0) Ij(t)= exp() pj Kp K is the scaling parameter p is the average of the processing time of the remaining jobs 8 Apparant Tardiness Cost (ATC) rule for 1||S wjTj (2) How do we determine the value of K? Due date tightness factor (Sdj)/n t = 1Cmax Due date range factor R = (dmax-dmin)/Cmax Empirical studies K = 4.5 + R K = 6 - 2R if R≤0.5 if R>0.5 9 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 10 Apparant Tardiness Cost with Setups (ATCS) (2) Ranking index for job j when job l has just completed its processing wj max(dj-pj-t, 0) Ij(t, l)= exp(pj K1 p ) slj exp(K2 s s is the average of the setup times of the jobs remaining to be scheduled 11 ) 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) 12 ATCS Example 14.2.1 Job data job j 1 2 3 4 pj 13 9 13 10 dj 12 37 21 22 wj 2 4 2 5 Setup times k s0k s1k s2k s3k s4k 1 1 0 1 4 2 1 4 2 3 3 3 1 1 1 4 4 3 0 3 13 Implementing a general composite rule 1. 2. 3. 4. 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 14 Section 14.3 Filtered 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: 15 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 16 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 17 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 18 Crude prediction and thorough evaluation Example of a crude prediction – Combine 1. 2. 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 19 Example 14.3.1 Solve 1 || SwjTj using the following data job j pj dj wj 1 10 4 14 2 10 2 12 3 13 1 1 4 4 12 12 Use beam width = 2 and no filter 20