Académique Documents
Professionnel Documents
Culture Documents
Uwe Schwiegelshohn
Q These slides are an extract from this book. They are to be used only
for this lecture and as a complement to the book.
2
Scheduling Problem
Constraints
Tasks Time
Resources
(Jobs) (Machines)
Objective(s)
Areas:
Q Manufacturing and production
Q Transportations and distribution
Q Information - processing
3
Example 1 Paper Bag Factory
4
Example 2
Gate Assignments at Airport
5
Example 3 Tasks in a CPU
Q different applications
O unknown processing time
O known distributions (average, variance)
O priority level
Q multitasking environment
O preemption
Q minimization of the sum of expected weighted completion times
6
Information Flow Diagram in a
Manufacturing System
Capacity Quantities,
status due dates
Material requirements,
planning, Material requirements
capacity planning
Scheduling
and
rescheduling Detailed scheduling
Schedule
performance Schedule
Dispatching
Shop
status Shopfloor
management
Shopfloor 7
Information Flow Diagram in a Service
System
Status (history)
Database Forecasting
Forecasts
Data
Prices rules
Scheduling Yield
management
Accept/
reject Place order,
(conditions) make reservations
Customer
8
Job Properties
9
Machine Environment
1 : single machine
Pm : m identical machines in parallel
Qm : m machines in parallel with different speeds
Rm : m unrelated machines in parallel
Fm : flow shop with m machines in series
O each job must be processed on each machine using the same route.
O queues between the machines
FIFO queues, see also permutation flow shop
FFc : flexible flow shop with c stages in series and several
identical machines at each stage,
one job needs processing on only one (arbitrary) machine
at each stage.
10
Machine Environment
11
Restrictions and Constraints
12
Restrictions and Constraints
Q Lateness of job j: Lj = Cj dj
The lateness may be positive or negative.
1, if Cj > dj,
Q Number of late jobs: Uj =
0, otherwise
14
Objective Functions
Lj Tj Uj
1
Cj Cj Cj
dj dj dj
15
Objective Functions
const.
Q Discounted total weighted completion time:
( wj (1 e -rCj )) 0<r<1
Q Total weighted tardiness: wj Tj
Q Weighted number of tardy jobs: wj Uj
Q Regular objective functions:
non decreasing in C1 ,...,Cn
Earliness: Ej = max (-Lj , 0)
O non increasing in Cj
16
Description of a Scheduling Problem
||
17
Classes of Schedules
jobs 1 2 3 4 5 6 7 8 9 10
pj 8 7 7 2 3 2 2 8 8 15
18
Precedence Constraints
Original Schedule
2 jobs 1 2 3 4 5 6 7 8 9 10
1 pj 8 7 7 2 3 2 2 8 8 15
10
3 = job completed
5 8
6 7 9
1 2 8 9
4 6 5 7 3 10
0 10 20 30 19
Precedence Constraints
Reduced Processing Time
2 jobs 1 2 3 4 5 6 7 8 9 10
1 pj 7 6 6 1 2 1 1 7 7 14
10
3 = job completed
6 7 9
1 2 9
4 6 5 7 8 3 10
0 10 20 30 20
Precedence Constraints
Use of 3 Machines
2 jobs 1 2 3 4 5 6 7 8 9 10
1 pj 8 7 7 2 3 2 2 8 8 15
10
3 = job completed
6 7 9
1 2
4 5 8 3 10
6 7 9
0 10 20 30 21
Active Schedule
Example :
Consider a job shop with three machines and two jobs.
Q Job 1 needs 1 time unit on machine 1 and 3 time units on machine 2.
Q Job 2 needs 2 time units on machine 3 and 3 time units on machine 2.
Q Both jobs have to be processed last on machine 2.
22
Example of an Active Schedule
Machine 1 1
Machine 2 2 1
Machine 3 2
0 2 4 6 8 t
It is clear that this schedule is active as reversing the sequence of the two
jobs on machine 2 postpones the processing of job 2. However, the
schedule is neither nondelay nor optimal. Machine 2 remains idle until
time 2 while there is a job available for processing at time 1.
23
Semi active Schedule
Example:
Consider again a schedule with three machines and two jobs. The
routing of the two jobs is the same as in the previous example.
Q The processing times of job 1 on machines 1 and 2 are both equal
to 1.
Q The processing times of job 2 on machines 2 and 3 are both equal
to 2.
24
Example of a Semi active Schedule
Machine 1 1
Machine 2 2 1
Machine 3 2
0 2 4 6 8 t
Semi-active
X X Nondelay Active
All Schedules
27
Mergesort
6 4 8 1 7 3 9 6
1,4,6,8 3,6,7,9
1,3,4,6,6,7,8,9
28
Complexity Hierarchies of Deterministic
Scheduling Problems
Examples:
1 || Cj 1 || wj Cj Pm || wj Cj Qm | prec | wj Cj
29
Machine Environment
Rm FJc
Qm FFc Jm
Pm Fm Om
30
Processing Restrictions and Constraints
0 0 0 0 0 0 0 0 0
31
Objective Functions
wj Tj wj Uj
wj Cj Tj Uj
Cj Lmax
Cmax
32
Time Complexity of Algorithms
33
Problem Classification
polynomial NP hard
time solution
NP-hard strongly
ordinary sense NP-hard
pseudo
polynomial solution
34
Partition
1 t
Given positive integers a1,, at and b = j=1 a j ,
2
do there exist two disjoint subsets S1 and S2 such that
a
jSi
j =b
for i=1,2?
35
3-Partition
b b , j = 1, , 3t,
< aj <
4 2
and
3t
a
j=1
j = tb
a
jSi
j =b for i=1, , t?
37
Complexity of Makespan Problems
P2 || Cmax F2 || Cmax
Hard
Easy 1 || Cmax
38
Complexity of Maximum Lateness
Problems
39
Total Weighted Completion Time
wj
1 || wj Cj : Schedule the jobs in Smith order . pj
The Weighted Shortest Processing Time first (WSPT) rule is optimal for 1
|| wj Cj.
40
Total Weighted Completion Time
t
h k
S1: wj Cj = ...+ wh(t+ph) + wk(t + ph + pk)
t
k h
S2: wj Cj = ... + wk(t+pk) + wh(t + pk + ph)
41
Total Weighted Completion Time
l* satisfies
l*
l
wj
factor
of this wj
chain j=1
= max j=1
l* 1lk l
pj p j
j=1 j=1
l* determines the -factor of the chain 1, ... , k
42
Total Weighted Completion Time with
Chains
Proof concept
There is an optimal schedule that processes
all jobs 1, ... , l* in succession +
Pairwise interchange of chains
43
Example: Total Weighted Completion
Time with Chains
jobs 1 2 3 4 5 6 7
wj 6 18 12 8 8 17 18
pj 3 6 6 5 4 8 10
44
Example: Total Weighted Completion
Time with Chains
24
Q -factor of first chain (6 + 18) (3 + 6) = Job 2
9
w7 18 12
Q = < Job 3 is scheduled next.
p7 10 6
w 4 8 18
Q = < Job 7 is scheduled next and finally job 4
p4 5 10
45
Other Total Completion Time Problems
rp j
wj e
rp j
1 e
46
Maximum Cost
47
Algorithm:
Minimizing Maximum Cost
Q Step 1 Set J = , let Jc = {1, ... , n} and J be the set of all jobs
with no successors.
48
Minimizing Maximum Cost:
Proof of Optimality
Q At position k with completion time t, there is job j** in Sopt and job j* with
hj**(t) hj*(t) in S.
Job j* is at position k < k in Sopt.
49
Minimizing Maximum Cost:
Proof of Optimality
hj**
hj(Cj)
hj*
Cj*,Cj**
j* j**
hj(Cj) hj**
hj*
Cj*,Cj**
j** j*
50
Minimizing Maximum Cost:
Example
jobs 1 2 3
pj 2 3 5
hj (Cj ) 1 + Cj 1.2 Cj 10
Q Cmax = 2+3+5 = 10
51
Maximum Lateness
Proof:
Reduction of 3-Partition to 1 | rj | Lmax
integers a1, ... , a3t, b 3t
b b
n = 4t 1 jobs
4
< aj <
2
a
j =1
j = t b
rj = jb + (j 1), pj = 1, dj = jb + j, j = 1,..., t 1
rj = 0, pj = aj t +1, dj = tb + (t 1), j = t,..., 4t 1
52
Maximum Lateness
53
Optimal Solution for 1 | rj | Lmax
54
Optimal Solution for 1 | rj | Lmax
Finding bounds:
If there is a better schedule than the one generated by a branch then the
branch can be ignored.
1 | rj , prmp | Lmax can be solved by the
preemptive Earliest Due Date (EDD) first rule.
This produces a nondelay schedule.
The resulting schedule is optimal if it is nonpreemptive.
55
Branch and Bound Applied to
Minimizing Maximum Lateness
jobs 1 2 3 4
pj 4 2 6 5
rj 0 1 3 5
dj 8 12 11 10
1 3 4 3 2 Lmax = 5
0 4 5 10 15 17
57
Number of Tardy Jobs: 1 || Uj
58
Algorithm for Solving 1 || Uj
Q Step 3 If p
jJ
j d j* then go to Step 4,
otherwise
let k* denote the job which satisfies p k * = max (p .j )
jJ
Delete k* from J.
Add k* to Jd.
59
1 || Uj: Proof of Optimality
60
1 || Uj: Proof of Optimality
Proof by induction
The claim is correct for k=1.
We assume that it is correct for an arbitrary k.
61
1 || Uj : Example
jobs 1 2 3 4 5
pj 7 8 4 6 6
dj 9 17 18 19 21
Q Job 1 fits: J1 = {1}
Q Job 2 fits: J2 = {1, 2}
Q Job 3 does not fit: J3 = {1, 3 }
Q Job 4 fits: J4 = {1, 3, 4}
Q Job 5 does not fit: J5 = {3, 4, 5}
schedule order 3, 4, 5, (1, 2) Uj = 2
62
1 || wjUj : Example
Q Heuristic approach: Jobs are ordered by the WSPT rule (wj / pj).
jobs 1 2 3
pj 11 9 90
wj 12 9 89
dj 100 100 100
63
Total Tardiness
64
Total Tardiness
2. Any sequence that is optimal for the second instance is optimal for
the first instance as well.
65
Total Tardiness
66
Minimizing Total Tardiness
Q J(j, l, k): all jobs in the set {j, ..., l} with a processing time pk but job k
is not in J(j, l, k).
Recursive relation:
V ( J( j, l, k ), t ) = min ( V ( J( j, k '+ , k ' ), t ) + max( 0, Ck ' ( ) dk ' ) + V ( J(k '+ + 1, l, k ' ), Ck ' ( )))
68
Minimizing Total Tardiness
Example
jobs 1 2 3 4 5
pj 121 79 147 83 130
dj 260 266 266 336 337
Q k=3 (largest processing time) 0 2 = 5 3
Q V(J(4, 5, 3), 347) = 347 +83 336 +347 + 83 +130 337 = 317
for sequence 4, 5
69
Minimizing Total Tardiness
Example
0 + 81 + 317
V({1, ..., 5}, 0) = min 0 + 164 + 223 = 370
76 + 294 + 0
70
Total Weighted Tardiness
Q Dominance result
If there are two jobs j and k with dj dk , pj pk and wj wk,
then there is an optimal sequence in which job j appears before job k.
71
Total Tardiness
An Approximation Scheme
T ( A ) (1 + ) T (OPT )
j j
optimal schedule
72
Total Tardiness
An Approximation Scheme
a) n jobs can be scheduled with 0 total tardiness iff (if and only if) the
EDD schedule has 0 total tardiness.
Tmax (EDD) T (OPT) T (EDD)
j j n Tmax (EDD)
73
Total Tardiness
An Approximation Scheme
74
Total Tardiness
An Approximation Scheme
n(n + 1)
T j* (S) T j (OPT) T j (S) < T j* (S) + K
2
n(n + 1)
T j (S) T j (OPT) < K
2
2
Select K = Tmax (EDD)
n(n + 1)
T (S) T (OPT) T
j j max (EDD)
75
PTAS Minimizing Total Tardiness
K
Q Step 3 Apply Algorithm Minimizing Total Tardiness to
the rescaled data.
76
PTAS Minimizing Total Tardiness
Example
jobs 1 2 3 4 5
pj 1210 790 1470 830 1300
dj 1996 2000 2660 3360 3370
Q Tmax(EDD)=2230
If is chosen 0.02 then we have K=2.973.
77
Total Earliness and Tardiness
Objective Ej + Tj
This problem is harder than total tardiness.
A special case is considered with dj = d for all jobs j.
78
Total Earliness and Tardiness
Q Optimal Schedule:
Early jobs (J1) use Longest Processing Time first (LPT)
Late jobs (J2) use Shortest Processing Time first (SPT)
79
Minimizing Total Earliness and
Tardiness with a Loose Due Date
Assume that the first job can start its processing after t = 0 and p1 p2
... pn holds.
80
Minimizing Total Earliness and
Tardiness with a Tight Due Date
The problem becomes NP-hard if job processing must start at time 0 and
the schedule is nondelay.
It is assumed that p1 p2 ... pn holds.
81
Minimizing Total Earliness and
Tardiness with a Tight Due Date
82
Minimizing Total Earliness and
Tardiness
83
Minimizing Total Earliness and
Tardiness
84
Primary and Secondary Objectives
| | 1 (opt), 2
primary secondary
objective objective
85
Reversal of Priorities
dj = dj + z
86
Reversal of Priorities
n
for all l such that dk
j= 1
p j hold.
Q Proof: If the first condition is not met, the schedule will miss a
deadline.
A pairwise exchange of job l and job k (not necessarily adjacent)
decreases Cj if the second condition is not valid for l and k.
87
Minimizing Total Completion Time with
Deadlines
n
Q Step 1 Set k = n, = j=1
p j , J c = {1, ... , n}
Q Step 3 Decrease k by 1.
Decrease by pk*
Delete job k* from Jc .
88
Minimizing Total Completion Time with
Deadlines
jobs 1 2 3 4 5
pj 4 6 2 4 2
dj 10 12 14 18 18
= 18 d4 = d5 = 18
p 4 = 4 > 2 = p5
Last job : 4
= 18 p4 = 14 d3 = 14 14 d5 = 18 14
p5 = 2 = p3
Either job can go in the now last position : 3
= 14 p3 = 12 d5 = 18 12 d2 = 12 12
p 2 = 6 > 2 = p5
Next last job: 2
= 12 p2 = 6 d5 = 18 6 d1 = 10 12
p 1 = 4 > 2 = p5
Sequence: 51234 89
Multiple Objectives
Q Objectives: 1, 2
1 | | 1 1 + 2 2
90
Pareto-Optimal Schedule
1 0 and 2 1
1 | | 11 + 2 2 1| | 2 (opt ), 1
1 1 and 2 0
1 | | 11 + 2 2 1| | 1(opt ), 2
91
Pareto-Optimal Schedule
1 : C j
2 : Lmax
Lmax(EDD) Lmax(SPT/EDD)
92
Pareto-Optimal Solutions
93
Pareto-Optimal Solutions
Q Step 1 Set r = 1
Set Lmax = Lmax(EDD) and d j = d j + L max .
94
Pareto-Optimal Solutions
Q Step 5 Decrease k by 1.
Decrease by pj*..
Delete job j* from Jc.
If k 1, go to Step 3
Otherwise go to Step 6.
jobs 1 2 3 4 5
pj 1 3 6 7 9
dj 30 27 20 15 12
96
Pareto-Optimal Solutions
1 96, 2 5,4,3,1,2 32 29 22 17 14 1
2 77, 3 1,5,4,3,2 33 30 23 18 15 2
3 75, 5 1,4,5,3,2 35 32 25 20 17 1
4 64, 6 1,2,5,4,3 36 33 26 21 18 2
5 62, 8 1,2,4,5,3 38 35 28 23 20 3
6 60, 11 1,2,3,5,4 41 38 31 26 23 3
7 58, 14 1,2,3,4,5 44 41 34 29 26 Stop
Q 1 || 1 wj Cj + 2 Lmax
Extreme points (WSPT/EDD and EDD) can be determined in polynomial time.
The problem with arbitrary weights 1 and 2 is NP hard.
97
Parallel Machine Models
98
Pm || Cmax
Cmax (LPT) 4 1
Upper bound:
Cmax (OPT) 3 3m
The optimal schedule Cmax(OPT) is not necessarily known but the following
bound holds:
1 n
Cmax (OPT) p j
m j=1
99
Proof of the Bound
100
Proof of the Bound
n 1 n
1 1 1
C max (LPT) p n +
m
j=1
p j = p n (1
m
)+
m
p
j=1
j
n
1
4 1 Cmax (LPT)
1
pn (1 )
m j=1
pj
pn (1 1 m)
< m + +1
3 3m Cmax (OPT) Cmax (OPT) Cmax (OPT) Cmax (OPT)
jobs 1 2 3 4 5 6 7 8 9
pj 7 7 6 6 5 5 4 4 4
Q 4 parallel machines
Q Cmax(OPT) = 12 =7+5 = 6+6 = 4+4+4
Q Cmax(LPT) = 15 = (4/3 -1/(34))12
7 4 4
7 4
6 5
6 5
102
Other Makespan Results
C max (LIST) 1
Q Arbitrary nondelay schedule 2
C max (OPT) m
103
Heuristics Algorithms
104
Pm | pj = 1, tree | Cmax
5 starting jobs
3
r
H(Imax + 1 r) = N(Imax + 1 k)
2 k =1
105
CP for P2|pj=1,prec|Cmax
Cmax (CPM) 4
for two machines
Cmax (OPT) 3
1 4
almost fully connected
bipartite graph
2 5
3 6
1 1 5 2 1 5
2 2 3 4 6 3 6 4
4 3 106
LNS for P2|pj=1,prec|Cmax
1 2 3
4 5
1 4 1 2 3 1 2 3
2 6 5 4 6 5
4 3
107
Pm | pj = 1, Mj | Cmax
Every time a machine is freed, the job is selected that can be processed
on the smallest number of machines.
Least Flexible Job first (LFJ) rule
LFJ is optimal for P2 | pj = 1, Mj | Cmax and for Pm | pj = 1, Mj | Cmax when
the Mj sets are nested (pairwise exchange).
108
Pm | pj = 1, Mj | Cmax
Machines 1 2 3 4
LFJ 1 4 5 6
2 7 8
3
optimal 2 1 5 7
3 4 6 8
109
Makespan with Preemptions
m m processing time
x ij = pj x ij Cmax of each job is less
i=1 i=1 than makespan
n
x ij 0 non-negative
xij Cmax
j=1
execution
fragments
n
Q Lower bound: Cmax max p1, p j m = C * max
j=1
111
LRPT Rule
112
Vector Majorization
p
j=1
(j) (t) q(j) (t) holds for all k = 1, ..., n.
j=1
Example
Consider the two vectors p( t ) = (4, 8, 2, 4) and q( t ) = (3, 0, 6, 6).
Rearranging the elements within each vector and putting these in
decreasing order results in vectors (8, 4, 4, 2) and (6, 6, 3, 0).
It can be easily verified that p( t ) m q( t ).
113
LRPT Property
Induction hypothesis: The lemma holds for all pairs of vectors with
j=1p j (t) 1 and
n
total remaining processing time less than or equal to
j=1 q j (t) 1 , respectively.
n
p (t + 1) p (t) 1
j=1
j
j=1
j and q (t + 1) q (t) 1
j j
.
j=1 j=1
114
Result of the LRPT Rule
From time t+1 on, R uses LRPT as well due to our induction hypothesis.
Due to the LRPT property, R cannot produce a smaller makespan than
LRPT.
115
LRPT in Discrete Time
Consider two machines and three jobs 1, 2 and 3, with processing times
8, 7, and 6.
Cmax(LRPT)=Cmax(OPT)=11.
1 3 2 1
2 3 2 1 3
0 5 10 t
116
LRPT in Continuous Time
1 1, 2, 3
2 2, 3 1, 2, 3
0 5 10 t
117
Lower Bound for Uniform Machines
Qm | prmp | Cmax
note n!
m 1 n
p1 p1 + p 2
p j j p
,..., m1 , m
j =1 j =1
Cmax max , for v1 v2 vm
v v + v2
1 1 v j v j
j=1 j=1
n
Comparison: Pm | prmp | Cmax Cmax max p1, p j m
j=1
118
LRPT-FM
Q Continuous time:
All processing times are multiplied by a large number K.
The speeds of the machines are multiplied by a large number V.
119
Application of LRPT-FM
1 1
Machine 1
1 3
2 2
0 4 8
120
Cj without Preemptions (1)
Different argument for SPT for total completion time without preemptions
on a single machine.
C = n p
j (1) + (n1) p(2) + ......+ 2 p(n1) + p(n)
p(1) p(2) p(3) ..... p(n-1) p(n) must hold for an optimal schedule.
121
Cj without Preemptions (2)
122
wjCj without Preemptions
jobs 1 2 3
pj 1 1 3
wj 1 1 3
Q 2 machines and 3 jobs
Q Pm || wj Cj is NP hard.
123
Pm | prec | Cj
124
Other Cj Problems
Q The LFJ rule is optimal for Pm|pj=1,Mj|Cj when the Mj sets are nested.
Q The Rm||Cj problem can be formulated as an integer program
Although linear integer programming is NP-hard this program has a
special structure that allows a solution in polynomial time.
xikj=1 if job j is scheduled as the kth to last job on machine i.
O xikj are 0-1 integer variables.
m n n
Minimize kp x
i=1 j=1 k =1
ij ikj subject to
m n
x
i=1 k =1
ikj =1 j = 1,, n
x
j =1
ikj 1 i = 1,, m and k = 1,, n
125
Example Rm||Cj
jobs 1 2 3
P1j 4 5 3
p2j 8 9 3
Q 2 machines and 3 jobs
Q The optimal solution corresponds to x121=x112=x213=1. All other xikj are
0. The optimal schedule is not nondelay.
1 2 Machine 1
3 Machine 2
0 4 8
126
Cj with Preemptions (1)
127
Cj with Preemptions (2)
v1Cn = pn
v2Cn + v1(Cn-1 Cn ) = pn-1
v3Cn + v2(Cn-1 Cn) + v1(Cn-2 Cn-1) = pn-2
:
vnCn + vn-1(Cn-1 Cn) + v1(C1 C2) = p1
v1Cn = pn
v2Cn + v1Cn-1 = pn + pn-1
v3Cn + v2Cn-1 + v1Cn-2 = pn + pn-1 + pn-2
:
vnCn+vn-1Cn-1 + ... + v1C1 = pn + pn-1 + ... + p1
128
Cj with Preemptions (3)
This yields
v1Cn v1Cn
v2Cn + v1Cn-1 v2Cn + v1Cn-1
:
vnCn + vn-1Cn-1 + ... + v1C1 vnCn + vn-1Cn-1 + ... + v1C1
129
Cj with Preemptions (4)
130
Application of the SRPT-FM Rule
machines 1 2 3 4
vi 4 2 2 1
jobs 1 2 3 4 5 6 7
pi 61 46 45 40 34 16 8
C 7
=2 C2 = 5 C 3 = 11 C4 = 16 C5 = 21 C 6 = 26 C 7 = 35
Machine 1 7 6 5 4 3 2 1
Machine 2 6 5 4 3 2 1
0 5 10 15 20 25 30 35
t 131
Due Date Related Objectives
Qm | prmp | Lmax
Assume Lmax = z
Cj dj + z
set d =j dj + z (hard deadline)
Hard deadlines are release dates in the reversed problem.
Finding a schedule for this problem is equivalent to solving
Qm | rj, prmp | Cmax
If all jobs in the reverse problem finish at a time not smaller than 0, then
there exists a schedule for Qm | prmp | Lmax with Lmax z.
The minimum value for z can be found by a simple search.
132
Example P2 | prmp | Lmax
jobs 1 2 3 4
dj 9 8 5 4
pj 8 3 3 3
jobs 1 2 3 4
rj 0 1 4 5
pj 8 3 3 3
134
Unlimited Intermediate Storage
C i, jk = max(C i 1, jk , C i, jk 1 ) + p i, jk
i = 2, K , m k = 2, K , n
135
Directed Graph for Fm|prmu|Cmax
136
Example F4|prmu|Cmax
jobs j1 j2 j3 j4 j5
5 5 3 6 3
p1, jk
4 4 2 4 4
p 2, jk
4 4 3 4 1
p3, jk
3 6 3 2 5
p 4, jk
137
Directed Graph in the Example
5 5 3 6 3
4 4 2 4 4
4 4 3 4 1
3 6 3 2 5
Critical path
138
Gantt Chart in the Example
5 5 3 6 3
4 4 2 4 4
4 4 3 4 1
3 6 3 2 5
0 10 20 30
139
Reversibility
Two m machine permutation flow shops with n jobs are considered with
pij(1) = p(2)m+1-i,j .
pij(1) and pij(2) denote the processing times of job j in the first and the
second flow shop, respectively.
Sequencing the jobs according to permutation j1, ... , jn in the first flow
shop produces the same makespan as permutation jn, ... , j1 in the
second flow shop.
The makespan does not change if the jobs traverse the flow shop in the
opposite direction in reverse order (Reversibility).
140
Example Reversibility (1)
jobs j1 j2 j3 j4 j5
5 5 3 6 3 5 2 3 6 3
4 4 2 4 4 1 4 3 4 4
4 4 3 4 1 4 4 2 4 4
3 6 3 2 5 3 6 3 5 5
142
Example Reversibility (3)
5 2 3 6 3
1 4 3 4 4
4 4 2 4 4
3 6 3 5 5
0 10 20 30
143
F2||Cmax
144
Proof of Johnsons Rule (1)
145
Proof of Johnsons Rule (2)
Q Interchange of j and k
Starting time (C1l + p1j + p1k) of job h on machine 1 is not affected
Starting time of job h on machine 2:
C2k = max ( max ( C2l, C1l + p1j) + p2j, C1l + p1j + p1k) + p2k
= max ( C2l + p2j + p2k, C1l + p1j + p2j + p2k, C1l + p1j + p1k + p2k)
C2j = max (C2l + p2k + p2j, C1l + p1k + p2k + p2j, C1l + p1k + p1j + p2j)
Q Wik: amount of waiting time of job in position k between machines i and i+1
Q ik: difference between start time of the job in position k+1 on machine i+1
and completion time of the job in position k on machine I
ik
Iik Wi,k+1
Wik
m 1 n 1
p
i=1
i(1) + I
j=1
mj
149
MIP for Fm | prmu | Cmax (2)
m 1 n n 1
min x j1p ij + Imj
i =1 j = 1 j =1
subject to n
j=1
x jk = 1 k = 1, ... , n
n
k =1
x jk = 1 j = 1, ... , n
n n
I ik +
j= 1
x j, k + 1 p ij + W i, k + 1 W ik
j= 1
x jk p i + 1, j I i + 1, k = 0
151
Proportionate Flow Shop
3. The algorithm that produces an optimal schedule for 1 || hmax also results
in an optimal schedule for Fm | prmu, pij = pj | hmax.
5. The elimination criteria that hold for 1 || wjT also hold for
Fm | prmu, pij = pj | wjTj.
152
F2 || Cj
Q F2 || Cj is strongly NP hard
Fm | prmu | Cj is strongly NP hard
as sequence changes are not required in the optimal schedule for 2
machines
153
Slope Heuristic
Q Sequencing of jobs in p 2, jk 4 4 2 4 4
decreasing order of the slope p3, jk 4 4 3 4 1
index
Q Consider 5 jobs on 4 machines p 4, jk 3 6 3 2 5
with the following processing
times
A1 = -(3 x 5) (1 x 4) + (1 x 4) + (3 x 3) = -6
A2 = -(3 x 5) (1 x 4) + (1 x 4) + (3 x 6) = +3
Sequences 2,5,3,1,4
and 5,2,3,1,4 are A3 = -(3 x 3) (1 x 2) + (1 x 3) + (3 x 3) = +1
optimal and the
A4 = -(3 x 6) (1 x 4) + (1 x 4) + (3 x 2) = -12
makespan is 32.
A5 = -(3 x 3) (1 x 4) + (1 x 1) + (3 x 5) = +3
154
Flow Shops with Limited Intermediate
Storage (1)
D i, jk = max(D i 1, j k + p i, jk , D i + 1, jk 1 )
D m, jk = D m 1, jk + p m, jk
155
Flow Shops with Limited Intermediate
Storage (2)
i,j1k
0 p i + 1, j k
i+1,jk
p m , jn
m,j1 m,jn
157
Graph Representation of a Flow Shop
with Blocking
jobs j1 j2 j3 j4 j5
p 1, j k 5 5 3 6 3
p 2 , jk 4 4 2 4 4
p 3 , jk 4 4 3 4 1
p 4 , jk 3 6 3 2 5
5 5 3 6 3
5 0 5 0 3 0 6 0 3
4 4 2 4 4
4 0 4 0 2 0 4 0 4
4 0 4 0 3 0 4 0 1 4 4 3 4 1
3 0 6 0 3 0 2 0 5 3 6 3 2 5
0 10 20 30 158
Example: A Two Machine Flow Shop
with Blocking and the TSP (1)
cities 0 1 2 3 4
b,j 0 2 3 3 9
a,j 0 8 4 6 2
159
Example: A Two Machine Flow Shop
with Blocking and the TSP (2)
160
Special Cases of Fm | block | Cmax
Q Proof concept:
O Any SPT-LPT schedule matches the lower bound
O Any other schedule is strictly greater than the lower bound
161
SPT- LPT Schedule
162
Profile Fitting (PF)
163
Application of the PF Heuristic
j1 j2 j3 j4 j5
Q First job: job 3 (shortest total processing
jobs
time)
p 1, jk 5 5 3 6 3 Q Second job : job 1 2 4 5
p 2 , jk 4 4 2 4 4 idle time 11 11 15 3
job 5
p 3 , jk 4 4 3 4 1 Sequence: 3 5 1 2 4 makespan 32
p 4 , jk 3 6 3 2 5
makespan for unlimited storage
optimal makespan
Q First job: job 2 (largest total processing time)
Sequence: 2 1 3 5 4 makespan 35
164
Flexible Flow Shop with Unlimited
Intermediate Storage (1)
Q Proportionate case
FFc | pij = pj | Cmax
non preemptive preemptive
LPT heuristic LRPT heuristic
NP hard optimal for a single stage
165
Example: Minimizing Makespan with
LPT
Q p1 = p2 = 100 p3 = p4 = = p102 = 1
Q 2 stages: 2 machines at first stage
1 machine at second stage
1 2
1st stage
3 102 2 201
Optimal schedule
3 102 1 102 2 2nd stage
0 100 200 301
1 3 102
LPT heuristic
2 2
2 1 2 3 102
166
0 100 200 300 400
Flexible Flow Shop with Unlimited
Intermediate Storage (2)
Q FFc | pij = pj | Cj
Q SPT is optimal for a single stage and for any numbers of stage with a
single machine at each stage
Q SPT rule is optimal for FFc | pij = pj | Cj if each stage has at least as
many machines as the preceding stage
Q Proof:
Single stage SPT minimizes Cj and the sum of the starting times
(Cj pj)
c stages: Cj occurs not earlier than cpj time units after its starting time
at the first stage
Same number of machines at each stage:
SPT: each need not wait for processing at the next stage
n n
C
j=1
j
= sum of the starting times + cp j
j =1
167
Job Shops
Q The route of every job is fixed but not all jobs follow the same
route
Q J2 || Cmax
Q J1,2 : set of all jobs that have to be processed first on machine 1
Q J2,1 : set of all jobs that have to be processed first on machine 2
Q Observation: If a job from J1,2 has completed its processing on
machine 1 the postponing of its processing on machine 2 does not
matter as long as machine 2 is not idle.
Q A similar observation hold for J2,1
a job from J1,2 has a higher priority on machine 1 than any job
form J2,1 and vice versa
Q Determining the sequence of jobs from J1,2
F2 || Cmax : SPT(1) LPT(2) sequence
machine 1 will always be busy
Q J2 || Cmax can be reduced to two F2 || Cmax problems 168
Representation as a Disjunctive Graph G
170
Feasible Schedule
h,k i,k
172
Example: Disjunctive Programming
Formulation
Q 4 machines , 3 jobs
jobs machine 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
173
Branch and Bound Method to
Determine all Active Schedules
Q (i,j)
174
Generation of all Active Schedules
Q v: successor of v
Set D of the selected disjunctive edges at v G(D)
176
Lower Bound for Makespan at v
177
Application of Branch and Bound
10 8
1,1 2,1 3,1
4
0
0 8 3 5 6
U 2,2 1,2 4,2 3,2 V
0 3
1,3 2,3 4,3
4 7
178
Application of Branch and Bound
Level 1
Q Level 1:
= {(1,1), (2,2), (1,3)}
t( ) =min{0 + 10,0 + 8,0 + 4} = 4
i* = 1
' = {(1,1), (1,3)}
179
Schedule Operation (1,1) first
10 8
1,1 2,1 3,1
4
0 10
0 8 3 5 6
U 2,2 1,2 4,2 3,2 V
10
0 3
1,3 2,3 4,3
4 7
180
Schedule Operation (1,1) first
181
Schedule Operation (1,1) first
jobs 1 2 3
pij 10 3 4
rij 0 10 10
dij 12 13 14
182
Schedule Operation (1,1) first
jobs 1 2 3
pij 8 8 7
rij 10 0 14
dij 20 10 21
184
Application of Branch an Bound
Level 2
i* = 2
185
Branching Tree
No disjunctive arcs
Level 0 (2,1)
186
Continuation of the Procedure yields
1 1 3 2 (or 1 2 3)
2 213
3 12
4 23
Makespan: 28
187
Gantt Chart for J4 || Cmax
Machine 1 1 3 2
Machine 2 2 1 3
Machine 3 1 2
2 3
Machine 4
0 10 20 30
188
Shifting Bottleneck Heuristic
10 8
1,1 2,1 3,1
4
0
0 8 3 5 6
S 2,2 1,2 4,2 3,2 T
0 3
191
Shifting Bottleneck Heuristic
Q Iteration 2
Q 1 | rj | Lmax problem for machine 2
optimal sequence 2, 1, 3 Lmax(2)=1
Q 1 | rj | Lmax problem for machine 3
optimal sequences 1, 2 and 2, 1 Lmax(3) =1
Similar Lmax (4) = 0
Q Machine 2 is selected : M0 = {1, 2}
Cmax ({1,2}) = Cmax ({1}) + Lmax (2) = 27 + 1 = 28
Disjunctive edges are added to include machine 2
Resequencing for machine 1 does not yield any improvement
Q Iteration 3
No further bottleneck is encountered
Lmax(3)=0, Lmax(4)=0
machines 1 2 3 4
Overall makespan 28
sequences 1, 2, 3 2, 1, 3 2, 1 2, 3
192
Open Shops
Q O2 || Cmax max
(
C max p , p
n
j =1
1j
n
j=1
2j
)
Q In which cases is Cmax strictly greater than the right hand side of the
inequality?
Q Non delay schedules
Idle period only iff one job remains to be processed and this job is
executed on the other machine: at most on one of the two machines
Q Longest Alternate Processing Time first (LAPT)
Whenever a machine is free start processing the job that has the
longest processing time on the other machine
Q The LAPT rule yields an optimal schedule for O2 || Cmax with
makespan
n n
C max = max max( p 1j + p 2 j ), p 1j , p 2 j
j {1,...,n} j =1 j =1
193
Open Shops
Q Assumption
p1j p1k ; p2j p1k
longest processing time belongs to operation (1, k)
LAPT: Job k is started on machine 2 at time 0
Job k has lowest priority on machine 1
Q It is only executed on machine 1 if no other job is available for
processing on machine 1
a) k is the last job to be processed on machine 1
b) k is the second to last job to be processed in machine 1 and the
last job is not available due to processing on machine 2
Q Generalization: The 2(n-1) remaining operations can be processed in
any order without unforced idleness.
Q No idle period in any machine optimal schedule
194
Open Shops
195
General Heuristic Rule
M1 1 4 2 3
no unnecessary
M2 2 1 3 4 increase in makespan
196
Stochastic Models: Notation
197
Density and Distribution Function
Example
f(t)
0.5
0.25
0 2 4 6 8 10 t
F(t)
1.00
0.75
0.5
0.25
198
0 2 4 6 8 10 t
The Exponentional Distribution
f(t) F(t)
1-e-t
e-t
t t
c(t)
t
199
Stochastic Dominance
200
Stochastic Dominance
Chain of implications
201
Stochastic Dominance based on
Variance
h(t)P( X
t =0
1 = t ) h(t )P( X2 = t )
t =0
discrete case
for all convex functions h.
Notation: X1 cx X2
Chain of implications
More variable
Larger in variance
203
Increasing Convex Ordering
h(t)P( X
t =0
1 = t ) h(t )P( X2 = t )
t =0
discrete case
for all increasing convex functions h.
Notation: X1 icx X2
204
Lemma: Increasing Convex Ordering
205
Classes of Policies
206
Classes of Policies
207