0% found this document useful (0 votes)
39 views32 pages

Camacho 2007

Controle avançado

Uploaded by

Luis Carvalho
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views32 pages

Camacho 2007

Controle avançado

Uploaded by

Luis Carvalho
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

8

Robust Model Predictive Control

Mathematical models of real processes cannot contemplate every aspect of


reality. Simplifying assumptions have to be made, especially when the mod-
els are going to be used for control purposes, where models with simple
structures (linear in most cases) and sufficiently small size have to be used
due to available control techniques and real-time considerations. Thus, math-
ematical models, especially control models, can only describe the dynamics
of the process in an approximative way.
Most control design techniques need a control model of the plant with
fixed structure and parameters (nominal model), which is used throughout
the design. If the control model were an exact, rather than an approximate,
description of the plant and there were no external disturbances, processes
could be controlled by an open-loop controller. Feedback is necessary in pro-
cess control because of the external perturbations and model inaccuracies
in all real processes. The objective of robust control is to design controllers
which preserve stability and performance in spite of the modelling inaccu-
racies or uncertainties. Although the use of feedback contemplates the in-
accuracies of the model implicitly, the term of robust control is used in the
literature to describe control systems that explicitly consider the discrepan-
cies between the model and the real process [130].
There are different approaches for modelling uncertainties depending
mainly on the type of technique used to design the controllers. The most
extended techniques are frequency response uncertainties and transfer func-
tion parametric uncertainties. Most of the approaches assume that there is a
family of models and that the plant can be exactly described by one of the
models belonging to the family. That is, if the family of models is composed
of linear models, the plant is also linear. The approach considered here is the
one relevant to the key feature of MPC which is to predict future values of the
output variables. The uncertainties can be defined about the prediction ca-
pability of the model. It will be shown that no assumptions have to be made
regarding the linearity of the plant in spite of using a family of linear models
for control purposes.

E. F. Camacho et al., Model Predictive Control


© Springer-Verlag London Limited 2007
218 8 Robust Model Predictive Control

8.1 Process Models and Uncertainties


Two basic approaches are extensively used in the literature to describe mod-
elling uncertainties: frequency response uncertainties and transfer function
parametric uncertainties. Frequency uncertainties are usually described by
a band around the nominal model frequency response. The plant frequency
response is presumed to be included in the band. In the case of paramet-
ric uncertainties, each coefficient of the transfer function is presumed to be
bounded by the uncertainties limit. The plant is presumed to have a transfer
function, with parameters within the uncertainty set.
Both ways of modelling uncertainties consider that the exact model of the
plant belongs to the family of models described by the uncertainty bounds.
That is, the plant is linear with a frequency response within the uncertainty
band for the first case and the plant is linear and of the same order as that of
the family of models for the case of parametric uncertainties.
Control models in MPC are used to predict what is going to happen: fu-
ture trajectories. The appropriate way of describing uncertainties in this con-
text seems to be by a model or a family of models that, instead of generating
a future trajectory, may generate a band of trajectories in which the process
trajectory will be included when the same input is applied, in spite of the
uncertainties. One should expect this band to be narrow when a good model
of the process is available and the uncertainty level is low and to be wide
otherwise.
The most general way of posing the problem in MPC is as follows: con-
sider a process whose behaviour is dictated by the following equation

y(t+1) = f (y(t), · · · , y(t−ny ), u(t), · · · , u(t−nu ), z(t), · · · , z(t−nz ), ψ) (8.1)

where y(t) ∈ Y and u(t) ∈ U are n and m vectors of outputs and inputs,
ψ ∈ Ψ is a vector of parameters possibly unknown, and z(t) ∈ Z is a vector
of possibly random variables.
Now consider the model or family of models, for the process described
by
ŷ(t + 1) = fˆ(y(t), · · · , y(t − nna ), u(t), · · · , u(t − nnb ), θ) (8.2)
where ŷ(t + 1) is the prediction of output vector for instant t + 1 generated
by the model; fˆ is a vector function, usually a simplification of f ; nna and
nnb are the number of past outputs and inputs considered by the model; and
θ ∈ Θ is a vector of uncertainties about the plant. Variables that although
influencing plant dynamics are not considered in the model because of the
necessary simplifications or for other reasons are represented by z(t).
The dynamics of the plant in (8.1) are completely described by the family
of models (8.2) if for any y(t), · · · , y(t − ny ) ∈ Y, u(t), · · · , u(t − nu ) ∈ U,
z(t), · · · , z(t − nz ) ∈ Z and ψ ∈ Ψ, there is a vector of parameters θi ∈ Θ
such that
8.1 Process Models and Uncertainties 219

f (y(t), · · · , y(t − ny ), u(t), · · · , u(t − nu ), z(t), · · · , z(t − nz ), ψ)


= fˆ(y(t), · · · , y(t − nn ), u(t), · · · , u(t − nn ), θi )
a b

The way in which the uncertainties parameter θ and its domain Θ are defined
mainly depends on the structures of f and fˆ and on the degree of certainty
about the model. In the following the most used model structures in MPC
will be considered.

8.1.1 Truncated Impulse Response Uncertainties

For an m-input n-output MIMO stable plant the truncated impulse response
is given by N real matrices (n × m) Ht . The (i, j) entry of Ht corresponds
to the ith output of the plant when an impulse has been applied to input
variable uj .
The natural way of considering uncertainties is by supposing that the
coefficients of the truncated impulse response, which can be measured ex-
perimentally, are not known exactly and are a function of the uncertainty
parameters. Different types of functions can be used. The most general way
will be by considering that the impulse response may be within a set defined
by (H t )ij ≤ (Ht )ij ≤ (H t )ij ; that is, (Ht )ij (Θ) = (Hmt )ij + Θtij , with Θ de-
fined by (Hmt )ij − (H t )ij ≤ Θtij ≤ (H t )ij − (Hmt )ij and Hmt is the nominal
response. The dimension of the uncertainty parameter vector is N × (m × n).
For the case of N = 40 and a 5-input 5-output MIMO plant, the number of
uncertainty parameters is 1000, which will normally be too high for the min-
max problem involved.
This way of modelling does not take into account the possible structures
of the uncertainties. When these are considered, the dimension of the uncer-
tainty parameter set may be considerably reduced.
In [47] and [162] a linear function of the uncertainty parameters is sug-
gested:


q
Ht = Gtj θj
j=1

The idea is that the plant can be described by a linear combination of q


known stable linear time-invariant plants with unknown weighting θj . This
approach is suitable in the case when the plant is nonlinear and linear models
are obtained at different operating regimes. It seems plausible that a linear
combination of linearized models can describe the behaviour of the plant
over a wider range of conditions than a single model.
As will be seen, considering the impulse response as a linear function
of the uncertainty parameters is of great interest for solving the robust MPC
problem. Furthermore, note that the more general description of uncertain-
ties (Ht )ij (Θ) = (H t )ij + Θtij can also be expressed this way by considering
220 8 Robust Model Predictive Control


n 
m
Ht (θ) = (H t )ij + Θtij Hij
i=1 j=1

where Hij is a matrix with entry (i, j) equal to one and the remaining entries
are zero.
The predicted output can be computed as


N
y(t + j) = (Hmi + θi )u(t + j − i)
i=1

while the predicted nominal response is


N
ym(t + j) = Hmi u(t + j − i)
i=1

The prediction band around the nominal response is then limited by:


N 
N
min θi u(t + j − i) and max θi u(t + j − i)
θ∈Θ θ∈Θ
i=1 i=1

8.1.2 Matrix Fraction Description Uncertainties

Let us consider the following n-output m-input multivariable discrete-time


model
A(z −1 )y(t) = B(z −1 ) u(t − 1) (8.3)
where A(z −1 ) and B(z −1 ) are polynomial matrices of appropriate dimen-
sions.
Parametric uncertainties about the plant can be described by (Ak )ij ≤
(Ak )ij ≤ (Ak )ij and (B k )ij ≤ (Bk )ij ≤ (B k )ij . That is, (Ak )ij = (Ak )ij +Θakij
(Bk )ij = (B k )ij + Θbkij .
The number of uncertainty parameters for this description is na × n × n
+(nb + 1) × n × m. Note that uncertainties about actuators and dead times
will mainly reflect on coefficients of the polynomial matrix B(z −1 ), while un-
certainties about the time constants will mainly affect the polynomial matrix
A(z −1 ). Note that if the parameters of the polynomial matrices A(z −1 ) and
B(z −1 ) have been obtained via identification, the covariance matrix indicates
how big the uncertainty band for the coefficients is.
The most frequent case in industry is that each of the entries of the trans-
fer matrix has been characterized by its static gain, time constant, and equiv-
alent dead time. Bounds on the coefficients of matrices A(z −1 ) and B(z −1 )
can be obtained from bounds on the gain and time constants. Uncertainties
about the dead time are, however, difficult to handle. If the uncertainty band
8.1 Process Models and Uncertainties 221

