You are on page 1of 83

Master of Science Thesis in Electrical Engineering

Department of Electrical Engineering, Linköping University, 2016

Modeling and temperature


control of an industrial
furnace

Hampus Carlborg
Henrik Iredahl
Master of Science Thesis in Electrical Engineering
Modeling and temperature control of an industrial furnace
Hampus Carlborg
Henrik Iredahl
LiTH-ISY-EX–16/4978–SE

Supervisor: Urban Johansson


Sandvik AB
Fredrik Sandberg
Sandvik AB
Kamiar Radnosrati
isy, Linköpings universitet
Examiner: Johan Löfberg
isy, Linköpings universitet

Division of Automatic Control


Department of Electrical Engineering
Linköping University
SE-581 83 Linköping, Sweden

Copyright © 2016 Hampus Carlborg


Henrik Iredahl
Abstract
A linear model of an annealing furnace is developed using a black-box system
identification approach, and used when testing three different control strategies
to improve temperature control. The purpose of the investigation was to see if it
was possible to improve the temperature control while at the same time decrease
the switching frequency of the burners. This will lead to a more efficient process
as well as less maintenance, which has both economic and environmental bene-
fits.

The estimated model has been used to simulate the furnace with both the ex-
isting controller and possible new controllers such as a split range controller and
a model predictive controller (MPC). A split range controller is a control strategy
which can be used when more than one control signal affect the output signal,
and the control signals have different range. The main advantage with MPC is
that it can take limitations and constraints into account for the controlled pro-
cess, and with the use of integer programming, explicitly account for the discrete
switching behavior of the burners.

In simulation both new controllers succeed in decreasing the switching and the
MPC also improved the temperature control. This suggest that the control of
the furnace can be improved by implementing one of the evaluated controllers.

iii
Acknowledgments
First of all we want to thank Sandvik for the opportunity for us to do this thesis
with you. More specifically, we want to thank Urban Johansson and Fredrik Sand-
berg at Sandvik for the support during this time.

We want to thank our supervisor Kamiar for the comments on the report. A
tremendous thanks to our examiner Johan Löfberg for the advices which made
this thesis and report a lot better.

Finally, we want to thank our families, fellows and friends for these five years
at Linköpings University.

Linköping, May 2016


Hampus Carlborg and Henrik Iredahl

v
Contents

Notation ix

1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 System Description 5
2.1 Furnace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Burner system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Control design theory 11


3.1 Split range control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Model Predictive control . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.2 Description of the model predictive controller . . . . . . . 14
3.2.3 Reference Tracking . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.4 Feedforward Control . . . . . . . . . . . . . . . . . . . . . . 15
3.2.5 Relaxed Constraints . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.6 Complete model . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 DMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Model estimation 19
4.1 Black-box modelling . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Discrete-time state space . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Data collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 Parameter estimation . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4.1 Simplification and constraints . . . . . . . . . . . . . . . . . 22
4.5 Model Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5.1 Cross validation . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5.2 Residual analysis . . . . . . . . . . . . . . . . . . . . . . . . 23

vii
viii Contents

4.5.3 k steps prediction . . . . . . . . . . . . . . . . . . . . . . . . 24


4.6 Final model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.6.1 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6.2 Residuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5 Control design 37
5.1 Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2.1 Split range controller . . . . . . . . . . . . . . . . . . . . . . 38
5.2.2 MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.3 DMPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.3 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6 Conclusion and Future work 51

A Parameters in state space model 55


A.1 Values for A-matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
A.2 Values for B-matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

B Detailed figures of temperature zones 59

C Residuals 63

Bibliography 73
Notation

Abbreviations

Notation Meaning
mpc Model Predictive Control
pid Proportional, Integral, Sifferential (Controller)
dmpc Distributed Model Predictive Control
pem Prediction Error Method
miso Multi Input Single Output
mimo Multi Input Multi Output

ix
Introduction
1
The purpose with this thesis was to evaluate the control of the temperature in an
annealing furnace, both the existing control and possibly new control strategies.
Two main goals were produced, the first one was to reduce how often the burners
switch between on and off. The life span of the burner can be increased if the
frequency of turning on and off the burners can be decreased. In addition, main-
tenance costs will most likely be reduced as well. The second goal was to achieve
a smoother temperature of the furnace.

To accomplish this the work was divided into two parts, model estimation and
control design. The model estimation part entailed development of an accurate
and reliable model of the temperature behaviour in the furnace. The model will
be used to compare different control designs and also in the implementation of a
model based control design.

1.1 Background
The work for this master thesis has been performed at Sandvik Materials Technol-
ogy, in Sandviken. Sandvik is a global industrial company and Sandvik Materials
Technology is the business area which mainly develop and manufacture stainless
steel products. In the production of steel, furnaces are used for heat treatment.
One kind of heat treatment is annealing, where steel bars are heated up and then
cooled down fast. The purpose of the process is to get the steel more ductile and
reduce the hardness. These properties of the steel are decided by the temperate
profile during the annealing process. Small changes of the temperature can in
the worst case cause an entire batch of product go to waste, which cost a lot of
money. If this happens to many times it could lead to the buyers start losing
faith and start searching for other opportunities. Since the steel industry having

1
2 1 Introduction

tough times nowadays is it more important than ever to have cost effective pro-
cesses with good profitability.

The problem today is the temperature distribution in the furnace. For some sec-
tions in the furnace the temperature is too high even when the burners are off.

Every year the goal is to have maintenance for the whole furnace at a specific
week and nothing during the other weeks. Some of the parts that wear the most
in the furnace are the burners, as every switch between on and off causes wear on
them. By reducing the switching, the maintenance and replacement of burners
can hopefully be reduced. The big saving is in that the furnace can operate longer
without interruption since it takes a long time for the furnace to cool down and
heat up for the maintenance.

1.2 Related work


There exist several reports about modelling an annealing furnace, but there ap-
pear to be no standard, since there are differences between the furnaces in the
layout, the numbers and kinds of burners, kind and shape of the material, and
fuel. Those difference make it difficult to use the same approach from other work
of modeling furnaces since the properties of the furnaces differ and the assump-
tions are not valid. In [8], a comprehensive mathematical model of an annealing
furnace is developed, the model takes both radiation and convective heat transfer
in consideration for the components in the furnace. The different components in
model are the flue gas, the insulation and the product (strip). In [7], a 3D finite el-
ement model is developed using COMSOL Multiphysics software to calculate the
3D temperature distribution from radiative heat transfer. The result are used to
improve a simplified model in 2D. In this annealing furnace is the material also
a strip. In [1], the developed mathematical model is based radiation heat transfer
in the furnace. In the furnace is slab reheated and the temperature field inside
the slabs is part of the model. The flue gas in this furnace is non-participating
in this model unlike the flue gas in [8]. The main difference compared to the the
work presented in this thesis is our use of black-box modelling, compare to the
mentioned references where grey/white-box modelling was used.

1.3 Limitations
The data collection was limited since the furnace was used in production. There-
fore, it was not possible to specify the input during the data collection and it was
done during feedback.

It was not possible during the thesis to either add or modify the position of the
burners. No investigation of modifying the burners has been done either.
1.4 Method 3

1.4 Method
The first part was to do a pilot study and find related work. This part was per-
formed in order to find opportunities for both the modeling and the controlling
part.

This was followed by data collection in the program IBA Analyser which is used
to log the different signals in the furnace. The collected data was imported into
MATLAB to estimate and validate a model of the furnace.

The last part was to take the model into SIMULINK to test different controllers.
Three different control strategies were applied, Split range, model predictive con-
trol (MPC) and distributed model predictive control (DMPC). The MPC prob-
lems were formulated by using the toolbox YALMIP [5] and were solved with the
solver MOSEK [2]. All strategies were then evaluated, in terms of temperature
and numbers of switches for the burners.

1.5 Thesis outline


The thesis is organized as follows:
• Chapter 2 presents the furnace.

• Chapter 3 gives the background to the control design.


• Chapter 4 presents the model estimation.
• Chapter 5 presents the control design and the result of the simulation.
• Chapter 6 presents what can be done in the future based on the results from
the thesis.
System Description
2
The furnace that has been analysed during this thesis is an annealing furnace.
Annealing is a process in which the material (steel bars in our case) heats up to
a certain temperature to obtain specific material properties and then cools down
fast to capture the properties. This type of process is well known and common
for steel products. Since the temperature profile determines which properties the
material will have, it is important that the furnace achieves a given reference tem-
perature. A too big temperature difference can cause a whole batch of processed
material to be wasted. The furnace was divided into three different temperature
zones, where the reference temperature is highest for the zone where the bars
exits and lowest where the bars enter the furnace.

The work order specifies how long the bars should be in the furnace and the
reference temperature for the batch. A walking beam will push the bar through
the temperature zones. In connection with the walking beam is used, the doors
opened before / after to take out / in bars from the oven. The material that goes
into the furnace were cylindrical steel bars so the material could rotate in the fur-
nace.

For this thesis the furnace for heating up the steel bars has been analysed and
not the cooling process. Since the furnace has been in use during the thesis, all
the data has been collected under real production. This made it impossible to
perform any specific tests.

5
6 2 System Description

2.1 Furnace
The furnace is divided into three different temperature zones, where the first
zones had the lowest reference temperature and the last zone had the highest
reference temperature. To achieve a larger temperature difference between zone 1
and 2 a separator was mounted in the roof between the zones. Every temperature
zone was divided into three sections. It was necessary to divide the zones into
sections since the heat flow between sections in the same zone was big and cause
temperature differences inside the zones. If the temperature had been the same
for each zone the sections would not have been necessary. Figure 2.1 shows a
sketch of the furnace. The arrows indicate where the bars enter and exit the
furnace. It can be seen that the bars enter into the furnace through zone 1 west
and exit from zone 3 west. Every time a bar enter or exit, a door needs to opened
which causes a temperature difference for some sections. When the bars enter the
furnace it has the same temperature as the room.

