Download presentation
Presentation is loading. Please wait.
1
Topic 15 Job Shop Scheduling
2
Job Shop Scheduling Have m machines and n jobs
Each job visits some or all of the machines Customer order of small batches Wafer fabrication in semiconductor industry Hospital Very difficult to solve April 11, 2019
3
Job Shop Example Constraints Job follows a specific route
One job at a time on each machine Machine 1 (1,1) (1,2) (1,3) Machine 2 (2,3) (2,1) (2,2) Machine 3 (3,1) (3,3) Machine 4 (4,3) (4,2) April 11, 2019
4
Graph Representation Each job follows a specific route through the job shop ... (1,1) (2,1) (3,1) Sink Source (1,2) (2,2) (4,2) (2,3) (1,3) (4,3) (3,3) (Conjuctive arcs) April 11, 2019
5
Graph Representation Machine constraints must also be satisfied ...
(1,1) (2,1) (3,1) (1,2) (2,2) (4,2) (2,3) (1,3) (4,3) (3,3) Sink Source (Disjunctive arcs) April 11, 2019
6
Solving the Problem Select one of each pair of disjunctive arcs
The longest path in this graph G(D) determines the makespan (1,1) (2,1) (3,1) Sink Source (1,2) (2,2) (4,2) (2,3) (1,3) (4,3) (3,3) April 11, 2019
7
Feasibility of the Schedule
Are all selections feasible? (1,1) (2,1) (3,1) Sink Source (1,2) (2,2) (4,2) (2,3) (1,3) (4,3) (3,3) April 11, 2019
8
Disjunctive Programming
Minimize Subject to April 11, 2019
9
Solution Methods Exact solution Dispatching rules (16+)
Branch and Bound 20 machines and 20 jobs Dispatching rules (16+) Shifting Bottleneck Search heuristics Tabu, SA, GA, etc. April 11, 2019
10
Topic 16 Types of Schedules
11
Definitions A schedule is nondelay if no machine is idled when there is an operation available A schedule is called active if no operation can be completed earlier by altering the sequence on machines and not delaying other operations For “regular” objectives the optimal schedule is always active but not necessarily nondelay April 11, 2019
12
Schedule Space Semiactive Nondelay Active All Schedules Optimum
April 11, 2019
13
Nonactive Schedule Machine 1 (1,1) (2,1) Machine 2 (2,3) (2,2) (2,1)
(3,2) April 11, 2019
14
Active Schedule, not Nondelay
Machine 1 (1,1) Delay (Operation (2,1) does not fit) Machine 2 (2,3) (2,2) (2,1) Machine 3 (3,2) April 11, 2019
15
Nondelay schedule Machine 1 (1,1) Machine 2 (2,3) (2,1) (2,2)
(3,2) April 11, 2019
16
Branch & Bound for Job Shops
Topic 17 Branch & Bound for Job Shops
17
Branch and Bound Operation (i,j) with duration pij Minimize makespan
Branch by generating all active schedules Notation Let W denote operations whose predecessors have been scheduled Let rij be the earliest possible starting time of (i,j) in W. April 11, 2019
18
Generating Active Schedules
Step 1. (Initialize) Let W contain the first operation of each job Let rij = 0 for all (i,j)W. Step 2. (Machine selection) Compute the current partial schedule and let i* denote the machine where minimum achieved April 11, 2019
19
Generating Active Schedules
Step 3. (Branching) Let W’ denote all operations on machine i such that For each operation in W’ consider a partial schedule with that operation next on i* For each partial schedule, delete operation from W and include immediate follower in W. Go back to Step 2. April 11, 2019
20
Branching Tree Selection of (i*,j) Selection of (i*,l) April 11, 2019
21
Example (1,1) 10 (2,1) 8 (3,1) 4 (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 3
Source (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 Sink 3 (1,3) 4 (2,3) 7 (4,3) April 11, 2019
22
Partitioning Tree Level 1 April 11, 2019
23
Level 1: select (1,1) (1,1) 10 (2,1) 8 (3,1) 4 10 10 (2,2) 8 (1,2) 3
10 Source (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 Sink 3 (1,3) 4 (2,3) 7 (4,3) Disjunctive Arcs April 11, 2019
24
Level 1: Select (1,3) (1,1) 10 (2,1) 8 (3,1) 4 4 (2,2) 8 (1,2) 3 (4,2)
4 Source (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 Sink 4 3 (1,3) 4 (2,3) 7 (4,3) Disjunctive Arcs April 11, 2019
25
Branching Tree No disjunctive arcs (1,1) scheduled first
on machine 1 LB = 24 (1,3) scheduled first on machine 1 LB = 26 April 11, 2019
26
Branching Tree Level 2: April 11, 2019
27
Level 2: Select (2,2) (1,1) 10 (2,1) 8 (3,1) 4 10 10 (2,2) 8 (1,2) 3
10 Source (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 Sink 3 (1,3) 4 (2,3) 7 (4,3) Disjunctive Arcs April 11, 2019
28
Branching Tree No disjunctive arcs (1,1) scheduled first on machine 1
LB = 24 (1,3) scheduled first on machine 1 LB = 26 (1,1) first on M1 and (2,2) first on M2 April 11, 2019
29
Lower Bounds Lower bounds The length of the critical path in G(D’)
Quick but not very tight Linear programming relaxation A maximum lateness problem (see book) April 11, 2019
30
The Shifting Bottleneck Heuristic
Topic 18 The Shifting Bottleneck Heuristic
31
Shifting Bottleneck Minimize makespan in a job shop
Let M denote the set of machines Let M0 M be machines for which disjunctive arcs have been selected Basic idea: Select a machine in M - M0 to be included in M0 Sequence the operations on this machine April 11, 2019
32
Example April 11, 2019
33
Iteration 1 (1,1) 10 (2,1) 8 (3,1) 4 (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 3
Source (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 Sink 3 (1,3) 4 (2,3) 7 (4,3) April 11, 2019
34
Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 1: Optimum sequence is 1,2,3 with Lmax(1)=5 April 11, 2019
35
Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 2: Optimum sequence is 2,3,1 with Lmax(2)=5 April 11, 2019
36
Selecting a Machine Similarly,
Either Machine 1 or Machine 2 is the bottleneck April 11, 2019
37
Iteration 2 (1,1) 10 (2,1) 8 (3,1) 4 10 (2,2) 8 (1,2) 3 (4,2) 5 (3,2)
10 Source (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 Sink 3 3 (1,3) 4 (2,3) 7 (4,3) April 11, 2019
38
Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 2: Optimum sequence is 2,1,3 with Lmax(2)=1 April 11, 2019
39
Selecting a Machine Similarly,
Either Machine 2 or Machine 3 is the bottleneck April 11, 2019
40
Iteration 3 (1,1) 10 (2,1) 8 (3,1) 4 10 8 8 (2,2) 8 (1,2) 3 (4,2) 5
8 8 Source (2,2) 8 (1,2) 3 (4,2) 5 (3,2) 6 Sink 3 3 (1,3) 4 (2,3) 7 (4,3) April 11, 2019
41
Discussion Procedure continues until all the disjunctive arcs have been added Extremely effective Fast Good solutions ‘Just a heuristic’ No guarantee of optimum April 11, 2019
42
Solving the Maximum Lateness Problem
(•,•,•) (1,•,•) (2,•,•) (3,•,•) (1,2,3) (1,3,2) (3,1,2) (3,2,1) April 11, 2019
43
Discussion The solution is actually a little bit more complicated than before Precedence constraints because of other (already scheduled) machines Delay precedence constraints (see example in book) April 11, 2019
44
Discussion Shifting bottleneck can be applied generally Basic idea
Solve problem “one variable at a time” Determine the “most important” variable Find the best value of that variable Move on to the “second most important” …. Here we treat each machine as a variable April 11, 2019
45
Shifted Bottleneck for Total Weighted Tardiness Objective
Topic 19 Shifted Bottleneck for Total Weighted Tardiness Objective
46
Total Weighted Tardiness
We now apply a shifted bottleneck procedure to a job shop with total weighted tardiness objective Need n sinks in disjunctive graph Machines scheduled one at a time Given current graph calculate completion time of each job Some n due dates for each operation Piecewise linear penalty function April 11, 2019
47
Cost Function for Operation (i,j)
April 11, 2019
48
Machine Selection Machine criticality Solve a single machine problem
Piecewise linear cost function May have delayed precedence constraints Generalizes single-machine with n jobs, precedence constraints, and total weighted tardiness objective ATC rule April 11, 2019
49
Generalized ATC Rule Earliest time machine can be used Ranks jobs
good schedule Scaling constant April 11, 2019
50
Criticality of Machines
Criticality = subproblem objective function Simple More effective ways, e.g. Add disjunctive arcs for each machine Calculate new completion times and April 11, 2019
51
Example (1,1) 5 (2,1) 10 (3,1) 4 5 (3,2) 4 (1,2) 5 (2,2) 6 (3,3) 5
Sink 5 Source (3,2) 4 (1,2) 5 (2,2) 6 Sink (3,3) 5 (2,3) 3 (1,3) 7 Sink April 11, 2019
52
Subproblem: Machine 1 April 11, 2019
53
Subproblem: Machine 2 April 11, 2019
54
Subproblem: Machine 3 April 11, 2019
55
Subproblem Solutions Solve using dispatching rule
Use K=0.1 Have t = 4, For machine 1 this results in Schedule first April 11, 2019
56
Solution to Subproblems
Schedule first April 11, 2019
57
First Iteration (1,1) 5 (2,1) 10 (3,1) 4 5 5 (3,2) 4 (1,2) 5 (2,2) 6 5
Sink 5 5 Source (3,2) 4 (1,2) 5 (2,2) 6 Sink 5 (3,3) 5 (2,3) 3 (1,3) 7 Sink April 11, 2019
58
Subproblem: Machine 2 April 11, 2019
59
Subproblem: Machine 3 April 11, 2019
60
Solution to Subproblems
Schedule first April 11, 2019
61
Second Iteration (1,1) 5 (2,1) 10 (3,1) 4 5 5 10 (3,2) 4 (1,2) 5 (2,2)
Sink 5 5 10 Source (3,2) 4 (1,2) 5 (2,2) 6 Sink 5 3 (3,3) 5 (2,3) 3 (1,3) 7 Sink April 11, 2019
62
Subproblem: Machine 3 April 11, 2019
63
Third Iteration (1,1) 5 (2,1) 10 (3,1) 4 5 5 10 4 (3,2) 4 (1,2) 5
Sink 5 5 10 4 Source (3,2) 4 (1,2) 5 (2,2) 6 Sink 5 5 3 (3,3) 5 (2,3) 3 (1,3) 7 Sink April 11, 2019
64
Final Schedule Machine 1 1,1 1,2 1,3 Machine 2 2,3 2,1 2,2 Machine 3
3,3 3,2 3,1 April 11, 2019
65
Performance Objective function
Try finding a better schedule using LEKIN (optimal value = 18) April 11, 2019
66
Random Search for Job Shop Scheduling
Topic 20 Random Search for Job Shop Scheduling
67
Random Search Methods Popular to use genetic algorithms, simulated annealing, tabu search, etc. Do not work too well Problems defining the neighborhood Do not exploit special structure April 11, 2019
68
Defining the Neighborhood
(1,1) 5 (2,1) 10 (3,1) 4 Sink 5 5 10 4 Source (3,2) 4 (1,2) 5 (2,2) 6 Sink 5 5 3 (3,3) 5 (2,3) 3 (1,3) 7 Sink Approximately nm neighbors! Simply too inefficient April 11, 2019
69
Job Shop with Makespan Random search methods can be applied
Use ‘critical path’ neighborhood Can eliminate many neighbors immediately Specialized methods usually better Random search = ‘giving up’ ! Traveling Salesman Problem (TSP) Very well studied Lin-Kernighan type heuristics (1970) Order of 1000 times faster than random search April 11, 2019
70
Comparison of Methods Percentage over known optimum: Winner
April 11, 2019
71
The Nested Partitions Method
Partitioning by scheduling the bottleneck machine first Random sampling using randomized dispatching rules Calculating the promising index incorporating local improvement heuristic Can incorporate any special structure! April 11, 2019
72
Special Case: Flow Shops
Topic 21 Special Case: Flow Shops
73
A Flexible Flow Shop with Setups
Stage 1 Stage Stage Stage 4 April 11, 2019
74
Applications Very common in applications: Paper mills Steel lines
Bottling lines Food processing lines April 11, 2019
75
Classical Literature Exact solutions
Simple flow shop with makespan criterion Two machine case (Johnson’s rule) Realistic problems require heuristic approaches April 11, 2019
76
Objectives Multiple objectives usual Meet due dates
Maximize throughput Minimize work-in-process (WIP) Setting for job j on Machine i April 11, 2019
77
Generating Schedules Identify bottlenecks
Compute time windows at bottleneck stage Compute machine capacity at bottleneck Schedule bottleneck stage Schedule non-bottlenecks April 11, 2019
78
Identifying Bottlenecks
In practice usually known Schedule downstream bottleneck first Determining the bottleneck loading number of shifts downtime due to setups Bottleneck assumed fixed April 11, 2019
79
Identifying Time Window
Due date Shipping day Multiply remaining processing times with a safety factor Release date Status sj of job j Release date if sj = l Decreasing function - determined empirically April 11, 2019
80
Computing Capacity Capacity of each machine at bottleneck Two cases:
Speed Number of shifts Setups Two cases: Identical machines Non-identical machines April 11, 2019
81
Scheduling Bottleneck
Jobs selected one at a time Setup time Due date Capacity For example ATCS rule April 11, 2019
82
Schedule Remaining Jobs
Determined by sequence at bottleneck stage Minor adjustments Adjacent pairwise interchanges to reduce setup April 11, 2019
83
Summary: Job Shops Representation: graph w/disjoint arcs
Solution methods Branch-and-bound Shifted bottleneck heuristic Beam search Can incorporate bottleneck idea & dispatching rules Random search methods Special case: flow shops April 11, 2019
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.