about the dead time is higher than the sampling time used, it will translate
into a change in the order of the polynomial or coefficients that can change
from zero and to zero. If the uncertainty band about the dead time is smaller
than the sampling time, the pure delay time of the discrete-time model does
not have to be changed. The fractional delay time can be modelled by the
first terms of a Padé expansion and the uncertainty bound of these coeffi-
cients can be calculated from the uncertainties of the dead time. In any case
dead time uncertainty bounds tend to translate into a very high degree of
uncertainty about the coefficients of the polynomial matrix B(z −1 ).
The prediction equations can be expressed in terms of the uncertainty
parameters. Unfortunately, for the general case, the resulting expressions are
too complicated and of little use because the involved min-max problem
would be too difficult to solve in real time. If the uncertainties only affect
polynomial matrix B(z −1 ), the prediction equation is an affine function of
the uncertainty parameter and the resulting min-max problem is less com-
putationally expensive, as will be shown later in the chapter. Uncertainties
on B(z −1 ) can be given in various ways. The most general way is by con-
sidering uncertainties on the matrices (Bi = Bni + θi ). If the plant can be
described by a linear combination of q known linear time invariant plants
with unknown weighting θj , polynomial matrix B(z −1 ) can be expressed as:

q
B(z −1 ) = θi Pi (z −1 )
i=1

The polynomial matrices Pi (z −1 ) are a function of the polynomial matrices


Bi (z −1 ) and Ai (z −1 ) corresponding to the matrix fraction description of each
plant. For the case of diagonal Ai (z −1 ) matrices, the polynomial matrices
Pi (z −1 ) can be expressed as:
q
−1
Pi (z )= Aj (z −1 )Bi (z −1 )
j=1,i =j

Note that the general case of uncertainties on the coefficient parameters


could have also been expressed this way but with a higher number of un-
certainty parameters. Using prediction Equation (6.5)

y(t + j|t) = Fj (z −1 )y(t) + Ej (z −1 )B(z −1


q )  u(t−1
+ j − 1)
−1 −1
= Fj (z )y(t) + Ej (z )( i=1 θi Pi (z ))  u(t + j − 1)
that is, an affine function in θi .

8.1.3 Global Uncertainties


The key idea of this way of modelling the uncertainties is to assume that all
modelling errors are globalized in a vector of parameters, such that the plant
can be described by the following family of models
222 8 Robust Model Predictive Control

ŷ(t + 1) = fˆ(y(t), · · · , y(t − nna ), u(t), · · · , u(t − nnb )) + θ(t)

with dim(θ(t))=n.
Notice that global uncertainties can be related to other types of uncer-
tainties. For the impulse response model, the output at instant t + j with
parametric and temporal uncertainties description is given by:


N
ŷ(t + j) = (Hmi + θi )u(t + j − i)
i=1

N
ŷ(t + j) = (Hmi )u(t + j − i) + θ(t + j)
i=1

N
Therefore θ(t + j) = i=0 θi u(t + j − i) and the limits for the i component
(θi , θi ) of vector θ(t + j) when u(t) is bounded (in practice always) are given
by:


N
θi = min θti u(t + j − i)
u(·)∈U,θi ∈Θ
i=0

N
θi = max θti u(t + j − i)
u(·)∈U,θi ∈Θ
i=0

The number of uncertainty parameters is reduced from N × (m × n) to n


but the approach is more conservative because the limits of the uncertainty
parameter domain have to be increased to contemplate the worst global situ-
ation. The way of defining the uncertainties is, however, much more intuitive
and directly reflects how good the j step ahead prediction model is.
For the left matrix fraction description, the uncertainty model is defined
by
Ã(z −1 )y(t) = B(z −1 )  u(t − 1) + θ(t) (8.4)
with θ(t) ∈ Θ defined by e(t) ≤ θ(t) ≤ e(t).
Notice that with this type of uncertainty one does not have to presume
the model to be linear, as is the case of parametric uncertainty or frequency
uncertainty modelling. Here it is only assumed that the process can be ap-
proximated by a linear model in the sense that all trajectories will be in-
cluded in bands that depend on θ(t) and θ(t). It may be argued that this
type of global uncertainties are more disturbances than uncertainties because
they seem to work as external perturbations. However, the only assumption
made is that they are bounded; in fact θ(t) may be a function of past inputs
and outputs. If the process variables are bounded, the global uncertainties
can also be bounded.
8.1 Process Models and Uncertainties 223

The model given by Expression (8.4) is an extension of the integrated


error concept used in CARIMA models. Because of this, the uncertainty band
will grow with time. To illustrate this point consider the system described by
the first-order difference equation

y(t + 1) = ay(t) + bu(t) + θ(t + 1) with θ ≤ θ(t) ≤ θ

that is, a model without integrated uncertainties. Let us suppose that the
past inputs and outputs and future inputs are zero, thus producing a zero
nominal trajectory. The output of the uncertain system is given by

y(t + 1) = θ(t + 1)
y(t + 2) = a θ(t + 1) + θ(t + 2)
..
.

N −1
y(t + N ) = aj θ(t + N − j)
j=0

The upper bound will grow as |a|(j−1) θ and the lower bound as |a|(j−1) θ. The
band will stabilize for stable systems to a maximum value of θ/(1 − |a|) and
θ/(1 − |a|). This type of model will not incorporate the possible drift in the
process caused by external perturbations.
For the case of integrated uncertainties defined by the following model

θ(t)
y(t + 1) = ay(t) + bu(t) +


the increment of the output is given by


k−1
y(t + k) = aj θ(t + k − j)
j=0

and

N  
N k−1
y(t + N ) = y(t + j) = aj θ(t + k − j)
k=1 k=1 j=0

indicating that the uncertainty band will grow continuously. The rate of
growth of the uncertainty band stabilizes to θ/(1 − |a|) and θ/(1 − |a|) af-
ter the transient caused by process dynamics.
In order to generate the j step ahead prediction for the output vector, let
us consider the Bezout identity:

I = Ej (z −1 )Ã(z −1 ) + Fj (z −1 )z −j (8.5)

Using Equations (8.4) and (8.5) we get


224 8 Robust Model Predictive Control

y(t + j) = Fj (z −1 )y(t) + Ej (z −1 )B(z −1 )  u(t + j − 1) + Ej (z −1 )θ(t + j) (8.6)

Notice that the prediction will be included in a band around the nominal
prediction ym(t + j) = Fj (z −1 )y(t) + Ej (z −1 )B(z −1 )  u(t + j − 1) delimited
by

ym(t+j)+ min Ej (z −1 )θ(t+j) ≤ y(t+j) ≤ ym(t+j)+ max Ej (z −1 )θ(t+j)


θ(·)∈Θ θ(·)∈Θ

Because of the recursive way in which polynomial Ej (z −1 ) can be obtained,


when e(t) and e(t) are independent of t, the band can also be obtained recur-
sively by increasing the limits obtained for y(t + j − 1) by

max Ej,j−1 θ(t + 1) and min Ej,j−1 θ(t + 1)


θ(t+j)∈Θ θ(t+j)∈Θ

where Ej (z −1 ) = Ej−1 (z −1 ) + Ej,j−1 z −(j−1) .


Consider the set of j ahead optimal predictions y for j = 1, · · · , N , which
can be written in condensed form as

y = Gu u + Gθ θ + f (8.7)

where θ = [θ(t+1), θ(t+2), · · · , θ(t+N )]T is the vector of future uncertainties,


y is the vector of predicted outputs, f is the free response, that is, the response
due to past outputs (up to time t) and past inputs and vector u corresponds
to the present and future values of the control signal.

8.2 Objective Functions


The objective of predictive control is to compute the future control sequence
u(t), u(t + 1), . . . , u(t + Nu ) in such a way that the optimal j step ahead
predictions y(t + j | t) are driven close to w(t + j) for the prediction hori-
zon. The way in which the system will approach the desired trajectories will
be indicated by a function J which depends on the present and future con-
trol signals and uncertainties. The usual way of operating, when considering
a stochastic type of uncertainty, is to minimize function J for the most ex-
pected situation; that is, supposing that the future trajectories are going to
be the future expected trajectories. When bounded uncertainties are consid-
ered explicitly, bounds on the predictive trajectories can be calculated and it
would seem that a more robust control would be obtained if the controller
tried to minimize the objective function for the worst situation; that is, by
solving
min max J(u, θ)
u∈U θ∈Θ

The function to be minimized is the maximum of a norm that measures how


well the process output follows the reference trajectories. Different types of
norms can be used for this purpose.
8.2 Objective Functions 225

