MILP Models for Scheduling of the Batch Annealing Process ...
Transcript of MILP Models for Scheduling of the Batch Annealing Process ...
MILP Models for Scheduling of theBatch Annealing Process:
The Deterministic Case
MACC, Dept. of Chem. Eng.McMaster University
Sungdeuk Moon and Andrew N. Hrymak
1
Outline of Presentation
❒ Introduction❒ Batch Annealing Process❒ Consideration of the Process❒ Minimize the Makespan of the Process❒ Formulation of MILP scheduling model❒ Solution Methods❒ Examples of the Batch Annealing Process❒ Conclusions
2
Introduction
❒ Scheduling of Batch Annealing Process➨ Heat-treatment step in the steel industry➨ Equipment is shared between certain bases.
● Crane, Covers, Furnaces, and Coolers➨ Scheduling objective
● to maximize utilization of the shared equipment➨ To decide a processing sequence with minimum
total processing time (makespan)
3
❒ In this study➨ The original batch annealing process is modified
as a general scheduling problem.➨ Two MILP models for scheduling of the batch
annealing process are formulated.➨ Solution methods are developed.
● Definition of two groups of the equipment● Definition of time windows in the time horizon of
the crane➨ For large size problems, optimal or near-optimal
scheduling solutions can be obtained.
4
Batch Annealing Process
❒ Annealing➨ An important step for heat treatment➨ Effects
● remove stresses● soften steel by altering mechanical properties● refine the grain structure● produce a definite microstructure
5
❒ Utilities used in the process➨ Overhead crane - to move coils and all utilities
● Several tools• Hook to move a furnace or a cooler• Coil tongs to move a coil• Magnet to move a convector plate• Hood lifter to move a cover
➨ Steel cover - to prevent oxidation and increaseheat transfer
➨ Furnace - to heat the covered coil stack➨ Cooler
❒ The steel coils, cover, furnace, and cooler areplaced on a Base
6
NB
Bases
1 2
3Covers
Furnaces
Coolers
4
Coil Stacks
12
NS
F
C
1, , N...
1, , N...
...
5 6
To OtherProcess
N -1B
...
Figure 1. Processing flow of a batch annealing process.
...
ConvectorPlates
JobOrders
Equipment
7
Empty Base Loading Coilsand Plates
LoadingCover
LoadingFurnace
Heating andSoaking
UnloadingFurnace
NaturalCooling
LoadingCooler
ForcedCooling
UnloadingCooler
UnloadingCover
Unloading Coilsand Plates
Empty Base
Figure 2. General cycle of batch annealing operations .
AddingInert Gas
OverheadCrane
Coil TongsHood Lifter
Hook
Magnet
Coil
ConvectorPlate
Cover
Furnace
Cooler
8
❒ The operating recipe in the batch annealingprocess➨ 20 stages for a complete annealing cycle for a
three-coil stack
Base
Natural CoolingAdding Inert Gas
Time
1 3 5 72 4 6 8 9 10 11 12 13 14
15 17 19
16 18 20
: Coil : Cover : Furnace : Cooler
: Heating and Soaking : Cooling
Loading or Unloading of
Status of
: Plate
Figure 3. Gantt chart of the processing recipe to complete a batch annealing cycle in which a stack of three coils is annealed.
9
Consideration of the Process
❒ Example➨ two bases, two covers, a crane, a furnace, and a
cooler
10
❒ It is difficult to consider status of all bases andequipment (the crane, the furnace, the cooler)
❒ Transform the real operations into a suitablescheduling problem➨ Bases (fixed) as Materials (movable)➨ Equipment as Processing Units (fixed)
: Coil : Cover : Furnace : Cooler
: Heating and Soaking : Cooling
Loading or Unloading of
Status of
Natural CoolingAdding Inert GasTime
: Plate
Cooler11 12 13
Furnace8 9 10
Crane1 3 5 72 4 6 8 10 11 13 14 16 18 20
15 17 19
: Changing Crane Tool
11
❒ Modified process➨ The same as the original batch annealing process➨ Characteristics
● Re-entered flow (re-use the crane)● Sequence-dependent setup time (crane tools must be
changed with depending on the next stage to beoperated)
● Transfer time (during the movement of the furnaceand the cooler)
➨ Easy to understand and analyze all process steps➨ Easy to formulate a mathematical model
12
Minimize the Makespan
❒ Idle time in each unit❒ Waiting time in each base
❒ Need an effective scheduling algorithm to getthe minimum makespan
13
Formulation of An MILPScheduling Model (MILP-1)
❒ Why do we use an MILP model?➨ Which stage must be operated now ?➨ LP cannot treat a production sequence
●
●
➨ Two equations must be simultaneously considered
0≥− ji TeTs
0≥− ij TeTs
14
➨ Introduce binary variable Xij
● If Xij = 1 and others zero
● Express as an MINLP eq.• Not guarantee the optimal
● Express as an MILP eq.
0≥− ij TeTs
)1( ijij XUTeTs −−≥−
0)( ≥− ijij XTeTs
=otherwise 0
stageby followed is stage if1 ijX ij
15
❒ Define time slots in each unit➨ To get a suitable production sequence in each unit➨ Two coordinates are defined.
● (i, l) coordinate - stage l of base i● (j, k) coordinate - time slot k in unit j
➨ The idea is very simple.● The sequence of the time slots in each unit● Two heating stages of bases in a furnace
Base 1 Base 2
Furnace
3 3
(1, 3) (2, 3)
(F, 1) (F, 2)
(i, l) coordinate
(j, k) coordinate
16
❒ Define binary variable Xiljk➨ To assign a stage l of base i to a time slot k in the
corresponding unit j
=otherwise 0
unit in slot at time operated is base of stage if1 jkilX iljk
17
❒ Definition of start and end times
❒ Timing between stages for each baseililil PTsTe +=
),(or01 liATeTs ilil ≥−+
iLlIi ∈∈∀ ,
iLlIi ∈∈∀ ,
18
❒ Timing between stages of bases in each UNIT
❒ Slot assignment
iLlIi ∈∈∀ ,1=∑ ∑∈ ∈il jJj Kk
iljkX
jil KkJj ∈∈∀ ,1=∑∑∈ ∈Ii Ll
iljki
X
'1'''' )2( lljkliiljkilli SUXXUTeTs +−−−≥− +
{ } { }jjjiij kKkjLlLlIii −∈∈∈∈∈∀ ,crane,',,', '
19
❒ Movement of the furnace or cooler➨ the furnace (l = 3, j = F) for each base
)2( 1F3'F342' +−−−≥− kikiii XXUTeTs
F,', KkIii ∈∈∀
20
❒ Consider several furnaces and coolers➨ modify the slot assignment constraint
➨ Add an assignment for earlier slot
jil KkJj ∈∈∀ ,1≤∑∑∈ ∈Ii Ll
iljki
X
∑ ∑∑∑∈ ∈
+∈ ∈
≥Ii Ll
jkliIi Ll
iljkii
XX' '
1'''
{ } { }jj kKkJj −∈−∈∀ ,crane
21
❒ The case of the operations with two furnace➨ 4 operating configurations➨ 2 time slots for each furnace
22
❒ The Proposed MILP Model (MILP-1)➨ The objective function: minimize the makespan
subject toilTeMS ≥min Last, =∈∀ lIi
iLlIi ∈∈∀ ,1=∑ ∑∈ ∈il jJj Kk
iljkX
jil KkJj ∈∈∀ ,1≤∑∑∈ ∈Ii Ll
iljki
X
ililil PTsTe += iLlIi ∈∈∀ ,
∑ ∑∑∑∈ ∈
+∈ ∈
≥Ii Ll
jkliIi Ll
iljkii
XX' '
1'''
ililil ATeTs ≥−+1{ }ii lLlIi −∈∈∀ ,
'1'''' )2( lljkliiljkilli SUXXUTeTs +−−−≥− +
{ } { }jjjiij kKkjLlLlIii −∈∈∈∈∈∀ ,crane,',,', '
)2( 1''1,1',' ++− −−−≥− jkliiljklili XXUTeTs{ } { } { }jj kKkJjlliiIii −∈−∈∈≠∈∀ ,crane,cooling heating,',,',',
{ } { }jj kKkJj −∈−∈∀ ,crane
23
Solution Methods❒ The proposed MILP-1 model slow for small
size problem (2 bases and 5 units).❒ Solution algorithm
➨ Divide the crane and equipment into two groups● The first group - the crane.● The second group - all equipment except the crane.
➨ Solve the scheduling problem of the second group● By a new MILP (MILP-2) model
➨ Divide the whole time horizon of the crane intoseveral time windows according to the schedulingsolution for the second group
➨ Solve the problem of each time window● By the proposed MILP-1 model
24
❒ Definition of two groups❒ Definition of time-windows in the crane
Crane
2
Cooler
Group 1
Group 2Furnace
1
2
1
Timewindow 31
45 6 82
Solve by MILP-2 Model
7 9
Solve by MILP-1 Model
25
❒ Formulation of the MILP-2 Model➨ Obtain sequences in each furnace and cooler➨ 4 possible paths for heating and cooling
● Two furnaces and two coolers
➨ Define a new binary variable
=otherwise 0
path has which slot toassigned is base if1 pkiYikp
Furnace 1
Furnace 2
Cooler 1
Cooler 2
(a) Path 1 (b) Path 2
(d) Path 4(c) Path 3Furnace 1
Furnace 2
Cooler 1
Cooler 2
26
➨ The Objective Function: to minimize the makespan min
subject tojkTUeMS ,≥ JjKk ∈∈∀ ,
1=∑ ∑∈ ∈Kk Pp
ikpk
Y Ii ∈∀
1=∑ ∑∈ ∈Ii Pp
ikpk
Y Kk ∈∀
ijIi Pp
ikpjkjk PYTUsTUek
∑ ∑∈ ∈
=− ,, JjKk ∈∈∀ ,
jiIi Pp
ikpjk AYTUsk
,, ∑ ∑∈ ∈
≥ FJjKk ∈∈∀ ,
∑∑ +
−−≥−
ijiikp
iikpjkjk AYYUTUeTUs ,,', 1 kCF PpJjJjKk ∈∈∈∈∀ ,',,
0,,1 ≥−+ jkjk TUeTUs { } JjkKk ∈−∈∀ ,
27
❒ Solution Method for solving MILP1 problems➨ Pre-Assignment of each slot k to a specific path p
➨ The optimal or near-optimal solutions can beobtained.
Furnace 1
Furnace 2
Cooler 1
Cooler 2
Path p=1 p=4 p=2 p=3 p=1 p=4Slot k=1 k=2 k=3 k=4 k=5 k=6
28
Star
t
Def
ine
spac
e of
the
batc
h an
neal
ing
prob
lem
Solv
e M
ILP-
2 fo
r the
sepr
oble
ms
Pre-
orde
ring
path
s to
eve
ntsl
ots,
suc
h as
1'-2
'-1'-2
'-...
or 1
'-1'-.
..-2'
-2'-.
..
Sele
ct th
e be
st in
tege
rso
lutio
n am
ong
the
prob
lem
s
Dec
ompo
se o
vera
ll tim
e ho
rizon
of th
e cr
ane
into
sm
alle
r sub
-hor
izon
s(In
terv
als)
(H ->
h(N
), n
= 1)
Solv
e th
e pr
opos
ed M
ILP
mod
el(M
ILP-
1) fo
r an
inte
rval
h(n
)of
the
cran
e (n
= n
+1)
n =
N?
Inte
rpre
t the
sol
utio
n ba
sed
onth
e ba
lanc
e of
the
inte
rval
exp
ansi
on
Ter
min
al c
ondi
tion
?
End
NO
YES
NO
YES
Def
ine
prod
uctio
n pa
ths
in fu
rnac
es a
nd c
oole
rs
29
Examples of the BatchAnnealing Process
❒ Processing and Setup times are deterministic.❒ Crane has two hooks
➨ A coil and a plate can be moved simultaneously.➨ To reduce the number of total operating stages
❒ The process consists of a crane, 2-3 furnaces,2-3 coolers, 12 bases.
30
❒ Setup time
❒ Processing time
l l’ C oil and P la te C over Furnace C ooler
C o il and P la te 0.36 0.2 0.2
C over 0 .3 0.1 0.1
Furnace 0.25 0.15
C ooler 0 .25 0.15
Loading or Unloading forCoil and Plate
Bases 1 2 3 4
GasAddition
Heatingand
Soaking
NaturalCooling
ForcedCooling
A 0.2 0.2 0.3 37.0 5.0 41.0
B 0.2 0.2 0.2 0.6 44.0 25.0 64.0
C 0.2 0.2 20.0 40.0 18.0
D 0.2 0.3 33.0 15.0 37.0
E 0.2 0.2 0.4 46.0 26.0 32.0
F 0.2 0.2 0.2 39.0 17.0 48.0
G 0.2 0.2 0.2 0.3 58.0 9.0 44.0
H 0.2 0.2 0.2 48.0 14.0 50.0
I 0.2 0.2 0.4 40.0 22.0 31.0
J 0.2 0.2 32.0 35.0 36.0
K 0.2 0.2 0.2 0.2 0.3 26.0 24.0 25.0
L 0.2 0.2 0.2 55.0 11.0 48.0
*The loading or unloading times for equipment can be applicable to all bases as following: Covers - 0.3, Furnaces - 0.4, Coolers - 0.2
31
❒ Comparison with a similar model (Pinto andGrossman, 1995) - two bases
➨ Computational effort was very small.● Pinto’s model could not obtain the optimal solution
within the computational limit, 5000 CPU seconds.● The proposed model is quite efficient
Model no. ofeq.
No. ofvar.
Discretevar.
Iterations CPU time(sec)*
Makespan
Proposed 562 207 67 139,285 645.42 120.0
Pinto 438 253 67 756,249 5,000.00 124.0
* Seconds on IBM RS/6000C with GAMS/OSL.
32
❒ Example 1; 12 bases, 2 furnaces and 2 coolers➨ Makespan = 302.6 hrs.
Base A
Base B
Base C
Base D
Base E
Base F
Base G
Base H
Base I
Base J
Base K
Base L
1.66 41.46 86.26 107.06 139.86 186.66 245.46
2.06 35.86 73.66 122.46 178.26 219.06 245.86
187.26 223.66 256.06 300.46
111.2662.86 175.66 194.06 242.46 273.86 299.26
136.4695.0657.66
Makespan = 302.61
Crane(Unit 1)
Furnace(Unit 2)
Furnace(Unit 3)
Cooler(Unit 4)
Cooler(Unit 5)
33
❒ Example 2; 12 bases, 3 furnaces and 3 coolers➨ Makespan = 225.8 hrs.
Base A
Base B
Base C
Base D
Base E
Base F
Base G
Base H
Base I
Base J
Base K
Base L
2.56
Crane (Unit 1)
Furnace (Unit 2)
Furnace (Unit 3)
Furnace (Unit 4)
Cooler (Unit 5)
Cooler (Unit 6)
Cooler (Unit 7)
2.96
3.36
40.36 61.16 109.96 168.76
47.76 74.56 107.36 163.16
37.06 76.96 117.76 164.56
72.76
45.36
52.06
93.96 142.36 178.76 223.16
137.16 155.56 186.96 190.56 222.96
89.46 98.56 123.56 174.36 222.76
Makespan = 225.81
34
Stochastic Effects
❒ On-line scheduling (Ishii and Muraki, 1997)
Control System!
Scheduler!
Process!
On-line Data!
Control Parameters!Process Data!
35
Stochastic Effects - Rolling Horizon
❒ Reactive scheduling, rolling horizon approach(Rodrigues et al, 1996; Cott and Macchieto,1989)
❒ Perturbation in process steps requiringrescheduling
❒ Retain a subset of operations, recalculate therest of the schedule. Shift start times.
❒ Look ahead to maintain feasibility -feedforward to predict batch times
❒ Problem of infeasibilities if horizon not longenough
36
Stochastic Effects - Other approaches
❒ Global optimization (Harding and Floudas,1997)
❒ Multiple simulation replicates to developrobust schedules (Honkomp, Mockus,Reclaitis, 1997)
❒ Rule-based reactive rescheduling (Kim andLee, 1997)
❒ Stochastic optimization with probabilisticuncertainties (Orcun et al, 1996)
37
Conclusions
❒ We reviewed the characteristics of the batchannealing process.
❒ To model the process, each base is consideredas a material and utilities (crane, furnaces, andcoolers) as the process units.
❒ The changing time for the crane tools isconsidered as a setup time
38
❒ MILP models for the scheduling of the batchannealing process are developed.➨ The performance of the proposed model is better
than it of the Pinto’s model.➨ Good solution methods are proposed to obtain a
feasible solution as fast as possible.
❒ To develop a scheduling model for the batchannealing process of the stochastic case, basedon the knowledge obtained from the study ofthe deterministic case
39
❒ Comparison of Makespan and CPU times➨ 2 furnaces and 2 coolers
No.of Bases2 4 6 8 10 12 14
Mak
espa
n
140
160
180
200
220
240
260
280
300
320
Model w/o solution methodsModel with solution methods
CPU
tim
e (s
econ
ds)
1
10
100
1000
10000
MakespanCPU Time
Time limitation of the CPU usage5000
40
❒ Comparison of Makespan and CPU times➨ 3 furnaces and 3 coolers
No.of Bases2 4 6 8 10 12 14
Mak
espa
n
120
140
160
180
200
220
240
Model w/o solution methodsModel with solution methods
CPU
tim
e (s
econ
ds)
1
10
100
1000
10000
MakespanCPU Time
Time limitation of the CPU usage5000