milp models for scheduling of the batch annealing process

41
MILP Models for Scheduling of the Batch Annealing Process: The Deterministic Case MACC, Dept. of Chem. Eng. McMaster University Sungdeuk Moon and Andrew N. Hrymak

Upload: others

Post on 16-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: MILP Models for Scheduling of the Batch Annealing Process

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

Page 3: MILP Models for Scheduling of the Batch Annealing Process

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)

Page 4: MILP Models for Scheduling of the Batch Annealing Process

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.

Page 5: MILP Models for Scheduling of the Batch Annealing Process

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

Page 6: MILP Models for Scheduling of the Batch Annealing Process

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

Page 7: MILP Models for Scheduling of the Batch Annealing Process

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

Page 8: MILP Models for Scheduling of the Batch Annealing Process

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

Page 9: MILP Models for Scheduling of the Batch Annealing Process

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.

Page 10: MILP Models for Scheduling of the Batch Annealing Process

9

Consideration of the Process

❒ Example➨ two bases, two covers, a crane, a furnace, and a

cooler

Page 11: MILP Models for Scheduling of the Batch Annealing Process

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

Page 12: MILP Models for Scheduling of the Batch Annealing Process

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

Page 13: MILP Models for Scheduling of the Batch Annealing Process

12

Minimize the Makespan

❒ Idle time in each unit❒ Waiting time in each base

❒ Need an effective scheduling algorithm to getthe minimum makespan

Page 14: MILP Models for Scheduling of the Batch Annealing Process

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

Page 15: MILP Models for Scheduling of the Batch Annealing Process

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

Page 16: MILP Models for Scheduling of the Batch Annealing Process

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

Page 17: MILP Models for Scheduling of the Batch Annealing Process

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

Page 18: MILP Models for Scheduling of the Batch Annealing Process

17

❒ Definition of start and end times

❒ Timing between stages for each baseililil PTsTe +=

),(or01 liATeTs ilil ≥−+

iLlIi ∈∈∀ ,

iLlIi ∈∈∀ ,

Page 19: MILP Models for Scheduling of the Batch Annealing Process

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,',,', '

Page 20: MILP Models for Scheduling of the Batch Annealing Process

19

❒ Movement of the furnace or cooler➨ the furnace (l = 3, j = F) for each base

)2( 1F3'F342' +−−−≥− kikiii XXUTeTs

F,', KkIii ∈∈∀

Page 21: MILP Models for Scheduling of the Batch Annealing Process

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

Page 22: MILP Models for Scheduling of the Batch Annealing Process

21

❒ The case of the operations with two furnace➨ 4 operating configurations➨ 2 time slots for each furnace

Page 23: MILP Models for Scheduling of the Batch Annealing Process

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

Page 24: MILP Models for Scheduling of the Batch Annealing Process

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

Page 25: MILP Models for Scheduling of the Batch Annealing Process

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

Page 26: MILP Models for Scheduling of the Batch Annealing Process

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

Page 27: MILP Models for Scheduling of the Batch Annealing Process

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 ∈−∈∀ ,

Page 28: MILP Models for Scheduling of the Batch Annealing Process

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

Page 29: MILP Models for Scheduling of the Batch Annealing Process

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

Page 30: MILP Models for Scheduling of the Batch Annealing Process

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.

Page 31: MILP Models for Scheduling of the Batch Annealing Process

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

Page 32: MILP Models for Scheduling of the Batch Annealing Process

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.

Page 33: MILP Models for Scheduling of the Batch Annealing Process

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)

Page 34: MILP Models for Scheduling of the Batch Annealing Process

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

Page 35: MILP Models for Scheduling of the Batch Annealing Process

34

Stochastic Effects

❒ On-line scheduling (Ishii and Muraki, 1997)

Control System!

Scheduler!

Process!

On-line Data!

Control Parameters!Process Data!

Page 36: MILP Models for Scheduling of the Batch Annealing Process

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

Page 37: MILP Models for Scheduling of the Batch Annealing Process

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)

Page 38: MILP Models for Scheduling of the Batch Annealing Process

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

Page 39: MILP Models for Scheduling of the Batch Annealing Process

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

Page 40: MILP Models for Scheduling of the Batch Annealing Process

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

Page 41: MILP Models for Scheduling of the Batch Annealing Process

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