8.2.1 Quadratic Cost Function

Let us consider a finite horizon quadratic criterion


N2 
Nu
J(N1 , N2 , Nu ) = [ŷ(t + j | t) − w(t + j)]2 + λ[u(t + j − 1)]2 (8.8)
j=N1 j=1

If the prediction Equation (8.7) is used, Equation (8.8) can now be written
as

J = (Gu u + Gθ θ + f − w)T (Gu u + Gθ θ + f − w) + λuT u (8.9)


= uT Muu u + Mu u + M + Mθ θ + θt Mθθ θ + θt Meu u

where w is a vector containing the future reference sequences


w = [w(t + N1 ), · · · , w(t + N2 )]T
The function J(u, θ) can be expressed as a quadratic function of θ for
each value of u
J(u, θ) = θt Mθθ θ + Me (u)θ + M  u (8.10)
with Mθ = Mθ + ut Mθ and M  = M + Mu u + ut Muu u.
Let us define:
Jm(u) = max J(u, θ)
θ∈Θ

Matrix Mθθ = Gtθ Gθ is a positive definite matrix because Gθ is a lower tri-


angular matrix having all the elements on the principal diagonal equal to
one. Since matrix Mθθ is positive definite, the function is strictly convex ([15]
theorem 3.3.8) and the maximum of J will be reached in one vertex of the
polytope Θ ([15] theorem 3.4.6).
For a given u the maximization problem is solved by determining which
of the 2(N ×n) vertices of the polytope Θ produces the maximum value of
J(u, θ).
It can easily be seen that function Jm(u) is a piecewise quadratic function
of u. Let us divide the u domain U in different regions Up such that u ∈ Up if
the maximum of J(u, θ) is attained for the polytope vertex θp . For the region
Up the function Jm (u) is defined by

Jm(u) = ut Muu u + Mu∗ (θp )u + M ∗ θp

with Mu∗ = Mu + θpt Mu and M ∗ = M + Mθ θp + θpt Mθθ θp .


Matrix Muu , which is the Hessian matrix of function Jm(u), can be as-
sured to be positive definite by choosing a value of λ > 0. This implies that
the function is convex ([15] theorem 3.3.8) and that there are no local optimal
solutions different from the global optimal solution ([15] theorem 3.4.2).
One of the main problems of nonlinear programming algorithms, local
minima, is avoided, and any nonlinear programming method can be used to
minimize function Jm(u). However, and because the evaluation of Jm(u)
226 8 Robust Model Predictive Control

implies finding the minimum at one vertex of the polytope Θ, the computa-
tion time can be prohibitive for real-time applications with long costing and
control horizons. The problem gets even more complex when the uncertain-
ties on the parameters of the transfer function are considered. The amount of
computation required can be reduced considerably if other types of objective
functions are used, as will be shown in the following sections.

8.2.2 ∞-∞ norm

Campo and Morari [47], showed that by using an ∞-∞ type of norm the min-
max problem involved can be reduced to a linear programming problem that
requires less computation and can be solved with standard algorithms. Al-
though the algorithm proposed by Campo and Morari was developed for
processes described by the truncated impulse response, it can easily be ex-
tended to the left matrix fraction descriptions used throughout the text.
The objective function is now described as

J(u, θ) = max ŷ(t+j|t)−w(t)∞ = max max |yˆi (t+j|t)−wi (t)| (8.11)


j=1···N j=1···N i=1···n

Note that this objective function will result in an MPC which minimizes the
maximum error between any of the process outputs and the reference trajec-
tory for the worst situation of the uncertainties; the control effort required to
do so is not taken into account.
By making use of the prediction equation y = Gu u+Gθ θ+f and defining
g(u, θ) = (y − w), the control problem can be expressed as

min max max |gi (u, θ)|


u∈U θ∈Θ i=1···n×N

Define μ∗ (u) as
μ∗ (u) = max max |gi (u, θ)|
θ∈Θ i=1···n×N

If there is any positive real value μ satisfying −μ ≤ gi (u, θ) ≤ μ, ∀θ ∈ Θ and


for i = 1 · · · n × N it is clear that μ is an upper bound of μ∗ (u). The problem
can now be transformed into finding the smallest upper bound μ and some
u ∈ U for all θ ∈ Θ. When constraints on the controlled variables (y, y) are
taken into account, the problem can be expressed as

min μ
μ,u
!
−μ ≤ gi (u, θ) ≤ μ for i = 1, · · · , n × N
subject to:
yi − wi ≤ gi (u, θ) ≤ yi − wi ∀θ ∈ Θ

The control problem has been transformed into an optimization problem


with an objective function which is linear in the decision variables (μ, u)
and with an infinite (continuous) number of constraints. If g(u, θ) is an affine
8.2 Objective Functions 227

function of θ, ∀u ∈ U, the maximum and minimum of g(u, θ) can be ob-


tained at one of the extreme points of Θ [47]. Let us call E the set formed by
the 2n×N vertices of Θ. If constraints are satisfied for every point of E they
will also be satisfied for every point of Θ. Thus the infinite, and continuous,
constraints can be replaced by a finite number of constraints.
When the global uncertainty model is used and constraints on the ma-
nipulated variables (U, U) and on the slew rate of the manipulated variables
(u, u) are also taken into account, the problem can be stated as

min μ
μ,u
subject to

1μ ≥ Gu u + Gθ θ + f − w ⎪⎪

1μ ≥ −Gu u − Gθ θ − f + w
∀θ ∈ E
y ≥ Gu u + Gθ θ + f ⎪


−y ≥ −Gu u − Gθ θ − f
u≥u
−u ≥ −u
U ≥ T u + 1u(t − 1)
−U ≥ −T u − 1u(t − 1)

where l is an (N × n) × m matrix formed by N m × m identity matrices and


T is a lower triangular block matrix whose non null block entries are m × m
identity matrices. The problem can be transformed into the usual form

min ct x subject to Ax ≤ b, x≥0


x

with
  m×Nu
  
u−u
x= c = [0, · · · , 0, 1] At = [At1 , · · · , At2N , Atu ] bt = [bt1 , · · · , bt2N , btu ]
t
μ

The block matrices have the form:


⎡ ⎤ ⎡ ⎤
Gu −1 ⎡ ⎤ −Gu u − Gθ θi − f + w
⎢ −Gu −1 ⎥ I 0 ⎢ ⎥
Ai = ⎢ ⎥ Au = ⎣ T 0 ⎦ bi = ⎢ Gu u + Gθ θi + f − w ⎥
⎣ Gu 0 ⎦ ⎣ y − Gu u − Gθ θi − f ⎦
−T 0
−Gu 0 −y + Gu u + Gθ θi − f

⎡ ⎤
u−u
bu = ⎣ U + T u + 1u(t − 1) ⎦
−U − T u − 1u(t − 1)

where θi is the ith vertex of E.


228 8 Robust Model Predictive Control

The number of variables involved in the linear programming problem is


m×Nu +1 while the number of constraints is 4×n×N ×2n×N +3m×Nu . As the
number of constraints is much higher than the number of decision variables,
solving the dual LP problem should be less computationally expensive, as
pointed out by Campo and Morari [47].
The number of constraints can, however, be dramatically reduced be-
cause of the special form of matrix A. Consider the jth row for each of the
constraint blocks Ai x ≤ bi . As A1 = A2 = · · · = A2N , the only constraint
limiting the feasible region will be the one with the smallest value on the jth
element of vector bi . Therefore, all the other (2N − 1) constraints can be elim-
inated and the number of constraints can be reduced to 4 × n × N + 3m × Nu .
Notice that any uncertainty model giving rise to an affine function g(u, θ)
can be transformed into an LP problem as shown by Campo and Morari [47].
The truncated impulse response uncertainty model or uncertainties in the
B(z −1 ) polynomial matrix produce an affine function g(u, θ). However, the
constraint reduction mechanism described earlier cannot be applied and the
number of constraints would be very high.

8.2.3 1-norm

Although the type of ∞-∞ norm used earlier seems to be appropriate in


terms of robustness, the norm is only concerned with the maximum devia-
tion and the rest of the behaviour is not taken explicitly into account. Other
types of norms are more appropriate for measuring the performance. All-
wright [5] has shown that this method can be extended to the 1-norm for
processes described by their truncated impulse response. The derivation for
the left matrix representation is also straightforward
The objective function is


N2 
n 
Nu 
m
J(u, θ) = |yi (t+j | t, θ)−wi (t+j)|+λ |ui (t+j −1)| (8.12)
j=N1 i=1 j=1 i=1

where N1 and N2 define the prediction horizon and Nu defines the control
horizon. If a series of μi ≥ 0 and βi ≥ 0 such that for all θ ∈ Θ,

