# Lecture 6: Job Shop Scheduling Introduction

## Presentation on theme: "Lecture 6: Job Shop Scheduling Introduction"— Presentation transcript:

Lecture 6: Job Shop Scheduling Introduction

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

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

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