Figure 2.1: This is a sketch of the layout of the furnace seen from above, the
arrows indicate where the bars enter and exit, the flames indicates where the
burners are placed. The numbers indicate the number of the sections.

The width of the furnace is about 7 meters, length 9.25 m and height 3.3
m. The bars are transported horizontally into the west section of zone one, and
depending on the length of the bars it could occupy one to all three sections. All
the burners for each zone is in line with each other. It would be a too big effort
to change the place for the burners so the numbers and the position of them can
be seen as constant. The furnace has 27 compartments, which each can contain
one bar. For bars with large diameters they cam only be placed in every second
compartment. The bars are transported to the next compartments by a walking
beam. Figure 2.2 shows the measured temperature for a batch. It is easy to see
the zig-zag behaviour in the temperature, with a period of roughly 750 seconds,
caused when the walking beam are transporting the bars forward.
2.1 Furnace 7

Original Temperatures
1120
Z1 W
Z1 M
1100 Z1 E
Z2 W
Z2 M
1080 Z2 E
Z3 W
Z3 M
1060 Z3 E
Temperature (celsius)

1040

1020

1000

980

960

940
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure 2.2: The measured temperature for a certain order. Note the zig-zag
behaviour in the temperature, with a period of roughly 750 seconds, caused
when the walking beam are transporting the bars forward.

In sections west and east in zone 1 there is an exhaust for the flue gas which
caused heat transfer from zone 3 into zone 1. The heat streams have a large im-
pact on the temperature in zone 1 which cause the temperature to remain too
high even when the burners are off in east and west zone 1. For each section
there was different numbers of burners, varying from one to four as illustrated in
Figure 2.1.

Every section of the furnace had a PI-controller that controls the temperature
in the section. The burners had two modes, being either on or off. The control
signal from the PI-controller gave a percentage on which capacity the burners
in the section would operate on. The sensor for measuring the temperature in
every section was mounted 0.4 meters from the roof. When a new order with a
different temperature was requested it could take a couple of hours to set it up
depending of how large the temperature difference will be. The temperature ref-
erence is ramped slowly to the new level. The main point of the slow change of
the reference is to ensure that the whole section has the right temperature and
not only close to the sensor.
8 2 System Description

2.2 Burner system


The burner system had a separate control system consisting of PI-controllers. The
number of burners vary between sections, e.g. in zone 1 Mid the PI-control con-
trols four burners and in zone 2 West it was only one burner. The controlled
burners had two modes either on or off. Since the burners only operated with
two modes the control signal was converted to a burning time for the burners.
The PI-controllers were implemented as series PI-controllers.

1
F(s) = K(1 + I ∗ )
s
1
The parameters were K = 3.36 and I = 93.46 . The burning time was given by
the cycle time multiplied by the control signal and the numbers of burners in the
section. To minimize the frequency of switching between on and off the burning
time was set to zero if it was less than 5 seconds and to maximum burning time if
it was greater than maximum burning time minus 10 seconds. The burner system
can be summarized in the following algorithm:

Algorithm for burner system:

1. Wait until a cycle time have passed.

2. Calculate the burn time as the cycle time multiplied withthe control
signal and the number of burners in the section.
3. If the burn time is less than 5 seconds set it to zero.
4. If the burn time is greater than maximum burn time minus 10 sec-
onds set it to maximum burn time.

5. Set the next burner to burn for the burn time.


6. Update next burner, whose burning time shall be calculated the next
time, to the last burner to have it burn time set.
7. Repeat from step one.

If a section had two burners and the control signal was 50 %, the burners
burned on each half of the time, or if there were two burners with the signal 25
% half of the time no burner would burn. Figure 2.3 shows the burner system
for section 2, which has 4 burners, with the control signal at 25 %, the burners
operates in series, when the first one is done the next starts and so on. Figure 2.4
shows the same section for 60%, the burner are now working more in parallel. In
the system today none of the burners in zone 1 and 2 east are on since it is already
to hot there. There is small delay before the burner starts to burn.
2.2 Burner system 9

Burner 1 1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time
Burner 2

1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time
Burner 3

1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time
Burner 4

1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time
Figure 2.3: How the burner system act with an input of 25%, a one represent
that the burner is on and a zero that it is off.
10 2 System Description

Burner 1
1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time
Burner 2

1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time
Burner 3

1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time
Burner 4

1.5
1
0.5
0
-0.5
0 50 100 150 200 250 300 350
Time

Figure 2.4: How the burner system act with an input of 60%, one represent
that the burner is on and zero that it is off.
Control design theory
3
The purpose of this chapter is to give the background for the different control
designs that were implemented in this thesis. The different controllers that were
used were split range control, MPC and DMPC.

3.1 Split range control


Split range control is a simple control strategy which can be used when there are
more than one input that controls the same output. The basic idea is to divide
the control signal into different ranges for the input signals. In the case of two
burners, only one will burn in the range 0-50 % and the other is off, and in the
range 50-100 % one will burn all the time and the other is burning according to
the control signal. A setup for a system with a split range controller can be seen
in Figure 3.1

u1
ref Burner 1
%
PI-Control Split-range
temp
u2
Burner 2

Figure 3.1: A sketch for the setup of the system with the split range con-
troller implemented.

A split range control can decrease frequency the burners turn on and off since

11
12 3 Control design theory

all the burners in a section, except one is burning at 100 or 0 %. The split range
control have two parameters, swap time and cycle time. Swap time decides the
time between the swap of the range for the burners. The burners have different
positions inside the section, and therefore affect the temperature in its own sec-
tion and nearby sections differently.

The use of swap time is to minimize the effect of the burners position such as
uneven temperature within the section. The cycle time is used in the same way
as in the current burner system, i.e., to convert the control signal to a burn time
by multiplying the control signal with the cycle time. An example of the signal
from the burners can be seen in Figure 3.2. The split range controller can be
summarized with the following algorithm:

Algorithm for split range:

1. Wait until it is time to calculate the burn time.

2. If the time that has passed since the last swap is greater than the
swap time.
• Change the operating range for the burners.
3. Calculate and set the burn time for each burner.

4. Repeat from step one.


3.2 Model Predictive control 13

1.5
1
Burner 1 0.5
0
−0.5
0 50 100 150 200 250 300 350
Time
1.5
1
Burner 2

0.5
0
−0.5
0 50 100 150 200 250 300 350
Time
1.5
1
Burner 3

0.5
0
−0.5
0 50 100 150 200 250 300 350
Time
1.5
1
Burner 4

0.5
0
−0.5
0 50 100 150 200 250 300 350
Time

Figure 3.2: This shows how the burners act when the split range controller
have an input signal of 60 %, 1 represent that the burner is on and 0 that is
off.

3.2 Model Predictive control


In this section the MPC is introduced. We first present the background and a ba-
sic MPC formulation. An advantage of the MPC is its flexibility and that the basic
formulation can be extended to include reference tracking, feedforward control
and relaxed constraints, as described. For further reading see [6].

3.2.1 Background
Model predictive control is based on solving an optimization problem for each
sample instant. The solution to the optimization problem is a sequence of control
signals to be used now and in the future. Of the sequence of control signals,
only the first is applied to the controlled system and the rest is discarded. This
procedure is repeated for each sample instant and achieves a feedback control
as the optimization problem is performed when new measurements are made
available. If the whole sequence would be applied it would be open loop control.
The model of the controlled system is a part of the optimization problem and is
used to predict the future states. The MPC can be seen as it performing an open
loop optimization for each sample instant.
14 3 Control design theory

3.2.2 Description of the model predictive controller

This section will introduce the model predictive controller with a theoretical ex-
ample. The objective for the MPC is to bring the system states and the input to
zero, subject to the system dynamics and limitations. In the basic setup the cost
function is quadratic and the constraints are linear.

N
X
minimize ||x(k + j)||2Q1 + ||u(k + j − 1)||2Q2
u( · )
j=1

subject to (3.1)
x(k + i) = Ax(k + i) + Bu(k + i)
xmin ≤ xi ≤ xmax
umin ≤ ui ≤ umax

Here N represents the prediction horizon which determine how many steps for-
ward the controller predicts. The norm ||x||2Q is the euclidean norm weighted by
the weight matrix Q, x T Qx. The difference between the weight matrices Q1 and
Q2 determinate the behaviour for the controller. If Q1 is large in comparison to
Q2 will the system states will converge to zero fast, at the cost of large control
inputs. If Q1 is small in comparison to Q2 will the control inputs be small, at the
cost of that, the system states will converge to zero slow.

The equality constraints represent the system dynamics from the model of the
controlled system. The inequality constraints are bounds for the system states
and/or the control signal, which are typically for safety regulations or saturation.

In summary the MPC can be explained by the following algorithm:

Algorithm for MPC:

1. Measure the system state x(k)

2. Compute the control signal sequence u( · ) for the problem in (3.1)


3. Use the first element u(k) in the sequence from the previous step
during one sample
4. Time update, k = k + 1

5. Repeat from step 1


3.2 Model Predictive control 15

3.2.3 Reference Tracking