−μi ≤ (yi (t + j) − wi (t + j)) ≤ μi


−βi ≤ ui (t + j − 1) ≤ βi
n×N m×N
0 ≤ i=1 μi + λ i=1 u βi ≤ γ

then γ is an upper bound of


n  
Nu 
m
μ∗ (u) = max |yi (t + j, θ) − wi (t + j)| + λ |  ui (t + j − 1)|
θ∈E
j=1 i=1 j=1 i=1

The problem is reduced to minimizing the upper bound γ.


8.2 Objective Functions 229

When the global uncertainty model is used and constraints on the output
variables, the manipulated variables (U, U), and the slew rate of the manip-
ulated variables (u, u) are taken into account, the problem can be interpreted
as an LP problem with:

min γ
γ,μ,β,u
subject to

μ ≥ Gu u + Gθ θ + f + w ⎪⎪

μ ≥ −Gu u − Gθ θ − f + w
∀θ ∈ E
y ≥ Gu u + Gθ θ + f ⎪


−y ≥ −Gu u − Gθ θ − f
β ≥ u
β ≥ −u
u ≥ u
−u ≥ u
U≥T u + 1u(t − 1)
−U ≥ −T u − 1u(t − 1)
γ ≥ 1t μ + λ1β
The problem can be transformed into the usual form
min ct x subject to Ax ≤ b, x ≥ 0
x

with

⎡ ⎤
u−u m×Nu n×N m×Nu
⎢ μ ⎥         
x=⎢
⎣ β ⎦
⎥ c = [0, · · · , 0, 0, · · · , 0, 0, · · · , 0, 1]
t

γ
At = [At1 , · · · , At2N , Atu ] bt = [bt1 , · · · , bt2N , btu ]
where the block matrices take the following form
⎡ ⎤ ⎡ ⎤
Gu −I 0 0 −Gu u − Gθ θi − f + w
⎢ −Gu −I 0 0 ⎥ ⎢ Gu u + G θ θ i + f − w ⎥
Ai = ⎢ ⎥ ⎢
⎣ Gu 0 0 0 ⎦ bi = ⎣ y − Gu u − Gθ θi − f ⎦

−Gu 0 0 0 −y + Gu u + Gθ θi + f
⎡ ⎤
I 0 0 0 ⎡ ⎤
⎢ I ⎥ u−u
⎢ 0 −I 0 ⎥ ⎢ ⎥
⎢ −I −u
⎢ 0 −I 0 ⎥ ⎥




⎢ ⎥ ⎢ u ⎥
Au = ⎢ T 0 0 ⎥ bu = ⎢ U − T u − 1u(t − 1) ⎥
⎢ −T 0 0 0⎥ ⎥ ⎢ ⎥
⎢ ⎣ −U + T u + 1u(t − 1) ⎦
⎣ 0 1, · · · , 1 1, · · · , 1 −1 ⎦
      0
n×N m×Nu
230 8 Robust Model Predictive Control

and θi is the ith vertex of E. The number of variables involved in the linear
programming problem is 2 × m × Nu + n × N + 1, while the number of con-
straints is 4 × n × N × 2n×N + 5 × m × Nu + 1. As the number of constraints is
much higher than the number of decision variables, solving the dual LP prob-
lem should also be less computationally expensive than the primal problem.

The number of constraints can be reduced considerably as in the ∞-∞


norm case because of the special form of the constraint matrix A. Consider
the jth row for each constraint block Ai x ≤ bi . As A1 = A2 = · · · = A2N ;
the only constraint limiting the feasible region will be the one with the small-
est value on the jth element of vector bi . Therefore, all the other (2N − 1)
constraints can be eliminated. The number of constraints can be reduced to
4 × n × N + 5m × Nu + 1.

8.3 Robustness by Imposing Constraints


A way of guaranteeing robustness in MPC is to impose that stability condi-
tions are satisfied for all possible realizations of the uncertainties. The stabil-
ity conditions (see Section 9.5) were summarized in [137]. The key ingredi-
ents of the stabilizing MPC are a terminal set and a terminal cost. The terminal
state (i.e. the state at the end of the prediction horizon) is forced to reach a
terminal set that contains the steady state. An associated cost denoted as ter-
minal cost, which is added to the cost function, is associated to the terminal
state.
The robust MPC consists of finding a vector of future control moves such
that it minimizes an objective function (including a terminal cost satisfying
the stability conditions [137]) and forces the final state to reach the terminal
region for all possible value of the uncertainties; that is

min J(x(t), u) (8.13)


u
!
Ru ≤ r + Vx(t)
subject to ∀θ ∈ Θ
x(t + N ) ∈ ΩT

where the terminal set ΩT is usually defined by a polytope ΩT  {x : RT x ≤


rT }. The inequalities Ru ≤ r + Vx(t) contain the operating constraints. If
there are operating constraints on the process output and/or state, vector r
is an affine function of the uncertainties θ; i.e., r = r0 + Rθ θ. The vector of
predicted state can be written as:

x = Gu u + Gθ θ + fx x(t) (8.14)
Taking the rows corresponding to x(t + N ) and substituting them into the
inequality defining the terminal region

RT (guN u + gθN θ + fxN x(t)) ≤ rT (8.15)


8.4 Constraint Handling 231

where guN , gθN , and fxN are the last n rows of Gu ,Gθ , and Fx respectively,
with n = dim(x). The left-hand side of Inequalities (8.15) are affine func-
tions of the uncertainty vector θ. Problem (8.13) results in a QP or LP problem
(depending on the type of the objective function) with an infinite number of
constraints. As in the previous cases, because the constraints are affine ex-
pressions of the uncertainties, if the inequalities hold for all extreme points
(vertices) of Θ they also hold for all points inside Θ; that is, the infinite con-
straints can be replaced by a finite number (although normally very high) of
constraints and the problem is solvable. The problem can be expressed as

min J(x(t), u) (8.16)


u
!
Ru ≤ r0 + Rθ θi + Vx(t)
subject to ∀θi ∈ ε
RT (guN u + gθN θi + fxN x(t)) ≤ rT

where ε is the finite set of extreme points (vertices) of Θ.

8.4 Constraint Handling


As seen in the previous sections, when uncertainties are additive, the robust
MPC consists of solving at each sampling step a problem of the form

min J(x(t), u) (8.17)


u
subject to Ru u ≤ r + Rθ θi + Rx x(t) ∀θi ∈ ε (8.18)

where function J(x(t), u) can be a linear, quadratic, or piecewise quadratic


objective function. The number of constraints in (8.18) is equal to the num-
ber of rows of Ru times the number of vertices of the polytope defining the
uncertainties along the prediction horizon. The number of constraints can be
reduced dramatically as indicated in Sections 8.2.2 and 8.2.3. Consider the j
rows of all the constraints in (8.18)

ruj u ≤ rj + rθj θi + rxj x(t) ∀θi ∈ ε (8.19)


where ruj , rθj , and rxj are the j rows of matrices Ru , Rθ , and Rx x(t), respec-
tively. The scalar rj is the j entry of vector r. Let us define mj  minθi ∈ rθj θi .
Now consider the inequality:

ruj u ≤ rj + mj + rxj x(t) (8.20)

It is easy to see that if Inequality (8.20) is satisfied, all constraints in (8.19) will
also be satisfied. Furthermore, if any constraints in (8.19) is not satisfied then
constraint (8.20) will not be satisfied. Problem (8.17) can be expressed with a
considerably smaller number of constraints:
232 8 Robust Model Predictive Control

min J(x(t), u) (8.21)


u
subject to Ru u ≤ r + m + Rx x(t) (8.22)

where m is a vector with its j entry equal to minθi ∈ rθj θi . Notice that these
quantities are constant and can be computed offline.

8.5 Illustrative Examples


8.5.1 Bounds on the Output

The setpoint of many processes in industry is determined by an optimization


program to satisfy economic objectives. As a result, the optimal setpoint is
usually on the intersection of some constraints. This is, for example, the nor-
mal situation when maximizing the throughput, which normally results in
operating the process at extreme conditions as near as possible to the safety
or quality constraints. Consideration of uncertainties may be of great inter-
est for this type of situation. If an MPC that takes into account the constraints
is used, the MPC will solve the problem, keeping the expected values of the
output signals within the feasible region, but, because of external perturba-
tions or uncertainties, this does not guarantee that the output is going to be
bound. When uncertainties are taken into account, the MPC will minimize the
objective function for the worst situation and keep the value of the variables
within the constraint region for all possible cases of uncertainties.
To illustrate this point, consider the process described by the following
difference equation
θ(t + 1)
y(t + 1) = −1.4y(t) + 0.42y(t − 1) + 0.1u(t) + 0.2u(t − 1) +

