Computational Approaches for Efficient Schedulingof Steel Plants as Demand Response Resource
Xiao Zhang⇤ , Gabriela Hug† , Zico Kolter‡ , and Iiro Harjunkoski§⇤ Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, USA† Information Technology and Electrical Engineering, ETH Zurich, Switzerland‡ Computer Science, Carnegie Mellon University, Pittsburgh, USA§ ABB Corporate Research, Ladenburg, Germany

Abstract—Demand response is seeing increased popularity
worldwide and industrial loads are actively taking part in thistrend. As a host of energy-intensive industrial processes, steel
plants have both the motivation and potential to provide demand
response. However, the scheduling of steel plants is very complex
and the involved computations are intense. In this paper, we
focus on these difficulties and propose methods such as adding
cuts and implementing an application-specific branch and boundalgorithm to make the computations more tractable.
Index Terms—Branch and bound algorithm, mixed integer
programming, demand response, steel plant scheduling, resourcetask network.

I. I NTRODUCTION
Demand response is becoming increasingly important in theelectric power system to support the integration of variable
renewable generation, thereby contributing to cutting down the
carbon footprint of the electric power system. Load shifting
allows for reducing peak load and adjusting the load to thelevel of available generation. Demand response can also help
in balancing the intermittent wind and solar power by utilizing
the flexibility provided by loads. With its great potential toenhance the power system’s operational flexibility, demand response has gained significant attention in recent years [1]–[3].
Demand response can be provided by residential, commercial,and industrial loads. For example, there have been discussions
and studies about demand response provided by buildings [4],storages [5], data centers [6], [7], residential areas [8], aluminum smelters [9], [10], air separation units [11], as well as
steel plants [12].
However, for many potential players, especially the smallerloads in the residential and commercial areas, it may not be
profitable to participate in demand response, as the payments
are usually not high enough for them to justify the investment
in implementing the platforms for participation. Meanwhile,industrial loads, given their large energy consumption, areideal candidates for providing demand response as they haveboth the potential to provide demand response as well as
the motivation to do so [13]–[15]: most industrial plants are
already equipped with the infrastructures for control, measurement, and communications that are required for demand response providers; many industrial loads are able to offer large,
fast, and accurate adjustments in their power consumption;
The authors would like to acknowledge the financial support by ABB.

