Beruflich Dokumente
Kultur Dokumente
0 , 1 = =
hik ihk
o o
NI VERSI TY OF U DORTMUND
Starting and ending times for
allocated machines
Starting and ending dates for tasks i on machines k
Extra linear equations are needed to express
nonlinear products of binary and real variables
ik i ik
ik i ik
e e
s s
=
=
:
:
NI VERSI TY OF U DORTMUND
Restrictions on binary variables
Each task must be processed on 1 machine
If both tasks i and h are processed on machine k then
either i is scheduled before h or vice versa
1 =
k
ik
hk ik hik ihk
o o . = +
NI VERSI TY OF U DORTMUND
Sequencing restrictions
Tasks i, h processed on the same machine k must
not overlap each other
Set iff task i is finished before task h
)) ( 1 (
)) ( 1 ( ) 1 (
hk ik ihk hk ik
hk ik ihk hk ik
M m s e
M M s e
o
o
. >
. + s
1 =
ihk
o
NI VERSI TY OF U DORTMUND
Objective function
Minimize too late and too early job completions
{ }
{ } | o |
o
>>
+ =
, 0 , max
0 , max min
i
i i
i
i i
e deadline
deadline e J
NI VERSI TY OF U DORTMUND
Additional heuristics
1. Non-overtaking of non-overlapping jobs
2. Non-overtaking of equal-typed jobs (M. Bozga)
3. Earliest Due Date (EDD)
hk ik h i
s e release deadline s < then if
hk ik h i h i
s e type type deadline deadline s = < then and if
hk ik h i
s e deadline deadline s < then if
NI VERSI TY OF U DORTMUND
2-step solution procedure
1. Apply heuristics 3 (EDD) by fixing some
variables
2. Solve the problem
3. Relax and fix some variables according to
heuristics 1+2
4. Solve the problem again reusing previous solution
as initial integer solution
o
o
NI VERSI TY OF U DORTMUND
How is the model influenced
by the heuristics?
N: #Tasks, M: #Machines
Most binary variables are variables.
Worst case: # variables = O(N
2
M) (!!!)
(i,h=1...N, k=1...M)
# real variables = ~2NM
But:
When using heuristics, many binary variables are fixed
and disappear from the model.
We want to reduce O(N
2
M) to O(NM)! How that?
ihk
o
ihk
o
NI VERSI TY OF U DORTMUND
A little example:
1 machine, 4 jobs, 1 task/job
Job# 1 2 3 4
Release 0 1 1 3
Deadline 2 3 4 5
Type 1 1 2 2
ihk
o
* * *
* * *
* * *
* * *
Matrix of
variables
i=1
2
3
4 h=1 2 3
4
NI VERSI TY OF U DORTMUND
Heuristics #1
non-overlapping jobs
Job# 1 2 3 4
Release 0 1 1 3
Deadline 2 3 4 5
Type 1 1 2 2
ihk
o
* 1 *
* 1 *
* * *
0 0 *
Matrix of
variables
i=1
2
3
4 h=1 2 3
4
NI VERSI TY OF U DORTMUND
Heuristics #2
equal-typed jobs
Job# 1 2 3 4
Release 0 1 1 3
Deadline 2 3 4 5
Type 1 1 2 2
ihk
o
1 1 *
0 1 *
* * 1
0 0 0
Matrix of
variables
i=1
2
3
4 h=1 2 3
4
NI VERSI TY OF U DORTMUND
Heuristics #2
EDD
Job# 1 2 3 4
Release 0 1 1 3
Deadline 2 3 4 5
Type 1 1 2 2
ihk
o
1 1 1
0 1 1
0 0 1
0 0 0
Matrix of
variables
i=1
2
3
4 h=1 2 3
4
NI VERSI TY OF U DORTMUND
Empirical studies on the Axxom
Case Study
model scaled from 4 up to 29 jobs
Jobs in job table sorted according to deadlines
2-stage solution procedure (heuristics 3, 1+2)
CPU usage limited to 20+20 minutes
Measurement of
solution time,
equations, real and binary variables,
objective values and bounds
Software: GAMS+Cplex
Hardware: 1.5 GHz Athlon, 1 GB Ram
NI VERSI TY OF U DORTMUND
Objective values
lower
bounds
integer
solutions
gap
NI VERSI TY OF U DORTMUND
Solution times
20 min.
limit was
active for
>10 jobs
NI VERSI TY OF U DORTMUND
Variables and Equations
equations
total
variables
binary
variables
~50% of all
Variables!
NI VERSI TY OF U DORTMUND
Gantt chart: 29 jobs
2h of computation time, first integer solution after few min.(node 173)
NI VERSI TY OF U DORTMUND
22 jobs, moving horizon procedure
Horizon: 7 jobs, 16 steps a 25 minutes, 300 MHz machine
NI VERSI TY OF U DORTMUND
Conclusions from empirical
studies
EDD heuristics at 1. stage helps finding integer solutions quickly
(even for large instances!)
2. stage usually cannot find better solutions (in short time)...
but the number of binary variables is significantly reduced from
O(N
2
M) to O(NM) without restricting the problem too much
for <20 jobs very good gaps can be expected in short time
first integer solutions within few minutes for the 29 jobs instance
efficiency comparable to TA model from M. Bozga (VERIMAG)...
but quantitative infos about integer solutions from the gaps
A decomposition strategy helps improving the efficiency and the
quality of results