In the formulation in (3.1) the system will be driven to a steady state at the origin.
In order to steer the system to any other state than the origin, the MPC formula-
tion must be extended to include reference tracking. This can partially be accom-
plished by minimizing the difference between a state and reference. This gives a
a conflict in the MPC formulation which is to have the states follow a reference
and try to keep the input zero. One solution is to minimize the increment of the
input signals instead of its amplitude. The reformulation (3.2) gives the MPC
controller reference tracking.

N
X
minimize ||x(k + j) − r(k + j)||2Q1 + ||u(k + j − 1) − u(k + j − 2)||2Q2
u( · )
j=1

subject to
x(k + i) = Ax(k + i) + Bu(k + i) (3.2)
xmin ≤ xi ≤ xmax
umin ≤ ui ≤ umax

3.2.4 Feedforward Control

In feedforward control the disturbance is measured and with used in the control
computation to remove some of the disturbance effect on the system. It thus has
an advantage compared to feedback control which has to wait for the disturbance
to effect the system before it can take suitable action. The effectiveness of feedfor-
ward control is limited by the model of the measurable disturbance to the output,
and any remaining unmeasurable disturbances. Therefore feedforward control
is implemented together with feedback control. The feedforward control part re-
moves most of the measurable disturbance effect and feedback control take care
of the rest and also any unmeasured disturbance. Feedforward control is imple-
mented in MPC by including the disturbance effect in the predicted future out-
puts, which can be seen in (3.3). The optimizer then accounts for the disturbance
when it computes the control signal.
16 3 Control design theory

N
X
minimize ||x(k + j)||2Q1 + ||u(k + j − 1)||2Q2
u( · )
j=1

subject to
x(k + i) = Ax(k + i) + Bu(k + i) + Bd dm (k + i) (3.3)
xmin ≤ xi ≤ xmax
umin ≤ ui ≤ umax

3.2.5 Relaxed Constraints


A serious problem for the MPC is when the optimization problem is infeasible.
This can happen because an unexpected large disturbance occurred and it is im-
possible for the controller to prevent that a state breaks its constraint. Therefore
it is important that the MPC controller has a strategy to handle infeasible prob-
lem. A systematic strategy is to make relaxed constraints which can be broken if
there is no admissible solution [6]. The constraints on the input signal are usually
"hard" and cannot be broken since it commonly represent a physical limitation
on the actuator. Therefore it is usually the constraints on the output which are
relaxed.

A constraint is relaxed by introducing a new variable which is non-zero when


the constraint is violated. Such a variable is called slack variable. To avoid viola-
tion of constraints when unnecessary, a penalty term is added to the objective in
order to try to obtain a zero slack. The optimization problem then becomes

N
X
minimize ||x(k + j)||2Q1 + ||u(k + j − 1)||2Q2 + λ||
u( · )
j=1

subject to
x(k + i) = Ax(k + i) + Bu(k + i) (3.4)
xmin −  ≤ xi ≤ xmax + 
umin ≤ ui ≤ umax
0≤

The reason for not using the euclidean norm on  in the cost function is that
all active constraint will be violated for all finite λ, even when it is not necessary.
From the true constrained x∗ there exist a move to an infeasible solution x∗ + d
for some vector d which will decrease the cost with O(). With the euclidean
3.3 DMPC 17

norm will the cost of violating the constraint be O(2 ) which gives a net reduc-
tion in the cost for small . With the 1-norm in the cost function a sufficient λ
will ensure that violation occur only when the original problem is infeasible.

3.2.6 Complete model


The different modifications of the basic formulation can be used together and
gives the following optimization problem, which will be the form used later.

N
X
minimize ||x(k + j) − r(k + j)||2Q1 + ||u(k + j − 1) − u(k + j − 2)||2Q2 + λ||
u( · )
j=1

subject to
x(k + i) = Ax(k + i) + Bu(k + i) + Bd dm (k + i) (3.5)
xmin −  ≤ xi ≤ xmax + 
umin ≤ ui ≤ umax
0≤

3.3 DMPC
Another way to use the function of MPC is to enlarge the system with more MPC
controllers. This type of control strategy is called distributed model predictive
control. The meaning of DMPC is to split the problem into sub systems, where
every MPC controller computes a control input locally. This will make it easier
for the solver, as the optimization problems will be smaller. However, when do-
ing this, the interaction between the different controllers and parts of the systems
will not be part of the models used locally in every MPC controller. One approx-
imation, which we will use, is to assume that the states from other zones will be
constant over the prediction horizon. For further reading about DMPC, see [9].
Model estimation
4
This chapter is about the identification and validation of the model for the system
described in Chapter 2. The workflow for the model estimation was an iterative
process; it started with a simple model that was extended until no improvements
could be found. The main idea with the model was to keep it simple with rele-
vant relations, which capture the dominant behaviour of the system.

4.1 Black-box modelling


There are three different approaches of deriving models; White-box, Grey-box
and Black-box. The White-box model is based only on known information about
the system. If all information about the system is known and the model has the
right structure, the model and the system will be identical. In the case of the fur-
nace much of the information is missing, such as the heat transfer between the
sections and heat losses through the walls. It could be possible to model those
relations based on thermodynamics, but many parameters are unknown such as
the flow of the flue gas and need to be estimated. A White-box model of the fur-
nace would be very complex and some relations are hard to describe with physics.
For example the temperatures zig-zag behaviour caused by the walking beam.

The advantage with a Black-box model is that it can be used when no informa-
tion about the system is known. The Black-box model describes the relations
between the input and output signals without having a structure based on phys-
ical relations of the system. The model can be in the form of equations, tables or
graphs. A possible problem could be that the model only performs for precisely
those cases for which it was derived.

19
20 4 Model estimation

The Grey-box model can be seen as a hybrid between Black-box and White-box
model. The part of the system whose information is known is modelled as a
White-box and the rest of the system as a Black-box. This model was neglected
with the same reason as the White-box, it is too hard to model the thermodynam-
ics.

The Black-box model was chosen because it is easier to implement and the model
is a tool in this thesis. The possible improvements by using a Grey-box was con-
sidered low, as said before a large part of the system is unknown.

4.2 Discrete-time state space


A broad definition of a system is an object or a collection of objects whose prop-
erties are observed. A model can be used as a tool to examine the system without
doing any experiment on it. To experiment with a new controller in the furnace
is ineffective and will cost money in the lost production. The advantage with a
model is that it gives us the possibility to try different control strategies without
implementing them in the furnace.

A common way to represent a system is the model in the following form

ẋ = f (x, u)
(4.1)
y = h(x, u)

where u is the input signal, y is the output signal and x is called the state. The
equations describe the whole system’s behaviour. This structure is called state
space. Specializing to the linear case, and discretizing the continuous-time dy-
namics using, e.g., a first-order hold, gives us a discrete-time state space model

x(kTs + Ts ) = Ax(kTs ) + Bu(kTs )


(4.2)
y(k) = Cx(kTs ) + Du(kTs )

where the matrices A,B,C and D describes how the future state depends on the
current state and the input as well as how the output depends on the state and
the input. For the furnace, the states are the temperatures; the input signals are
the burners, the position of the walking beam and the position (open/close) of
the doors. The output signals are the measurements of the temperatures. Since
the furnace is an unknown system the objective is to estimate the unknown pa-
rameters in the matrices. The furnace itself is a nonlinear system and therefore
the linear model is only a rough approximation of the furnace.
4.3 Data collection 21

4.3 Data collection


The data of the furnace is collected during production. Thus the data was col-
lected during feedback. For the furnace there is a logging system called IBA
ANALYSER which logs all sorts of data. The collection lasted for 1.5 hours with
a sampling rate of 5 seconds. There exist different methods of handling data col-
lection during feedback such as the direct approach, the indirect approach and
the joint input-output approach [3]. In this thesis, the direct approach was cho-
sen where the effect of the feedback is ignored. Since the priority was the control
design and the model as said before was a tool.

A problem with the data collection was that the temperatures were too high for
some sections. The burners in those sections did not burn, and thus there is no in-
formation in the collected data set on the relation between these burners and the
resulting temperature. Those burners are still included in the model but their
parameter values are just an approximation. The reason for including approxi-
mate values of these parameters anyway was to enable us to use these burners in
simulation.

4.4 Parameter estimation


To estimate the parameters for a model one of many methods is the prediction
error method [4]. The vector θ includes the parameters that will be estimated,
in our case A,B,C,D . It will be used by the prediction ŷ(t|θ) which depends on
y(t-1). The prediction error (t, θ) is the difference between the output y(t) and
ŷ(t|θ).

(t, θ) = y(t) − ŷ(t|θ) (4.3)

The loss function for a data set with N samples is written as

N
1 X 2
VN (θ) =  (t, θ) (4.4)
N
t=1

θ̂N is given as the parameter which minimizes the loss function

θ̂N = arg min VN (θ) (4.5)


θ
22 4 Model estimation

To perform the prediction error method in MATLAB we used PEM from the
SYSTEM IDENTIFICATION TOOLBOX. The input to the function is the estima-
tion data from the system and the model with the parameters that should be
estimated. P EM has an option on estimation focus which weigh the loss function
for specified frequencies. Two different focuses were used, prediction and sim-
ulation. For prediction has a loss function which minimizes the one step ahead
prediction. For simulation which has a loss function that favours the frequency
range where the input has the most power.

4.4.1 Simplification and constraints


The state space model in (4.2) is a multiple input multiple output (MIMO) system
which made the parameter estimation difficult since it was an optimization prob-
lem with many parameters. To make it easier to optimize the system was split
into nine different multiple input single output (MISO) systems, then the MISO-
systems were converted back to a MIMO-system. The advantage of converting
it back was that it was easier to implement in SIMULINK and include it in the
MPC formulation. The MISO-systems have only one state, which is the temper-
ature in its section. The input signal was expanded to include the temperatures
from nearby sections. An example is given below for how section one was treated
as a MISO-system.