the demand response programs are also financially appealing
to the industrial plants, especially to those energy-intensive
plants who treat demand response as an opportunity to increase
their profits by making full use of their assets. The range ofindustrial loads that can support the operation of the electric
power system include aluminum smelting pots, steel melting
furnaces, fans, freezers, pumps, etc.
On the other hand, the computations associated with industrial loads demand response provision are often intense. The
goal of the industrial plants is to optimize the schedule ofproduction activities while fitting their power consumption to
the need of power system operation. However, the industrial
production process is usually very complex with multiple
process stages, and the raw material needs to be processedby each of these stages following the correct sequence. There
are many critical constraints involved in the production, e.g.
the intermediate products need to be processed quickly toprevent expensive reheating and the industrial plants also needto satisfy the orders/needs from their customers with respect
to the final products quantity and quality. Consequently, theindustrial scheduling is usually a large scale optimization
problem with a lot of integer variables that is difficult to solve.
There has been a significant number of papers studying theefficient modeling and computing for industrial scheduling,with the intention to address the computational difficulties.
For example, in [16], the long-term scheduling of steel plants
is studied, and instead of formulating one large, intractable
MIP problem, a decomposition strategy is proposed to generatesmaller problems that can often be solved to optimality.
In [17], an alternative continuous time formulation focused on
the relative positions of tasks and time periods is presented,
which improves significantly the computation time of thesteel manufacturing short-term scheduling problem discussed
in [18]. In [19], a resource-task network is used to provide a generic modeling framework for short-term production
scheduling under energy constraints, and three alternative
process models for steel plant scheduling are proposed, inwhich a trade-off is observed between accurate representationof steel manufacturing and computational performance.
In this paper, we focus on the optimal scheduling of steel
plants to provide demand response and propose approaches
to overcome the associated computational difficulties. The
scheduling models proposed in [19] with a finer time grid
resolution cannot be solved to optimality within hours bycommercial solvers, as the number of binary variables andFigure 1. Production process of steel manufacturing [19]constraints increase with the number of time slots. However, afiner time grid is desired to accurately represent the production
activities. In this paper, we propose methods to make therelevant computations more tractable.
The remaining of the paper is organized as follows: Section
II introduces the considered scheduling problem. Section III
explains the resource task network modeling framework andintroduces the mathematical formulations for the schedulingproblem. In Section IV, the computational approaches arepresented. The case study of a typical steel plant is discussed
in Section V to demonstrate the effectiveness of the proposed
approaches, based on which the conclusions are drawn in
Section VI.
II. S TEEL P LANTS S CHEDULING
Figure 1 displays the typical process of steel manufacturing.
There are four process stages and each process stage is referred
to by the operation equipment in this stage, i.e. electric arc
furnaces (EAF), argon oxygen decarburization units (AOD),
ladle furnaces (LF), and continuous casters (CC). The input
to the process is the raw material, which is solid metal scrap
recycled from abandoned steel products such as discarded cars.
The output from the process is the final products, i.e. theslabs. The EAF melts the raw material into molten metal; theAOD removes the impurities and reduces the carbon content
from the molten metal; the LF further refines the molten metal
and transport the molten metal to the CC; the CC casts therefined molten metal into slabs with different shapes. The
final products have different characteristics such as grade, slab
width, thickness, etc. according to the needs of the customers.
Different final products require different chemical ingredientsand different processing times for each of the process stages.
The process equipment in the first three stages operate inbatch mode, i.e. these equipment (e.g. furnace) can process acertain amount of metal at one time, and that quantity of metal
remains consistent along different stages. Each such amountof metal is termed as a heat. By heat, we could quantify thethroughput of the steel plant. For instance, a medium sizedsteel plant is able to deliver 20 heats of final products within
one day. Unlike the first three stages, the casting stage operates
continuously. However, due to the extreme conditions in thecaster, it can only process a limited number of heats, after
which it needs maintenance such as changing the caster moldand tundish before further operation, to ensure desired steel
quality and dimension. Hence, the steel plant operators usuallycombine several heats sharing the same or very similar grade
characteristics and shape requirements to form a campaign (agroup of heats), and cast these heats together. The casters aremaintained between casting two campaigns. The casting orderfor the heats within one campaign should follow certain rules
and the casting sequence must not be interrupted.
The steel manufacturing is highly energy-intensive but it
also has the flexibility in scheduling its production activities
to follow a desired energy consumption curve over time.
Besides, a steel plant can also adjust its loading level byswitching the taps of the transformers that supply power for its
equipment, which enables the provision of spinning reserve.
However, steel manufacturing has been recognized as one of
the most difficult industrial processes for scheduling, as the
production of steel is a large-scale, multi-product, multi-stage
batch process that involves parallel equipment and criticalproduction-related constraints.
III. M ATHEMATICAL M ODELINGThe resource-task network (RTN) modeling framework has
been widely adopted to model and optimize the scheduling ofindustrial plants. Same as in [12], the following mathematicalformulations for steel plant scheduling are developed based on
the RTN modeling framework proposed in [19].
A. Resource-task Network Modeling
The RTN modeling framework is able to explicitly represent
the complex chemical processes by mathematical formulations
in a systematic way. The RTN of a steel plant is illustrated
in Fig. 2, in which the resources are denoted by circles andthe tasks are represented by rectangles. The resource is a very
general concept and it includes all entities that are involvedin the production such as equipment units, intermediate andfinal products, and utilities such as electricity. The set ofresources is denoted by S, i.e. S = {EAF, AOD, LF, CC} [{EAsh , EAdh , ALsh , ALdh , LCsh , LCdh , Hh |h 2 H} [ {EL} with
H as the set of heats to produce. Intermediate products at
different locations (start or destination of the correspondingtransfer) are treated as different resources and are specified bysuperscripts s or d, respectively. For example, ALdh represents
the intermediate product between stage AOD and LF that has
already been transferred to the LF stage and is waiting to beprocessed.
We use a discrete time grid with uniform slot width of t0 and
we use T to denote the total number of time slots. A matrix
Y 2 R|S|⇥T is used to denote the available amounts of theseresources at all time slots, in which |S| is the size of S. Eachelement in Y is a continuous variable, ys,t , which represents
the available amount of resource s at time t. For example,
yEAF,t = 3 means there are three furnaces available at timeslot t; yEL,t = 50 MWh means 50 MWh of electric energy isused by the steel plant during time slot t. Due to their physicalmeanings, most ys,t can actually only take discrete values
such as 0, 1, or 2. However, they are modeled as continuous
variables since a larger number of discrete variables generally
leads to a problem that is more difficult to solve. As discussed
later the constraints in the optimization model will enforce
these variables to take discrete values.

AOD

EAF
E1

EAs1

EH

s

EA H

TranEA1

EAd1

TranEAH

d

EA H

LF

A1

ALs1

TranAL1

ALd1

L1

LCs1

TranLC1AHs

TranALH

ALdH

LH

LCsH

TranLCH

AL H

ELCasting Group 1
includes heats H1-H2

LCd1
LCd2

Cast_G1_CC1
H1

C1

H2

C2
Setup

CC1
Resource

Task

LCdH

Cast_GG_CC1
HH
Cast_GG_CC2

CC2

Figure 2. Resource task network for a steel plant.

t0 = 15 min

1

2

3

ª -1
«
«
«
« 0
«
«¬ 20

0

0
...

1 º EAF
»

0

0

»

...

E

...

...

1 »» EAh

...

'h=

T =0

...

In Fig. 2, the networks of how each task interacts with eachresource are represented by arrows. For each task k 2 K,
its interaction parameter k is a |S|-by-(⌧k + 1) matrix thatquantifies how much task k consumes/generates of each of theresources as it proceeds, in which ⌧k denotes its duration as anumber of time slots. For example, its element ks,1 quantifies
the interaction between task k and resource s at the beginningof the first time slot during this task, and ks,⌧k +1 quantifies
the interaction at the end of the last time slot. A zero elementmeans that there is no interaction, and k is very sparseas a task typically only interacts with a few resources. To
better understand the interaction parameters, an example for

EAhs

EL
Power = 80 MW
Duration = 45 min...

The starting times of all the tasks are denoted by a |K|-by-T
binary matrix X, in which |K| is the size of K. Each elementof X is a binary variable, xk,t , which represents whether task
k starts at time slot t. For example, xEh ,t = 1 means theprocessing of heat h in stage EAF starts at time slot t; only
one out of xEh ,t , t = {1, . . . , T } is non-zero since this task
only takes place once.

EAF

...

There are seven kinds of tasks in total: four operational tasks
at each of the four stages and three transfer tasks between thestages. For all kinds of tasks except for the casting task inthe last stage, the number of tasks is equal to the numberof heats to produce; these tasks are denoted by the task typewith the corresponding heat as subscript, e.g. Eh stands forthe melting of heat h in the EAF stage, and EAh (without
superscript s or d) denotes the transfer of heat h between
stage EAF and AOD. Meanwhile, the casting task is denoted
as Cg,u which stands for the casting of group g by caster unit
u. As mentioned before, the tasks in the CC stage are executedby group instead of by heat. Besides, since generally different
casters are designed for casting different slabs, we need to
specify the caster for the casting task. In other words, Cg1 ,u1
is different from Cg1 ,u2 , e.g. their processing durations might
be different due to the different casters. We use K to denotethe set of tasks, i.e. K = {Eh , EAh , Ah , ALh , Lh , LCh |h 2H} [ {Cg,u |g 2 G, u 2 CC}, with G and CC as the set of
casting campaign groups and available casters, respectively.

20

20

0 »¼

s

»

EL [MWh]

Figure 3. Illustration of interaction parameters for a melting task.

a melting task is given in Fig. 3: the duration of the melting
task is 45 minutes and the time slot width is t0 = 15 minutes.
This task interacts with resources EAF, EL and EAsh , hence
its interaction parameter matrix are all zeros except for thesethree rows. At the beginning of the task, it uses one furnace
so it reduces EAF by one. Meanwhile at the end of the task, it
releases that furnace hence EAF is increased by one; EAsh isalso increased by one as it has just been generated. Besides,
the melting task consumes electric energy at every time slot
within its duration.
B. Mathematical Formulations
For the presentation of the following computational approaches, here we summarize the relevant formulations givenin [12].
1) Resource Balance: The resource balance equation describes the interaction between each resource and its relevanttasks, as in⌧kXXkys,t = ys,t 1 +s,✓ · xk,t ✓ 8s 2 S¬{EL} , 8t (1)k2K ✓=0in which the value of resource s at time slot t is equal toits previous value at t 1 adjusted by the amounts generated/consumed by all the tasks, and S¬{EL} stands for the setof all the resources except EL. Only nonzero ks,✓ implies

actual interaction. Besides, the interaction occurs at time slott only if task k starts ✓ earlier than t (xk,t ✓ = 1), with ✓  ⌧k .
Equation (1) enforces the continuous variable ys,t to only take
integer values, because: (1) the interaction parameters ks,✓ forthese resources are integers, (2) xk,t ✓ are binary variables,and (3) the initial values for the resources are integers (zeroor the number of available equipment).
Similarly, the electric energy usage of the steel plant iscalculated as
yEL,t =⌧kXX

k2K ✓=0kEL,✓ · xk,t ✓

8t

(2)

T =
T =1

8u 2 CCyHh ,T = 1(3)

in which XK¬CC denotes X without the rows involving thecasting tasks; XCu denotes the rows of X corresponding tocasting tasks by caster u; T means a vector of 1s with length
T and stand for vectors of 1s with appropriate lengths.
Of course, only one of Cg1 ,u1 and Cg1 ,u2 will take place asgroup g1 should be casted exactly once.
3) Waiting Time: In steel plant operations, the transfer
tasks are usually enforced to be executed immediately after
the completion of its preceding processing task. This can be
enforced by setting
YEAs = 0(4)
in which YEAs stands for the rows of Y corresponding to
the intermediate products EAs ; 0 is a zero matrix with thesame dimensions as YEAs . The above constraint implies that
all intermediate products EAs do not stay at any time slot.
Similar constraints apply for the intermediate products ALs
and LCs .
To simplify the problem, we assume the transfer tasks are
independent of the specific heats and the exact locations of
the units. The transfer times are denoted as wEA , wAL , andwLC , and the maximum allowable transportation times which
prevent adverse cooling effects are denoted as w̄EA , w̄AL , andw̄LC . The maximum waiting time constraint for intermediate
products should be satisfied, in order to avoid the expensive
reheating:(w̄EA wEA )YEAdh T (5)t0
in which YEAd stands for the rows of Y corresponding tointermediate products EAd before the transfer. The left sideof the constraint corresponds to the number of time slots
during which the intermediate product is waiting before being
processed. Similar constraints apply for intermediate products
ALd and LCd .

8h

(6)

in which yHh ,T stands for the availability of the final productfor heat h at the end of the scheduling horizon.
5) Objective Function: The objective of the scheduling is
to minimize the total electricity cost of the steel production.
Given the energy price vector EL 2 RT , the overall optimization problem is formulated asminimizeX

