Lecture 6: Job Shop Scheduling Introduction © J. Christopher Beck 2005
Outline Job Shop Scheduling Introduction to Solution Techniques LEKIN Basic Definition Introduction to Solution Techniques © J. Christopher Beck 2005
Job Shop Scheduling Operation/Task/ Activity Job Precedence Constraint © J. Christopher Beck 2005
Job Shop Scheduling JSP is Hard RCPSP is a generalization of JSP makespan © J. Christopher Beck 2005
Your Very Own JSP Can you find a schedule with a makespan of 31? Don’t forget about the precedence constraints on the activities in each job Activities Jobs 1 2 3 4 M1, 9 M2, 8 M3, 4 M4, 4 M1, 5 M2, 6 M4, 3 M3, 6 M3, 10 M1, 8 M2, 9 M4, 2 © J. Christopher Beck 2005
Solving the JSP Many, many approaches 20,300 hits on Google Scholar Also used to solve other scheduling problems and other optimization problems We are going to spend the next 6 lectures talking about them © J. Christopher Beck 2005
Dispatch Rules Whenever a machine is free, look at all operations that can be scheduled and pick on with a simple rule: SPT: shortest processing time LPT: longest processing time EDD: earliest due date Try out SPT Activities Jobs 1 2 3 4 M1, 9 M2, 8 M3, 4 M4, 4 M1, 5 M2, 6 M4, 3 M3, 6 M3, 10 M1, 8 M2, 9 M4, 2 © J. Christopher Beck 2005
Shifting Bottleneck Pick most loaded resource Find optimal one-machine schedule Pick next most loaded resource Find optimal one-machine schedule consistent with previous one-machine schedules (This is a bit simplified) © J. Christopher Beck 2005
Tabu Search Start with a random schedule Make a “move” (e.g., swap two operations) Remember you last few moves and don’t undo them Keep going until you get bored © J. Christopher Beck 2005
Integer Programming and Branch-&-Bound Represent problem as an IP Sequence of every pair of operations is a 0-1 variable Use Branch-&-Bound (B&B) to find solution Will find optimal solution (if given enough time) © J. Christopher Beck 2005
Constraint Programming B&B (but not IP) plus inference Every time you branch, use specialized algorithms to find other decisions that must be true May also use sophisticated branching heuristics Also will find optimal given time © J. Christopher Beck 2005
Summary Dispatch Rules Shifting Bottleneck Tabu Search Heuristic & incomplete: No guarantees Dispatch Rules Shifting Bottleneck Tabu Search Integer Programming Constraint Programming But: work well for large problems Will find optimal (if given enough time) © J. Christopher Beck 2005
LEKIN Demo © J. Christopher Beck 2005