T1 (k + 1) = aT1 + [b1 ··· b7 ][T2 T4 B1 B2 W D1 D2 ]T

T1 is the temperature in section 1, T2 in section 2, T4 in section 4, B1 is the


burner in section 1, B2 is the burner in section 2 which is closest to section 1, W
is the walking beam, D1 the door in section 1 and D2 the door in section 9. The
parameters for the MISO system were then included into the corresponding place
in the A and B-matrix in the MIMO system, which is given in an example below.

A1,1:9 = [a b1 0 b2 0 0 0 0 0 0]

B1,1:20 = [b3 b4 0 ······ 0 b5 b6 b7 ]

To avoid running into a local minimum, constraints were added to the parameters
that have a physical interpretation. The estimation was first done without the
constraints, but then some parameters were negative for the burners, which had
caused a temperature decrease when they were on. A burner which is burning
can not decrease the temperature. All the bounds of the parameters can be seen
in Table 4.1. The parameters that involve the doors and the walking beam have
no constraints since it is hard to interpret its effect on the temperature. When a
door is opened there can be an increase in heat transfer between two sections, the
temperature in one section will increase and the other will decrease.
4.5 Model Validation 23

Table 4.1: The constraints for the parameters.

Name Lower bound Upper bound


Temperature from their own section 0.7 ∞
Temperature from burner in section 0.1 ∞
Temperature from burner in nearby section 0 0.4

4.5 Model Validation


To validate how good the models were three different methods were used. The
first method was cross validation, which gives a percentage of how well the out-
put of the model represents the output from real system. Number two was resid-
ual analysis, which shows the correlation between input and prediction error and
also the autocorrelation of the prediction error. The third method was the k-step
prediction; it shows how good the model predicts the future for the k steps ahead.

4.5.1 Cross validation


Two thirds of the data was used for estimation while the remaining third was
used for validation. The use of different data in validation and estimation is
called cross-validation. It is used to prevent overfit where the model would de-
scribe the noise instead of underlying relations.

One way to validate a model is to compare its output with the measured input
against the measured output. The model fit, in percentage, is given below


(t, θ̂)
Mf = (1 − ) ∗ 100 (4.6)
y(t) − ȳ(t)

(t, θ̂) is the model error from (4.3), y(t) is the measured output and ȳ(t) is its
average, || · || is the L2 norm. The model fit is an easy way to compare different
models. The model fit is a measure of how well the model represents the real
system.

4.5.2 Residual analysis


Another way to validate the model is to look at the residuals of the model. One
residual is the cross correlation between prediction error and the inputs. In best
case the input signal would be independent of the prediction error, if not the
model is missing some dynamics from the system.
24 4 Model estimation

N
1 X
R̂u (τ) = (t + τ)u(t), |τ| ≤ M (4.7)
N
t=1

The auto correlation of the prediction error is given as,

N
1 X
R̂ (τ) = (t)(t + τ), |τ| ≤ M (4.8)
N
t=1

If the auto correlation is outside the 99% confidence interval for some τ then
the output depends on the output τ step before.

4.5.3 k steps prediction


The k-step prediction is useful to test the model predictive power k steps ahead
in time. The model output is predicted at k steps ahead based on the information
at time k0 , which is given by

X̂k0 +k+1|k0 = AX̂k0 +k|k0 + BUk0 +k , k = 0, 1, ...


(4.9)
Ŷk0 +k|k0 = C X̂k0 +k|k0

The predicted output Ŷk0 +k|k0 is compared against the measured output Yk0 +k the
same way as in the cross validation in (4.6) where  is replaced. In this thesis a
predictive controller is used and therefore it is important that it can predict the
signals and thereby choose the best control signal.

4.6 Final model


In this section the structure of the final model is presented. The A-matrix repre-
sents how future state depends on the current state, in this case the temperature.
The diagonal in the A-matrix determines how much temperature every section
contains from the previous sample, i.e., the decay in temperature given no in-
flux or loss of heat to surrounding sections, or addition of heat using burners.
The other parameters represent the effect of the temperature from other sections.
The final values can be found in Appendix A.1.
4.6 Final model 25

 a1,1 0 0 a1,4 0 0 0 0 0
 

 a
 2,1 a2,2 0 0 a2,5 0 0 0 0 

 0 a3,2 a3,3 0 0 a3,6 0 0 0
 

 
 a4,1
 0 0 a4,4 a4,5 0 a4,7 0 0 

A =  0 a5,2 0 a5,4 a5,5 a5,6 0 a5,8 0 
 (4.10)
 0 a6,2 a6,3 0 a6,5 a6,6 0 0 a6,9
 
 
 0 0 0 a7,4 0 0 a7,7 a7,8 0 


 0 0 0 0 a8,5 0 a8,7 a8,8 a8,9



0 0 0 0 0 a9,6 0 a9,8 a9,9

The B-matrix represents the effect on the temperature from the burners, the doors
and the walking beam. The values are found in Appendix A.2 for the different
models.

 b11 0 0 0 0 0 0 0 0
 

 b
 21 b22 0 0 0 0 0 0 0 

0 b32 0 0 0 0 0 0 0
 
 
0 b42 b43 0 0 0 0 0 0
 
 
 

 0 b52 b53 0 0 0 0 0 0 


 0 0 b63 0 0 0 0 0 0 


 0 0 0 b74 0 0 b77 0 0 

0 0 0 b84 b85 0 0 0 0
 
 
0 0 0 0 b95 0 0 b98 0
 
 
 
T
 0 0 0 0 b10,6 b10,7 0 b10,8 b10,9 
B =  
 0 0 0 0 0 b11,6 0 0 0 



 0 0 0 0 0 0 b12,7 0 0 


 0 0 0 0 0 0 b13,7 b13,8 0 

0 0 0 0 0 0 0 b14,8 0
 
 


 0 0 0 0 0 0 0 b15,8 0 

0 0 0 0 0 0 0 b16,8 b16,9
 
 
0 0 0 0 0 0 0 0 b17,9
 
 

 −b18,1
 −b18,2 −b18,3 b18,4 b18,5 0 0 0 0 

 b −b19,2 0 0 b19,5 0 0 0 0

 19,1 

−b20,1 −b20,2 0 −b20,4 −b20,5 0 0 0 0
(4.11)

Since every state could be measured the C-matrix only will apply as a unit ma-
trix.
26 4 Model estimation

1 0 0 0 0 0 0 0 0
 
 

 0 1 0 0 0 0 0 0 0 

0 0 1 0 0 0 0 0 0
 
 
 

 0 0 0 1 0 0 0 0 0 

C =  0 0 0 0 1 0 0 0 0 
 (4.12)
0 0 0 0 0 1 0 0 0
 
 


 0 0 0 0 0 0 1 0 0 

0 0 0 0 0 0 0 1 0
 
 
0 0 0 0 0 0 0 0 1

4.6.1 Validation

The simulated output and the 12-step ahead output can be seen in figure 4.1-4.6
4.6 Final model 27

12-Step Predicted Response Comparison


995
Validation data (y1)
sys1_prediction: 63.18%
990
sys1_simulation: 55.77%

985

Amplitude
980

y1
975

970

965

960
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(a) Validation for zone 1 west. Notice the


models’ smaller amplitude.

12-Step Predicted Response Comparison


965
Validation data (y1)
sys2_prediction: 57.77%
sys2_simulation: 24.78%
960

955
Amplitude
y1

950

945

940
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(b) Validation for zone 1 middle. Notice the


difference between the two models.

12-Step Predicted Response Comparison


1016
Validation data (y1)
1014 sys3_prediction: 36.16%
sys3_simulation: 48.12%
1012

1010
Amplitude

1008
y1

1006

1004

1002

1000

998
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(c) Validation for zone 1 east. The models have


the peaks at the right time, but not the right
amplitude.

Figure 4.1: Validation for zone 1 with 12 steps ahead prediction.


28 4 Model estimation

12-Step Predicted Response Comparison


1070
Validation data (y1)
sys4_prediction: 50.28%
1068
sys4_simulation: 59.49%

1066

Amplitude
1064

y1
1062

1060

1058

1056
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(a) Validation for zone 2 west. Notice the mod-


els’ good performance.

12-Step Predicted Response Comparison


1064
Validation data (y1)
1063 sys5_prediction: 55.46%
sys5_simulation: 55.78%
1062

1061
Amplitude

1060
y1

1059

1058

1057

1056

1055
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(b) Validation for zone 2 middle. The models


miss some of the peaks.

12-Step Predicted Response Comparison


1070
Validation data (y1)
sys6_prediction: 35.01%
1069
sys6_simulation: 43.22%

1068
Amplitude

1067
y1

1066

1065

1064

1063
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(c) Validation for zone 2 east. Notice that the


models have the peaks at the right time, but
not the right amplitude

Figure 4.2: Validation for zone 2 with 12 steps ahead prediction.


4.6 Final model 29

12-Step Predicted Response Comparison


1101
Validation data (y1)
1100 sys7_prediction: 27.88%
sys7_simulation: 18.38%

1099

1098

Amplitude
y1
1097

1096

1095

1094

1093
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(a) Validation for zone 3 west. Notice the small


variation of the temperature.

12-Step Predicted Response Comparison


1101
Validation data (y1)
sys8_prediction: 27.19%
1100 sys8_simulation: 38.53%

1099
Amplitude
y1

1098

1097

1096

1095
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(b) Validation for zone 3 middle. The models


have the peaks, but not at the right amplitude.