where kEL,✓ is the electricity used by task k at the ✓-th timeslot within its execution.
2) Task Execution: The following constraints make surethat each heat is processed exactly once by all types of tasks
within the scheduling horizon, as in
XK¬CC
0
X Cu

4) Product Delivery: The final products should be available
at the end of the time horizon, which is enforced by setting

YEL ELsubject to (1) (6)xs,t 2 {0, 1}, ys,t 2 [0, ȳs ], 8s, 8t

in which ȳs is the upper bound for the available amount of
resource s. For example, ȳEAF equals to the number of EAF
furnaces and ȳEL equals to the summation of energy usage by
all the equipment units in one time slot.
IV. C OMPUTATIONS OF S TEEL P LANTS S CHEDULINGIn the RTN-based scheduling model described above, thecomputation difficulty largely depends on the problem scale
and the time resolution. A 5-minute resolution is desired toaccurately model the production activities, but will result in a
MIP problem with thousands of binary variables which cannot
be solved to optimality even within hours by commercial MIP
solvers. Meanwhile, steel plant operators cannot afford such along computation time, as they constantly need to make fast
decisions to adapt the production plans. We try to improve thecomputations in the following two ways: from the modelingaspect, we add additional constraints as cuts to reduce thesearch space for the MIP problem, and from the algorithmic
aspect, we design a tailored branch and bound algorithm thatutilizes the knowledge from steel manufacturing to speed up
the algorithm.
A. Additional constraints as cuts
In steel manufacturing, there are many tasks that are equivalent to each other, e.g. the decarburization of molten metal fortwo similar batches of products. We can impose an enforced
processing order for these tasks, thus the search space of the
MIP problem is reduced. Several other types of constraints
can also be imposed which reduce the feasible region but withpotential sacrifice to the degree of optimality, an example is torestrict the start time of EAF tasks to time intervals that havelower energy price expectations. Here we consider imposing
processing orders for the tasks.
In steel manufacturing, the casting sequence for heats belonging to the same casting group are pre-specified - this prespecified processing sequence results from expert experiences
or casting optimization. Intuitively, that processing sequence
should also apply to the other three stages. For instance,
suppose the casting group G1 consists of heats 1, 2, and 3,
and they will be casted one by one sequentially, which meansthat the intermediate product LC1 will be casted first. Consequently, LC1 should be generated first, i.e. heat 1 should beprocessed before the other two heats in the 3rd stage. Hence,
we can define a set of ordered tasks, denoted by O, whose
processing sequences are pre-specified. For instance, O ={(E1 , E2 ), (E2 , E3 ), (A1 , A2 ), (A2 , A3 ), (L1 , L2 ), (L2 , L3 )} forscheduling G1 of heats 1, 2 and 3. The imposed additional
constraints (cuts) on processing order enforcement can be
written as follows:X(xk1 ,t0 xk2 ,t0 ) 0 8t, (k1 , k2 ) 2 O
(7)
t0 t

