ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre
2 Dispatching Rules ISE480 Sequencing and Scheduling 2012 – 2013 Fall semestre ISE480 Sequencing and Scheduling
3 Classic Scheduling Theory Look at a specific machine environment with a specific objective Analyze to prove an optimal policy or to show that no simple optimal policy exists Thousands of problems have been studied in detail with mathematical proofs! ISE480 Sequencing and Scheduling
4 Complexity Theory Classic scheduling theory draws heavily on complexity theory The complexity of an algorithm is its running time in terms of the input parameters (e.g., number of jobs and number of machines) Big-Oh notation, e.g., O(n 2 m) ISE480 Sequencing and Scheduling
5 Polynomial versus NP-Hard ISE480 Sequencing and Scheduling
6 Scheduling in Practice Practical scheduling problems cannot be solved this easily! Need: Heuristic algorithms Knowledge-based systems Integration with other enterprise functions However, classic scheduling results are useful as a building block ISE480 Sequencing and Scheduling
7 General Purpose Scheduling Procedures Some scheduling problems are easy Simple priority rules Complexity: polynomial time Most scheduling problems are hard Complexity: NP-hard, strongly NP-hard Finding an optimal solution is infeasible in practice heuristic methods ISE480 Sequencing and Scheduling
8 Types of Heuristics Simple Dispatching Rules Composite Dispatching Rules Branch and Bound Beam Search Simulated Annealing Tabu Search Genetic Algorithms Construction Methods Improvement Methods ISE480 Sequencing and Scheduling
9 Dispatching Rules Prioritize all waiting jobs job attributes machine attributes current time Whenever a machine becomes free: select the job with the highest priority Static or dynamic Local or Global ISE480 Sequencing and Scheduling
10 Job attributes: Weight, processing time, due date Machine attributes:. speed,. no of jobs waiting for processing,. total amount of processing that is waiting in the queue ISE480 Sequencing and Scheduling
11 Release/Due Date Related Earliest release date first (ERD) rule variance in throughput times Earliest due date first (EDD) rule maximum lateness Minimum slack first (MS) rule Current Time Processing Time Deadline ISE480 Sequencing and Scheduling
12 Processing Time Related Longest Processing Time first (LPT) rule balance load on parallel machines makespan Shortest Processing Time first (SPT) rule sum of completion times WIP Weighted Shortest Processing Time first (WSPT) rule ISE480 Sequencing and Scheduling
13 Processing Time Related Critical Path (CP) rule precedence constraints makespan Largest Number of Successors (LNS) rule precedence constraints makespan ISE480 Sequencing and Scheduling
14 Other Dispatching Rules Service in Random Order (SIRO) rule Shortest Setup Time first (SST) rule makespan and throughput Least Flexible Job first (LFJ) rule makespan and throughput Shortest Queue at the Next Operation (SQNO) rule machine idleness ISE480 Sequencing and Scheduling
ISE480 Sequencing and Scheduling
16 Discussion Very simple to implement Optimal for special cases Only focus on one objective Limited use in practice Combine several dispatching rules Composite Dispatching Rules ISE480 Sequencing and Scheduling
17 Composite dispatching rule: An example Single Machine with Weighted Total Tardiness No efficient algorithm (NP-Hard) Branch and bound can only solve very small problems (<30 jobs) Are there any special cases we can solve? ISE480 Sequencing and Scheduling
18 Case 1: Tight Deadlines Assume d j =0 Then We know that WSPT is optimal for this problem! ISE480 Sequencing and Scheduling
19 Conclusion The WSPT is optimal in the extreme case and should be a good heuristic whenever due dates are tight Now let’s look at the opposite ISE480 Sequencing and Scheduling
20 Case 2: “Easy” Deadlines Theorem: If the deadlines are sufficiently spread out then the MS rule is optimal (proof a bit harder) Conclusion: The MS rule should be a good heuristic whenever deadlines are widely spread out ISE480 Sequencing and Scheduling
21 Composite Rule Two good heuristics Weighted Shortest Processing Time (WSPT ) optimal with due dates zero (tight) Minimum Slack (MS) Optimal when due dates are “spread out” Any real problem is somewhere in between Combine the characteristics of these rules into one composite dispatching rule ISE480 Sequencing and Scheduling
22 A Composite Dispatching Rule is a ranking expression that combines a number of basic dispatching rules. A Basic Rule is a function of attributes of jobs and/or machines. An Attribute is any property associated with either a job or a machine; it may be constant or time dependent ISE480 Sequencing and Scheduling
23 Each Basic Rule in the Composite Dispatching Rule has its own scaling parameter that is chosen properly to scale the contribution of the basic rule to the total ranking expression ISE480 Sequencing and Scheduling
24 Apparent Tardiness Cost (ATC) Dispatching Rule New ranking index When machine becomes free: Compute index for all remaining jobs Select job with the highest value Scaling constant ISE480 Sequencing and Scheduling
25 Special Cases (Check) If K is very large: ATC reduces to WSPT If K is very small and no overdue jobs: ATC reduces to MS If K is very small and overdue jobs: ATC reduces to WSPT applied to overdue jobs (exp(0)=1) ISE480 Sequencing and Scheduling
26 Choosing K Value of K determined empirically Related to the due date tightness factor and the due date range factor ISE480 Sequencing and Scheduling
27 Choosing K Usually 1.5 K 4.5 Rules of thumb: Fix K=2 for single machine or flow shop. Fix K=3 for dynamic job shops. Adjusted to reduce weighted tardiness cost in extremely slack or congested job shops Statistical analysis/empirical experience ISE480 Sequencing and Scheduling
28 Composite dispatching: Apparent Tardiness Cost with Setups (ATCS) ATCS combines MS rule, WSPT rule and SST rule: k 1 =due date scaling par. k 2 =setup time scaling par. k 1 and k 2 functions of: Due Date tightness Due Date Range Setup Time Severity ISE480 Sequencing and Scheduling