with −0.03 ≤ θ(t) ≤ 0.03, y(t) ≤ 1, and −1 ≤ u(t) ≤ 1. A 1-norm MPC is
applied with a weighting factor of 0.2, and predictions and control horizon
of 3 and 1, respectively. The setpoint is set at the output constraint value.
The uncertainties are randomly generated within the uncertainty set with a
uniform distribution. The results obtained are shown in Figure 8.1(a). Note
that the output signal violates the constraint because the MPC only checked
the constraints for the expected values.
The results obtained when applying a min-max algorithm are shown in
Figure 8.1(b). As can be seen, the constraints are always satisfied because the
MPC checked all possible values of the uncertainties.

8.5.2 Uncertainties in the Gain

The next example is the frequently found case of uncertainties in the gain.
Consider a second-order system described by the following difference equa-
tion
8.5 Illustrative Examples 233
1.2

1.0

0.8

0.6
Output

0.4

0.2

0.0

-0.2
0.0 20.0 40.0 60.0
Samples
(a)
1.2

1.0

0.8

0.6
Output

0.4

0.2

0.0

-0.2
0.0 20.0 40.0 60.0
Samples
(b)
Fig. 8.1. (a) Output bound violation and (b) output with min-max algorithm

y(t + 1) = 1.97036y(t) − 0.98019y(t − 1) + 0.049627 K (u(t) + 0.99335u(t − 1))

where 0.5 ≤ K ≤ 2. That is, the process static gain can be anything from
half to twice the nominal value. A quadratic norm is used with a weighting
factor of 0.1 for the control increments, a control horizon of 1, and a predic-
tion horizon of 10. The control increments were constrained between −1 and
1. Figure 8.2(a) shows the results obtained by applying a constrained GPC
for three different values of the process gain (nominal, maximum and mini-
mum). As can be seen, the results obtained by the GPC deteriorate when the
gain takes the maximum value giving rise to an oscillatory behaviour.
The results obtained when applying a min-max GPC for the same cases
are shown in Figure 8.2b. The min-max problem was solved in this case by
using a gradient algorithm in the control increments space. For each point
visited in this space the value of K maximizing the objective function had
to be determined. This was done by computing the objective function for
the extreme points of the uncertainty polytope (two points in this case). The
234 8 Robust Model Predictive Control
1.5

1.0

0.5 K = 1
K = 0.5
K = 2

0.0
0.0 20.0 40.0 60.0 80.0 100.0
Samples
(a)
1.5

1.0

0.5 K = 1
K = 0.5
K = 2

0.0
0.0 20.0 40.0 60.0 80.0 100.0
Samples
(b)
Fig. 8.2. (a) Uncertainty in the gain for constrained GPC (b) and min-max GPC

responses of the min-max GPC, which takes into account the worst case, are
acceptable for all situations as can be seen in Figure 8.2(b).
A simulation study was carried out with 600 cases varying the process
gain uniformly in the parameter uncertainty set from the minimum to max-
imum value. The bands limiting the output for the constrained GPC and the
min-max constrained GPC are shown in Figure 8.3. As can be seen, the uncer-
tainty band for the min-max constrained GPC is much smaller than the one
obtained for the constrained GPC.

8.6 Robust MPC and Linear Matrix Inequalities


Linear matrix inequalities (LMI) are becoming very popular in control and
have also been used in the MPC context.
A linear matrix inequality is an expression of the form
8.6 Robust MPC and Linear Matrix Inequalities 235
1.5

1.0

0.5

Constrained GPC
Min-max

0.0
0.0 20.0 40.0 60.0 80.0 100.0
Samples

Fig. 8.3. Output limiting bands


m
F (x) = F0 + xi Fi > 0 (8.23)
i=1

where Fi are symmetrical real n × n matrices, xi are variables and F (x) > 0,
means that F (x) is positive definite. The three main LMI problems are:
1. the feasibility problem: determining variables x1 ,x2 ,...,xm so that In-
equality (8.23) holds. m
2. the linear programming problem: finding the optimum of i=1 ci xi sub-
ject to F (x) > 0.
3. the generalized eigenvalue minimization problem: finding the minimum
λ such that: λA(x) − B(x) > 0, A(x) > 0, B(x) > 0
Many problems can be expressed as LMI problems [35], even inequality
expressions that are not affine in the variables. This is the case of quadratic in-
equalities, frequently used in control, which can be transformed into an LMI
form using Schur complements: Let Q(x), R(x), and S(x) depend affinely on
x and be Q(x), R(x) symmetrical. Then the LMI problem
 
Q(x) S(x)
>0
S(x)T R(x)

is equivalent to

R(x) > 0, Q(x) − S(x)R(x)−1 S(x)T > 0


and Q(x) > 0, R(x) − S(x)T Q(x)−1 S(x) > 0

There are efficient algorithms to solve LMI problems which have been
applied to solve control problems such as robust stability, robust pole place-
ment, optimal LQG, and robust MPC. In this last context, Kothare et al. [109]
proposed a robust constrained model predictive control as follows
Consider the linear time-varying system:
236 8 Robust Model Predictive Control

x(k + 1) = A(k)x(k) + B(k)x(k)


y(k) = Cx(k)
[A(k)B(k)] ∈ Ω (8.24)
Rx x(k) ≤ ax
Ru u(k) ≤ au

and the following cost function



 & '
J(k) = x̂(k + i|k)T Q1 x̂(k + i|k) + u(k + i)T Ru(k + i) (8.25)
i=0

The robust optimization problem is stated as

min max J(k) (8.26)


u(k+i|k),i≥0 [A(k+i),B(k+i)]∈Ω,i≥0

Define a quadratic function V (x) = xT P x with P > 0 such that V (x) is


an upper bound on J(k):

max J(k) ≤ V (x(k|k)) (8.27)


[A(k+i),B(k+i)]∈Ω,i≥0

The problem is solved by finding a linear feedback control law u(k + i|k)
= F x(k + i|k) such that V (x(k|k)) is minimized. Suppose that there are no
constraints in the state and inputs and that the model uncertainties are de-
fined as follows

Ω = Co{[A1 , B1 ], [A2 , B2 ], · · · , [AL , BL ]} (8.28)

where Co denotes the convex hull defined by vertices [Ai , Bi ]. That is, any
plant [A, B] ∈ Ω can be expressed as


L
[A, B] = λi [Ai , Bi ]
i=1

L
with λi ≥ 0 and i=1 λi = 1
In these conditions, the robust MPC can be transformed into the following
LMI problem
min γ (8.29)
γ,Q,Y

subject to  
1 x(k|k)T
≥0 (8.30)
x(k|k) Q
8.7 Closed-Loop Predictions 237
⎡ 1/2 ⎤
Q QATj + Y T BjT QQ1 Y T R1/2
⎢ Aj Q + Bj Y Q 0 0 ⎥
⎢ ⎥ ≥ 0 , j = 1, · · · , L (8.31)
⎣ Q1/2 Q 0 γI 0 ⎦
1
R1/2 Y 0 0 γI

Once this LMI problem is solved, the feedback gain can be obtained by:

F = Y Q−1

Kothare et al. [109] demonstrated that constraints on the state and ma-
nipulated variables and other types of uncertainties can also be formulated
and solved as LMI problems.
The main drawbacks of this method are:
• Although LMI algorithms are supposed to be numerically efficient, they
are not as efficient as specialized LP or QP algorithms.
• The manipulated variables are computed as a linear feedback of the state
vector satisfying constraints, but when constraints are present, the opti-
mum does not have to be linear.
• Feasibility problems are more difficult to treat as the physical meaning of
constraints is somehow lost when transforming them into the LMI format.

8.7 Closed-Loop Predictions


When solving min-max MPC in the presence of output or state constraints,
the solution has to fulfill the constraints for all possible realisations of the
uncertainties. That is, the uncertainty bounds of the evolution of the trajec-
tories have to be included in the polytopes defined by constraints along the
prediction horizon. In many cases, the uncertainty bounds of the predictions
grow to such an extent with the prediction horizon that a feasible solution
cannot be found. Furthermore, even if a feasible solution can be found, it
tends to be too conservative, giving rise to an overcautious controller. This
excessive conservatism is caused by the open-loop nature of the predictions
in conventional MPC, which does not take into account the moving horizon
principle and the real closed-loop nature of MPC. That is, the prediction is
made at time t for the whole control horizon in an open-loop mode with-
out taking into account that in future sampling times the controller will have
more information about the process.
Another way of illustrating the closed-loop prediction idea is by consid-
ering control in the presence of uncertainties as a game problem (min-max
algorithms are used extensively in game problems). The robust control prob-
lem can be considered as a game, say chess, with two players. The first player
(control action) will try to make a move that minimises a cost function (the
lower the cost function the better for the first player), the second player (un-
certainty) will then make a move trying to maximise the cost function. When
238 8 Robust Model Predictive Control