in which the ordered tasks set O considers the processing ofheats belonging to the same group for each of the first threestages. In steel manufacturing practice, the above additional
constraint is also beneficial as it follows the first-in-firstout principle and reduces the chance of over-waiting and reheating for the intermediate products.

B. Tailored branch and bound algorithm
The MIP problems in industrial scheduling are usually
solved by commercial solvers [14], [20]. These commercial
solvers are powerful, but are designed to handle general optimization problems. We develop a tailored branch and boundalgorithm to utilize the special features in steel manufacturing:
the heats belonging to the same campaign group are generally
processed close to each other.
The branch and bound algorithm is presented in Fig. 4
in which q and q2 are priority queues that store the relaxation solutions at each iteration and the achieved feasible
integer solutions, respectively; q provides the lower bounds
for the mixed-integer minimization problem, while q2 provides the upper bounds. SolveRelaxation(C) is a functionthat takes input C and solves the relaxation of the original
problem plus constraints in C; the relaxation is a linear
programming problem and we solve it by using CPLEX’s
LP solver; the function returns (f, x⇤ , y ⇤ , C), i.e. the optimal
objective value, the optimal values of relaxed integer variables and continuous variables, as well as the corresponding
constraints C. The function input C is actually defined as
C = [(ak1 , bk1 ), (ak2 , bk2 ), . . . , (aK , bK )], which specifies thestart times for each task. For instance, (ak1 , bk1 ) restricts the1: procedure TailoredBranchBound2:
q
Priority-Queue(). pops largest objective first3:
q2
Priority-Queue(). pops smallest objective first4:
q.push(SolveRelaxation({ }))5:q2.push(FindIntegerSolutionHeuristics())
6:
while q not empty do
7:(f, x, y, C)
q.pop()
8:
q2.push(Rounding((f, x, y, C)))9:
if q2.first - f  ✏ then10:
return q2.pop()
11:
else
12:
for Ci in BranchNodes(C) do
13:
q.push(SolveRelaxation(Ci ))14:
end for15:
end if16:
end while
17: end procedure
Figure 4. Tailored branch and bound algorithm

