Title: IOEMFG 543
1IOE/MFG 543
- Chapter 14 General purpose procedures for
scheduling in practice - Sections 14.1-14.3 Dispatching rules and
filtered beam search
2Motivation
- 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
3Overview
- 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
4Section 14.1Dispatching rules
- There are several ways to classify the
dispatching rules - Static vs. Dynamic
- WSPT is
- SRPT is
- Global vs. Local
- LAPT and Johnsons rules are
- WSPT is
5Applicability 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
6Section 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?)
7Composite rule for 1S wjTj
- Recall Problem 1S wjTj is NP-hard
- We developed a pseudopolynomial DP algorithm for
1S Tj - What rules could produce good schedules?
- If all due dates (and release dates) are zero?
- If due dates are loose and spread out?
8Apparant Tardiness Cost (ATC) rule for 1S 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
9Apparant Tardiness Cost (ATC) rule for 1S 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 R0.5
- K 6 - 2R if Rgt0.5
10Apparant 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
11Apparant 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
12Apparant 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 / (2vh)
13ATCS Example 14.2.1
14Implementing 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
15Section 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
16Branch and bound (BB)
- 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
17Beam width
- FBS is a BB-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
18Filter 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
19Crude 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
20Example 14.3.1
- Solve 1 SwjTj using the following data
- Use beam width 2 and no filter