12-Step Predicted Response Comparison


1101
Validation data (y1)
sys9_prediction: 28.59%
1100
sys9_simulation: 26.47%

1099
Amplitude

1098
y1

1097

1096

1095

1094
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(c) Validation for zone 3 east. Notice the simi-


larities between the models.

Figure 4.3: Validation for zone 3 with 12 steps ahead prediction.


30 4 Model estimation

Simulated Response Comparison


995
Validation data (y1)
sys1_prediction: 61.33%
990
sys1_simulation: 61.05%

985

Amplitude
980

y1
975

970

965

960
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(a) Validation for zone 1 west. Notice the


models’ lack of the smaller peaks.

Simulated Response Comparison


965
Validation data (y1)
sys2_prediction: 28.88%
sys2_simulation: 23.93%
960

955
Amplitude
y1

950

945

940
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(b) Validation for zone 1 middle. Notice how


the models’ performance gets worse over time.

Simulated Response Comparison


1016
Validation data (y1)
1014 sys3_prediction: 23.6%
sys3_simulation: 43.48%
1012

1010
Amplitude

1008
y1

1006

1004

1002

1000

998
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(c) Validation for zone 1 east. Notice that the


models have the peaks at the right time, but
not the right amplitude

Figure 4.4: Validation for zone 1 with simulation response.


4.6 Final model 31

Simulated Response Comparison


1070
Validation data (y1)
sys4_prediction: 51.54%
1068
sys4_simulation: 60.23%

1066

Amplitude
1064

y1
1062

1060

1058

1056
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(a) Validation for zone 2 west. Notice the mod-


els’ good performance.

Simulated Response Comparison


1064
Validation data (y1)
1063 sys5_prediction: 50.49%
sys5_simulation: 48.33%
1062

1061
Amplitude

1060
y1

1059

1058

1057

1056

1055
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(b) Validation for zone 2 middle. The models


lack some of the peaks.

Simulated Response Comparison


1070
Validation data (y1)
sys6_prediction: 35.26%
1069
sys6_simulation: 38.66%

1068
Amplitude

1067
y1

1066

1065

1064

1063
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(c) Validation for zone 2 east. The models have


the peaks, but not at the right amplitude.

Figure 4.5: Validation for zone 2 with simulation response.


32 4 Model estimation

Simulated Response Comparison


1101
Validation data (y1)
1100 sys7_prediction: 31.44%
sys7_simulation: 24.44%

1099

1098

Amplitude
y1
1097

1096

1095

1094

1093
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(a) Validation for zone 3 west, notice the small


variations of the temperatures.

Simulated Response Comparison


1101
Validation data (y1)
sys8_prediction: 31.91%
1100 sys8_simulation: 36.55%

1099
Amplitude
y1

1098

1097

1096

1095
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(b) Validation for zone 3 middle, both models


have the similar model fit.

Simulated Response Comparison


1101
Validation data (y1)
sys9_prediction: 25.15%
1100 sys9_simulation: 27.83%

1099
Amplitude
y1

1098

1097

1096

1095
200 400 600 800 1000 1200 1400 1600 1800
Time (seconds)

(c) Validation for zone 3 east, the models cap-


ture the peaks, but not with the same ampli-
tude.

Figure 4.6: Validation for zone 3 with simulation response.


4.7 Discussion 33

4.6.2 Residuals
Below two of the eighteen residuals is presented, since the residuals have almost
the same behavior the rest are found i Appendix C.

Residue Correlation
AutoCorr
XCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
XCorr (u8)
XCorr XCorr
(u9) (u10)
1

0.8

0.6
Amplitude

0.4
e@y1

0.2

-0.2

-0.4
0 0 0 0 0 0 0 0 0 0 0
Lag

(a) The residual for Zone 1 Middle with pre-


diction model.

Residue Correlation
AutoCorr
XCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
XCorr (u8)
XCorr XCorr
(u9) (u10)
1

0.8

0.6
Amplitude
e@y1

0.4

0.2

-0.2
0 0 0 0 0 0 0 0 0 0 0
Lag

(b) The residual for Zone 2 Middle with pre-


diction model.

Figure 4.7: The figures show two residuals with estimating from prediction.

4.7 Discussion
It is hard to model the furnace with thermodynamics since it will be a very com-
plex model and information about the system is missing. Hence, we chose to
model the furnace as a Black-box model. One main advantages of a Black-box
model is its easy implementation. We believe that the difference between a Black-
box and a Grey-box in model quality are small since much information is un-
34 4 Model estimation

known. We chose to model the system as a State-space linear model since we


thought it would capture the most important aspects of the system. For a MIMO
system, it can be difficult to determine which inputs that influence which out-
puts, especially when the inputs are binary and can be similar. Therefore, to
ensure that the model had only relevant relations, a simple model was chosen. A
risk with a too advanced model is that it performs better in a specific case, but not
in the general case. For the parameter estimation some restrictions were added.
The point of this was to ensure reasonable parameters, such as enforcing that
burners only can increase temperature

The effect of the temperature when the walking beam is in use is strange and
hard to explain. It causes a zig-zag behaviour in zone 1 but also in zone 2 but
of smaller degrees. The peaks can be caused by an increase in the heat radiation
from below or that the heat flows are changed. We think the drop is caused when
the walking beam is in the end position and air is leaking in from below.

A large difference between the model and the furnace is that the furnace is a
nonlinear system. The temperature in the model is smoother and it lacks some of
the peaks and drops. In general the peaks have smaller amplitude in the model.
The heat losses in the model is seen as the diagonal in the A-matrix since A < 1.

As mentioned before the temperature was too high in three sections during the
data collection. We chose to include the burners for those sections in the model,
but we could not estimate the parameters for them. With simulation with other
reference temperature or different controller it could be a case when these burn-
ers should be on. The parameter values for the burners are approximations based
on the parameters for other burners.

The model fit for some sections were really low for the different models. Some
reasons can be that the furnace is a nonlinear system and that the data collection
was done during feedback. The problem with closed loop data is the correlation
between the input and the noise, which typically cause bias in the parameter es-
timation. For zone 3 it was hard to model the temperatures since it was close to
the given reference temperature and the large part of variation in signal could be
caused by noise. Therefore, it was more important to focus on good models of
the other zones, since those zones have the biggest opportunity to improve the
temperature control. The result from the residual analysis were similar for both
models with the worst result in the cross correlation with the burners, it suggests
that it exists more information about the system from the burners. In the end
there was a small difference between the models and the prediction model was
chosen since the model was better for zone 1, as the potential for improvement is
greatest in the zone first.

To improve the model one opportunity could be to include the temperature of the
bars in the model. The bars had probably have a large impact on the temperature
in the furnace since they will cause the temperature in the furnace to decrease
4.7 Discussion 35

when they are heated. The temperature of the material during its time in the fur-
nace could perhaps be estimated with a Kalman filter. Today, the temperature of
the material is measured at the end of the furnace. Another improvement could
be if the model includes the exhausts, as this could give an advantage of how the
heat flow is moving from zone 3 to 1. If this information was known, the dif-
ference between the Black-box and the Grey-box could be larger, and Grey-box
could be the better option.

Some other improvements that will be harder to integrate could be to add more
temperature sensors. This will give more information for the estimation. If some
sensors are mounted between the zones it could make it easier to estimate a better
heat exchange between the zones. With more sensors in each section, it will give
a better picture of temperature in it. The sensor configuration used today does
probably not give a complete picture of the whole section. Another way could
be to perform specific identification experiments on the furnace. For example,
have the same temperature for the whole furnace, and try different burners and
see their effect. This would more precisely show the effect of each burner on the
temperature in the system and thus most likely allow for a better model.
Control design
5
This chapter will show the final controllers and which specification that was
given for the controllers.The different controllers were simulated with the model
that was derived in Chapter 4. The result from the simulation will be presented
with both tables and figures. Finally, the chapter ends with a discussion about
the different controllers and their result in the simulation.

5.1 Specification
The aim with a new controller design was to decrease the frequency in which
the burners switch between on and off as well as a better temperature control.
There are no specific requirements on the frequency of the switching, but any
reduction would increase the life span for the burners, which allows them to be
used longer before replacement. For the temperature control it is a requirement
that the deviation from reference temperature should be less than 12 °C. At the
moment the temperatures in zone 2 and 3 are within the requirement. There are
difficulties in zone 1, in section east the temperature is too high and the effects of
the walking beam cause large temperature drops in section west and middle. The
largest possibility for improving the temperature control will thus be in zone 1.

5.2 Controller
In this section the implementation of the different controllers whose theory was
given in Chapter 3 is presented. It starts with the split range controller, then the
MPC controller and finally the DMPC controller.

37
38 5 Control design

5.2.1 Split range controller

The split range controller has a PI-controller, which has been tuned and the con-
version of the control signal to the burners are different than for the current con-
troller. The split range controller has two different parameters, cycle time and
swap time. A longer cycle time or swap time would give less switches, but at the
cost of worse temperature control. Both cycle time and swap time were chosen
to 45 seconds multiplied with the numbers of burners in the section which is the
same as the cycle time in the current controller. For the section in which there is
only one burner it is not possible to implement split range controller and in those
sections the current control will remain.

5.2.2 MPC

The MPC formulation presented in Chapter 3 has been on the fundamental MPC
controller with linear model, quadratic cost function and linear constraint. The
flexibility of MPC allows the formulation to be modified to have a nonlinear in-
ternal model, a more advanced cost function and non-linear constraints. The
difference is that the optimization problem can become much more complex, but
the underlying idea is still the same.

