Introduction Operations Scheduling 1. Setting up the Scheduling Problem 2. Single Machine Problems 3. Solving Scheduling Problems Operational Research & Management Operations Scheduling Program Week 1 2 3 4 5 6 7 Subject Introduction, Single Machine Scheduling Resource Constrainted Project Scheduling Job Shop Scheduling Flow Shop Scheduling Economic Lot Scheduling Interval Scheduling, Timetabling, Reservation Workforce Scheduling Operational Research & Management Chapter 1, 2, 3 4 5 6 7 9 12 Operations Scheduling 2 Acknowledgement We are very grateful for the slides prepared by colleagues from other universities, in particular the slides of Siggi Olafsson has been used in our course extensively. Operational Research & Management Operations Scheduling 3 Topic 1 Setting up the Scheduling Problem Operational Research & Management Operations Scheduling Scheduling Scheduling concerns optimal allocation or assignment of resources, over time, to a set of tasks or activities. – Machines Mi, i=1,...,m (ith machine) – Jobs Jj, j=1,...,n (jth job) Schedule may be represented by Gantt charts. Operational Research & Management Operations Scheduling 5 Notation Static data: – Processing time (pij) – Release date (rj) – Due date (dj) – Weight (wj) on machine i Dynamic data: – Completion time (Cij) – Flow Time on machine i (Fj = Cj – rj) Operational Research & Management Operations Scheduling 6 Modeling Three components for any machine scheduling model: – Machine configuration – Constraints and processing characteristics – Objective and performance measures Notation: | | Characteristics for obviously present because of , are NOT mentioned. Operational Research & Management Operations Scheduling 7 : Machine Configuration Standard machine configurations: – (1) Single-Machine models – (Pm) Parallel-Machine models – (Jm) Job Shop models jobs have different routes – (Fm) Flow Shop models: jobs have same order and same machines – (Om) Open Shop: routing also to be determined Real world always more complicated: – (FJc) Flexible Job Shop: with parallel machines at each workstation – (FFc) Flexible Flow Shop: with parallel machines at each stage Operational Research & Management Operations Scheduling 8 : Constraints (rj) Release dates (prec) Precedence constraints (sjk) Sequence dependent setup times (prmp) Preemptions (resume or repeat) (block) Storage / waiting constraints (Mj) Machine eligibility (circ) Recirculation Tooling / resource constraints Personnel scheduling constraints Operational Research & Management Operations Scheduling 9 : Objectives and Performance Measures 1. Throughput (TP) and makespan (Cmax) 2. Due date related objectives 3. Work-in-process (WIP), lead time (response time), finished inventory 4. (Setup Times) Operational Research & Management Operations Scheduling 10 1. Throughput and Makespan Throughput – Defined by bottleneck machines Cmax max C1 , C2 ,..., Cn Makespan Minimizing makespan tends to maximize throughput and balance load Operational Research & Management Operations Scheduling 11 2. Due Date Related Objectives Lateness Lj C j d j Lmax Minimize maximum lateness Tardiness T j max{0, C j d j } j w jT j Minimize the weighted tardiness Tardy job U j 1 if C j d j U j j Minimize the number of tardy jobs Operational Research & Management Operations Scheduling 12 Due Date Penalties Tardiness Lateness Lj Tj Cj Cj dj dj Late or Not In practice Uj 1 Cj dj Operational Research & Management Cj dj Operations Scheduling 13 3. WIP and Lead Time Work-in-Process (WIP) inventory cost Minimizing WIP also minimizes average lead time (throughput time) Minimizing lead time tends to minimize the average number of jobs in system Equivalently, we can minimize sum of the completion times: j Cj or j w jC j WIP TP C j Operational Research & Management Operations Scheduling 14 Topic 2 Single-Machine Scheduling Problems Operational Research & Management Operations Scheduling 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! 3 Examples: single machine Operational Research & Management Operations Scheduling 16 1. Completion Time Models Lets say we have – Single machine (1), where – the total weighted completion time should be minimized (SwjCj) We denote this problem as Operational Research & Management 1|| wj C j Operations Scheduling 17 Optimal Solution Theorem: Weighted Shortest Processing Time first - called the WSPT rule - is optimal for 1|| wj C j Note: The SPT rule starts with the job that has the shortest processing time, moves on the job with the second shortest processing time, etc. wj WSPT starts with job with largest pj Operational Research & Management Operations Scheduling 18 Proof (by contradiction) Suppose it is not true and schedule S is optimal – Then there are two adjacent jobs, say job j followed by job k such that wj wk p j pk that is pk w j p j wk Do a pairwise interchange to get schedule S’ j k t p j pk t k t Operational Research & Management j t p j pk Operations Scheduling 19 Proof (continued) The weighted completion time of the two jobs under S is C ( S ) Const (t p j ) w j (t p j pk ) wk The weighted completion time of the two jobs under S’ is C ( S ') Const (t pk ) wk (t p j pk ) w j Now: C ( S ) C ( S ') (t p j ) w j (t p j pk ) wk (t pk ) wk (t pk p j ) w j p j w j p j wk pk wk pk wk pk w j p j w j p j wk pk w j 0 Contradicting that S is optimal. Operational Research & Management Operations Scheduling 20 More Completion Time Models 1|| C j SPT rule 1 || w j C j WSPT rule 1| rj | C j NP-hard 1| rj , prmp | C j preemptive SPT rule 1| rj , prmp | w j C j NP-hard 1| prec | wj C j NP-hard 1| chain | w j C j polynomial algorithm Operational Research & Management Operations Scheduling 21 2. Lateness Models Lets say we have – Single machine (1), where – the maximum cost for late jobs should be minimized (hmax) – subject to precedence constraints We denote this problem as 1| prec | hmax hj(Cj) denotes the cost for completing job j at time Cj e.g. hj(Cj) = Cj-dj Operational Research & Management (than hmax = Lmax and EDD optimal) Operations Scheduling 22 Optimal Solution Theorem: Lawler’s algorithm is optimal for Lawler’s Backwards recursive algorithm (Minimizing Maximum Cost): 1| prec | hmax Cmax j p j 1. Determine makespan 2. Determine job j* with smallest 3. Schedule job j* as last job in the sequence 4. Repeat same procedure with one job less (j*) h j (Cmax ) Proof by contradiction Operational Research & Management Operations Scheduling 23 More Lateness Models 1| prec | hmax Lawler’s algorithm 1|| Lmax EDD rule 1| rj | Lmax B&B algorithm (App B2) 1| rj , prec | Lmax same B&B procedure 1| rj , prmp | Lmax preemptive EDD rule Job j is interrupted when job k arrives with dk < dj Operational Research & Management Operations Scheduling 24 3. Tardiness Models Lets say we have – Single machine (1), where – the number of late jobs should be minimized (SUj) We denote this problem as 1|| U j 1 with U j 0 if C j d j otherwise Operational Research & Management Operations Scheduling 25 Optimal Solution Theorem: Moore’s algorithm is optimal for 1|| U j EDD rule with modification: 1. Three sets: J = empty; (complement of J) JC = {1..n}; (tardy jobs) JD 2. Determine job j* with smallest dj 3. If jJ p j d j* then and add to J and delete from JC remove job k from J with largest pj and add k to JD 4. Repeat step 2 and 3 until JC is empty Proof by induction Operational Research & Management Operations Scheduling 26 More Tardiness Models 1|| U j Moore’s algorithm 1|| w jU j NP-hard 1|| T j NP-hard 1|| w jT j NP-hard special cases: dj = 0 dj loose WSPT MS otherwise: apparent tardiness heuristic Operational Research & Management Operations Scheduling 27 Topic 3 Solving Scheduling Problems (Appendix C) Operational Research & Management Operations Scheduling General Purpose Scheduling Procedures Some scheduling problems are easy – Simple priority rules – Complexity: polynomial time However, most scheduling problems are hard – Complexity: NP-hard, strongly NP-hard – Finding an optimal solution is infeasible in practice heuristic methods Operational Research & Management Operations Scheduling 29 Different Methods Basic Dispatching Rules Composite Dispatching Rules Branch and Bound Beam Search Simulated Annealing Tabu Search Genetic Algorithms Operational Research & Management Construction Methods Improvement Methods Operations Scheduling 30 Dispatching Rules Other names: list scheduling, priority 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 Operational Research & Management Operations Scheduling 31 Release/Due Date Related Earliest release date first (ERD) rule – Earliest due date first (EDD) rule – variance in throughput times (flow times) maximum lateness Minimum slack first (MS) rule – maximum lateness Current Time max d j p j t , 0 Deadline Operational Research & Management Processing Time Operations Scheduling 32 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 Operational Research & Management Operations Scheduling 33 Processing Time Related Critical Path (CP) rule – precedence constraints – makespan Largest Number of Successors (LNS) rule – precedence constraints – makespan Operational Research & Management Operations Scheduling 34 Other Dispatching Rules Service in Random Order (SIRO) rule Shortest Setup Time first (SST) rule – Least Flexible Job first (LFJ) rule – makespan and throughput makespan and throughput Shortest Queue at the Next Operation (SQNO) rule – machine idleness Operational Research & Management Operations Scheduling 35 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 Operational Research & Management Operations Scheduling 36 Example of Composite Dispatching Rule Single Machine with Weighted Total Tardiness 1|| w jT j Operational Research & Management Operations Scheduling Setup 1|| w jT j Problem: No efficient algorithm (NP-Hard) Branch and bound can only solve very small problems (<30 jobs) Are there any special cases we can solve? Operational Research & Management Operations Scheduling 38 Case 1: Tight Deadlines Assume dj=0 Then T j max 0, C j d j max 0, C j C j w jT j w j C j We know that WSPT is optimal for this problem! Operational Research & Management Operations Scheduling 39 Case 2: “Easy” Deadlines Theorem: If the deadlines are sufficiently spread out then the MS rule jselect arg min max d j p j t , 0 is optimal (proof a bit harder) Conclusion: The MS rule should be a good heuristic whenever deadlines are widely spread out Operational Research & Management Operations Scheduling 40 Composite Rule Two good heuristics – Weighted Shorted Processing Time (WSPT ) – Minimum Slack (MS) – Optimal with due dates zero 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 Operational Research & Management Operations Scheduling 41 Apparent Tardiness Cost (ATC) New ranking index I j (t ) wj pj max d j p j t , 0 exp K p (t ) Scaling constant When machine becomes free: – Compute index for all remaining jobs – Select job with highest value Operational Research & Management Operations Scheduling 42 Special Cases (Check) If K is very large: – If K is very small and no overdue jobs: – ATC reduces to WSPT ATC reduces to MS If K is very small and overdue jobs: – ATC reduces to WSPT applied to overdue jobs Operational Research & Management Operations Scheduling 43 Choosing K Value of K determined empirically Related to the due date tightness factor 1 1 d Cmax and the due date range factor 2 Operational Research & Management d max d min Cmax Operations Scheduling 44 Beam Search Is B&B with restricted branching 1. Quick evaluation of all candidates 2. Choose the F best options (filter width) 3. Evaluate F options more thoroughly 4. Choose the B best options (beam width) for branching Operational Research & Management Operations Scheduling 45 Local Search N(S) = Neighborhood of a solution S = set containing all solutions that can be obtained by a simple modification of S Step 1: Choose a starting solution S1 with value c(S1); k = 1; Step 2: Evaluate all solutions S in N(Sk) Step 3: Choose as Sk+1 the best solution only if c(Sk+1) < c(Sk) and k = k+1; go to step 2 Otherwise stop (local optimum found) Operational Research & Management Operations Scheduling 46 Tabu Search TS = LS with worse solutions allowed Step 3: - Choose as Sk+1 the best solution within N(Sk) unless the associated modification is on the Tabu List. - Add the modification Sk -> Sk+1 on the Tabu List. - Remove oldest entry of the Tabu List. Operational Research & Management Operations Scheduling 47 Graphically If c(Sk+2) > c(Sk+1) then Sk+1 is a strong candidate for Sk+3 Sk Sk+1 Operational Research & Management Sk+2 Operations Scheduling 48 Exercises From chapter 3: 3.2, 3.4 From appendix C: C.1, C.4, C.6 (1 step), C.9 Single Machine Problems (see Blackboard) Proof algorithm of Moore optimal for 1|| U j Proof EDD optimal for 1|| Lmax Operational Research & Management Operations Scheduling 49