Model predictive control -...
Transcript of Model predictive control -...
Model predictive control -
Introduction
M. Farina
Dipartimento di Elettronica e Informazione
Politecnico di Milano
7 June 2016
Outline
Motivations and main ideas
Ingredients and features of MPC regulators
Model predictive control for tracking
Model predictive control for linear systems and solution
Remarks
Marcello Farina Introduction to MPC 2
Outline
Motivations and main ideas
Ingredients and features of MPC regulators
Model predictive control for tracking
Model predictive control for linear systems
Remarks
Marcello Farina Introduction to MPC 3
Motivations and main ideas
Marcello Farina 4
Some data from
A survey of industrial model predictive control technology
J. Qin, T. BadgwellControl Engineering Practice, 11 (2003), pp. 733-764
Introduction to MPC
Motivations and main ideas
Marcello Farina 5Introduction to MPC
Motivations and main ideas
Marcello Farina 6
Some data from
Economic assessment of advanced processcontrol โ a survey and framework
M. Bauer, I. K. CraigJournal of process control, 18 (2008), pp. 2-18
Introduction to MPC
Motivations and main ideas
Marcello Farina 7
A key objective of industrial advanced process control (APC)projects is to stabilize the process operation. In order to justify thecost associated with the introduction of new APC technologies to aprocess, the benefits have to be quantified in economic terms.In the past, economic assessment methods have been developed,that link the variation of key controlled process variables toeconomic performance quantities.This paper reviews these methods and incorporates them in aframework for the economic evaluation of APC projects.A web-based survey on the economic assessment of processcontrol has been completed by over 60 industrial APC experts.The results give information about the state-of-the-art assessmentof economic benefits of advanced process control
Introduction to MPC
Motivations and main ideas
Marcello Farina 8
66 APC experts (38 APC users and 28 APC suppliers)
Introduction to MPC
Motivations and main ideas
Marcello Farina 9Introduction to MPC
Motivations and main ideas
Marcello Farina 10Introduction to MPC
Motivations and main ideas
Marcello Farina 11Introduction to MPC
Plant
Plant:โข Complexโข Large scaleโข Non linearโข Continuous/discrete
timeโข Perturbed
MPCregulator
Model:โข Physical (state-space)โข Identified
Predictive:โข Actions are taken
based on predictions
โข Forecasts of disturbances and references are used
Control:โข Recursive solution
to a finite horizonoptimizationproblem
โข State/input constraints are enforced
๐ข(๐ก) ๐ฆ(๐ก)๐ฆ0 (๐ก)
๐(๐ก)
Motivations and main ideas
Marcello Farina 12Introduction to MPC
PlantMPC
regulator
๐ข(๐ก) ๐ฆ(๐ก)๐ฆ0 (๐ก)
๐(๐ก)
At time tโข Compute optimal future
input sequence๐ข ๐ก , ๐ข ๐ก + 1 ,โฆ , ๐ข ๐ก + ๐ โ 1
based on the current model, and on the predictions of references and disturbances.
โข Apply u(t)
At time t+1โข Compute optimal future
input sequence๐ข ๐ก + 1 , ๐ข ๐ก + 2 ,โฆ , ๐ข ๐ก + ๐
based on the current model, and on the predictions of references and disturbances.
โข Apply u(t+1)
Receding horizon principle
Motivations and main ideas
Marcello Farina 13Introduction to MPC
Model predictive control is a family of algorithmsthat enables to:
โข Include explicitly in the problem formulationcontraints on input/state/output variables, and also logic relations
โข Consider MIMO systems of relevant dimensionsโข Optimize the system operationโข Use simple models for control (obtained, e.g.,
by identification tests) or very detailednonlinear ones
Outline
Motivations and main ideas
Ingredients and features of MPC regulators
Model predictive control for tracking
Model predictive control for linear systems
Remarks
Marcello Farina Introduction to MPC 14
Ingredients
๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ข(๐ก))
Constraints are imposed on input and state variables
1) The system model (discrete time):
2) The constraints
Marcello Farina 15
๐ฅ(๐ก) โ ๐
๐ข(๐ก) โ ๐
Introduction to MPC
Suitable sets
โข f is continuousโข f(0,0)=0 (i.e., 0 is an
equilibrium point)
โข ๐ closed
โข ๐ compact
โข They contain the origin (atleast for regulation)
โข Better if convex
Ingredients
For practical (e.g., computational) reasons the cost is defined over a finite โ prediction โ horizon of length N steps.
3) Cost function (regulation):
Marcello Farina 16Introduction to MPC
At time t the following is minimized:
๐ฝ =
๐=๐ก
๐ก+๐โ1
๐ ๐ฅ ๐ , ๐ข ๐ + ๐๐(๐ฅ(๐ก + ๐))
Stage cost:โข Continuousโข l(0,0)=0โข Definite positive
Terminal cost:โข Continuousโข ๐๐(0)=0
โข Definite positive
Ingredients
Marcello Farina 17Introduction to MPC
The optimization problem (MPC)
At time t solve
min๐ข ๐ก ,โฆ,๐ข(๐ก+๐โ1)
๐ฝ
Subject to
๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ข(๐ก))
๐ฅ(๐ก) โ ๐
๐ข(๐ก) โ ๐
System dynamic model
State constraints
Input constraints
๐ฅ(๐ก + ๐) โ ๐๐ Terminal state constraints
Ingredients
Marcello Farina 18Introduction to MPC
The two ingredients that still need to be defined (terminal cost๐๐(๐ฅ(๐ก + ๐)) and terminal constraint ๐ฅ(๐ก + ๐) โ ๐๐) are necessary to guarantee two fundamental properties:โข Recursive feasibilityโข Convergence/stability
What are these properties?
Recursive feasibility
If the MPC optimization problem has a solution at the initial time step 0, then a solution of MPC exists at each time step ๐ก โฅ 0.
Necessary for preventing from having no solution at a given time -> no control input would be defined!
Ingredients
Marcello Farina 19Introduction to MPC
Convergence
If a solution of the MPC optimization problem exists at each time instant t, then.
๐ฅ(๐ก) โ 0 as ๐ก โ +โ
To ensure recursive feasibility and convergence/stability we needto define the 4th main ingredient.
4) Auxiliary control law
It is defined as a control law ๐ข ๐ก = ๐ (๐ฅ(๐ก)) such that the origin isan asymptotically stable equilibrium for the controlled system
๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ (๐ฅ(๐ก)))
Ingredients
Marcello Farina 20Introduction to MPC
5) Terminal constraint set ๐๐
It is defined in such a way that, if ๐ฅ(๐ก) โ ๐๐, then
๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ (๐ฅ(๐ก))) โ ๐๐ It is a positivelyinvariant set!
๐ฅ(๐ก) โ ๐ i.e., ๐ โ ๐๐๐ข ๐ก = ๐ (๐ฅ(๐ก)) โ ๐
For instance, if ๐ฅ(๐ก) โ ๐๐, then we could apply the auxilary control law for all future time instants, and we obtain that,
๐ฅ(๐ก) โ 0 as ๐ก โ +โ
the state and input constraints are always verified.
Ingredients
Marcello Farina 21Introduction to MPC
6) Terminal cost ๐๐
It is defined in such a way that ยซit decreasesยป if the auxiliarycontrol law is applied.
It is needed to establish formal convergence results
๐๐ ๐ ๐ฅ, ๐ ๐ฅ โค ๐๐ ๐ฅ โ ๐(๐ฅ, ๐ ๐ฅ )
Ingredients
Marcello Farina 22Introduction to MPC
Basically, the latter ingredients are required for the following reason:
In N steps the terminal region must be reachable
๐๐
๐๐
๐ฅ(0)๐ฅ(1)
๐ฅ(๐)
๐ฅ(0)๐ฅ(1)
๐ฅ(๐)
This implicitly defines the set of all initial conditionssuch that the MPC optimization problem is feasible, ๐๐
HIC SUNT LEONES
Ingredients
Marcello Farina 23Introduction to MPC
๐๐
๐๐
๐ฅ(0)๐ฅ(1)
๐ฅ(๐)
๐ฅ(0)๐ฅ(1)
๐ฅ(๐)
How to enlarge the terminal set?โข Increase the number of steps N (greater
computational burden)โข In some applications (like autonomous vehicles)
the MPC for tracking can be extremely beneficial
HIC SUNT LEONES
Outline
Motivations and main ideas
Ingredients and features of MPC regulators
Model predictive control for tracking
Model predictive control for linear systems
Remarks
Marcello Farina Introduction to MPC 24
MPC for tracking โ main idea
Marcello Farina 25Introduction to MPC
๐๐
๐๐
๐ฅ(0)
๐ฅ(๐)
But I can reach the intermediate point๐ฅ๐บ(0) in N steps!
I cannot reach the terminal region in Nsteps!
๐ฅ๐บ(0)
๐ฅ(1)
OKโฆ now I can reach the terminal region in N steps!
MPC for tracking โ main idea
Marcello Farina 26Introduction to MPC
๐ฅ(0)๐ฅ(๐)
๐ฅ๐บ(0)
๐ฅ(1)
The solution lies in defining (in the optimization problem) intermediate goals ๐ฅ๐บ(๐ก), that can be reached in N steps, whicheventually satisfy the property
๐ฅ๐บ ๐ก โ าง๐ฅ๐บ (final goal) as ๐ก โ +โ
๐ฅ๐บ(1)
๐ฅ(๐ + 1)
๐ฅ๐บ(2)
๐ฅ(๐ + 2)๐ฅ(๐ + ๐)
๐ฅ(2)
๐ฅ๐บ(๐)
MPC for tracking - ingredients
๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ข(๐ก))
Constraints are imposed on input and state variables
1) The system model (discrete time):
2) The constraints
Marcello Farina 27
๐ฅ(๐ก) โ ๐
๐ข(๐ก) โ ๐
Introduction to MPC
Suitable sets
โข f is continuousโข เดค๐ฆ๐บ is our output goalโข f( าง๐ฅ๐บ , เดค๐ข๐บ)= าง๐ฅ๐บ , i.e., ( าง๐ฅ๐บ , เดค๐ข๐บ)
is an equilibrium pointand corresponds to the output เดค๐ฆ๐บ = โ( าง๐ฅ๐บ , เดค๐ข๐บ)
โข ๐ closed
โข ๐ compact
โข They contain าง๐ฅ๐บ and เดค๐ข๐บโข Convex
๐ฆ(๐ก) = โ(๐ฅ(๐ก), ๐ข(๐ก))
MPC for tracking โ ingredients
3) Cost function:
Marcello Farina 28Introduction to MPC
At time t the following is minimized:
๐ฝ =
๐=๐ก
๐ก+๐โ1
๐ ๐ฅ ๐ โ ๐ฅ๐บ ๐ก , ๐ข ๐ โ ๐ข๐บ(๐ก)
+๐๐ ๐ฅ ๐ก + ๐ โ ๐ฅ๐บ ๐ก
+๐พ ๐ฆ๐บ ๐ก โ เดค๐ฆ๐บ2
Stage cost:โข Continuousโข l(0,0)=0โข Definite positive
Terminal cost:โข Continuousโข ๐๐(0)=0
โข Definite positive
Cost on the temporarygoal ๐ฆ๐บ ๐ก (its deviationwith respect to the finalgoal เดค๐ฆ๐บ is penalized)
f(๐ฅ๐บ ๐ก ,๐ข๐บ ๐ก )=๐ฅ๐บ ๐ก๐ฆ๐บ ๐ก = โ(๐ฅ๐บ ๐ก , ๐ข๐บ ๐ก )
MPC for tracking - ingredients
Marcello Farina 29Introduction to MPC
The optimization problem (MPC)
At time t solve
min๐ข ๐ก ,โฆ,๐ข ๐ก+๐โ1 ,๐ฆ๐บ(๐ก)
๐ฝ
Subject to
๐ฅ(๐ก) โ ๐
๐ข(๐ก) โ ๐
System dynamic model
State constraints
Input constraints
(๐ฅ ๐ก + ๐ , ๐ฆ๐บ ๐ก ) โ โค๐ Terminal constraint
๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ข(๐ก))
๐ฆ(๐ก) = โ(๐ฅ(๐ก), ๐ข(๐ก))
MPC for tracking - ingredients
Marcello Farina 30Introduction to MPC
The terminal cost ๐๐ (same definition as before) and terminal constraint (๐ฅ ๐ก + ๐ , ๐ฆ๐บ ๐ก ) โ โค๐) are necessary to guarantee:โข Recursive feasibility (same as before)โข Convergence/stability
Convergence
If a solution of the MPC optimization problem exists at each time instant t, then.
๐ฆ(๐ก) โ เดค๐ฆ๐บ as ๐ก โ +โ
4) Auxiliary control law
It is defined as a control law ๐ข ๐ก = ๐ (๐ฅ ๐ก , ๐ฆ๐๐) such that the equilibrium point (๐ฅ๐๐ , ๐ข๐๐) is asymptotically stable for the controlled system ๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ (๐ฅ ๐ก , ๐ฆ๐๐)) and where
๐ฆ๐๐ = โ(๐ฅ๐๐ , ๐ข๐๐)
MPC for tracking - ingredients
Marcello Farina 31Introduction to MPC
5) Terminal constraint
It is defined in such a way that, if (๐ฅ ๐ก , ๐ฆ๐๐) โ โค๐, then
if ๐ฅ(๐ก + 1) = ๐(๐ฅ(๐ก), ๐ (๐ฅ ๐ก , ๐ฆ๐๐))
It is a positivelyinvariant set!
๐ฅ(๐ก) โ ๐
๐ข ๐ก = ๐ (๐ฅ ๐ก , ๐ฆ๐๐) โ ๐
For instance, if(๐ฅ ๐ก , ๐ฆ๐๐) โ โค๐, then we could apply the auxilarycontrol law for all future time instants, and we obtain that,
๐ฆ(๐ก) โ ๐ฆ๐๐ as ๐ก โ +โ
the state and input constraints are always verified.
(๐ฅ ๐ก + 1 , ๐ฆ๐๐) โ โค๐
MPC for tracking - ingredients
Marcello Farina 32Introduction to MPC
Terminal constraint - remark
The following solution can be applied: terminal point as the terminal constraint set.
In this case we donโt need to define the auxiliary control law and the terminal set, which are rather complex to obtain, especially for non linear and/or large-scale systems.
(๐ฅ ๐ก + ๐ , ๐ฆ๐บ ๐ก ) โ โค๐ Terminal set
๐ฅ ๐ก + ๐ = ๐ฅ๐บ ๐ก Terminal point
Outline
Motivations and main ideas
Ingredients and features of MPC regulators
Model predictive control for tracking
Model predictive control for linear systems
Remarks
Marcello Farina Introduction to MPC 33
Linear systems - Ingredients
๐ฅ ๐ก + 1 = ๐ด๐ฅ ๐ก + ๐ต๐ข(๐ก)
Linear inequality constraints
1) The system model:
2) The constraints
Marcello Farina 34
๐ฅ(๐ก) โ ๐
๐ข(๐ก) โ ๐
Introduction to MPC
For simplicity we go back to the regulation case
The pair (๐ด, ๐ต) must be controllable (at leaststabilizable)
๐ด๐ฅ๐ฅ(๐ก) โค ๐๐ฅ๐ด๐ข๐ข(๐ก) โค ๐๐ข
For example, the saturation constraint ๐ข โค 1 can be written as โ1
1๐ข โค
11 0 -1-1
Linear systems - Ingredients
3) Cost function โ common choice:
Marcello Farina 35Introduction to MPC
At time t the following is minimized:
๐ฝ =
๐=๐ก
๐ก+๐โ1
๐ฅ(๐) ๐2 + ๐ข(๐) ๐
2 + ๐ฅ(๐ก + ๐) ๐2
Quadratic stage cost:
๐ ๐ฅ ๐ , ๐ข ๐
= ๐ฅ(๐) ๐2 + ๐ข(๐) ๐
2
= ๐ฅ ๐ ๐๐๐ฅ ๐ + ๐ข ๐ ๐๐ ๐ข(๐)
Where the symmetric matricesQโฅ0 and R>0 are arbitrary.
Quadratic terminal cost:
๐๐ ๐ฅ ๐ก + ๐ = ๐ฅ(๐ก + ๐) ๐2
= ๐ฅ ๐ก + ๐ ๐๐๐ฅ ๐ก + ๐
Where the symmetric matrixP>0 is not arbitrary (see later).
Linear systems - Ingredients
Marcello Farina 36Introduction to MPC
4) Auxiliary control law
It is defined as a linear control law ๐ข ๐ก = ๐พ๐ฅ(๐ก) such that the matrix F=A+BK is asymptotically stable, i.e., such that the system
๐ฅ ๐ก + 1 = ๐ด๐ฅ ๐ก + ๐ต๐พ๐ฅ(๐ก)
enjoys stability properties.
5) Terminal constraint set ๐๐
In the linear case the terminal constraint can be enforcedusing linear inequalities
๐ด๐๐ฅ(๐ก + ๐) โค ๐๐6) Terminal cost ๐๐
We can define ๐๐ ๐ฅ ๐ก + ๐ = ๐ฅ(๐ก + ๐) ๐2 , where P is the
solution to the Lyapunov inequality:
(๐ด + ๐ต๐พ)๐๐ ๐ด + ๐ต๐พ โ ๐ โค โ(๐ + ๐พ๐๐ ๐พ)
Linear systems โ MPC problem
Marcello Farina 37Introduction to MPC
The resulting MPC optimization problem can be cast as a QP problem (quadratic program)
Easy to be solved by available solvers (Matlabquadprog, IBM C-Plex cplexqp)
To see how, we define
๐๐ก =๐ฅ(๐ก)โฎ
๐ฅ(๐ก + ๐), ๐๐ก =
๐ข(๐ก)โฎ
๐ข(๐ก + ๐ โ 1)
๐๐ก =๐ผโฎ๐ด๐
๐ฅ ๐ก +0 โฏ 0โฎ โฑ โฎ
๐ด๐โ1๐ต โฏ ๐ต๐๐ก
And we compute that
๐ โฌ
Linear systems โ MPC problem
Marcello Farina 38Introduction to MPC
where
At time t the cost function is:
๐ฝ =
๐=๐ก
๐ก+๐โ1
๐ฅ(๐) ๐2 + ๐ข(๐) ๐
2 + ๐ฅ(๐ก + ๐) ๐2
= ๐๐ก ๐ฌ2 + ๐๐ก โ
2
๐ฌ =๐ โฏ 0โฎ โฑ โฎ0 โฏ ๐
, โ =๐ โฏ 0โฎ โฑ โฎ0 โฏ ๐
We compute:
๐ฝ = ๐๐ฅ ๐ก + โฌ๐๐ก ๐ฌ2 + ๐๐ก โ
2
= ๐๐ก๐ โ + โฌ๐๐ฌโฌ ๐๐ก + 2๐ฅ(๐ก)๐๐๐๐ฌโฌ๐๐ก + ๐ฅ(๐ก)๐๐๐๐ฌ๐๐ฅ(๐ก)
datum Optimizationvariable
Independent of the optimizationvariable: it can be neglected
Linear systems โ MPC problem
Marcello Farina 39Introduction to MPC
At time t the constraints are:
๐ด๐ฅ โฏ 0โฎ โฑ โฎ0 โฏ ๐ด๐
๐ฅ(๐ก)โฎ
๐ฅ(๐ก + ๐)= ๐๐ฅ(๐๐ฅ ๐ก + โฌ๐๐ก) โค
๐๐ฅโฎ๐๐
= ๐ท๐ฅ
๐ด๐ข โฏ 0โฎ โฑ โฎ0 โฏ ๐ด๐ข
๐ข(๐ก)โฎ
๐ข(๐ก + ๐ โ 1)= ๐๐ข๐๐ก โค
๐๐ขโฎ๐๐ข
= ๐ท๐ข
Overall:
๐๐ข
๐๐ฅโฌ๐๐ก โค
๐ท๐ข๐ท๐ฅ โ๐๐ฅ๐๐ฅ ๐ก
๐๐๐ ๐ท๐๐(๐ก)
Linear systems โ MPC problem
Marcello Farina 40Introduction to MPC
The resulting quadratic program is
min๐๐ก
๐๐ก๐ โ + โฌ๐๐ฌโฌ ๐๐ก + 2๐ฅ(๐ก)๐๐๐๐ฌโฌ๐๐ก
Subject to ๐๐๐๐๐ก โค ๐ท๐๐(๐ก)
To solve it we can use, e.g., the Matlab function quadprog:
X = QUADPROG(H,f,A,b)
๐๐ก
Outline
Motivations and main ideas
Ingredients and features of MPC regulators
Model predictive control for tracking
Model predictive control for linear systems and solution
Remarks
Marcello Farina Introduction to MPC 41
Remarks - advantages
Marcello Farina 42Introduction to MPC
โข Possibility to account for future consequences of presentactions:โข Actions are taken based on predictionsโข Forecasts of disturbances and references are used
โข We can naturally account for constraints:โข On input variables, e.g., saturationsโข On ยซinternalยป state variables, e.g., velocities, accelerationsโข On ยซexternalยป state variables, e.g., position, orientation, โฆ
โข We can chose the optimal strategy (in some sense) in eachsituation
Remarks - disadvantages
Marcello Farina 43Introduction to MPC
โข Especially in the non linear case, MPC optimization problemsare computationally burdensome!
โข Solutions must be computed in a very short time interval(short sampling time)
โข Vehicle models are frequently non linear, e.g., the (simple) unicycle model (differential drive)
แ
แถ๐ฅ = ๐ฃ cos ๐แถ๐ฆ = ๐ฃ sin ๐แถ๐ = ๐
Do we have to use a non linear MPC implementation?The MPC-based controller may be not applicable in practiceโฆ
inputs
Remarks โ linearization for vehicle applications
Marcello Farina 44Introduction to MPC
We may resort to linearization techniques.There are different possibilities:
1. Linearization around a fixed โ equilibrium โ point with ๐ = าง๐, ๐ฃ = 0,๐ = 0.
แแถ๐ฅ = ๐ฃ cos ๐แถ๐ฆ = ๐ฃ sin ๐แถ๐ = ๐
Not stabilizable!Besides, the linearization error would be huge!
๐ฟ แถ๐ฅ๐ฟ แถ๐ฆ
๐ฟ แถ๐
=cos าง๐ 0sin าง๐ 00 1
๐ฟ๐ฃ๐ฟ๐
Remarks โ linearization for vehicle applications
Marcello Farina 45Introduction to MPC
2. Linearization around a trajectory.
In the MPC framework, at time t the trajectory, predicted N stepsforward at the previous time step (i.e., t-1) is available. We havethe sequences
๐ข ๐ก โ 1|๐ก โ 1 , ๐ข ๐ก|๐ก โ 1 ,โฆ , ๐ข(๐ก + ๐ โ 2|๐ก โ 1)๐ฅ ๐ก|๐ก โ 1 ,โฆ , ๐ฅ(๐ก + ๐ โ 1|๐ก โ 1)
The linearized (affine) model, used for computing predictions attime t, is obtained linearizing the model in each point of the available predicted trajectory, i.e., for ๐ = ๐ก,โฆ , ๐ก + ๐ โ 1
๐ฅ ๐ + 1 = ๐ด ๐ ๐ก โ 1 ๐ฅ ๐ โ ๐ฅ ๐ ๐ก โ 1 +
๐ต ๐ ๐ก โ 1 ๐ข ๐ โ ๐ข ๐ ๐ก โ 1 + ๐ฅ(๐ + 1|๐ก โ 1)
๐ด ๐ ๐ก โ 1 = แ๐๐
๐๐ฅ ,๐ข ๐|๐กโ1 ,๐ฅ ๐|๐กโ1, ๐ต ๐ ๐ก โ 1 = แ
๐๐
๐๐ข ๐ข ๐|๐กโ1 ,๐ฅ ๐|๐กโ1
Remarks โ linearization for vehicle applications
Marcello Farina 46Introduction to MPC
3. Feedback linearization
Using a suitable internal control loop, we can make the systemโs dynamic evolve as a linear system.This approach is better analyzed in the following lecture.
This approach may turn out to be prone to modellingerrors.
1. Model predictive control: theory and design. J. B. Rawings andD. Q. Mayne, 2009 Nob Hill Publishing.
2. Constrained model predictive control: Stability andoptimality. D. Q. Mayne, J. B. Rawlings, C. V. Rao, P. O. M.Scokaert, Automatica 36 (6), 789-814.
3. Predictive control with constraints. J. M. Maciejowski, 2001,Pearson education.
4. Advanced and multivariable control. L. Magni, R. Scattolini.Pitagora Editrice Bologna.
5. MPC for tracking piecewise constant references forconstrained linear systems. D. Limรณn, I. Alvarado, T. Alamo, E.F. Camacho, Automatica 44 (9), 2382-2387
Marcello Farina Introduction to MPC 47
References