A batch sizing and scheduling problem... - LAAS-CNRS

A batch sizing and scheduling
problem...
...on parallel machines with different speeds, maintenance operations,
setup times and energy costs.
IESM, 24 octobre 2015, Seville, Spain
M. Nattaf1, C. Artigues1, P. Lopez1, R. Medina2,
V. Parada3 and L. Pradenas2
LAAS,CNRS – Toulouse, France
Universidad de Concepción, Chile
3
Universidad de Santiago, Chile
1
2
Outline
●
Problem description
●
A simple example
●
Mixed Integer Linear Program
●
A simplified model
●
A matheuristic
●
Experimental results
2
Problem Definition
●
●
Chilean steelball factory where metal bars are turned
into balls with different diameters.
Each ball type has a demand that should be fullfilled
before the common deadline.
3
Line 1
Large
size
Line 2
Line 3
Medium size
Small
size
Production Lines
●
3 Production lines producing different ball types.
●
Each line has a different speed for each diameter.
4
Batch sizing
D1
Line 1
Line 2
Line 3
●
D2
D4
D3
D5
D3
D2
D5
D1
D4
Each demand can be divided in batches and
scheduled on different production lines (possibly at the
same time, e.g. D2).
5
Setup times
●
Sequence dependent setup times :
D4
Line 2
0
2
D4
Line 2
0
●
S34
2
D3
S32
3
5
S42
D2
4
D2
7
D5
9 10
S23
6
S25
D3
8
D1
13 14
S35
10
S51
D5
11
S51
14 15
16
D1
17
Exchanging D2 and D3 increases the production end
time.
6
Maintenance Operation
●
One maintenance operation has to be scheduled on
each machine, it can not be splitted.
●
No setup times between batches and maintenance.
●
Maintenance are considered as batch :
Maintenance
Duration
Authorized machine
Speed
Number of batch
Setup time
Batch
Demand
Only 1
Equal to 1
1 authorized
Equal to 0
7
Electrical cost
D1
Line 1
Line 2
Line 3
D2
D4
D3
D3
D2
D5
D5
D1
D4
Peak 1
Peak 2
Deadline
●
Minimize maximum demand during peak hour.
●
Minimize tardiness and then total consumption.
8
Electrical cost
D1
Line 1
Line 2
Line 3
D4
D2
M2
D3
D5
M1
D3
D2
D5
M3
Peak 1
D1
D4
Peak 2
Deadline
●
Minimize maximum demand during peak hour.
●
Minimize tardiness and then total consumption.
9
Literature review
●
Batch sizing and scheduling problem in a Chilean
steelball factory with:
–
●
Unauthorized machines, non-uniform parallel machines,
setup times, maintenance operation and energy costs
minimization.
Literature :
–
[Xiao et al., 2013]: no machine speed consideration
–
[Xing and Zhang, 2000] : no setup time
–
[Beraldi et al., 2008]: no energy related objective
–
[German et al., 2015] : no batch sizing
10
A simple example
●
Three ball types on two
lines
●
D₁=10, D₂=12 and D₃=6
●
M₁=2 and M₂=1
D1
Line 1
Line 2
For D₁, the prod. on
line 1 is 4 and 6 on
line 2
M1
D1
0
●
D2
M2
2
D3
3
Peak 1
4
6
Common
deadline
T=6
11
A simple example
●
Machine consumption : 10 MW
●
Total consumption: 90 MW
●
–
On line 1 : 2.10+2.10 = 40 MW
–
On line 2 : 2.10+3.10 = 50 MW
Maximum demand on peak hour: 10 MW
D1
Line 1
Line 2
M1
D1
0
D2
M2
2
D3
3
Peak 1
4
6
Common
deadline
T=6
12
Motivation of the MILP
●
MILP vs heuristic
–
●
Time-indexed formulation vs event-based
–
●
Propose a correct formulation and then design a
matheuristic
Large planning horizon and possible non integer values
Sequencing and affectation variables vs event
variables
–
Difficult to model consumption peak
13
Mixed Integer Linear Formulation
●
Event-based formulation : scheduling variables
–
corresponds to the time of event e.
–
is equal to 1 iff batch
on line k and 0 otherwise.
starts at event e
–
is equal to 1 iff batch
on line k and 0 otherwise.
ends at event e
M1
L1
L2
M2
14
Mixed Integer Linear Formulation
●
Event-based formulation : production and consumption
variables
–
is the production of batch
–
is the electrical consumption of batch
.
M1
L1
L2
.
M2
15
Mixed Integer Linear Formulation
●
Event-based formulation : peak variables
–
is equal to 1 iff machine k is on at event e.
is equal to 1 iff event e occurs before the end of
–
peak hour h.
●
–
is equal to 1 iff event e+1 occurs before the
beginning of peak hour h.
–
is equal to 1 iff event e is in a peak hour on
machine k.
Maximum demand computation :
16
Some constraints of the formulation
●
Setup time constraints :
with :
–
–
–
●
the set of events
the set of machine
the set of batches
To model the setup times, we need
constraints.
17
Disadvantages of the formulation
●
The model is VERY big.
For, 5 ball types, 2 batches, 3 lines and 2 peak hours
the model has :
●
–
More than 150.000 constraints
–
More than 1400 variables (more or less 1240 binary
variables)
We need a simpler model.
18
A simplified model
●
Idea 1: remove all peak variables and constraints.
–
●
Idea 2: replacing the global events
events .
–
●
minimization of the total consumption and tardiness only
by local machine
Reduces the number of constraints used to model setup
time, task duration…
For the same instances, only 1430 constraints and
630 variables (300 binary).
19
A Matheuritic
●
Step 1 : Uses a simple heuristic to obtain a feasible
solution.
–
●
●
1 batch, schedule the next batch on the least loaded machine
Step 2 : Gives this solution to the simplified model to
optimize consumption.
Step 3 : Uses this solution as a basis for the « global »
model to optimize both consumption and maximum peak.
20
Experimental Results
●
●
●
Instance of 10 different ball types with number of
authorized batches of 2, 3 and 4 per ball type.
Solve with CPLEX 12.6
Objective : minimization of tardiness and total
consumption (simple model, TL: 50s) t.w. maximum
demand during peak hour (exact model, TL : 3000s).
21
Experimental Results
●
●
●
Instance of 10 different ball types with number of
authorized batches of 2, 3 and 4 per ball type.
Solve with CPLEX 12.6
Objective : minimization of tardiness and total
consumption (simple model, TL: 50s) t.w. maximum
demand during peak hour (exact model, TL : 3000s).
22
Conclusion and perspectives
●
Two models introduced.
–
●
●
One exact and one optimizing only a part of the objective
A matheuristic was presented.
–
Using the simplifed model together with an exact model
–
Obtain energy consumption and tardiness reduction on real-life
instance
Perspectives :
–
Column generation model
–
Better heuristics to find the first solution
–
Exact method based on CP or on a dedicated Branch-andBound
23