Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections 14.1-14.3: Dispatching rules and filtered beam search.

Similar presentations


Presentation on theme: "1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections 14.1-14.3: Dispatching rules and filtered beam search."— Presentation transcript:

1 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 2 Motivation So far we have (mostly) discussed algorithms for obtaining an optimal solution for a specific problem 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 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 Important to have general methods that can give good schedules in a relatively short amount of time

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

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

5 5 Applicability of elementary dispatching rules Dispatching rules can work well when there is only a single objective 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 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 6 Section 14.2 Composite dispatching rules (CDR) A CDR is a ranking expression that combines two or more elementary dispatching rules 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 An elementary rule is a function of attributes of jobs and/or machines Each elementary rule has a scaling parameter 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 7 Composite rule for 1||  w j T j Recall: Problem 1||  w j T j is NP-hard Recall: Problem 1||  w j T j is NP-hard –We developed a pseudopolynomial DP algorithm for 1||  T j What rules could produce good schedules? What rules could produce good schedules? –If all due dates (and release dates) are zero? –If due dates are loose and spread out?

8 8 Apparant Tardiness Cost (ATC) rule for 1||  w j T j Combines WSPT and minimum slack (MS) Combines WSPT and minimum slack (MS) –Slack of job j is max(d j -p j -t, 0) Ranking index for job j Ranking index for job j K is the scaling parameter K is the scaling parameter p is the average of the processing time of the remaining jobs p is the average of the processing time of the remaining jobs I j (t)= wjwjwjwj exp ( - max(d j -p j -t, 0) ) pjpjpjpj K p

9 9 Apparant Tardiness Cost (ATC) rule for 1||  w j T j (2) How do we determine the value of K? How do we determine the value of K? Due date tightness factor Due date tightness factor Due date range factor Due date range factor R = (d max -d min )/C max Empirical studies Empirical studies K = 4.5 + R if R≤0.5 K = 6 - 2R if R>0.5  = 1- (  d j )/n C max

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

11 11 Apparant Tardiness Cost with Setups (ATCS) (2) Ranking index for job j when job l has just completed its processing 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 s is the average of the setup times of the jobs remaining to be scheduled I j (t, l)= wjwjwjwj exp ( - max(d j -p j -t, 0) ) exp ( - s lj ) pjpjpjpj K1 pK1 pK1 pK1 p K2 sK2 sK2 sK2 s

12 12 Apparant Tardiness Cost with Setups (ATCS) (3) Choosing the scaling parameters Choosing the scaling parameters Function of , R and  = s/p Function of , R and  = s/p  is a function of C max  is a function of C max –C max is now schedule dependent –Estimate C max as C max =  p j + ns K 1 is computed the same way as K in ATC K 1 is computed the same way as K in ATC K 2 =  / (2√  ) K 2 =  / (2√  )

13 13 ATCS Example 14.2.1 Job data Setup times job j 1234 pjpjpjpj1391310 djdjdjdj12372122 wjwjwjwj2425 k1234 s 0k 1134 s 1k -413 s 2k 0-10 s 3k 12-3 s 4k 431-

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

15 15 Section 14.3 Filtered beam search (FBS) Enumerative branch and bound is one of the most widely used procedures for solving NP-hard problems 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: Problem:

16 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 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: Consequences: –If we can start off with a good solution then many nodes can potentially be eliminated Bad news: Bad news: –The number of nodes can still be large

17 17 Beam width FBS is a B&B-based method in which only some nodes at any given level are evaluated 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 Nodes that are not evaluated are discarded permanently The number of nodes that are retained is called the beam width The number of nodes that are retained is called the beam width

18 18 Filter width Evaluating each node at a given level can be computationally expensive 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 Instead, do a “crude prediction” of the quality of all nodes at a given level Evaluate a number of nodes thoroughly Evaluate a number of nodes thoroughly –This number is called the filter width

19 19 Crude prediction and thorough evaluation Example of a crude prediction Example of a crude prediction –Combine 1. The contribution to the objective of the jobs already scheduled 2. Some job statistic, e.g., due date factor Example of a thorough evaluation 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 20 Example 14.3.1 Solve 1 ||  w j T j using the following data Solve 1 ||  w j T j using the following data Use beam width = 2 and no filter Use beam width = 2 and no filter job j 1234 pjpjpjpj1010134 djdjdjdj42112 wjwjwjwj1412112


Download ppt "1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections 14.1-14.3: Dispatching rules and filtered beam search."

Similar presentations


Ads by Google