Topic 15
Job Shop Scheduling
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
2
Job Shop Example
Constraints
Job follows a specific route
One job at a time on each machine
Machine 1
Machine 2
Machine 3
Machine 4
July 11, 2017
(1,1)
(2,3)
(1,2) (1,3)
(2,1)
(2,2)
(3,1)
(4,3)
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
(3,3)
(4,2)
3
Graph Representation
Each job follows a specific route through the job shop ...
(1,1)
(2,1)
(3,1)
Sink
Source
(1,2)
(2,2)
(2,3)
(1,3)
(4,2)
(4,3)
(3,3)
(Conjuctive arcs)
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
4
Graph Representation
Machine constraints must also be satisfied ...
(1,1)
(2,1)
(3,1)
Sink
Source
(1,2)
(2,2)
(2,3)
(1,3)
(4,2)
(4,3)
(3,3)
(Disjunctive arcs)
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
5
Solving the Problem
Select one of each pair of disjunctive arcs
(1,1)
(2,1)
(3,1)
Sink
Source
(1,2)
(2,2)
(2,3)
(1,3)
(4,2)
(4,3)
(3,3)
The longest path in this graph G(D) determines the
makespan
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
6
Feasibility of the Schedule
Are all selections feasible?
(1,1)
(2,1)
(3,1)
Sink
Source
July 11, 2017
(1,2)
(2,2)
(2,3)
(1,3)
(4,2)
(4,3)
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
(3,3)
7
Disjunctive Programming
Minimize
Cmax
Subject to
ykj yij pij for all (i, j ) (k , j )
Cmax yij pij for all (i, j )
yij yil pil
or yil yij pij for all (i, j ) (k , j )
July 11, 2017
yij Lecture
0 Notes for
all
(
i
,
j
)
for Planning and Scheduling
Prepared by Siggi Olafsson
8
Solution Methods
Exact solution
Dispatching rules (16+)
Branch and Bound
20 machines and 20 jobs
Shifting Bottleneck
Search heuristics
Tabu, SA, GA, etc.
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
9
Topic 16
Types of Schedules
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
11
Schedule Space
Semiactive
Optimum
Nondelay
Active
All Schedules
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
12
Nonactive Schedule
Machine 1
(1,1)
Machine 2
(2,3)
Machine 3
(2,2)
(2,1)
(3,2)
0
July 11, 2017
(2,1)
2
4
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
6
8
13
Active Schedule, not Nondelay
Machine 1
Machine 2
(2,3)
Machine 3
(2,2)
(2,1)
(3,2)
0
July 11, 2017
Delay (Operation (2,1) does not fit)
(1,1)
2
4
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
6
8
14
Nondelay schedule
Machine 1
(1,1)
Machine 2
(2,3)
Machine 3
(2,2)
4
6
(3,2)
0
July 11, 2017
(2,1)
2
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
8
15
Topic 17
Branch & Bound for
Job Shops
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
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.
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
17
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
t (W) min rij pij
( i , j )W
and let i* denote the machine where
minimum achieved
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
18
Generating Active Schedules
Step 3. (Branching)
Let W’ denote all operations on machine i
such that
ri* j t (W)
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.
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
19
Branching Tree
Selection of (i*,j)
Selection of (i*,l)
W {(i , j ), (i , l )}
'
July 11, 2017
*
*
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
20
Example
(1,1)
10
(2,1)
8
(3,1)
4
0
Source
0
(2,2)
8
(1,2)
3
(4,2)
5
0
(1,3) 4
(2,3)
7
(3,2)
6
Sink
3
(4,3)
Cmax 22
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
21
Partitioning Tree
Level 1
W {(1,1), ( 2,2), (1,3)}
t (W) min{ 0 10,0 8,0 4} 4
i 1
*
W ' {(1,1), (1,3)}
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
22
Level 1: select (1,1)
(1,1)
0
Source
0
(2,2)
8
10
8
(2,1)
10
10
(1,2)
3
(4,2)
(3,1)
5
(3,2)
0
(1,3) 4
Cmax 24
July 11, 2017
(2,3)
7
4
6
Sink
3
(4,3)
Disjunctive Arcs
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
23
Level 1: Select (1,3)
(1,1)
10
(2,1)
8
(3,1)
4
0
Source
0
(2,2)
0
8
4
(1,2)
4
(1,3) 4
Cmax 26
July 11, 2017
3
(2,3)
(4,2)
7
5
(3,2)
6
Sink
3
(4,3)
Disjunctive Arcs
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
24
Branching Tree
No disjunctive arcs
(1,1) scheduled first
on machine 1
(1,3) scheduled first
on machine 1
LB = 24
LB = 26
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
25
Branching Tree
Level 2:
W {( 2,2), ( 2,1), (1,3)}
t (W) min{ 0 8,10 8,10 4} 8
i 2
*
W ' {( 2,2)}
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
26
Level 2: Select (2,2)
(1,1)
0
Source
0
(2,2)
8
10
8
(2,1)
10
10
(1,2)
3
(4,2)
(3,1)
5
(3,2)
0
(1,3) 4
(2,3)
7
4
6
Sink
3
(4,3)
Disjunctive Arcs
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
27
Branching Tree
No disjunctive arcs
(1,1) scheduled first
on machine 1
LB = 24
(1,3) scheduled first
on machine 1
(1,1) first on M1 and
(2,2) first on M2
July 11, 2017
LB = 26
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
28
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)
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
29
Topic 18
The Shifting Bottleneck
Heuristic
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
31
Example
Jobs Sequence Processing Times
1
1,2,3
P11=10, P21=8, P31=4
2
2,1,4,3
P22=8, P12=3, P42=5, P32=6
3
1,2,4
P13=4, P23=7, P43=3
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
32
Iteration 1
M0
(1,1)
10
(2,1)
8
(3,1)
4
0
Source
0
(2,2)
8
(1,2)
3
(4,2)
5
0
(1,3) 4
(2,3)
7
(3,2)
6
Sink
3
(4,3)
Cmax ( M 0 ) 22
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
33
Selecting a Machine
Set up a nonpreemptive single machine maximum lateness
problem for Machine 1:
Jobs
1
2
3
p1j
10
3
4
r1j
0
8
0
d1j
10
11
12
Optimum sequence
is 1,2,3
Lmax
Lecture
Notes forwith
Planning
and (1)=5
Scheduling
July 11, 2017
Prepared by Siggi Olafsson
34
Selecting a Machine
Set up a nonpreemptive single machine maximum lateness
problem for Machine 2:
Jobs
1
2
3
p1j
10
3
4
r1j
0
8
0
d1j
10
11
12
Optimum sequence
is 2,3,1 with L and (2)=5
Lecture Notes for Planning max
Scheduling
July 11, 2017
Prepared by Siggi Olafsson
35
Selecting a Machine
Similarly,
Lmax (3) 4
Lmax (4) 0
July 11, 2017
Either Machine 1 or Machine 2 is the
bottleneck
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
36
Iteration 2
M 0 {1}
(1,1)
0
Source
0
10
(2,1)
8
(3,1)
4
10
(2,2)
0
8
(1,2)
3
(1,3) 4
3
(2,3)
(4,2)
7
5
(3,2)
6
Sink
3
(4,3)
Cmax ({1}) Cmax () Lmax (1) 22 5 27
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
37
Selecting a Machine
Set up a nonpreemptive single machine maximum lateness
problem for Machine 2:
Jobs
1
2
3
p2j
8
8
7
r2j
10
0
17
d2j
23
10
24
Optimum sequence
2,1,3
with Land
(2)=1
LectureisNotes
for Planning
Scheduling
max
July 11, 2017
Prepared by Siggi Olafsson
38
Selecting a Machine
Similarly,
Lmax (3) 1
Lmax (4) 0
Either Machine 2 or Machine 3 is the
bottleneck
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
39
Iteration 3
M 0 {1,2}
(1,1)
0
Source
0
8
(2,2)
0
8
10
8
(2,1)
(3,1)
4
10
8
3
5
6
(1,2)
(4,2)
(3,2)
3
(1,3) 4
(2,3)
7
Sink
3
(4,3)
Cmax ({1,2}) Cmax ({1}) Lmax (2) 27 1 28
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
40
Discussion
Procedure continues until all the
disjunctive arcs have been added
Extremely effective
Fast
Good solutions
‘Just a heuristic’
No guarantee of optimum
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
41
Solving the Maximum Lateness
Problem
(•,•,•)
(1,•,•)
(2,•,•)
(3,•,•)
(1,2,3)
(1,3,2)
(3,1,2)
(3,2,1)
Lmax 5
Lmax 6
Lmax 6
Lmax 7
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
42
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)
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
43
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
44
Topic 19
Shifted Bottleneck for
Total Weighted
Tardiness Objective
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
46
Cost Function for Operation (i,j)
hij cost function
Cij
d ijk
July 11, 2017
d ijl
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
47
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
48
Generalized ATC Rule
Earliest time machine can be used
n
I j (t )
k 1
d p (r t )
ij
ij
exp
pj
Kp
wj
Ranks jobs
good schedule
July 11, 2017
k
ij
Scaling constant
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
49
Criticality of Machines
Criticality = subproblem objective function
Simple
More effective ways, e.g.
Add disjunctive arcs for each machine
''
C
Calculate new completion times ij and
''
d
C
''
'
k
k
w
C
C
exp
k
k
k
K
k 1
n
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
50
Example
(1,1)
5
0
Source
0
July 11, 2017
(3,2)
5
4
(3,3) 5
(2,1)
(1,2)
(2,3)
10
5
3
(3,1)
(2,2)
(1,3)
4
6
7
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
Sink
d1 24
Sink
d 2 18
Sink
d 3 16
51
Subproblem: Machine 1
Jobs
1
2
3
p1j
5
5
7
r1j
5
4
8
d11j , d12j , d13j
10,-,-
-,12,-
-,-,16
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
52
Subproblem: Machine 2
Jobs
1
2
3
p2j
10
6
3
r2j
10
9
5
d 21 j , d 22 j , d 23 j
20,-,-
-,18,-
-,-,9
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
53
Subproblem: Machine 3
Jobs
1
2
3
p3j
4
4
5
r3j
20
0
0
d 31 j , d 32j , d 33 j
24,-,-
-,7,-
-,-,6
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
54
Subproblem Solutions
Solve using dispatching rule
Use K=0.1
p5
Have t = 4,
For machine 1 this results in
I11 (4) 1.2 10
6
I12 (4) 3.3 10 7
Schedule
first
I13 (4) 1.5 10 12
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
55
Solution to Subproblems
Schedule
first
Machine
Sequence
Value
1
(1,1),(1,2),(1,3)
18
2
(2,3),(2,1),(2,2)
16
3
(3,3),(3,2),(3,1)
4
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
56
First Iteration
(1,1)
5
0
Source
(3,2)
5
5
4
(2,1)
(1,2)
10
5
(3,1)
(2,2)
4
6
Sink
d1 24
Sink
d 2 18
Sink
d 3 16
5
0
July 11, 2017
(3,3) 5
(2,3)
3
(1,3)
7
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
57
Subproblem: Machine 2
Jobs
1
2
3
p2j
10
6
3
r2j
10
15
5
d 21 j , d 22 j , d 23 j
20,-,-
-,21,-
-,-,15
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
58
Subproblem: Machine 3
Jobs
1
2
3
p3j
4
4
5
r3j
20
0
0
d 31 j , d 32j , d 33 j
24,-,-
-,10,10
-,-,12
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
59
Solution to Subproblems
Schedule
first
July 11, 2017
Machine
Sequence
Value
2
(2,3),(2,1),(2,2)
10
3
(3,2),(3,3),(3,1)
0
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
60
Second Iteration
(1,1)
5
0
Source
(3,2)
5
5
4
(2,1)
(1,2)
10
4
(3,1)
10
5
July 11, 2017
(3,3) 5
d1 24
Sink
d 2 18
Sink
d 3 16
5
3
0
(2,2)
6
Sink
(2,3)
3
(1,3)
7
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
61
Subproblem: Machine 3
Jobs
1
2
3
p3j
4
4
5
r3j
20
0
0
d 31 j , d 32j , d 33 j
24,-,-
-,15,10
7,7,12
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
62
Third Iteration
(1,1)
5
0
Source
(3,2)
5
5
4
4
(1,2)
5
0
July 11, 2017
(2,1)
10
4
(3,1)
10
5
d1 24
Sink
d 2 18
Sink
d 3 16
5
3
(3,3) 5
(2,2)
6
Sink
(2,3)
3
(1,3)
7
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
63
Final Schedule
1,1
Machine 1
Machine 2
2,3
Machine 3
3,3 3,2
0
5
1,2
1,3
2,1
2,2
3,1
10
15
20
d3
25
30
d1
d2
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
64
Performance
Objective function
3
w
T
1
(24
24)
2
(26
18)
2
(22
16)
jj
j 1
28
Try finding a better schedule using LEKIN
(optimal value = 18)
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
65
Topic 20
Random Search for Job
Shop Scheduling
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
67
Defining the Neighborhood
(1,1)
5
0
Source
(3,2)
5
0
(3,3)
5
10
4
(2,1)
(3,1)
5
10
4
4
3
5
(1,2)
5
6
(2,2)
Sink
Sink
5
(2,3)
3
(1,3)
7
Sink
Approximately nm neighbors!
Simply too inefficient
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
68
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
69
Comparison of Methods
Percentage over known optimum:
Method
Average
Maximum
Simulated
Annealing
0.42
2.0
Tabu Search
0.18
0.8
Genetic
Algorithm
1.37
4.7
July 11, 2017
Winner
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
70
The Nested Partitions Method
Partitioning
Random sampling
using randomized dispatching rules
Calculating the promising index
by scheduling the bottleneck machine first
incorporating local improvement heuristic
Can incorporate any special structure!
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
71
Topic 21
Special Case:
Flow Shops
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
A Flexible Flow Shop with Setups
Stage 1
July 11, 2017
Stage 2
Stage 3
Stage 4
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
73
Applications
Very common in applications:
Paper mills
Steel lines
Bottling lines
Food processing lines
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
74
Classical Literature
Exact solutions
Simple flow shop with makespan criterion
Two machine case (Johnson’s rule)
Realistic problems require heuristic
approaches
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
75
Objectives
Multiple objectives usual
Meet due dates
w jT j
Maximize throughput
s
ijk
Setting for job
j on Machine i
hi aik , aij
Minimize work-in-process (WIP)
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
76
Generating Schedules
Identify bottlenecks
Compute time windows at bottleneck
stage
Compute machine capacity at
bottleneck
Schedule bottleneck stage
Schedule non-bottlenecks
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
77
Identifying Bottlenecks
In practice usually known
Schedule downstream bottleneck first
Determining the bottleneck
loading
number of shifts
downtime due to setups
Bottleneck assumed fixed
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
78
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
rbj f (l )
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
Decreasing
function determined
empirically
79
Computing Capacity
Capacity of each machine at bottleneck
Speed
Number of shifts
Setups
Two cases:
Identical machines
Non-identical machines
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
80
Scheduling Bottleneck
Jobs selected one at a time
Setup time
Due date
Capacity
For example ATCS rule
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
81
Schedule Remaining Jobs
Determined by sequence at bottleneck
stage
Minor adjustments
Adjacent pairwise interchanges to reduce
setup
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
82
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
July 11, 2017
Lecture Notes for Planning and Scheduling
Prepared by Siggi Olafsson
83
© Copyright 2026 Paperzz