The MPC and DMPC problem were formulated by using the toolbox YALMIP
[5] and was solved with the solver MOSEK [2]. To use the MPC formulation in
(3.5) it needs to be some modification. The MPC controller will use the model
derived in Chapter 4. The model needs to be rewritten to separate the controlled
inputs, i.e. the burner from the disturbance inputs, the doors and the walking
beam. The disturbance inputs are known beforehand since the walking beam is
used according to a specified time and if there is a bar to be charged/discharged
the doors will open before/after the walking beam is used. No constraints for
temperatures in zone 1 were included in the MPC formulation since the MPC
controller could not calculate control signals with the constraints.

For the current controller the control signal is converted by the burner system
described in 2.2. It would be possible to let the control signal from the MPC
controller be converted the same way as for the PI controllers. For the MPC
controller the burners are directly controlled. The first reason is that the perfor-
mance of the MPC controller would be limited by the burner system. The second
reason is that the burner system would be a part of the MPC controller’s internal
model of the system which would increase the complexity of the optimization
problem, especially when the burner system is a time-variant system. The con-
straint on the input signal needs to be modified since the burners are binary. The
MPC formulation for the furnace can be written as
5.2 Controller 39

N
X
minimize ||x(k + j) − r(k + j)||2Q1 + ||u(k + j − 1) − u(k + j − 2)||2Q2 + λ||
u( · )
j=1

subject to
x(k + i) = Ax(k + i) + Bu(k + i) + Bd dm (k + i) (5.1)
xmin −  ≤xi ≤ xmax + 
ui ∈ {0,1}
0≤

In the cost function (5.1) the term for the inputs will be zero if there were no
switches during the prediction horizon. In the case of a switch for a burner the
term will always be 1 since (0 − 1)2 = (1 − 0)2 = 1. This makes it possible to set
the controller to optimize for a specific relation between a switch and deviation
from the reference temperature.

Some of the parameters in (5.1) was given as xmin = r − 12, xmax = r + 12 and
λ = 109 since λ has to be large. The other parameters were decided by trying
different configurations. It was done by simulating the system with the MPC
controller for a half hour. This simulation was done with the same model as the
internal model in the MPC controller and in the furnace. The prediction horizon
N was chosen by testing different N with Q19,9 = I 9×9 and Q217,17 = I 17×17 and
the result can be seen in

Table 5.1: The performance for the different prediction horizon.

N Mean temperature deviation Switches Max time


N=6 57.38 179 0.25
N = 12 50.31 340 0.87
N = 18 50.85 217 7.09
N = 24 51.39 149 20.25

For N = 18 and 24 was the max time over the sample time and therefore not
chosen. Between N = 6 and N = 12 was the performance better in different areas,
N = 6 had fewer switches and N = 12 better temperature control. N = 12 was
chosen since it had a better potential with a for it better ratio between Q1 and Q2.

The parameter Q2 was chosen by testing different values while Q19,9 = I 9×9 . The
performance can be seen in Figure 5.1. It becomes a choice between switches and
mean temperature deviation and we believe that Q2 = 10 is the best choice.
It gave the following parameters N = 12, xmin = r − 12, xmax = r + 12, Q19,9 = I 9×9 ,
Q217,17 = 10 ∗ I 17×17 , λ = 109
40 5 Control design

Comparsion of different Q2
400
Q = 0.1
2
Q 2 = 0.5
350 Q2 = 1
Q =5
2
300 Q = 10
2
Q 2 = 15

250
swicth

200

150

100

50
45 50 55 60 65 70 75
Mean temperature deviation from reference (celsius)

Figure 5.1: The comparison between different Q2 for MPC controller.

5.2.3 DMPC

The DMPC controller was implemented by three MPC controllers for each of the
zones. The main advantage was to keep the same structure as the furnace. The
burners from the same zone have a larger impact than the burners from another
zone. In Figure 5.2 a sketch show how each MPC controller is working. The MPC
controller for each zone will use the same MPC formulation as in (5.1). The dif-
ference is for the internal model where the temperature from a nearby zone is
assumed to be constant during the prediction horizon.
5.2 Controller 41

Zone 1 Zone 2 Zone 3

MPC 1 MPC 2 MPC 3

Figure 5.2: A sketch of how each MPC-controls get information.

The parameters were chosen in the same way as for the MPC controller. The
result for the different prediction horizon N can be seen in the table below

Table 5.2: The performance for the different prediction horizon for DMPC
controller.

N Mean temperature deviation Switches Max time


N=6 52.73 90 0.11
N = 12 50.65 170 0.46
N = 18 50.00 159 3.64
N = 24 49.83 168 12.54

N = 24 was not chosen since it took to long time to calculate the control sig-
nals. Between N = 6 and N = 18 the performance was better in different areas,
but N = 18 was chosen since it had a better potential with more favorable ratio
between Q1 and Q2 .

The result for the different Q2 can been seen in the Figure 5.3. It becomes a
choice between switches and mean temperature deviation and we believe that
Q2 = 30 is the best choice. The following parameters was used for the DMPC
N = 18, xmin = r − 12, xmax = r + 12, Q13,3 = I 3×3 , zone 1: Q26,6 = 30 ∗ I 6×6 ,
zone 2: Q25,5 = 30 ∗ I 5×5 , zone 3: Q26,6 = 30 ∗ I 6×6 and λ = 109
42 5 Control design

Comparsion of different Q2
160
Q2 = 1
Q =5
2
140 Q = 10
2
Q = 15
2
120 Q 2 = 20
Q = 25
2
Q = 30
100 2
swicth

Q 2 = 35

80

60

40

20
50 55 60 65 70 75
Mean temperature deviation from reference (celsius)

Figure 5.3: The comparison between different Q2 for DMPC controller.

5.3 Simulation

The simulation was done in SIMULINK with the model based on prediction and
with initial temperature, reference value and disturbance input (the doors and
walking beam) from the data collection. The simulation time was one hour, which
allows the temperature to weigh in. For the MPC/DMPC there were two simula-
tions, one was the ideal case and the other robustness test case. In the ideal
case was the internal model for the MPC/DMPC was the same as for the fur-
nace. In the other case was the internal model for the MPC/DMPC estimated the
same way as in Chapter 4 but the estimation data where the data from the last
two thirds instead. The input temperature for the MPC/DMPC was modified by
adding Gaussian noise with variance 3. The reason for it was to represent the
uncertainty with the model and that the furnace is a nonlinear system. The ro-
bustness test was to see if the performance changed.

The reference temperature for each section can be seen in Table 5.3 and the tem-
perature from the simulation with the different controllers can be seen in Figures
5.4-5.9. More detailed picture of zone 2 and 3 for MPC and DMPC with lines
where the temperature should be within are seen in Appendix B.
5.3 Simulation 43

Table 5.3: The reference temperature in Celsius for each section.

Zone Temp West Temp Mid Temp East


1 960 955 955
2 1065 1060 1060
3 1098 1098 1098

Original Temperatures
1120
Z1 W
Z1 M
1100 Z1 E
Z2 W
Z2 M
1080 Z2 E
Z3 W
Z3 M
1060 Z3 E
Temperature (celsius)

1040

1020

1000

980

960

940
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure 5.4: The simulated temperatures for the furnace during 1 hour.
44 5 Control design

Split-range Temperatures
1120
Z1 W
Z1 M
1100 Z1 E
Z2 W
1080 Z2 M
Z2 E
Temperature (celsius)

1060 Z3 W
Z3 M
Z3 E
1040

1020

1000

980

960

940
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure 5.5: The simulated temperatures with Split-range controller during 1


hour.

MPC Temperatures
1120
Z1 W
Z1 M
1100
Z1 E
Z2 W
1080
Z2 M
Z2 E
1060
Temperature (celsius)

Z3 W
Z3 M
1040 Z3 E

1020

1000

980

960

940

920
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure 5.6: Thesimulated temperatures with MPC during 1 hour with the
ideal case.
5.3 Simulation 45

MPC Temperatures
1120
Z1 W
Z1 M
1100
Z1 E
Z2 W
1080
Z2 M
Z2 E
Temperature (celsius) 1060 Z3 W
Z3 M
1040 Z3 E

1020

1000

980

960

940

920
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure 5.7: The simulated temperatures with MPC during 1 hour with the
robustness test case.

DMPC Temperatures
1120
Z1 W
Z1 M
1100
Z1 E
Z2 W
1080
Z2 M
Z2 E
1060
Temperature (celsius)

Z3 W
Z3 M
1040 Z3 E

1020

1000

980

960

940

920
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure 5.8: The simulated temperatures with DMPC during 1 hour with the
ideal case.
46 5 Control design

DMPC Temperatures
1120
Z1 W
Z1 M
1100
Z1 E
Z2 W
1080
Z2 M
Z2 E
1060
Temperature (celsius)

Z3 W
Z3 M
1040 Z3 E

1020

1000

980

960

940

920
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure 5.9: The simulated temperatures with DMPC during 1 hour with the
robustness test case.

The number of times that the burners switched between on and off during the
simulation was saved. This was also done for the corresponding measurement
data. It was used to compare the controllers between each other and also the
controller in the actual furnace. The result can be seen in Table 5.4.

Table 5.4: The number of switches each zone had during simulation for the
different controllers and measured data for the furnace.

Controller switches z1 Switches z2 Switches z3 Total Switches


Measured 83 162 243 488
Simulated 63 133 179 375
Split range 38 67 96 201
MPC (ideal) 69 42 30 141
MPC (robustness) 172 76 64 312
DMPC (ideal) 28 11 5 44
DMPC (robustness) 66 36 64 166

