Académique Documents
Professionnel Documents
Culture Documents
Dispatching Rules
Composite Dispatching Rules
Adaptive search
Dynamic Programming
(Integer) Linear Programming
Cutting plane methods
Branch and Bound
Beam Search
2
min c1 x1 c 2 x 2 ... c n x n
objective function
subject to :
a11 x1 a12 x 2 ... a1n x n b1
constraints
Matrix form:
min c T x
Ax b
x0
where:
x, c: n-vector
A:
m,n-matrix
b:
m-vector
variable
restrictions
or:
1 x1
max
1 x 2
subject to :
2 1 x1 4
x
3 4 2 12
x1 0
x 2 0
4
x2 6
max x1 x 2
subject to :
2x1 x 2 4
5
4
x1 x 2 6
(objective)
3x1 4 x 2 12
x j 0 ( j 1,2)
solution
space
3x1 4 x 2 12
6
x1
5
General IP-formulation:
Ax b
x integer ( x Z )
max x1 x 2
subject to :
2x1 x 2 4
x1 x 2 6
(objective)
3x1 4 x 2 12
x j Z ( j 1,2)
2 optimal solutions!
1
0
6
x1
8
restrictions:
x M y (M is an upperboundon x)
x ky
y 0,1
10
restrictions (i): C( x i ) k i y i c i x i
y i 0,1
11
x1 x 2 5 Y
x 0, Y 0
12
goal
a x
j
bt y t
j ,t
variation
x j,t 0, y t free
solution:
yt y y
min y t y t
yt y y
a x
j
j ,t
bt y y
x j,t 0, y t 0, y t 0
13
min w j x j
x k x j pk
x k x j pk M1 y
or
x j xk p j
x j x k p j M2 (1 y )
y {0,1}
14
IP example
nonpreemptive single machine, total weighted
completion time (App. A.3)
model definition:
x jt 1, if job j completes at time t, and 0 otherwise
Cmax-1
t x
t 0
jt
min imize
w
j1
t 0
t x jt (objective function)
15
IP example (cont.)
Restriction: all jobs must be completed once:
Cmax-1
x
t 0
jt
t p j
x
s t
js
n t p j
16
IP example (cont.)
Complete IP-model:
minimize
n Cmax-1
w
j 1
t x jt
t 0
subject to :
Cmax-1
x
t 0
jt
1 (for j 1, , n)
n t p j
x
j 1 s t
js
1 (for t 0, , Cmax - 1)
nCmax
integer
variables
17
IP example (cont.)
Additional restriction: precedence constraints
Model definition: SUCC(j) = successors of job j
job j must be completed before all jobs in SUCC(j):
C max 1
tx
t 0
jt
kt
C max 1
tx
t 0
C max 1
tx
t 0
jt
C max 1
tx
t 0
kt
(for k SUCC(j), j 1, , n)
18
Integer programming
solution techniques
Heuristic vs. explicit approach:
trade-off between solution quality and computation time
trade-off between implementation effort/costs and yield
(i.e. profits gained from solution quality improvement)
Integer programming
solution techniques (cont.)
Explicit methods; 3 categories:
1. dynamic programming
2. cutting plane (polyhedral) methods
3. branch and bound
or: hybrid methods (combination of the above)
Commercial IP solvers usually use a
combination of heuristics and 2, 3
20
Dynamic programming
Problem divided into stages x t (t 0, , T)
Each stage can have various states it
A recursive objective function is used to
iterate through all states and all stages
(forwards or backwards)
F0 (i0 ) c 0 (constant)
21
STEP 1:
STEP 2:
Level 0
Level 1
child nodes
...
child nodes
...
Level 2
Level 0
Level 1
x k x j pk
x j xk p j
...
24
25
Beam search
26
1
4
0
8
2
2
1
12
3
6
3
11
4
5
5
10
(1,?,?,?)
Level 0
(?,?,?,?)
(2,?,?,?)
(3,?,?,?)
(4,?,?,?)
Level 1
r(3)
r(4)
Jobs
p(j)
r(j)
d(j)
1
4
0
8
2
2
1
12
3
6
3
11
4
5
5
10
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
d(4)<d(3)
d(3)<d(2)
(?,?,?,?)
LB=5
infeasible:
(1,?,?,?)
(1,3,4,3,2)
LB=6*
=UB (1,2,?,?)
(1,2,4,3)
(1,2,4,3)
LB=7*
=UB (2,?,?,?) (3,?,?,?)
LB=5*=UB
(1,3,?,?) (1,3,4,2)
DONE
(4,?,?,?) Level 1
Jobs
p(j)
r(j)
d(j)
1
4
0
8
2
2
1
12
3
6
3
11
(1,3,4,2)
29
4
5
5
10
x1 0
x1 1
x 1 0,
x1 1,
x2 3
x2 2
obj: 3
x2 6
obj: 3
5
4
x1 x 2 6
(objective)
2
x2 2
x2 3
x1 1,
x 1 0,
x2 2
x2 3
obj: 3
obj: 3
1
0
6
x1
30
I j (t)
wj
pj
WSPT
rule
max( d j p j t ,0 )
K p
MS rule
look-ahead parameter:
K = 4.5 + R (R 0.5)
K = 6 - 2R (R 0.5)
R dmax dmin / C max = due date range factor
31
Jobs
p(j)
d(j)
w(j)
w(j)/p(j)
1
10
4
14
1.4
2
10
2
12
1.2
3
13
1
1
0.1
4
4
12
12
3
(1,?,?,?)
(2,?,?,?)
(3,?,?,?)
(4,?,?,?)
I j (t)
wj
pj
max( d j p j t ,0 )
K p
wj
pj
(j 1,2,3)
32
Jobs
p(j)
d(j)
w(j)
w(j)/p(j)
1
10
4
14
1.4
2
10
2
12
1.2
3
13
1
1
0.1
4
4
12
12
3
(?,?,?,?)
(1,?,?,?)
(2,?,?,?)
(3,?,?,?)
(4,?,?,?)
33
(1,?,?,?)
(2,?,?,?)
(3,?,?,?)
(4,?,?,?)
4 nodes
analyzed
(filter width=4)
discarded
34
UB=408
436
(1,?,?,?)
UB=480
(1,2,?,?)
(2,?,?,?)
706
(1,3,?,?)
440
814
(3,?,?,?)
408
(1,4,?,?)
UB=408
(1,4,2,3)
best solution
(4,?,?,?)
436
(2,1,?,?)
(2,3,?,?)
554
436
(1,4,3,2)
(2,4,?,?)
(2,4,1,3)
608
(2,4,3,1)
35