Sie sind auf Seite 1von 28

NI VERSI TY OF U DORTMUND

MILP Approach to the


Axxom Case Study
Sebastian Panek
NI VERSI TY OF U DORTMUND

Introduction
What is this talk about?
MILP formulation for the scheduling problem provided
by Axxom (lacquer production)
Whats new since our meeting in Sept. 02?
Improved model and solution procedure, new results
What about modeling TA as MILP?
This work is still in progress...
NI VERSI TY OF U DORTMUND

Overview
Short problem description
MILP formulation
Solution procedure
Emprical studies
Conclusions

NI VERSI TY OF U DORTMUND

Short problem description
NI VERSI TY OF U DORTMUND

Additional problem
characteristics
Additional restrictions for pairs of tasks:
start-start restrictions


end-start restrictions


end-end restrictions

Parallel allocation of mixing vessels
Machine allocation
allowed
interval
NI VERSI TY OF U DORTMUND

Problem simplifications
Labs are non-bottleneck resources, no exclusive
resource allocation is needed (provided by Axxom)

Individual colors for lacquers => many different
products
No batch merging is possible

Only few jobs exceeding max. batch capacity
Batch splitting is not considered

NI VERSI TY OF U DORTMUND

General approaches
For short-term scheduling problems in the processing
industry [Kondili,Floudas, Pantelides, Grossmann,...]:
State Task Networks (STN)
Resource Task Networks (RTN)
Early formulations: discrete time
Recent work: continuous time

Task 1
Task 2
State A
State B
State C
1
1
1
1
NI VERSI TY OF U DORTMUND

General approaches (2)
Advantages:
Batch splitting/merging
Mass balances
Individual modeling of products
Restrictions on storages
Disadvantages:
Continuous and discrete time models tend to require many
points of time, number difficult to estimate
Very detailed view of the problem not always necessary
Problem: large models, difficult to solve

NI VERSI TY OF U DORTMUND

Our approach: sequencing based
continuous time model
Continuous time
Individual representation of time for machines
Focused on tasks and machines
Products (states) are not considered explicitly
Fixed batch sizes (no merging and splitting of
batches)
Grows according to the number of tasks and not to
the time horizon
NI VERSI TY OF U DORTMUND

MILP formulation of the
continuous time model
Real variables for starting and ending times of tasks


Binary variables for the machine allocation
task i is processed on machine k :

Binary variables for the sequencing of tasks
task i is processed before task h on machine k :
i i
e s ,
1 =
ik

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

Das könnte Ihnen auch gefallen