Tables 5.5 - 5.7 shows the mean deviation from the reference temperature in
each section for the last half hour. The last half hour was used since then the
fluctuations in temperature had subsided, mostly for the simulation with current
control in Figure 5.4. The tables were used to see the difference between the
controllers in another way than the figures.
5.3 Simulation 47

Table 5.5: The mean deviation for the temperature in zone 1 for the last half
hour.

Controller Temp West Temp Mid Temp East


Measured 17.6 4.4 54.2
Simulated 11.3 3.4 39.8
Split range 12.0 4.1 39.7
MPC (ideal) 6.8 13.5 25.8
MPC (robustness) 6.8 10.3 29.3
DMPC (ideal) 7.0 15.8 24.9
DMPC (robustness) 8.3 8.1 32.4

Table 5.6: The mean deviation for the temperature in zone 2 for the last half
hour.

Controller Temp West Temp Mid Temp East


Measured 2.0 1.9 6.1
Simulated 1.9 1.3 5.6
Split range 1.5 1.5 4.9
MPC (ideal) 6.4 2.8 3.2
MPC (robustness) 2.0 1.3 3.6
DMPC (ideal) 2.1 1.3 1.0
DMPC (robustness) 0.6 0.6 1

Table 5.7: The mean deviation for the temperature in zone 3 for the last half
hour.

Controller Temp West Temp Mid Temp East


Measured 1.4 1.1 2.1
Simulated 1.1 0.9 1.2
Split range 1.2 1.2 1.5
MPC (ideal) 2.8 1.8 2.1
MPC (robustness) 1.9 0.8 3.5
DMPC (ideal) 0.3 1.6 1.5
DMPC (robustness) 3.6 2.1 0.9

The time to calculate the control signal during simulation is seen in Table 5.8.
48 5 Control design

Table 5.8: The mean, max and min time in seconds to calculate the control
signal for the different MPC controller.

Controller Mean Max Min


MPC (ideal) 0.1260 0.8308 0.0724
MPC (robustness) 0.1218 0.9530 0.0732
DMPC (ideal) zone 1 0.0297 0.1221 0.0230
DMPC (ideal) zone 2 0.0543 0.2398 0.0235
DMPC (ideal) zone 3 0.0886 1.1384 0.0282
DMPC (robustness) zone 1 0.0357 0.1063 0.0236
DMPC (robustness) zone 2 0.0906 0.4887 0.0244
DMPC (robustness) zone 3 0.1258 0.8986 0.0265

5.4 Discussion
There was a difference between the measurement and the simulation of the fur-
nace in both temperature and number of switches, which is reasonable since the
model differs from the furnace. Another possible explanation could be the differ-
ence between the controllers, but since the PI-controllers and the burner system
are clearly specified and implemented the same way in SIMULINK, this explana-
tion is unlikely.

The temperature is much smoother in the simulation compared to the measure-


ment but the mean deviation from reference value is similar except zone 1. Since
the temperatures vary considerably more in zone 1 both in absolute and relative
terms it is reasonable that zone 1 differ. The difference in both temperature and
number of the switches are probably due to that the model is a linear simpli-
fied version of the furnace. The real system is nonlinear and depends on more
than just the burners, the doors and the walking beam. The difference in number
of switches can be explained by that the temperature is smoother in simulation
which results in the control signal being closer to 0 or 100 % and thereby the burn-
ers do not alternate. The difference in number of switches between measured and
simulated was of the same magnitude across all the zones. Therefore, there is no
systematic error in any of the zones.

The split range controller gives a clear improvement in the number of switches at
the cost of a little worse temperature control. It is reasonable since for the same
control signal the split range controller will have fewer switches. The parameters,
cycle time and swap time, in the split range controller can be used to tune the
controller to decrease the frequency of alternation or improve the temperature
control. An increase in swap time or cycle time would decrease the number of
switches with worse temperature control or vice verse. A possible problem with
the split range controller implemented in the furnace could be that the temper-
ature inside the section gets uneven since the burners is on less often compared
to the current control. It is difficult to decide if it is a real problem since we only
5.4 Discussion 49

have one temperature measurement in each section. An advantage with the split
range controller is that it would be fairly easy to implement in the furnace by
modifying the burner system.

The simulation of the MPC/DMPC probably overestimates the controller’s perfor-


mance. The difference between the furnace and model is probably much bigger
than the models used in the robustness test case. The difference between the two
cases were none with respect to temperature control but the switches was worse
in the robustness test case. A reason for that could be that the internal model
works well in short term which keeps the temperatures close to its reference. The
simulation can be seen as indicative of the MPC/DMPC possible performance.
MPC/DMPC also have the advantage over the other controllers in that the burn-
ers are directly controller, and the simplicity with which the known disturbances
can be used in a feed forward fashion.

A comparison between the MPC and DMPC is more easily done than with the
other controllers. The biggest difference between MPC and DMPC was the num-
ber of switches for which the DMPC was much better. One reason that the DMPC
controller is better could be that it has a longer prediction horizon which allow it
to choose a better control sequence. Another reason could be that the DMPC has
a larger penalty on switches. The performance of the DMPC could be improved
if its different MPC controllers could communicate. First the MPC controllers cal-
culate its control sequence as before where the temperatures in the other zones
are assumed constant over the prediction horizon. For the next step the control
sequence is calculated where the previous control sequence to model the temper-
ature in the other zones. This would be repeated until the performance is good
enough. Finally, with this said the MPC/DMPC performance depends on how
good the model is. To implement the MPC/DMPC in the real furnace would re-
quire a more extensive validation of the model during other condition than those
during the data collection.

As said it is hard to compare the Split range controller with the MPC/DMPC
but one main advantage of the MPC/DMPC is the possibility of adjustment. If
the requirements of the steel bars would be harder and the bounds on the tem-
peratures would be tighter, the MPC/DMPC can just adjust it. The Split range
controller can not take this into account and it can have problem to keep the tem-
perature within the bounds; in worst case it could be impossible to have a Split
range controller.

The temperature control could be improved by introducing feed forward control


for the other controllers besides the MPC/DMPC. An easy form of feed forward
control would be that the reference temperature or the control signal is temporar-
ily increased before the walking beam is used, as we know the walking beam
decreases the temperature. An improvement for the MPC/DMPC is if the throt-
tle in the exhausts in zone 1 could be controlled. It would then be possible to
partially control the heat flow between the sections. This could probably lead
50 5 Control design

to a smoother temperature in zone 1. Another improvement by controlling the


exhaust could be that the temperature in the east section would decrease since
the heat streams between the exhaust could be more equal.

Every time a burner malfunctions the whole furnace needs to cool downs before
any maintenance can be done. A lot of time will pass by every time the furnace
needs to be cooled down and then heated up again. For the heating up process
the need to go from room temperature up to reference takes much energy, which
is not good for either the company or the environment. Hence, an improved con-
trol strategy could be important for several reasons.

The simulation shows that both the split range controller and MPC/DMPC have
possible improvements over the current controller. This could hopefully reduce
the unplanned maintenance during the years. MPC/DMPC had better tempera-
ture control while more switches in the robustness test case compared to the split
range controller, but the uncertainty of the result is greater and it would be more
difficult to implement than the split range controller.
Conclusion and Future work
6
The split range controller can be improved by taking nearby section temperatures
into account when it decides which order the burners in the section should start
to burn. If the temperature in a nearby section to the left is too high is the right-
most burner is chosen first. The split range controller could also be improved by
a feed forward approach where the reference temperature or the control signal is
temporarily increased before the temperature drop caused by the walking beam.

The model is adapted to the specific conditions during the data collection. The
model must be validated to see if it works in different conditions such as the size
of the bars, the operating temperature and the time it takes for the bars to go
through the furnace. The model may have to be modified to be more general, for
example by having different models for different operating temperatures or have
some parameters depending on the properties of the bars. Since the model now
is linear, one way can be to make it nonlinear.

The performance of the MPC/DMPC depends on the quality of the model. There
are several potential ways to improve the model. The data collection could be
done with specific input signal devised to improve the identification performance.
Another option would be to use a more extensive method than the direct ap-
proach to deal with data collection during feedback. With better data can the
parameter estimation of the state space model could possibly be improved, or a
more complex model could be used. To improve the DMPC one way could be to
add the predicted output signals from the local MPC controller into each other.
This will generate a better prediction of the temperature in the other zones.

A natural continuation would be to implement one of the examined control de-


sign as the controller in the furnace. It would be possible to implement the split

51
52 6 Conclusion and Future work

range controller already now by modifying the burner system. It would require
more work to implement the MPC/DMPC but the potential in temperature con-
trol is also greater than for the split range controller. Finally, all the evaluated
controllers should be an improvement over the current controller.
Appendix
Parameters in state space model
A

This Appendix contains table of the parameters in (4.10) and (4.11) from Chapter
4

55
56 A Parameters in state space model

A.1 Values for A-matrix

Parameter Prediction Simulation


a1,1 0.9885 0.9890
a1,4 0.0104 0.0099
a2,1 0.0205 0.1304
a2,2 0.9601 0.7000
a2,5 0.0168 0.1503
a3,2 0.0278 0.0206
a3,3 0.9563 0.9609
a3,6 0.0157 0.0175
a4,1 0.0052 0.0054
a4,4 0.9641 0.9365
a4,5 0.0047 0.0435
a4,7 0.0253 0.0145
a5,2 0.0032 0.0040
a5,4 0.0441 0.0156
a5,5 0.9136 0.9605
a5,6 0.0031 0
a5,8 0.0346 0.0193
a6,2 0.0059 0.0082
a6,3 0.0002 0
a6,5 0.0078 0.0314
a6,6 0.9703 0.8790
a6,9 0.0158 0.0799
a7,4 0.004 0.0077
a7,7 0.9347 0.9678
a7,8 0.0608 0.0241
a8,5 0.0157 0.0241
a8,7 0.9347 0.0246
a8,8 0.0608 0.8970
a8,9 0.0264 0.0545
a9,6 0.0135 0.0131
a9,8 0.0371 0
a9,9 0.9491 0.9868
A.2 Values for B-matrix 57

