Model Predictive Controller Tuning Via Eigenvalue Placement: Jorge L. Garriga and Masoud Soroush
Model Predictive Controller Tuning Via Eigenvalue Placement: Jorge L. Garriga and Masoud Soroush
Model Predictive Controller Tuning Via Eigenvalue Placement: Jorge L. Garriga and Masoud Soroush
=r
w
y
[y
d
(k +) y(k +)]
2
+
M1
=0
w
u
+1
[u(k +)]
2
+
M1
=0
w
u
+1
[u(k +) u(k + 1)]
2
_
(3)
subject to
x(k + 1) = [x(k), u(k)]
y(k) = h[x(k)]
u(k +) = u(k + 1), = M, , P r
where
P r,
U(k) = [u(k) u(k +M 1)]
T
,
w
yr
, , w
yP
, w
u1
, , w
uM
, w
u1
, , w
uM
0,
y
d
is a reference trajectory, given by
y
d
(k +j) =(1 +)
r
y
sp
(k +j)
r1
=0
_
r
r
_
r
y
d
(k +j r +), j = r, , P
y
d
(k +) = y(k +), = 0, , r 1
is a tunable scalar parameter that sets the speed of
the reference trajectory and is chosen such that 1 <
< 0.
y
sp
Y is the output set-point. Y is the set of
all y
sp
for which for every d D there exist a u
ss
U and an x
ss
X satisfying x
ss
= (x
ss
, u
ss
) and
y
sp
= h(x
ss
) +d.
_
a
b
_
a!
b!(a b)!
430
y is the predicted future value of the controlled output,
given by
y(k +)
= y(k) +h
[x(k)] h[x(k)], = 0, , r 1
y(k +r)
= y(k) +h
r
[x(k), u(k)] h[x(k)]
y(k +)
= y(k) +h
h
0
[x(k)]
= h[x(k)]
h
[x(k)]
= h
1
[(x(k), u(k))],
= 1, , r 1
h
r
[x(k), u(k)]
= h
r1
[(x(k), u(k))]
h
r+1
[x(k), u(k), u(k + 1)]
= h
r
[(x(k), u(k)), u(k + 1)]
.
.
.
h
P
[x(k), u(k), , u(k+Pr)]
=
h
P1
[(x(k), u(k)), u(k + 1), , u(k +P r)]
When measurements of the state variables are available, in
the preceding prediction equations we set x = x. Otherwise,
the values of the state variables have to be estimated, for
example, via on-line simulation of the plant model (use of an
open-loop state estimator) or by using an extended Kalman
lter. An estimate of the unmeasured output disturbance,
=0
_
r
r
_
r
y
d
(k +)
.
.
.
y
d
(k +P) = (1 +)
r
y
sp
(k +P)
r1
=0
_
r
r
_
r
y
d
(k +P r +)
V. SYMBOLIC CALCULATIONS
After entering values for A, b, and c matrices (unless the
plant is rst order), the following symbolic calculations are
performed:
(a) After setting values of P and M, calculate the perfor-
mance index J(x(k), y
sp
(k), u(k), , u(k +M1)).
(b) Calculate [u(k), , u(k + M 1)]
T
=
Q(x(k), y
sp
(k)) that globally minimizes
J(x(k), y
sp
(k), u(k), , u(k + M 1). This
involves taking partial derivatives of J with respect
to u(k), , u(k + M 1), setting the resulting
partial derivatives to zero, and then solving for
u(k), , u(k +M 1).
(c) Calculate the Jacobian of the closed-loop system; i.e.,
J
cl
= A+bk
1
, where k
1
is the rst row of the M n
matrix Q(x, y
sp
)/x.
(d) Calculate the eigenvalues of J
cl
.
This approach can be extended to calculate eigenvalues of the
closed-loop system of an input-constrained plant. For such a
plant, steps (b) and (c) are different; the optimization in step
(b) is constrained, and when an input constraint is active,
k
1
= 0; J
cl
= A, which is the Jacobian of the plant in open-
loop (J
ol
). A sufcient condition for asymptotic stability of
an input-constrained plant is that all eigenvalues of (a) J
cl
when the same plant is unconstrained and (b) J
ol
= A lie
inside the unit circle. In the case that the order of the plant is
higher than one and the values of the matrices A, b, and c are
not set, MATHEMATICA calculates symbolic expressions
for the closed-loop Jacobian that may be hundreds of pages
long.
Sample analytical expressions for the closed-loop Jacobian
(eigenvalue), J
cl
, of a general rst-order plant of the form
(5) for several low values of P and M are given in Table
II. They show how M, P, w
y1
, , w
yn
, w
u1
, , w
uM
,
w
u1
, , w
uM
, and affect the location of the closed-
loop eigenvalue. Closed-loop Jacobian expressions for higher
values of P and M are not presented here because of their
larger sizes and the 6-page limit on the length of ACC
431
TABLE II
ANALYTICAL EXPRESSIONS FOR THE CLOSED-LOOP EIGENVALUE OF A
GENERAL FIRST-ORDER LINEAR PLANT.
P=1,
M=1
P=2,
M=1
P=3,
M=1
P=4,
M=1
P=5,
M=1
proceedings papers. For example, the closed-loop Jacobian
(eigenvalue) for P = 5 and M = 3 is more than four
pages long. As can be seen in the sample expressions, for
every combination of P and M values, sum of the 2
M
terms A(
1j
Mj
), j = 1, 2, where
i1
= w
ui
and
i2
= w
ui
, i = 1, M, appear in the numerator of J
cl
,
and sum of the 2
M
terms (
1j
Mj
), j = 1, 2, in
the denominator. This explains clearly the previously-known
qualitative and intuitive understanding that:
As w
u1
, , w
uM
, J
cl
A = J
ol
.
As w
u1
, , w
wu
M
, J
cl
A = J
ol
.
VI. ILLUSTRATIVE EXAMPLES
The application of the approach described above to several
specic simple plants is presented in this section.
A. Examples
Example 1. A minimum-phase, asymptotically stable,
rst-order, linear plant:
A = [0.905] , b = [1.903] , c = [1]
which has the transfer function
G(z) =
1.903
z 0.905
Example 2. A non-minimum phase, asymptotically stable,
second-order, linear plant:
A =
_
0 1
0.125 0.75
_
, b =
_
0
1
_
, c =
_
2 1
;
G(z) =
2 z
(z 0.5)(z 0.25)
Example 3. A non-minimum phase, asymptotically stable,
second-order, linear plant:
A =
_
0 1
0 0.5
_
, b =
_
0
1
_
, c =
_
2 1
;
G(z) =
2 +z
z(z 0.5)
Example 4. A minimum phase, unstable, second-order,
linear plant:
A =
_
0 1
1.6 2.8
_
, b =
_
0
1
_
, c =
_
0.5 1
;
G(z) =
z 0.5
(z 2)(z 0.8)
Example 5. A non-minimum phase, unstable, second-
order, linear plant:
A =
_
0 1
1.6 2.8
_
, b =
_
0
1
_
, c =
_
1.5 1
;
G(z) =
z 1.5
(z 2)(z 0.8)
Example 6. A minimum phase, asymptotically stable,
fourth-order, linear plant:
A =
_
_
0.9 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
_
_
, b =
_
_
1.9
0
0
0
_
_
, c =
_
0 0 0 1
;
G(z) =
1.9
z
3
(z 0.9)
B. Results
Results of the application of the approach to the plant
examples are presented in Figure 1 and Tables III-VIII.
C. Discussions
Figure shows how the closed-loop eigenvalue(s) of Exam-
ples 1-5 and the dominant closed-loop eigenvalue of Example
6 change(s) with P. When w
u1
= w
u1
= 0 and M = 1, as
P increases, the closed-loop eigenvalue(s) move towards the
open-loop eigenvalue(s), irrespective of the value of that
sets the speed of the reference trajectory. Furthermore, if a
prediction horizon much longer than the reference-trajectory
time-constant is used, the value of the reference-trajectory
time constant has little effect on the closed-loop performance
(locations of the closed-loop eigenvalues). When P = 1,
r closed-loop eigenvalues are placed at z = , and the
remaining (n r) eigenvalues at the plant zeros. For this
432
0
0.2
0.4
0.6
0.8
1
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0 J=-0.3
J=-0.6 J=-0.9 (Ex.1)
0.0
0.2
0.4
0.6
0.8
1.0
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
0.0
0.5
1.0
1.5
2.0
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
J 0 0 J 0 3
1.0
(Ex.2)
-0.5
0.0
0.5
1.0
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
-2.0
-1.0
0.0
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
(Ex.3)
0.0
0.2
0.4
0.6
0.8
1.0
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
0.0
0.2
0.4
0.6
0.8
1.0
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
1.0 1.6
J 0 0 J 0 3
(Ex.4)
0.0
0.2
0.4
0.6
0.8
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
0.8
1.0
1.2
1.4
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
(Ex.5)
-3
2
7
12
17
22
0 20 40 60 80 100
E
i
g
e
n
v
a
l
u
e
Prediction Horizon (P)
J=0.0 J=-0.3
J=-0.6 J=-0.9
(Ex.6)
Fig. 1. Closed-loop eigenvalue(s) of Examples 1-5 and the dominant
closed-loop eigenvalue of Example 6 for several values of P and [M = 1,
wu
1
= 0, w
u
1
= 0, wyr
= = wy
P
= 1].
TABLE III
RESULTS FOR EXAMPLE 1.
(A) Closed-loop eigenvalue and the performance index J (with ysp =
0 and x = 5) for several values of M, = 0.3, and P =
7, wu
1
= 0, w
u
1
= 0, wyr
= = wy
P
= 1.
M 1 2 3 4 5
Eigenvalues 0.75 0.20 0.30 0.30 0.30
J 15.7928 0.59747 0.04267 0.00274 0.00015
M 6 7
Eigenvalues 0.30 0.30
J 0.00005 0.00000
(B) Closed-loop eigenvalue for several values of wu
1
and w
u
1
, and =
0.0, P = 7, M = 3, wyr
= = wy
P
= 1.
wu
1
Eigenvalue w
u
1
Eigenvalue
0 0.00000 0 0.00000
1 0.17015 1 0.20051
2 0.26461 2 0.26825
3 0.32912 3 0.310569
4 0.37778 4 0.342283
TABLE IV
RESULTS FOR EXAMPLE 2.
(A) Closed-loop eigenvalues for several values of M, = 0.3, and
P = 7, wu
1
= 0, w
u
1
= 0, wyr
= = wy
P
= 1.
M 1 3 7
Eigenvalues 0.2553, 0.4509 0.2359, 0.2998 0.2373, 0.3000
(B) Closed-loop eigenvalues for several values of wu
1
and w
u
1
, and
= 0.0, P = 7, M = 3, wyr
= = wy
P
= 1.
wu
1
(w
u
1
=0) Eigenvalues w
u
1
(wu
1
=0) Eigenvalues
0 0.0000, 0.5013 0 0.0000, 0.5013
1 0.0495, 0.5010 1 0.0800, 0.5008
2 0.0821, 0.5009 2 0.1151, 0.5011
3 0.1054, 0.5007 3 0.1362, 0.5016
4 0.1230, 0.5006 4 0.1506, 0.5019
reason, prediction horizons greater than one should be used
for non-minimum-phase plants (Examples 2, 3 and 5; Figure
1) to ensure closed-loop stability. When a plant (such as
Example V) is unstable and non-minimum-phase, prediction
and control horizons much longer that those that are adequate
to stabilize unstable or non-minimum-phase plants, should be
used to ensure that the closed-loop system is asymptotically
stable (e.g., P = 11 and M = 10 for Example V). As
the control horizon is increased from one, as shown in
Table III(A), the dominant eigenvalue of the closed-loop
system initially moves towards the origin and then away
from the origin to a location that does not change with a
further increase in the control horizon. Note that the value
of the performance index, J, evaluated at the minimizing
u, as expected, decreases monotonically as M increases.
In other words, J monotonically decreases with M, while
the eigenvalue rst decreases, then increases, and nally
does not change. Tables III(B)-VIII(B) show how closed-
loop eigenvalue(s) vary as w
u1
and w
u1
are increased while
= 0.0, P = 7, M = 3, and w
yr
= = w
yP
= 1.
VII. CONCLUDING REMARKS
This paper presented an analytical study of the effect of the
MPC tunable parameters over a wide range, on the closed-
loop performance quantied in terms of the location(s) of
closed-loop eigenvalue(s) of a large set of widely common
433
TABLE V
RESULTS FOR EXAMPLE 3.
(A) Closed-loop eigenvalues for several values of M, = 0.3, and
P = 7, wu
1
= 0, w
u
1
= 0, wyr
= = wy
P
= 1.
M 1 3 7
Eigenvalues -0.0217, 0.4477 0.3012, -0.6495 0.3000, -0.6953
(B) Closed-loop eigenvalues for several values of wu
1
and w
u
1
, and
= 0.0, P = 7, M = 3, wyr
= = wy
P
= 1.
wu
1
(w
u
1
=0) Eigenvalues w
u
(wu
1
=0) Eigenvalues
0 0.0000, 0.5011 0 0.0000, 0.5011
1 0.0000, 0.5008 1 0.0000, -0.0888
2 0.0000, 0.5006 2 0.0000, 0.0276
3 0.0000, 0.5005 3 0.0000, 0.0919
4 0.0000, 0.5004 4 0.0000, 0.1353
TABLE VI
RESULTS FOR EXAMPLE 4.
(A) Closed-loop eigenvalues for several values of M, = 0.3, and
P = 7, wu
1
= 0, w
u
1
= 0, wyr
= = wy
P
= 1.
M 1 3 6
Eigenvalues 0.975 0.075i 0.384 0.050 0.300, 0.500
(B) Closed-loop eigenvalues for several values of wu
1
and w
u
1
, and
= 0.0, P = 7, M = 3, wyr
= = wy
P
= 1.
wu
1
(w
u
1
=0) Eigenvalues w
u
1
(wu
1
=0) Eigenvalues
0 0.0000, 0.4809 0 0.0000, 0.4908
1 0.4976, 0.6130 1 0.667 0.214i
2 0.5660, 0.6468 2 0.737 0.211i
3 0.6151, 0.6584 3 0.782 0.199i
4 0.659 0.011i 4 0.813 0.184i
plants whose constraints are inactive. Symbolic manipula-
tion capabilities of MATHEMATICA were used to obtain
analytical expressions describing the dependence of closed-
loop eigenvalues on the tunable parameters. This work is
rst to investigate how MPC tuning-parameters affect the
location of the eigenvalues of the closed-loop system of
a plant in the discrete-time setting. It provides theoretical
basis/justication for many of the existing qualitative MPC
tuning rules and propose new tuning guidelines for MPC.
For example, as the prediction horizon is increased while
other tunable parameters remain constant, a subset of the
closed-loop eigenvalues (poles) move non-monotonically to-
wards the open-loop eigenvalues (poles) of the plant. If a
prediction horizon much longer than the reference-trajectory
time-constant is used, the value of reference-trajectory time-
constant has little effect on the closed-loop performance. As
the weights on the magnitude or the rate of change of the
manipulated input are increased, the closed-loop eigenvalues
move towards the open-loop eigenvalues.
REFERENCES
[1] Allgower, F., Zheng, A. Nonlinear Model Predictive Control,
Progress in Systems and Control Theory series, Vol. 26, Birkhauser-
Verlag, Birkhauser Verlag, Basel, 2000
[2] Qin, J., Badgwell, T.A. A survey of industrial model predictive
control technology. Control Engineering Practice, 11, 733764, 2003
[3] Lee, J.H., Yu, Z. H. Tuning of model predictive controllers for robust
performance. Computers & Chemical Engineering, 18(1), 1537,
1994
[4] Shridar, R., Cooper, D.J. A tuning strategy for unconstrained mul-
tivariable model predictive control. Ind. Eng. Chem. Res., 37(10),
40034016, 1998
[5] Shridhar, R., Cooper, D.J. A novel tuning strategy for multivariable
model predictive control. ISA Transactions, 36(4), 273280, 1998
TABLE VII
RESULTS FOR EXAMPLE 5.
(A) Closed-loop eigenvalues for several values of M, = 0.3, and
P = 7, wu
1
= 0, w
u
1
= 0, wyr
= = wy
P
= 1.
M 1 3 6
Eigenvalues 0.8850, 1.2045 0.3177, 1.2452 0.3000, 1.4844
(B) Closed-loop eigenvalues for several values of wu
1
and w
u
1
, and
= 0.0, P = 7, M = 3, wyr
= = wy
P
= 1.
wu
1
(w
u
1
=0) Eigenvalues w
u
1
(wu
1
=0) Eigenvalues
0 -0.0002, 0.9239 0 -0.0002, 0.9238
1 0.3307, 0.7094 1 0.7025 0.1088i
2 0.3991, 0.7262 2 0.7604 0.1314i
3 0.4288, 0.7387 3 0.7936 0.1277i
4 0.4452, 0.7478 4 0.8167 0.1190i
TABLE VIII
RESULTS FOR EXAMPLE 6.
(A) Closed-loop eigenvalues for several values of M, = 0.3, and
P = 7, wu
1
= 0, w
u
1
= 0, wyr
= = wy
P
= 1.
M 1 3 7
Eigenvalues -0.017 0.121i 0.302 0.002i 0.302 0.002i
0.077, 0.772 0.298 0.002i 0.298 0.002i
(B) Closed-loop eigenvalues for several values of wu
1
and w
u
1
, and
= 0.0, P = 7, M = 3, wyr
= = wy
P
= 1.
wu
1
(w
u
1
=0) Eigenvalues w
u
1
(wu
1
=0) Eigenvalues
0 0.0000, 0.0000 0 0.0000, 0.0000
0.0000, 0.0000 0.0000, 0.0000
1 0.0000, 0.0000 1 0.0000, 0.0000
0.0000, 0.1709 0.0000, 0.2980
2 -0.000 0.000i 2 0.0000, 0.0000
0.0000, 0.2669 0.0000, 0.4021
3 -0.000 0.000i 3 0.0000, 0.0000
0.0000, 0.3324 0.0000, 0.4614
4 0.0000, 0.0000 4 -0.000 0.000i
0.0000, 0.3816 0.0000, 0.5009
[6] Al-Ghazzawi, A., Ali, E., Nouh, A., Zariou, E. On-line tuning
strategy for model predictive controllers. J. of Process Control, 11,
265284, 2001
[7] Wojsznis, W., Gudaz, J., Blevins, T., Mehta, A. Practical approach
to tuning MPC. ISA transactions (ISA trans.), 42(1), 149162, 2003
[8] Trierweiler, J.O., Farinab, L.A. RPN tuning strategy for model
predictive control. J. of Process Control, 13(7), 591598, 2003
[9] Soroush, M., Muske, K. Analytical model predictive control. in
Nonlinear Model Predictive Control, F. Allgower and A. Zheng
(eds.), Progress in Systems and Control Theory Series, Vol. 26,
Birkhauser-Verlag, Birkhauser Verlag, Basel, 163179, 2000
[10] Soroush, M., Soroush, H. M. Long-prediction-horizon nonlinear
model predictive control. in Nonlinear Predictive Control: Theory
and Practice, B. Kouvaritakis and M. Cannon (eds.), IEE Control
Engineering Book Series, 61, 190201, 2001
434