the first player has to make his second move, the moves made at the first
stage by both players are known and a more informed decision can be made.
That is, the problem can be posed as

min[max[ min [ max · · · min [ max J(.)]] · · · ] (8.32)


u(t) θ(t) u(t+1) θ(t+1) u(t+N −1) θ(t+N −1)

instead of the conventional open-loop formulation:

min max J(.) (8.33)


u(t),u(t+1),··· ,u(t+N −1) θ(t),θ(t+1),··· ,θ(t+N −1)

The control action at time t should be computed supposing the receding


horizon principle is going to be used and that control action at future time in-
stants will be computed minimizing the cost function and, at the same time,
the uncertainties will do their best to maximize the cost function. It is easy
to see that because of the receding horizon principle, this turns into a recur-
sive strategy that leads in fact to an infinite horizon unless a winning (losing)
position is found (checkmate or terminal region in MPC) for all possible real-
izations of uncertainties in a finite number of moves. If the prediction horizon
is N and the real closed-loop situation is considered, at time t + 1 the com-
putation will be made with a horizon of N and so on, leading to a min-max
problem of infinite dimension.
As in most games, the real closed-loop strategy can be approximated by
considering that the control horizon will diminish at each sampling instant
and by introducing a function that evaluates (estimates) the merit of the final
position reached.

8.7.1 An Illustrative Example

Consider a process given by

y(t + 1) = ay(t) + bu(t) + θ(t) (8.34)

with a = 0, 9, b = 1, |u(t)| ≤ 10, |y(t)| ≤ 2, and bounded uncertainties


|θ(t)| ≤ 1. Let us suppose that the problem is to maintain y(t) as close to
zero as possible and bounded by |y(t + j)| ≤ 2 for all possible values of
uncertainties in the following N steps of the control horizon. If yn (t + j) are
the nominal predictions, that is, the predictions made when no uncertainties
are present, the output is given by:


j
y(t + j) = yn (t + j) + aj−i θ(t + i − 1)
i=1

Given any possible combination of the control moves (u(t), . . . u(t +


N − 1)), it is always possible to find a combination of the uncertainties
(θ(t), . . . θ(t + N − 1)) that will make the process violate the constraint
8.7 Closed-Loop Predictions 239

|y(t)| ≤ 2. Notice that if the uncertainties take one of the extreme values
θ(t + j) = 1 or θ(t + j) = −1 and θ(t + j) = sign(yn (t + j)) is chosen then:

|y(t + j)| = |yn (t + j)| + |(1 + a + . . . + aj−i )| ≥ 2 for j > 2

That is, there is no sequence of the control moves that guarantees that process
variables will be within bounds for all possible realizations of uncertainties.
However, if the manipulated variable is chosen as u(t+j) = −ay(t+j)/b,
the prediction equations are now:

y(t + 1) = ay(t) + b(−ay(t)/b) + θ(t) = θ(t)


..
.
y(t + j) = θ(t + j)

Then |y(t + j)| = |θ(t + j − 1)| ≤ 1 ≤ 2; that is, the constraints are fulfilled
with this simple control law for all possible values of the uncertainties. The
difference is that u(t + j) is now computed with θ(t), . . . θ(t + j − 1) known
while in the previous case, u(t + j) was computed with no knowledge of
θ(t) . . . θ(t + j − 1).

8.7.2 Increasing the Number of Decision Variables

The previous example has shown that the traditional (open-loop) prediction
strategy used in min-max MPC results in an infeasible problem. The reason
is that a single control profile cannot handle all possible future uncertainties.
The example also shows that a simple linear controller can find a feasible so-
lution to the problem by using feedback. This is the key issue: the open-loop
MPC tries to find a solution to the control problem (u(t), u(t + 1), · · · , u(t +
N − 1)) with the information available at sampling time t but the reality is
that because of the receding control strategy, at time t + 1 the information
about the process state (and therefore the uncertainties) at time t + 1 will be
available. By using the open-loop prediction, the future control moves are
computed as

[u(t), u(t + 1), · · · , u(t + N − 1)] = [f0 (x(t)), f1 (x(t)), · · · , fN −1 (x(t))]

that is, u(t + j) is computed as a function of the state at time t, while in the
second case, a control law is given (u(t + j) = −ay(t + j)/b, in the example)
by a function of the state at t + j:

[u(t), u(t+1), · · · , u(t+N −1)] = [g0 (x(t)), g1 (x(t+1)), · · · , gN −1 (x(t+N −1))]


240 8 Robust Model Predictive Control

In an MPC framework, this will translate into optimizing over the possi-
ble control laws: the decision variables now are not u(t+j) but all the possible
functions gt+j (x(t + j)). The optimizer will have to search in the space of all
possible functions of x(t + j). This is a much harder problem to solve.
Another approach to the problem is to consider different variables for
each possible realization of the perturbations (uncertainties) as proposed in
[189]. Suppose that the realization of the perturbation and uncertainties are
known. This would be the ideal situation from a control point of view: no un-
certainty in the model or disturbances. The process could be controlled in an
open loop manner applying a previously computed control law optimizing
some operational criteria. Suppose that we compute the optimum for every
possible realization of the perturbations. We would have for each particular
realization of the perturbations, the initial state and the possible realization
of the reference (notice that if no future references are known they can be
considered uncertainties)

[u(t), . . . , u(t + N − 1)] = f (x(t), θ(t + 1), . . . , θ(t + N ), r(t + 1), · · · , r(t + N ))
(8.35)
Notice that u(t) can be different for each realization of the uncertainties.
However, we would like to have a u(t) which depends only on state x(t). If
this u(t) is applied to the process, the next possible states will be given by

x(t + 1) = f (x(t), u(t), θ(t)) with θ(t) ∈ Θ (8.36)


where θ(t) is the vector of all possible uncertainties (including the reference
if necessary) at time t. Let us consider for the sake of simplicity that θ(t) is
either θ− or θ+ and that t = 0. Then we will have two next possible states

x+ +
1 = f (x0 , u0 , θ )
x− −
1 = f (x0 , u0 , θ )

In either of these two states we would like to apply a control law which
depends only on the state. That is, we have two more variables, u+ −
1 and u1 ,
associated to each possible realization of the uncertainty. We now have the
following set of possible states for the next time instant:

x++
2 = f (x+ + +
1 , u1 , θ )
x+−
2 = f (x+ + −
1 , u1 , θ )
x2 = f (x1 , u−
−+ − +
1 ,θ )
x−−
2 = f (x− − −
1 , u1 , θ )

We can now associate the following decision variables to the next step:
u++ +− −+ −−
2 , u2 , u2 , u2 . If the process uncertainties can take only two possible
8.7 Closed-Loop Predictions 241

values (or when these two values are the only two values which are rele-
vant to the max problem), the number of decision variables added at each
sampling instant j is 2j . In general, at each sampling instant, the number of
decision variables added is mj , where m is the number of possible uncertain-
ties to be considered at sampling time j. The number of decision variables for
N
the min problem is j=1 mj .
In a multivariable case with four states and only one uncertainty param-
eter for each state and two possible values of interest for each uncertainty
parameter, the number of possible realizations of the uncertainties at the ex-
treme points is m = 16. In this case, if the control horizon is N = 10, the num-
ber of decision variables for the minimization problem would be 7.3 × 1010 .
By using causality arguments the number of decision variables decreases but
the problem gets more complex because additional constraints have to be
added. The method is regarded as impractical except for very small prob-
lems.

8.7.3 Dynamic Programming Approach

Another approach to closed-loop MPC proposed in the literature is based on


Dynamic Programming (see Appendix B). The idea of Dynamic Program-
ming is intimately related to closed-loop control. Let us consider a system
described by x(t + 1) = f (x(t), u(t), θ(t)) and the cost function defined as:


N −1
Jt (x(t), u, θ)  L(x(t + j), u(t + j)) + F (x(t + N ))
j=0

Define J t (x(t), u)  maxθ∈Θ Jt (x(t), u, θ). Suppose we want to optimize the


closed-loop nested problem:

min[max[ min [ max · · · min [ max J(·)]] · · · ] (8.37)


u(t) θ(t) u(t+1) θ(t+1) u(t+N −1) θ(t+N −1)

The key idea in Dynamic Programming is to solve Problem (8.37) from


the inner bracket outward, that is, first the inner most problem:

Jt+N −1 (x(t + N − 1))  min J t+N −1 (x(t + N − 1), u(t + N − 1)) (8.38)
u(t+N −1)

with J t+N −1 (x(t + N − 1), u(t + N − 1))  maxθ(t+N −1) L(x(t + N − 1),
u(t + N − 1)) + F (x(t + N )).
Notice that F (x(t + N )) measures the merit of the last position, and this
is the way to avoid entering an infinite loop.
Suppose we are able to solve Problem (8.38) explicitly, i.e., determining

Jt+N −1 (x(t+N −1)) as a function of x(t+N −1). This is the cost of going from
x(t + N − 1) to the end. At the next stage we would encounter the following
problem:
242 8 Robust Model Predictive Control


Jt+N −2 (x(t + N − 2))  min J t+N −2 (x(t + N − 2), u(t + N − 2)) (8.39)
u(t+N −2)

with
J t+N −2 (x(t + N − 2), u(t + N − 2))  max L(x(t + N − 2), u(t + N − 2))
θ(t+N −2)

+Jt+N −1 (f (x(t + N − 2), u(t + N − 2), θ(t + N − 2)))

Again, if Problem (8.39) could be solved explicitly, we would obtain



Jt+N −2 (x(t + N − 2)) and so forth until we arrive at

Jt∗ (x(t))  min J t (x(t), u(t)) (8.40)


u(t)

with

J t (x(t), u(t))  max L(x(t), u(t)) + Jt+1 (f (x(t), u(t), θ(t)))
θ(t)

The closed-loop min-max MPC control move u∗ (t) for a particular value
of x(t) is the minimum of J t (x(t), u(t)). The key factor in Dynamic Program-

ming is finding the functions Jt+j (x(t + j)). If we include constraints in the
min-max MPC, each of the steps taken earlier can be described as

Jt∗ (x(t))  min J t (x(t), u(t)) (8.41)


u(t)

s.t. Rx x(t) + Ru u(t) ≤ r


f (x(t), u(t), θ(t)) ∈ X (t + 1)
with θ(t) ∈ Θ

Jt (x(t), u(t))  max L(x(t), u(t)) + Jt+1 (x(t + 1)) (8.42)
θ(t)∈Θ

Notice that constraints are not taken into account in the optimization
Problem (8.42) because keeping the process within constraints is the mis-
sion of the input variables, while the object of uncertainties, in this game,
is to maximize the problem regardless of constraint fulfillment, as indi-
cated in [21]. Here it has also been demonstrated that if the system is linear
x(t + 1) = A(ω(t))x(t) + B(ω(t))u(t) + Ev(t), with the uncertainty vector
θ(t)T = [ω(t)T v(t)T ], and the stage cost of the objective function defined as:
L(x(t + j), u(t + j))  Qx(t + j)p + Ru(t + j)p with the terminal cost

defined as Jt+N (x(t + N ))  Px(t + N )p , the solution is a piecewise affine
function of the state. This will be seen in Chapter 11.
Another way of solving the problem is to approximate functions Jt∗ (x(t+
j)) in a grid over the state as suggested in [117]. The idea is to impose a grid

on the state space and then to compute Jt+N −1 (x(t + N − 1)) for all points

in that grid. At the next stage function Jt+N −2 (x(t + N − 2)) is computed for
8.7 Closed-Loop Predictions 243

w v u x y
min-max
MPC Plant C
+
-

Fig. 8.4. Min-max with a linear feedback structure


the points in the grid using an interpolation of Jt+N −1 (x(t + N − 1)) when
x(t+N −1) = f (x(t+N −2), u(t+N −2), θ(t+N −2)) does not coincide with
one of the points in the grid. The main drawback of this method is that only
problems with a small dimension of the state space can be implemented as
dim(x)
the number of one-stage min-max problems to be solved will be N × NG

8.7.4 Linear Feedback


An approach used to reduce the uncertainty prediction bands is to consider
that the future controller is going to perform some kind of controlling action
based on the future process state. That is, that the controller in the future
will have information about the uncertainties (or the effects on the process
output or state) that have already occurred. A simple way of considering
the reaction of the closed-loop system to the uncertainties in the prediction
is to add a stabilizing regulator in a cascade fashion [17],[52]. Hence, the
control actions of the MPC controller are the increments to the input provided
by the stabilizing regulator. Let us consider, for the sake of simplicity, that
the control objective is to take the state to zero; this can be accomplished by
making
u(t + k) = −Kx(t + k | t) + v(t + k) (8.43)
where K is a linear feedback gain that stabilizes the system and the auxiliary
variable v(t) is the reference signal for the inner loop controller, as can be
seen in Figure 8.4. Consider a process described by:
x(t + 1) = Ax(t) + Bu(t) + ϑ(k) (8.44)
y(t) = Cx(t)
If the linear feedback is introduced, the new equations are
x(t + 1) = AK x(t) + Bv(t) + ϑ(t) (8.45)
y(t) = Cx(t)
with AK = A − BK. That is, we have a new system with a new manipulated
variable v(t) instead of the previous manipulated variable u(t) and a new
244 8 Robust Model Predictive Control

matrix AK . The prediction equations for both systems can be obtained by


recurring expression (8.44) and (8.45):


k−1 
k−1
x(t + k) = Ak x(t) + Ak−1−j Bu(t + j) + Ak−1−j ϑ(t + j) (8.46)
j=0 j=0


k−1 
k−1
x(t + k) = AK k x(t) + AK k−1−j Bv(t + j) + AK k−1−j ϑ(t + j)
j=0 j=0

The first two terms of the right-hand side of Expressions (8.46) correspond
to the nominal trajectory (i.e., when the uncertainties are zero). The error
caused by uncertainties in the open-loop (x̃o (t+k)) and closed-loop (x̃c (t+k))
structures are given by:


k−1
x̃o (t + k) = Ak−1−j ϑ(t + j)
j=0


k−1
x̃c (t + k) = AK k−1−j ϑ(t + j)
j=0

Let us consider that the uncertainties are bounded by ϑ(t)p ≤ 1. Therefore:


k−1
x̃o (t + k)p ≤ Ak−1−j p
j=0


k−1
x̃c (t + k)p = AK k−1−j p
j=0

Notice that if the feedback gain is chosen such that AK p < Ap , the uncer-
tainty bounds for predictions of the closed-loop systems will also be smaller
than the corresponding bounds for the open loop.
Another interpretation of this is that by introducing a stabilizing regu-
lator in a cascade fashion we have reduced the reaction of the closed-loop
system to the uncertainties in the prediction. The effect of this controller can
be seen as a reduction of the Lipschitz constant of the system. The Lipschitz
constant is a gauge of the effect of the uncertainty on the prediction of the
state at the next sample time. As shown in [125], the discrepancy between
the nominal predicted trajectory and the uncertain evolution of the system is
reduced if the Lipschitz constant is lower. Consequently, the predictions, and
therefore the obtained MPC controller, are less conservative than the open-
loop ones.
Notice that if there are some constraints on u(t), these constraints have
to be translated into the new manipulated variables v(t). Let us consider that
the original problem constraints were expressed by:
8.7 Closed-Loop Predictions 245

Ru u + Rϑ ϑ ≤ r + Rx x(t) (8.47)
The manipulated variable is computed as: u(t + k) = −Kx(t + k | t)
+v(t+k). The manipulated variable vector u for the complete control horizon
can be expressed as

u = Mx x(t) + (I + Mv )v + Mϑ ϑ (8.48)
with
⎡ ⎤ ⎡ ⎤
u(t) K
⎢ u(t + 1) ⎥ ⎢ KA∗ ⎥
⎢ ⎥ ⎢ ⎥
u = ⎢. ⎥ Mx = − ⎢ .. ⎥
⎣ .. ⎦ ⎣. ⎦
u(t + N − 1) KA∗ N −1
⎡ ⎤ ⎡ ⎤
0 0 ··· 0 v(t)
⎢ KB 0 ··· 0⎥ ⎢ v(t + 1) ⎥
⎢ ⎥ ⎢ ⎥
Mv = − ⎢ .. .. .. .. ⎥ v = ⎢. ⎥
⎣. . . .⎦ ⎣ .. ⎦
KA∗ N −2 B KA∗ N −3 B · · · 0 v(t + N − 1)
⎡ ⎤ ⎡ ⎤
0 0 ··· 0 ϑ(t)
⎢K 0 · · · 0 ⎥ ⎢ ϑ(t + 1) ⎥
⎢ ⎥ ⎢ ⎥
Mϑ = − ⎢ .. .. . . .. ⎥ ϑ = ⎢. ⎥
⎣. . . .⎦ ⎣ .. ⎦
KA∗ N −2 KA∗ N −3 · · · 0 ϑ(t + N − 1)

By introducing (8.48) into (8.47) we get the constraints expressed as a


function of v:

Ru (I + Mv )v + (Ru Mϑ + Rϑ )ϑ ≤ r + (Rx − Ru Mx )x

8.7.5 An Illustrative Example

Consider the system described by x(t + 1) = ax(t) + bu(t) + ϑ(t) with


ϑ ≤ ϑ(t) ≤ ϑ, u ≤ u(t) ≤ u, and x ≤ x(t) ≤ x. Let us consider a control
N
horizon N = 3 and an objective function J = j=1 x(t+j | t)2 +λu(t+j−1)2 .
The prediction equations are
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤⎡ ⎤
x(t + 1) a b 0 0 u(t) 1 00 ϑ(t)
⎣ x(t + 2) ⎦ = ⎣ a2 ⎦ x(t) + ⎣ ab b 0 ⎦ ⎣ u(t + 1) ⎦ + ⎣ a 1 0 ⎦ ⎣ ϑ(t + 1) ⎦
x(t + 3) a3 a2 b ab b u(t + 2) a2 a 1 ϑ(t + 2)
(8.49)
which can be expressed in a more compact way as:

x = Gx x(t) + Gu u + Gϑ ϑ (8.50)

The constraints can be expressed as (8.47) with:


246 8 Robust Model Predictive Control
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
I 0 1u 0
⎢ −I ⎥ ⎢ 0 ⎥ ⎢ −1u ⎥ ⎢ 0 ⎥
Ru = ⎢
⎣ Gu ⎦
⎥ Rϑ = ⎢
⎣ Gϑ ⎦
⎥ r=⎢
⎣ 1x ⎦
⎥ Rx = ⎢ ⎥
⎣ −Gx ⎦ (8.51)
−Gu −Gϑ −1x Gx

The min-max MPC is reduced to solving the problem:

min max xT x + λuT u (8.52)


u ϑ
!
x = Gx x(t) + Gu u + Gϑ ϑ
s.t. ∀ϑ ∈ Θ
Ru u + Rϑ ϑ ≤ r + Rx x(t)

Notice that the constraints of Problem (8.52) have to be fulfilled ∀ϑ ∈ Θ


which would represent an infinite number of constraints (one for each point
inside Θ). However, if the constraints are satisfied at the vertices of Θ they
will also be satisfied in the interior of Θ and therefore it is sufficient to satisfy
a finite number of constraints.
If the process model parameters are a = 0.95, b = 0.1, −20 ≤ u(t) ≤ 20,
−1.2 ≤ x(t) ≤ 1.2, r(t) = 0, λ = 2, and −0.5 ≤ ϑ(t) ≤ 0.5, the constraint
matrices are defined as in (8.51) with:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
0.9500 0.1 0 0 1 0 0
Gx = ⎣ 0.9025 ⎦ Gu = ⎣ 0.095 0.1 0 ⎦ Gϑ = ⎣ 0.95 1 0 ⎦ (8.53)
0.8574 0.0902 0.095 0.1 0.9025 0.95 1

It can easily be seen that if x(t) = 0, for any control sequence, the error due to
the uncertainty at t+3 is given by: x̃(t+3) = 0.9025ϑ(t)+0.95ϑ(t+1)+ϑ(t+2).
By making ϑ(t) = ϑ(t+1) = ϑ(t+2) = ϑ, or ϑ(t) = ϑ(t+1) = ϑ(t+2) = ϑ, we
can see that by using these uncertainty values, the error band can be made
as big as 2.8525ϑ = 1.4263 and 2.8525ϑ = −1.4263. That is, if the nominal
trajectory makes x̂(t + 3) ≥ 0, just by choosing the uncertainties to be ϑ, the
state vector will be higher than the admissible value (x(t) ≤ 1.2). The same
situation happens when x̂(t + 3) ≤ 0, where choosing the uncertainties to be
ϑ will cause the state vector to have a lower value than allowed. That is, the
problem is not feasible for any point in the state space.
Now suppose that the following linear feedback is considered:
u(t) = −8.5x(t) + v(t). The resulting system dynamics are now described by:
x(t + 1) = 0.95x(t) + 0.1(−8.5x(t) + v(t)) + ϑ(t) = 0.1x(t) + 0.1v(t) + ϑ(t).
The error due to uncertainties can be computed as:
⎡ ⎤ ⎡ ⎤⎡ ⎤
x̃(t + 1) 1 0 0 ϑ(t)
⎣ x̃(t + 2) ⎦ = ⎣ 0.1 1 0 ⎦ ⎣ ϑ(t + 1) ⎦ (8.54)
x̃(t + 3) 0.01 0.1 1 ϑ(t + 2)

The uncertainty band at t + 3 is given by x̃(t + 3) = 0.01ϑ(t) + 0.1ϑ(t + 1)


+ϑ(t + 2). It can be seen that the errors are bounded by −0.5 ≤ x̃(t + 1) ≤ 0.5,
−0.55 ≤ x̃(t + 2) ≤ 0.55, and −0.555 ≤ x̃(t + 3) ≤ 0.555. Therefore, the
8.8 Exercises 247

problem is feasible for any initial state, such that a nominal trajectory can be
computed separated from the bounds by 0.5, 0.55, and 0.555. That is, −0.7 ≤
x̂(t + 1) ≤ 0.7, −0.65 ≤ x̂(t + 2) ≤ 0.65, and −0.645 ≤ x̂(t + 3) ≤ 0.645. In
this case, a feasible solution exists for all x(t) ∈ [−1.2, 1.2].
In conclusion, when open-loop MPC was used, no feasible solution could
be found such that constraints would be fulfilled in spite of future uncertain-
ties or perturbations. When we consider that information about the future
process state will be taken into account (by a linear feedback in this exam-
ple), the problem is feasible for any admissible value of x(t).

8.8 Exercises
8.1. Consider the second-order system described by the following equation
y(t + 1) = y(t) − 0.09y(t − 1) + 0.09u(t) + ε(t)
with −1 ≤ u(t) ≤ 1, −1 ≤ y(t) ≤ 1, 0.01 ≤ ε(t) ≤ 0.01. The system is
modelled by the following first-order model:
y(t + 1) = ay(t) + bu(t) + θ(t)
1. If the model parameters are chosen as a = 0.9, b = 0.1, determine a
bound θ for the uncertainty such that −θ ≤ θ(t) ≤ θ.
2. Explain how you would find θ experimentally if you did not know the
equations of the real system but you could experiment on the real system
itself.
3. Find a bound for the output prediction trajectory; i.e., y(t + j) such that
|y(t + j|t)| ≤ y(t + j).
4. Explain how you would calculate a and b so that the uncertainty bound
θ is minimized. Find the minimizing model parameters a and b and the
minimal bound θ.
5. Find a bound for the output prediction trajectory with these new bounds
and model. Compare the results with those obtained in number 3.
6. Formulate a min-max MPC using different types of objective functions
(quadratic, 1-norm, ∞-norm).
7. Solve the min-max MPC problems of number 6 and simulate the re-
sponses with different control horizons.
8.2. Given the system y(t + 1) = ay(t) + bu(t) + θ(t) with a = 0.9, b = 0.1,
−1 ≤ u(t) ≤ 1, −1 ≤ y(t) ≤ 1, the uncertainty θ(t) bounded by: −0.05 ≤
θ(t) ≤ 0.05 and a terminal region defined by the following box around the
origin −0.1 ≤ y(t + N ) ≤ 0.1.
1. Formulate a robust min-max MPC with N = 3 that takes the system to the
terminal region for any realization of the uncertainties with different ob-
jective functions (quadratic, 1-norm, ∞-norm). Comment on the nature
and difficulties of the optimization problems encountered.
248 8 Robust Model Predictive Control

2. Repeat the exercise of number 1 for a robust MPC but minimizing the
objective function for the nominal system instead of the min-max MPC.
3. Solve the problems of numbers 1 and 2 for N = 1, N = 2 and N = 3.
Discuss the feasibility of each.
4. Formulate the problems of numbers 1 and 2 for N = 3 but use a linear
feedback as indicated in Section 8.7.4. Discuss the feasibility.

8.3. Given the system

x(t + 1) = Ax(t) + Bu(t) + Dθ(t)

with
   
11 0  
A= , B= , D = 1 0 , −0.1 ≤ θ(t) ≤ 0.1, −1 ≤ u(t) ≤ 1
01 1

The control objective consists of taking (and maintaining) the state vector as
close to zero as possible by solving the following min-max problem.


N
min max x(t + j)T x(t + j) + 10 u(t + j − 1)2
u∈[−1,1] θ∈[−0.1,0.1]
j=1

1. Formulate a robust min-max MPC with N = 3.


2. Repeat the exercise of number 1 for a robust MPC minimizing the objec-
tive function for the nominal system instead of the min-max MPC.
3. Repeat the exercises in numbers 1 and 2 considering the following termi-
nal region: x(t + N )∞ ≤ 0.2.
4. Solve and simulate the MPC of numbers 1, 2, and 3 for N = 1 and N = 2.
Discuss the feasibility of each.

You might also like