Title: MILP Approach to the
1MILP Approach to the
Axxom Case Study
Sebastian Panek
2Introduction
- 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...
3Overview
- Short problem description
- MILP formulation
- Solution procedure
- Emprical studies
- Conclusions
4Short problem description
5Additional problemcharacteristics
allowed interval
- Additional restrictions for pairs of tasks
- start-start restrictions
- end-start restrictions
- end-end restrictions
- Parallel allocation of mixing vessels
- Machine allocation
6Problem simplifications
- Labs are non-bottleneck resources, no exclusive
resource allocation is needed (provided by Axxom) - Individual colors for lacquers gt many different
products - No batch merging is possible
- Only few jobs exceeding max. batch capacity
- Batch splitting is not considered
7General 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
1
1
Task 1
State A
State C
1
Task 2
State B
1
8General 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
9Our 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
10MILP formulation of thecontinuous 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
11Starting and ending times forallocated 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
12Restrictions 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
13Sequencing restrictions
- Tasks i, h processed on the same machine k must
not overlap each other - Set iff task i is finished before
task h
14Objective function
- Minimize too late and too early job completions
15Additional heuristics
- Non-overtaking of non-overlapping jobs
- Non-overtaking of equal-typed jobs (M. Bozga)
- Earliest Due Date (EDD)
162-step solution procedure
- Apply heuristics 3 (EDD) by fixing some
variables - Solve the problem
- Relax and fix some variables according to
heuristics 12 - Solve the problem again reusing previous solution
as initial integer solution
17How is the model influencedby the heuristics?
- N Tasks, M Machines
- Most binary variables are variables.
- Worst case variables O(N2M) (!!!)
- (i,h1...N, k1...M)
- real variables 2NM
- But
- When using heuristics, many binary variables are
fixed and disappear from the model. - We want to reduce O(N2M) to O(NM)! How that?
18A little example1 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
4
h1
2
3
Matrix of variables
i1
2
3
4
19Heuristics 1non-overlapping jobs
- Job 1 2 3 4
- Release 0 1 1 3
- Deadline 2 3 4 5
- Type 1 1 2 2
4
h1
2
3
Matrix of variables
1
i1
1
2
3
0
0
4
20Heuristics 2equal-typed jobs
- Job 1 2 3 4
- Release 0 1 1 3
- Deadline 2 3 4 5
- Type 1 1 2 2
4
h1
2
3
Matrix of variables
1
1
i1
0
1
2
1
3
0
0
0
4
21Heuristics 2EDD
- Job 1 2 3 4
- Release 0 1 1 3
- Deadline 2 3 4 5
- Type 1 1 2 2
4
h1
2
3
Matrix of variables
1
1
1
i1
0
1
1
2
0
0
1
3
0
0
0
4
22Empirical studies on the AxxomCase Study
- model scaled from 4 up to 29 jobs
- Jobs in job table sorted according to deadlines
- 2-stage solution procedure (heuristics 3, 12)
- CPU usage limited to 2020 minutes
- Measurement of
- solution time,
- equations, real and binary variables,
- objective values and bounds
- Software GAMSCplex
- Hardware 1.5 GHz Athlon, 1 GB Ram
23Objective values
integer solutions
gap
lower bounds
24Solution times
20 min. limit was active for gt10 jobs
25Variables and Equations
equations
50 of all Variables!
total variables
binary variables
26Gantt chart 29 jobs
2h of computation time, first integer solution
after few min.(node 173)
2722 jobs, moving horizon procedure
Horizon 7 jobs, 16 steps a 25 minutes, 300 MHz
machine
28Conclusions from empiricalstudies
- 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(N2M) to O(NM)
without restricting the problem too much - for lt20 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