A.2 Values for B-matrix


Parameter Prediction Simulation
b1,1 0.1000 0.1000
b2,1 0.4000 0.4000
b2,2 0.1000 0.1000
b3,2 0.1000 0.1000
b4,2 0.3213 0.4156
b4,3 0.1782 0.4463
b5,2 0.1000 0.2613
b5,3 0.7534 1.0034
b6,3 0.1000 0.1000
b7,4 0.2311 0.3968
b7,7 0.4000 0.4000
b8,4 0.3555 0.4000
b8,5 0.1000 0.1676
b9,5 0.1000 0.1000
b9,8 0.0722 0.1589
b10,5 0.1000 0.1290
b10,6 0.2609 0.3586
b10,8 0.1595 0.2909
b10,9 0.2838 0.4000
b11,6 0.1000 0.1000
b12,7 0.4429 0.4160
b13,7 0.2052 0.2411
b13,8 0 0.0483
b14,8 0.3463 0.4916
b15,8 0.1000 0.1000
b16,8 0 0.1170
b16,9 0.3417 0.1211
b17,9 0.3847 0.2397
b18,1 0.5300 0.5048
b18,2 0.3425 0.8113
b18,3 0.2414 1.1900
b18,4 0.0247 -0.2249
b18,5 0.0527 0.0156
b19,1 0.5180 0.5705
b19,2 0.0003 0.0107
b19,5 0.0295 0.0462
b20,1 1.8265 1.8417
b20,2 0.8304 0.8328
b20,4 0.5987 0.8172
b20,5 0.4321 0.5420
Detailed figures of temperature zones
B
This appendix shows more detailed figures for zone 2 and 3 for the MPC and
DMPC controllers. For zone 2 is the dash-dotted lines are the boundaries for the
temperature in section west and the dashed lines are the boundaries for temper-
atures in section mid and section east. For zone 3 is the boundaries the same for
all its sections and is represented by the dashed lines.

MPC Temperatures for zone 2


1080
West
Mid
1075 East

1070
Temperature (celsius)

1065

1060

1055

1050

1045
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure B.1: The temperature in the west section is inside its boundaries and
touches only the bounds for the other sections

59
60 B Detailed figures of temperature zones

MPC Temperatures for zone 3

1110 West
Mid
East

1105
Temperature (celsius)

1100

1095

1090

1085
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure B.2: The temperatures is clearly inside the boundaries.

DMPC Temperatures for zone 2


1080
West
Mid
1075 East

1070
Temperature (celsius)

1065

1060

1055

1050

1045
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure B.3: The temperatures are clearly inside the boundaries.


61

DMPC Temperatures for zone 3

1110 West
Mid
East

Temperature (celsius) 1105

1100

1095

1090

1085
0 500 1000 1500 2000 2500 3000 3500
Time (seconds)

Figure B.4: The temperatures are clearly inside the boundaries.


Residuals
C
This appendix contains all the residuals from Chapter 4.

Residue Correlation
AutoCorrXCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
1

0.8

0.6

0.4

0.2
Amplitude
e@y1

-0.2

-0.4

-0.6

-0.8

-1
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.1: Residual of zone 1 west, with prediction model.

63
64 C Residuals

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2)XCorr (u3)XCorr (u4)XCorr (u5)XCorr (u6)
1

0.8

0.6

0.4

0.2
Amplitude
e@y1
0

-0.2

-0.4

-0.6

-0.8

-1
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.2: Residual of zone 1 east, with prediction model.

Residue Correlation
AutoCorrXCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
1

0.8

0.6
Amplitude

0.4
e@y1

0.2

-0.2

-0.4
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.3: Residual of zone 2 west, with prediction model.


65

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2)XCorr (u3)XCorr (u4)XCorr (u5)XCorr (u6)
1

0.8

0.6

0.4

0.2

Amplitude
e@y1
0

-0.2

-0.4

-0.6

-0.8

-1
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.4: Residual of zone 2 east, with prediction model.

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2) XCorr (u3) XCorr (u4) XCorr (u5)
1

0.8

0.6
Amplitude
e@y1

0.4

0.2

-0.2

-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10


Lag

Figure C.5: Residual of zone 3 west, with prediction model.


66 C Residuals

Residue Correlation
AutoCorr
XCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
XCorr (u8)
XCorr (u9)
1

0.8

0.6

Amplitude 0.4
e@y1
0.2

-0.2

-0.4
0 0 0 0 0 0 0 0 0 0
Lag

Figure C.6: Residual of zone 3 mid, with prediction model.

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2) XCorr (u3) XCorr (u4) XCorr (u5)
1

0.8

0.6
Amplitude

0.4
e@y1

0.2

-0.2

-0.4
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.7: Residual of zone 3 east, with prediction model.


67

Residue Correlation
AutoCorrXCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
1

0.8

0.6

0.4

0.2

Amplitude
e@y1
0

-0.2

-0.4

-0.6

-0.8

-1
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.8: Residual of zone 1 west, with simulation model.

Residue Correlation
AutoCorr
XCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
XCorr (u8)
XCorr XCorr
(u9) (u10)
1

0.8

0.6

0.4
Amplitude

0.2
e@y1

-0.2

-0.4

-0.6

-0.8
0 0 0 0 0 0 0 0 0 0 0
Lag

Figure C.9: Residual of zone 1 mid, with simulation model.


68 C Residuals

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2)XCorr (u3)XCorr (u4)XCorr (u5)XCorr (u6)
1

0.8

0.6

0.4

0.2
Amplitude
e@y1
0

-0.2

-0.4

-0.6

-0.8

-1
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.10: Residual of zone 1 east, with simulation model.

Residue Correlation
AutoCorrXCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
1

0.8

0.6
Amplitude

0.4
e@y1

0.2

-0.2

-0.4
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.11: Residual of zone 2 west, with simulation model.


69

Residue Correlation
AutoCorr
XCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
XCorr (u8)
XCorr XCorr
(u9) (u10)
1

0.8

0.6

Amplitude
e@y1
0.4

0.2

-0.2
0 0 0 0 0 0 0 0 0 0 0
Lag

Figure C.12: Residual of zone 2 mid, with simulation model.

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2)XCorr (u3)XCorr (u4)XCorr (u5)XCorr (u6)
1

0.8

0.6

0.4

0.2
Amplitude
e@y1

-0.2

-0.4

-0.6

-0.8

-1
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.13: Residual of zone 2 east, with simulation model.


70 C Residuals

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2) XCorr (u3) XCorr (u4) XCorr (u5)
1

0.8

0.6

Amplitude 0.4
e@y1

0.2

-0.2

-0.4
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.14: Residual of zone 3 west, with simulation model.

Residue Correlation
AutoCorr
XCorr (u1)
XCorr (u2)
XCorr (u3)
XCorr (u4)
XCorr (u5)
XCorr (u6)
XCorr (u7)
XCorr (u8)
XCorr (u9)
1

0.8

0.6
Amplitude

0.4
e@y1

0.2

-0.2

-0.4
0 0 0 0 0 0 0 0 0 0
Lag

Figure C.15: Residual of zone 3 mid, with simulation model.


71

Residue Correlation
AutoCorr XCorr (u1) XCorr (u2) XCorr (u3) XCorr (u4) XCorr (u5)
1

0.8

0.6

Amplitude
0.4

e@y1 0.2

-0.2

-0.4
-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10-10 0 10
Lag

Figure C.16: Residual of zone 3 east, with simulation model.


Bibliography

[1] T. Kiefer A. Kugi A. Steinboeck, D. Wild. A mathematical model of a slab


reheating furnace with radiative heat transfer and non-participating gaseous
media. International Journal of Heat and Mass Transfer, 53, 2010. Cited on
page 2.
[2] MOSEK ApS. Documentation. URL https://mosek.com/resources/
doc. Cited on pages 3 and 38.

[3] Urban Forssell and Lennart Ljung. Closed-loop identification revisited.


Linköping University Electronic Press, 1997. Cited on page 21.
[4] Glad T. Ljung L. Modellbygge och simulering. Studentlitteratur., 2:5 edition,
2004. Cited on page 21.
[5] J. Löfberg. Yalmip : A toolbox for modeling and optimization in matlab. In
Proceedings of the CACSD Conference, 2014. Cited on pages 3 and 38.
[6] J. M. Maciejowski. Predictive Control with Constraints. Prentice Hall, 1 edi-
tion, 2001. Cited on pages 13 and 16.
[7] S. Taylor M.P. Taylor N. Depree, J. Sneyd. Development and validation of
models for annealing furnace control from heat transfer fundamentals. Com-
puters and Chemical Engineering, 34, 2010. Cited on page 2.
[8] M. Jelali S. Zareba, A. Wolff. Mathematical modelling and parameter identi-
fication of a stainless steel annealing furnace. Simulation Modelling Practice
and Theory, 60, 2016. Cited on page 2.

[9] F. Lawayeb D. Dumur A. Mouchette X.M. Nguyen, P. Rodriguez-Ayerbe. Tem-


perature control of reheating furnace based on distributed model predictive
control*. 2014. Cited on page 17.

73