1: function BranchNodes(C)2:
if C == { } then3:
return [(0, T ), . . . , (0, T )]
4:
else
5:
k⇤
arg maxk2L.keys (bk ak )6:
if bk⇤ ak⇤ > ✏d then
b
a
7:
m⇤
int( k⇤ 2 k⇤ )8:
{k : (da , db )}L[k⇤ ]
9:
C1[. . . , (ak⇤ , m⇤ ), (ak⇤ + da , m⇤ + db ), . . .]10:
C2[. . . , (m⇤ , bk⇤ ), (m⇤ + da , bk⇤ + db ), . . .]11:
return {C1 , C2 }
12:
else
13:
k⇤
arg maxk2K (bk ak )
b
a
14:
m⇤
int( k⇤ 2 k⇤ )⇤15:
C1[. . . , (ak , m⇤ ), . . .]16:
C2[. . . , (m⇤ , bk⇤ ), . . .]17:
return {C1 , C2 }18:
end if19:
end if
20: end function
Figure 5. Branch by leader heats

start time of task k1 to be between ak1 and bk1 - the constraint
is actually implemented by setting the upper bounds for xk1,t
as zero for t outside of (ak1 , bk1 ) while leaving the upperbounds for other t as one, i.e.
(
1, if ak1  t < bk1
xk1,t =
0, otherwise
GetIntegerSolutionHeuristics() is a heuristics method thatpacks all the tasks to the earliest available equipment units
to get a feasible integer solution, which serves as the initial
upper bound for the algorithm. Rounding() tries to roundthe relaxation solution to be integer, and returns the integer
solution if it is feasible.
In order to enforce the heats belonging to the same campaign group be processed close to each other, we term the firstheat in each campaign group as the leader, and call the otherheats belonging to the same group as its followers. Similar
to the discussions in Section IV-A, we require the leader tobe processed first, and require its followers to be processed
within the time ranges calculated according to their processing
time durations. For example, consider group G1 of heats 1, 2
and 3 in the EAF stage (with two EAF units). The leader
here is task E1 , and suppose its start time is within (a, b) at
a certain node in the branch and bound algorithm. As there
are two available furnaces, we require its followers E2 to be
started between (a, b + ⌧E1 ) and E3 to be started between(a + ⌧E1 , b + ⌧E1 ). The principle of this requirement is toenforce the offsets and delays as if these followers are packed
sequentially to the available equipment units. The relationshipof start times for the above example can be described by thefollowing dictionary L that maps the leader to its followers
and the corresponding offsets:
L[kE1 ] = {kE2 : (0, ⌧E1 ), kE3 : (⌧E1 , ⌧E1 )}With this concept of leader and followers and the restriction
on start time described above, instead of branching on the start
time intervals for all tasks, we can only branch on the leader
tasks and restrict the start times for its follower tasks accordingTABLE III.

to a pre-constructed L. The proposed branching method is
described in Fig. 5 with parameter ✏d as the threshold toswitch between branching by leader tasks and branching by
all tasks. This method will greatly reduce the complexity ofthe branching procedure.
V. N UMERICAL S TUDIES
Numerical studies on the daily scheduling for a typicalsteel plant are presented in this section to demonstrate theeffectiveness of the proposed methods.
A. Problem Parameters
The steel plant layout and parameters are taken from thetypical scheduling example in [19]: there are two parallel units
for each of the four stages, and Table I lists the nominal power
consumption rates of these units; the group correspondencesof the heats to produce are given in Table II, and Table III
shows their nominal processing times; the transfer times wEA ,wAL , and wLC are 10, 4, and 10 minutes, respectively, andthe maximum waiting times w̄EA , w̄AL , and w̄LC are 240, 240,
and 120 minutes; the caster setup times are 70 minutes forCC1 and 50 minutes for CC2, which are the times needed forequipment maintenance between casting two groups of heats.
From these tables we can tell that the EAF is the most energyintensive process stage. The hourly energy prices for the casestudies are taken from MISO, as displayed in Fig 6(c).
B. Computational Results
Table IV presents the computational results for the methods
proposed in Section IV: the column Groups gives the campaign groups to produce, e.g. the first row denotes schedulinggroups 1 and 2 with the heats as indicated in Table II; thecolumn c0 stands for solving the original model by CPLEX’s
MIP solver, while the column c1 stands for the method
proposed in Section IV-A and the column b1 denotes thetailored branch and bound algorithm proposed in Section IV-B(✏d is chosen as 4); the row Obj gives the final objective valueof the MIP problem; the row CPU shows the computation
time for the corresponding test case, where the maximum
computation time limit is set to 7200s; the row lpNum gives theiteration number of the solving process, where the maximum
iteration number is set to 10000. Note that for the test case G15, the relaxation solution by CPLEX happens to be a feasible
integer solution, hence the corresponding lpNum is 0.
From the computational results displayed above, we canobserve the following: (1) by imposing additional constraints,
method c1 reduces the computation time as well as theiteration number, and the final objective values remain thesame except for a 0.005% increase for case G1-3; (2) the
TABLE I.

N OMINAL POWER CONSUMPTIONS [MW] [19]equipment EAF1 EAF2 AOD1 AOD2 LF1 LF2 CC1 CC2
power
85
85
2
2
2
2
7
7

TABLE II.

S TEEL HEAT / GROUP CORRESPONDENCE [19]

group
G1
G2
G3
G4
G5
G6
heats H1 H4 H5 H8 H9 H12 H13 H17 H18 H20 H21 H24

heats

N OMINAL PROCESSING TIMES [ MIN ] [19]EAF1 EAF2 AOD1 AOD2 LF1 LF2 CC1 CC2
80
85
85
90
85
85
80
80
80
80
80
80

H1 H4
H5 H6
H7 H8
H9 H12
H13 H14H15 H16
H17
H18
H19
H20
H21 H22H23 H24

TABLE IV.

80
85
85
90
85
85
80
80
80
80
80
80

75
80
80
95
85
85
85
95
95
95
80
80

75
80
80
95
85
85
85
95
95
95
80
80

35
40
20
45
25
25
25
45
45
30
30
30

35
40
20
45
25
25
25
45
45
30
30
30

50
60
55
60
70
75
75
60
70
70
50
50

50
60
55
60
70
75
75
60
70
70
50
60

B RANCH AND BOUND RESULTS WITH t0 = 15 MINGroups

c0

c1

b1

G1-2

Obj(k$)
CPU(s)
lpNum

24.5535.8
2460

24.553
3.7
1985

24.698
6.2
57

G1-3

Obj(k$)
CPU(s)
lpNum

39.306155.4
9071

39.30860.7
3835

39.665
50.0
228

G1-4

Obj(k$)
CPU(s)
lpNum

57.85760.4
3852

57.85742.7
2745

58.694
197.8
280

G1-5

Obj(k$)
CPU(s)
lpNum

69.7374.3
069.7377.2
070.194
861.0
478

G1-6

Obj(k$)
CPU(s)
lpNum

86.352104.9
3698

86.35280.4
2631

86.7992737.6725

tailored branch and bound algorithm b1 is able to greatly
reduce the iteration number, but the final objective value sees
an increase of around 1%. The optimality loss suffered byb1 can be explained by the restriction that we require theheats in the same group be processed close to each other. For
example, Fig. 6 displays the scheduling results comparison
for test case G1-2, where method b1 schedules the LF/CC
processing of heats 5, 6, 7 and 8 close to the EAF/AOD stages,
which loses the opportunity to utilize the price valley aroundhours 12-17. Also note that the computation time for a single
iteration of method b1 is much longer than that of c0 or c1- this is due to the computation overhead with calling the LP
solver, while the solving process of the CPLEX MIP solver
has been coherently optimized. Hence, one has to be carefulwhen comparing CPU time for b1 with any of the other as
the time probably could be improved by a more professional
implementation of the proposed branch and bound algorithm.
For the numerical studies here, it might be more appropriate tofocus on iteration numbers for which b1 achieves a significant
improvement in most of the cases.
Another issue we want to emphasize here is the rounding
procedure in algorithm b1. The current algorithm rounds eachvariable to its nearest integer value, which seldom succeeds inyielding a feasible solution, as there are so many constraints
on binary variables in the scheduling model. As shown in
Fig. 7, the upper bound seldom changes along the solving
process. We plan to improve the rounding procedure by taking

to further improve the computation efficiency, e.g. to apply
a better rounding method, which serve as future research
directions. The proposed methods are effective in improving
the computations, and may play an important role towards
developing practical scheduling tools for the steel industry andits demand response.
R EFERENCES(a) scheduling G1-2 by c0(b) scheduling G1-2 by b1(c) hourly energy prices

Figure 6. Scheduling results comparison.

G1-4
upper bounds

lower bounds
Iteration

G1-6

upper bounds

lower bounds
Iteration

Figure 7. Branch and bound iterations.

into account the relationship among these binary variables infuture work, e.g. their process-time sequence relationship. A
better rounding procedure could potentially further reduces theiteration number.
VI. C ONCLUSION
Industrial loads such as steel manufacturing plants can play
an important role in integrating more renewable generation
into the electric power grid. However, the optimization andscheduling of these industrial plants are usually computationally difficult. In this paper, we focus on the steel plant
scheduling problem and propose approaches to improve therelated computational issues. As demonstrated through numerical studies, the proposed methods show potentials in
reducing the computation time and iteration number of the
problem considered. Meanwhile, there still lie possibilities[1] N. Li, L. Chen, and M. Dahleh, “Demand response using linear supply
function bidding,” IEEE Transactions on Smart Grid, vol. 6, no. 4, pp.
1827–1838, July 2015.
[2] H. Zhong, L. Xie, and Q. Xia, “Coupon incentive-based demand
response: Theory and case study,” IEEE Transactions on Power Systems,
vol. 28, no. 2, pp. 1266–1276, 2013.
[3] Q. Huang, M. Roozbehani, and M. Dahleh, “Efficiency-risk tradeoffs inelectricity markets with dynamic demand response,” IEEE Transactions
on Smart Grid, vol. 6, no. 1, pp. 279–290, Jan 2015.
[4] E. C. Kara, Z. Kolter, M. Berges, B. Krogh, G. Hug, and T. Yuksel,“A moving horizon state estimator in the control of thermostaticallycontrolled loads for demand response,” in IEEE SmartGridComm’13,
2013, pp. 253–258.
[5] Y. Xu and L. Tong, “On the operation and value of storage in consumer
demand response,” in IEEE Annual Conference on Decision and Control(CDC), Dec 2014, pp. 205–210.
[6] A. Wierman, Z. Liu, I. Liu, and H. Mohsenian-Rad, “Opportunities andchallenges for data center demand response,” in IEEE Green Computing
Conference, 2014.
[7] Z. Liu, I. Liu, S. Low, and A. Wierman, “Pricing data center demand
response,” in ACM International Conference on Measurement andModeling of Computer Systems, 2014, pp. 111–123.
[8] W. Shi, N. Li, X. Xie, C.-C. Chu, and R. Gadh, “Optimal residential
demand response in distribution networks,” IEEE Journal on Selected
Areas in Communications, vol. 32, no. 7, pp. 1441–1450, July 2014.
[9] X. Zhang and G. Hug, “Optimal regulation provision by aluminum
smelters,” in IEEE Power and Energy Society General Meeting, 2014.
[10] ——, “Bidding strategy in energy and spinning reserve markets foraluminum smelters’ demand response,” in IEEE Innovative Smart Grid
Technologies Conference, 2015.
[11] Q. Zhang, C. F. Heuberger, I. E. Grossmann, A. Sundaramoorthy, andJ. M. Pinto, “Air separation with cryogenic energy storage: optimalscheduling considering electric energy and reserve markets,” AIChE
Journal, 2015.
[12] X. Zhang, G. Hug, Z. Kolter, and I. Harjunkoski, “Industrial demand
response by steel plants with spinning reserve provision,” in 47th North
American Power Symposium, 2015.
[13] T. Samad and S. Kiliccote, “Smart grid technologies and applications
for the industrial sector,” Computers & Chemical Engineering, vol. 47,
pp. 76 – 84, 2012.
[14] D. Fabozzi, N. Thornhill, and B. Pal, “Frequency restoration reserve
control scheme with participation of industrial loads,” in PowerTech,
2013.
[15] S.
Elmquist,“Alcoasees
aluminumsurpluswithlower
demandgrowth,”
April
2015.
[Online].
Available: http://www.bloomberg.com/news/articles/2015-04-08/alcoa-profitbeats-estimates-as-aluminum-demand-climbs[16] I. Harjunkoski and I. E. Grossmann, “A decomposition approach forthe scheduling of a steel plant production,” Computers & Chemical
Engineering, vol. 25, no. 1112, pp. 1647 – 1660, 2001.
[17] A. Haı̈t and C. Artigues, “On electrical load tracking scheduling for asteel plant,” Computers & Chemical Engineering, vol. 35, no. 12, pp.
3044–3047, 2011.
[18] K. Nolde and M. Morari, “Electrical load tracking scheduling of a steel
plant,” Computers & Chemical Engineering, vol. 34, no. 11, pp. 1899
– 1903, 2010.
[19] P. M. Castro, L. Sun, and I. Harjunkoski, “Resource–task network
formulations for industrial demand side management of a steel plant,”
Industrial & Engineering Chemistry Research, vol. 52, no. 36, pp.
13 046–13 058, 2013.
[20] P. M. Castro, I. Harjunkoski, and I. E. Grossmann, “New continuoustime scheduling formulation for continuous plants under variable electricity cost,” Industrial & Engineering Chemistry Research, vol. 48,
no. 14, pp. 6701–6714, 2009.