Skip to main content

Generalized Stabilizing Conditions for Model Predictive Control


This note addresses the tracking problem for model predictive control. It presents simple procedures for both linear and nonlinear constrained model predictive control when the desired equilibrium state is any point in a specified set. The resultant region of attraction is the union of the regions of attraction for each equilibrium state in the specified set and is therefore larger than that obtained when conventional model predictive control is employed.


Model predictive control of a dynamic system determines the current control by solving a finite horizon optimal control problem; the optimization yields the optimal control sequence that satisfies the state and control constraints as well as a terminal state constraint. The control applied to the system is the first element of the optimal control sequence. Because the optimal control problem has a finite horizon, the implicit model predictive control law is not necessarily stabilizing. To overcome this obstacle, one of two approaches is usually adopted; either the optimal control problem is modified by the addition of a terminal cost and constraint [1] or a sufficiently large horizon is chosen [2]. With the first approach, for each horizon, the feasible set for the optimal control problem (the set of states for which there exists a control sequence satisfying all constraints) is control invariant (if the terminal constraint set is control invariant) and is a subset of the feasible set for a larger horizon, a feature that ensures recursive feasibility. The size of the feasible set, which is also the region of attraction, depends on the terminal constraint set and can be smaller than desired if the terminal constraint set is small.

In the literature, a variety of approaches to the problem of enlarging the region of attraction, including increasing the horizon length [3], has therefore been proposed. In [4], a version of model predictive control that can cope with a family of set-points is developed; pseudo-linearization is employed to yield a transformed system that has the same linearization at each set-point in the family, permitting use of the same terminal set and terminal penalty for each set-point. In [5], the single terminal constraint set is replaced by a nested set of three terminal sets in which the first set is the terminal constraint set and each set is a subset set of its successor; each point in any set in the sequence can be steered into the preceding set by an admissible control. In the optimal control problem solved online, the last terminal set is employed at the initial time, the last but one set at the next time, followed by the second last and, thereafter, the conventional terminal set. The implicit model predictive control law is therefore time-varying in the first few iterations during which the optimal cost can increase. The domain of attraction is now the set of states that can be steered by an admissible control into the third set in the sequence; this is clearly larger than the region of attraction for conventional model predictive control. In [6], an enlargement of the region of attraction is obtained by constraining the unstable states to a set of states that can be controlled to the terminal set in a fixed number of steps. In [7, 8], the terminal set and, hence, the region of attraction is enlarged by using a local saturating control law in place of the conventional linear control law in the terminal constraint set. A larger terminal region can also be obtained by employing a detuned local control law in the terminal set at the price of losing local optimality as shown in [9]. An alternative approach for linear systems is interpolation-based MPC, discussed in [9], in which a set of local stabilizing controllers is employed together with their associated invariant sets in which all constraints are satisfied. Each of these sets could serve as a terminal constraint set. A larger terminal set that is the convex hull of these sets is obtained by expressing the current state as a convex combination of states in these sets and employing the local control law that is the same convex combination of the associated controls. The interpolation procedure is extended in [10] in which a set of state trajectories, each terminating in a standard terminal constraint set, is computed. For each trajectory, the terminal constraint set is translated and scaled; the scaling is chosen to ensure satisfaction of the state and control constraints in each set. The enlarged terminal set is the convex hull of these translated and scaled sets. A similar but simplified approach is adopted in [11] where a single trajectory is employed. For each state in this single trajectory, a set is chosen to ensure satisfaction of the state and control constraints. The terminal set is then defined by the convex hull of these sets. Attention has also been given [1214], to the problem of increasing the region of attraction in the context of the tracking problem. Very recently, a method for increasing the region of attraction for conventional and economic MPC [15] has been proposed and analysed.

The main purpose of this paper is to present simple methods for increasing the region of attraction to any desired equilibrium state in a given set since simplicity is an important requirement in many process applications. The method bears some resemblance to phase 1–phase 2 algorithms [16, §2.6] for constrained optimization in which, in the first phase, the algorithm satisfies the constraints and, in the second phase, minimizes the cost function while maintaining feasibility. It therefore also has some resemblance to dual-mode model predictive control as proposed in [17] for tracking in that, in the initial stages of the algorithm when the terminal constraint is not satisfied, the controller acts to satisfy this constraint even if, as a consequence, the optimal cost increases. Although developed independently, the proposed methods for linear systems are similar in some respects to the procedure described in [18, Chapter 5] and [19] that addresses a different problem, distributed economic model predictive control. Whereas our algorithm generates a sequence of set-points converging to a neighbourhood of a known set-point, the algorithm in [19] does not assume the economic set-point is known; instead, a sequence of set-points converging to the economic set-point is computed by a distributed optimization algorithm. Both methods therefore require generation of a sequence of terminal constraint sets; the centre of each terminal constraint set is the ‘virtual’ set-point that converges to, or approaches, the desired set-point ([19] does not employ the term ‘virtual set-point’). In [19], to ensure recursive feasibility, the size of the terminal constraint set is reduced at each time. In this paper, both the centre (the virtual set-point) and size of the terminal constraint set is altered (kept constant in Linear Control Algorithm 1 and increased or decreased in Linear Control Algorithm 2) at each iteration to ensure recursive feasibility; the virtual set-point reaches the desired set-point in finite time. A similar procedure is also employed in [14]. A more detailed comparison of the two methods and their similarities and differences is given in Sect. 2.1 after relevant notation has been defined.

Increasing the Region of Attraction for Constrained Systems

In the sequel, we use \(f(\cdot )\) to denote a function irrespective of the number of its arguments. \(\mathcal {B}(x,c)\) denotes \(\{z ~:~ |z-x| \le c\}\). For any two integers \(i,j,\,\mathbb {I}_{i{:}j}\) denotes \(\{i,i+1,i+2,\ldots ,j-1,j\}\).

The system to be controlled is described by

$$\begin{aligned} x^+ = f(x,u)\quad y=h(x) \end{aligned}$$

Given a reference \(r^{*} \in \mathcal {R},\,\mathcal {R}\) a compact subset of \(\mathbb {R}^p\), the control objective is to stabilize the equilibrium state \(x_{r^*}\). For each \(r \in \mathcal {R}\), the corresponding equilibrium pair \((x_r,u_r)\) is defined as the solution, if it exists, of

$$\begin{aligned} x_r =f(x_r, u_r), \quad y=h(x_r) =r \end{aligned}$$

For simplicity, we assume that y and u have the same dimension and that Eq. (2) has a unique solution \(u_r=\phi _u(r),\,x_r=\phi _x(r)\) for all \(r \in \mathcal {R}\); in the linear case (i.e. \(x^+=Ax+Bu,\,y=Cx\)), \(\phi _u(\cdot )\) and \(\phi _x(\cdot )\) are linear (\(\phi _u(r)=M_ur,\,\phi _x(r)=M_xr\)) and our assumption is equivalent to the assumption that the zero frequency gain \(G(0)=C(I-A)^{-1}B\) is non-singular. If a solution to (2) does not exist, there does not exist a constant u such that \(y(t)=r\) for all t. The analysis can be extended to the case when there are more outputs than inputs [20, §1.5.1]. The system is subject to state and control constraints \(x \in \mathbb {X}\) and \(u \in \mathbb {U}\). It is assumed that \(\mathcal {R}\) satisfies \((x_r,u_r) \in \mathbb {X} \times \mathbb {U}\) for all \(r \in \mathcal {R}\) and that \(\mathbb {X}\) is polyhedral and that \(\mathbf {U}\) is a polytope. For each (xr), the optimal control problem \(\mathbb {P}_N(x,r)\) solved on line is

$$\begin{aligned} V_N^0(x,r) =\min _{\mathbf {u}}\left\{ V_N(x,r,\mathbf {u}) : \mathbf {u} \in \mathcal {U}_N(x,r)\right\} \end{aligned}$$

in which

$$\begin{aligned} V_N(x,r,\mathbf {u}) :=\sum _{i=0}^{N-1} \ell \left( x^\mathbf {u}(i;x),r,u(i)\right) + V_f\left( x^\mathbf {u}(N;x),r\right) \end{aligned}$$

and, for \(i=0,1,\ldots ,N,\,x^\mathbf {u}(i;x)\) denotes the solution of \(x^+=f(x,u)\) at time i with \(x(0)=x\) and input \(\mathbf {u} :=\{u(0),u(1), \ldots , u(N-1)\}\); the corresponding state sequence is \(\mathbf {x}^\mathbf {u} :=\{x^\mathbf {u}(0;x),x^\mathbf {u}(1;x),\ldots ,x^\mathbf {u}(N;x)\}\) with \(x^\mathbf {u}(0;x)=x\). The stage cost \(\ell (x,r,u) :=(1/2)|x-x_r|_Q^2 +(1/2)|u-u_r|_R^2\) where Q and R are positive definite. Also, \(\mathcal {U}_N(x,r)\) is the set of control sequences \(\mathbf {u}\) that, given (xr), satisfy the state and control constraints and the terminal constraint \(x^{\mathbf {u}}(N;x) \in X_f(r) :=\{x \in \mathbb {R}^n ~:~ V_f(x,r) \le c_r\}\) for some \(c_r>0\):

$$\begin{aligned} \mathcal {U}_N(x,r) :=\left\{ \mathbf {u} ~:~ u(i) \in \mathbb {U}, x^\mathbf {u}(i;x) \in \mathbb {X}, i\in \mathbb {I}_{0:N-1}, x^\mathbf {u}(N;x) \in X_f (r)\right\} \end{aligned}$$

The control applied to the system is \(u^0(0;x,r)\), the first element of \(\mathbf {u}^0(x,r)\); the implicit model predictive control law is, therefore, \(\kappa _N(\cdot )\) defined by \(\kappa _N(x,r):=u^0(0;x,r)\). Let \(x^{\kappa _N}(i;x,r)\) denote the solution at time i of the closed loop system \(x^+=f^{\kappa _N}(x,r) :=f(x,\kappa _N(x,r))\) if the initial state at time 0 is x. The equilibrium state is asymptotically stable with a region of attraction \(X_N(r) :=\{x ~:~ \mathcal {U}_N(x,r) \ne \emptyset \}\) for the closed loop system if the terminal ‘ingredients’ \(X_f\) and \(V_f(\cdot )\) satisfy the usual stability condition:

Stability Condition \(V_f(\cdot )\) is continuous and satisfies \(V_f(x_r,r)=0\) and \(V_f(x,r) > 0\) if \(x \ne x_r\). For all \(r \in \mathcal {R}\), all \(x \in X_f(r)\), there exists a \(u \in \mathbb {U}\) such that (i) \(x^+=f(x,u) \in X_f(r)\), and (ii) \(V_f(x^+,r) \le V_f(x,r) - \ell (x,r,u)\).

Condition (i) implies, for each \(r \in \mathcal {R}\), that \(X_f(r)\) is control invariant and condition (ii) implies, again for each \(r \in \mathcal {R}\), that \(V_f(\,\cdot \,,r)\) is a local control Lyapunov function for \(\mathbb {P}_N(x,r)\). Under mild conditions, there exists a local control law \(\kappa _f(\cdot )\) such that \(u=\kappa _f(x,r)\) satisfies (i) and (ii) above.

The stability conditions are satisfied if \(V_f(\cdot )\) is the value function for the unconstrained infinite horizon problem or if \(V_f(\cdot )\) is the infinite horizon cost for the unconstrained system with any locally stabilizing controller \(u=\kappa _f(x,r)\). Such a \(V_f(\cdot )\) is easily determined if \(f(\cdot )\) is linear in which case we assume that (AB) is stabilizable. The local control law \(\kappa _f(\cdot )\) is then affine (\(\kappa _f(x,r) :=u_r+K_r(x-x_r)\)). We choose \(\mathcal {R}\) and \(c>0\) such that the terminal constraint set \(X_f(r)\) satisfies \(X_f(r) \subset \mathbb {X}' :=\{x \in \mathbb {R}^n ~:~ x \in \mathbb {X},\ \kappa _f(x,r) \in \mathbb {U}\}\) for all \(r \in \mathcal {R}\) so that \(x^0(N;x,r) \subset \mathbb {X}\) for all \((x,r) \in X_N(r) \times \mathcal {R}\) with \(X_N(r) :=\{x ~:~ \mathcal {U}_N(x,r) \ne \emptyset \}\). The control invariance of \(X_f(r)\) follows from the fact that \(V_f(\,\cdot \,,r)\) is a local Lyapunov function for \(x^+=f^{\kappa _f}(x):=f(x,\kappa _f(x,r))\). If \(f(\cdot )\) is nonlinear, it is possible, under mild conditions, to determine a terminal cost function \(V_f(\cdot )\) and associated constraint set \(X_f(r)\) satisfying the stability conditions.

We show below that, for any \(r^*\in \mathcal {R}\), it is possible to design a model predictive controller such that \(x_{r^*}\) is asymptotically stable with a region of attraction \(X_N(\mathcal {R}) :=\cup _{r \in \mathcal {R}}X_N(r)\) [rather than \(X_N(r^*)\)].

Model Predictive Controller with Extended Region of Attraction: Linear Systems

Some simplifications can be made if the system being controlled is linear (\(f(x,u):=Ax+Bu,\,y=Cx\)). We consider first the simple case when the terminal constraint sets are ellipsoidal and differ only by translation since, for each \(r,\,X_f(r) :=\{x ~:~ V_f(x,r) \le c\}\) and \(V_f(x,r) :=(1/2) (x-x_r)'P(x-x_r)\); P and c do not vary with r (\(P_r=P\) and \(c_r=c\) for all r). A consequence is that, for all \(r \in \mathcal {R}\), the local stabilizing control law is affine (\(\kappa _f(x,r) = u_r+K(x-x_r)\)); P is a symmetric positive definite matrix satisfying \(P=A_K'PA_K +Q^*\) with \(A_K :=A+BK\) a stability matrix; \(Q^*:=Q+K'RK\) is symmetric and positive definite. Moreover, the successor state \(x^+=f(x,\kappa _f(x,r))\) satisfies \(x^+-x_r=A_K(x-x_r)\) so that \(V_f(x^+,r) =(1/2)(x^+-x_r)'P(x^+-x_r) = (1/2)(A_K(x-x_r))'P(A_K(x-x_r)) =(1/2)(x-x_r)'(P-Q^*)(x-x_r)\) for all \(x \in X_f(r)\), all \(r \in \mathcal {R}\).

In conventional model predictive control, the value function of the online optimal control problem decreases monotonically with time. In the modified version described below, the value function, as in phase 1–phase 2 optimization, may increase until feasibility of the terminal inequality constraint with \(r=r^*\) is achieved; thereafter, the value function decreases monotonically. The control algorithm can be simply stated:

Linear Control Algorithm 1:

Step 0: (Initialization:) Determine, at the initial state x, a \(r \in \mathcal {R}\) such that \(x \in X_N(r)\) (i.e. such that \(\mathbb {P}_N(x,r)\) is feasible).

Step 1: At each (xr), solve \(\mathbb {P}_N(x,r)\) to obtain \(\mathbf {u}^0(x,r)\) and, hence, \(x^+=Ax + B \kappa _N(x,r)\).

Step 2: If \(x_N :=x^0(N;x,r) \not \in X_f(r^*)\), set \(r^+ = r + \lambda ^0(r^*-r)\),   \(\lambda ^0 :=\max \{ \lambda \in [0,1] ~:~ x_N^+ \in X_f(r+\lambda (r^*-r))\}\) with \(x_N^+:=Ax_N+B\kappa _f(x_N,r)\). If \(x_N \in X_f(r^*)\), set \(r^+=r^*\).

Step 3: Set \((x,r) = (x^+,r^+)\) and go to Step 1.

To establish properties of the algorithm, two preliminary results are required.

Proposition 2.1

There exists a \(d \in ]0,c[\) such that for all \(x \in X_f(r) =\{x ~:~ V_f(x,r) \le c\}\), all \(r \in \mathcal {R}\), the successor state \(x^+=f(x,\kappa _f(x,r))\) under the control law \(\kappa _f(\cdot )\) satisfies \(x^+\in \{x ~:~ V_f(x,r) \le d\}\).


Because the state and control constraints for \(x^+=f(x,\kappa _f(x,r))\) are inactive for \(x \in X_f(r)\), it follows that

$$\begin{aligned} V_f(x^+,r) =V_f(x,r) -(1/2)(x-x_r)'Q^*(x-x_r) = (1/2) (x-x_r)'(P-Q^*)(x-x_r) \end{aligned}$$

for all \(x \in X_f(r)\), all \(r \in \mathcal {R}\). Let \(|x|_P :=(x'Px)^{1/2} = |P^{1/2}x|\) so that \(X_f(r) = \{x ~:~ |x-x_r|_P \le \sqrt{2c}\}\). For any \(c_1 \in ]0,c[\) let \(e :=\min _x\{(1/2)x'Q^*x ~:~ |x|_P \in [c_1,c]\}\). Since \(e \rightarrow 0\) as \(c \rightarrow 0\), there exists a \(c_1 \in ]0,c[\), sufficiently small, such that \(d:=c-e \in [c_1,c]\). It follows that \(V_f(x^+,r) \le V_f(x,r) - e,\,x^+:=f(x,\kappa _f(x,r))\), for all x such that \(V_f(x,r) \in [c_1,c]\). Since \(c_1 \le d\), it follows that \(x^+ \in \{x ~:~ V_f(x,r) \le d\}=\{x ~:~ |x|_P\le \sqrt{2d}\}\), for all \(x \in X_f(r)\). \(\square \)

Proposition 2.2

For all \(r \in \mathcal {R},\,x \in X_N(r)\) implies \(x^+ \in X_N(r^+),\,x^+ :=f(x,\kappa _N(x,r)),\,r^+:=r+\lambda ^0(r^*-r)\) so that \(x^+\) is feasible for \(\mathbb {P}_N(x^+,r^+)\). There exists a \(\delta >0\) such that, if \(|x_{r^*}-x_r|_P \ge \delta ,\,|x_{r^+} - x_r|_P \ge \delta \).


Let \(x\in X_N(r)\) so that \(x_N :=x^0(N;x,r) \in X_f(r) = \{x ~:~ |x-x_r|_P \le \sqrt{2c}\}\). From Proposition 2.1, \(x_N^+ :=f(x_N,\kappa _f(x_N,r))\in \{x ~:~ |x-x_r|_P \le \sqrt{2d}\}\). It follows from the triangle inequality that, if \(|x-x_r|_P \le \delta :=\sqrt{2c}-\sqrt{2d}\), then \(|z-x|_P \le |z-x_r|_P+|x_r-x|_P \le \sqrt{2c}\) for all \(z \in \{x ~:~ |x-x_r|_P \le \sqrt{2d}\}\), all x such that \(|x-x_r|_P \le \delta \). In particular, \(|x_N^+ -x|_P \le \sqrt{2c}\) for all x such that \(|x-x_r|_P\le \delta \). Let \((r,s) \in \mathcal {R}\) be such that \(|x_s-x_r| = \delta = \sqrt{2c}-\sqrt{2d}\); it then follows from the inequality above that \(x_N^+ \in X_f(r) \cap X_f(s)\) so that the initial state \(x^+=f(x,\kappa _N(x,r))\) lies in \(X_N(r)\cap X_N(r^+)\). It further follows from the algorithm that \(|x_{r^+ }- x_r|_P \ge |x_s-x_r|_P=\delta \) and \(|x_{r^*}- x_{r^+}|_P \le |x_{r^*}- x_{r}|_P-\delta \) if \(|x_{r^*}-x_r|_P \ge \delta \). \(\square \)

Our main result follows.

Theorem 2.1

Suppose Q and R are positive definite, (AB) is stabilizable, and the stability condition is satisfied with \(X_f(r) \subset \mathbb {X}\) and \(\kappa _f(X_f(r),r) \subset \mathbb {U}\) for all \(r \in \mathcal {R}\). Then, for all \(r^*\in \mathcal {R},\,x_{r^*}\) is exponentially stable with a region of attraction \(X_N(\mathcal {R})\).


Let \((x_i,r_i,\lambda _i)\) denote the value of \((x,r,\lambda )\) at the \(i{\text {th}}\) iteration of the algorithm. The sequence \(\{x_{r_i} ~:~ i \in \mathbb {I}_{\ge 0}\}\) satisfies \(x_{r _i} \in [x_{r_0},x_{r^*}]\). Suppose \(\mathbb {P}_N(x_i,r_i)\) is feasible so that \(x^0(N;x_i,r_i) \in X_f(r_i)\). If \(x^0(N;x_i,r_i) \not \in X_f(r^*)\), it follows from Step 2 of the algorithm and Proposition 2.2 that \(\mathbb {P}_N(x_{i+1},r_{i+1})\) is feasible and \(|x_{r^*}-x_{r_{i+1}}|_P\le |x_{r^*}-x_{r_i}|_P-\delta \). Hence, there exists a finite time j such that \(x_{r_j} \in X_f(r^*)\); using the definition of \(\lambda ^0,\,x_{r_{j+1}} =x_{r^*}\). For all \(i \ge j+1\), the algorithm is conventional MPC so that, from known results, \(x_{r^*}\) is exponentially stable with a region of attraction \(X_N(\mathcal {R})\). \(\square \)

To compare the results above with those of [19], we note that [19] defines (using our notation) the terminal cost function \(V_f(\cdot )\) as we do but defines the terminal constraint set by \(X_f(r):=\{x ~:~ E(x-x_r) \le \alpha _r\}\) (since r in our analysis replaces time t in [19]), whereas our terminal constraint set is defined in Sect. 2.1 by \(X_f(r):=\{x ~:~ V_f(x,r) \le c\}\) (c independent of r). Lemma 1 in [19] then shows how to choose the virtual reference \(x_{r^+}\) and \(\alpha _{r^+}\) so that, for all \(x \in X_f(r),\,x^+:=f(x,\kappa _f(x,r))\) satisfies \(x^+ \in X_f(r^+)\); crucially (Assumption 2(ii) in [19]) \(X_f(r)\) has the contraction property \(E(x^+-x_r) \le E(x-x_r)-(x-x_r)'Q(x-x_r)\) with Q positive definite. Using this, [19, Theorem 1] shows \(x_{r_i}\) converges to \(x_{r^*}\) as time \(i \rightarrow \infty \). In Linear Control Algorithm 1, \(X_f(r)\) has a different property; Proposition 2.1 shows that if \(x \in X_f(r) :=\{x ~:~ V_f(x,r) \le c\}\), then \(x^+ \in \{x ~:~ V_f(x,r) \le d\}\) where \(0<d<c\). This enables us to show that \(x_{r_i}\) enters \(X_f(x_{r^*})\) in finite time. In [19], the terminal constraint set \(X_f(r_i)\) decreases in size (\(\alpha _{r_i}\) decreases) as i increases, whereas in Linear Control Algorithm 1, the terminal constraint set has constant size.

The fact that \(X_f(r)\) in Linear Control Algorithm 1 has constant size (since c is constant) constrains each \(X_f(r)\) to be small if, for some \(r \in \mathcal {R},\,x_r\) is close to the boundary of \(\mathbb {X}\) and/or \(\kappa _f(x,r)\) is close to the boundary of \(\mathbb {U}\). To overcome this disadvantage, we replace Step 2 in Control Algorithm 1 by an optimization algorithm that provides a terminal set \(X_f(r)\) that increases in size (\(c_r\) larger) where it is possible to do so without transgressing the state or control constraints. The terminal set is now defined by \(X_f(r):=\{x ~:~ V_f(x,r) \le c_r\}\) in which \(c_r\) varies with r. The optimization algorithm, \(\bar{\mathbb {P}}_N(x,r),\,x \in X_f(r)\), employed in Step 2, is defined for all x by

$$\begin{aligned} \min _{\lambda ,c} \left\{ |r^*-s|^2 ~:~ \lambda \in [0,1], c > 0, x \in X_f(s), X_f(s) \subset \mathbb {X}'\right\} \end{aligned}$$

in which \(\mathbb {X}' :=\{x ~:~ x \in \mathbb {X}, \kappa _f(x,s) \in \mathbb {U}\}\) and \(s :=r+\lambda (r^*-r)\). Let \((\lambda ^0(x,r),c^0(x,r))\) denote the solution of \(\bar{\mathbb {P}}_N(x,r)\). It is shown in the ‘Appendix’ that \(\bar{\mathbb {P}}_N(x,r)\) may be reformulated as an LMI problem for which standard algorithms are available [21]. The modified control algorithm is:

Linear Control Algorithm 2:

Data: \(r^*\) and \(c_{r^*}\).

Step 0: (Initialization:) Determine, at the initial state x, a \(r \in \mathcal {R}\) and a \(c =c_r>0\) such that \(x \in X_N(r)\) (i.e such that \(\mathbb {P}_N(x,r)\) is feasible).

Step 1: At each (xr), solve \(\mathbb {P}_N(x,r)\), to obtain \(\mathbf {u}^0(x,r)\) and, hence, \(x^+= f(x,\kappa _N(x,r)) = Ax + B \kappa _N(x,r)\).

Step 2: If \(x_N :=x^0(N;x,r) \not \in X_f(r^*)\), solve \(\bar{\mathbb {P}}_N(x_N^+,r),\,x_N^+:=f(x_N,\kappa _f(x_N,r))\), to obtain \((\lambda ^0(x_N^+,r),c^0(x_N^+,r))\). Set \(r^+=s^0(x_N^+,r) :=r+\lambda ^0(x_N^+,r)(r^*-r)\) and \(c_{r^+}=c^0(x_N^+,r)\). If \(x_N \in X_f(r^*)\), set \(r^+=r^*\) and \(c_{r^+}= c_{r^*}\).

Step 3: Set \((x,r) = (x^+,r^+)\) and go to Step 1.

Because \(c_r\) varies with r, we have to modify the analysis given for the Linear Control Algorithm 1. We assume that \(\mathcal {R}\) is chosen so that there exists a \(c>0\) such that \(c_r \ge c\) for all \(r \in \mathcal {R}\). Next, let e be computed as in the proof of Proposition 2.1, and, for all \(r \in \mathcal {R}\), let \(d_r :=c_r-e\). It can be shown that Proposition 2.1 still holds for all \(r \in \mathcal {R}\) with c replaced by \(c_r\) and d replaced by \(d_r\), i.e. e is independent of r. However, because the size of \(X_f(r)\) now varies with r, modification of Proposition 2.2 is required; we need to know how \(c_s\) varies with \(s=s(\lambda ) :=r+\lambda (r^*-r) \in \mathcal {R}\).

Consider the function \(\lambda \mapsto \phi (\lambda )\) that maps \(\lambda \) to the minimum of \(|x_{s(\lambda )}-z|_P\) with respect to z lying in a hyperplane \(\mathcal {H}\); this minimum is the distance, in norm \(|\cdot |_P\), of \(x_{s(\lambda )}\) from the hyperplane \(\mathcal {H}\). Since \(x_s=M_xs\) is linear, the function \(\phi (\cdot )\) is affine. Hence, the function that maps \(\lambda \) to the distance (in norm \(|\,\cdot \,|_P\)) of \(x_{s(\lambda )}\) from the boundary of the polyhedron \(\mathbb {X}'\), which has a finite number of faces, is continuous and piecewise affine with a Lipschitz constant \(L<\infty \). For each \(x \in \mathbb {R}^n\), let \(c(\lambda )\) denote the largest value of \(c>0\) such that the set \(\{x ~:~ V_f(x,s(\lambda )) \le c\} =\{x ~:~ |x-x_{s(\lambda )}|_P \le \sqrt{2c}\}\) is a subset of \(\mathbb {X}'\). From the discussion above, the function \(\lambda \mapsto \sqrt{2c(\lambda )}\) is identical to the function \(\lambda \mapsto \phi (\lambda )\) and is, therefore, piecewise affine with Lipschitz constant L so that \(\sqrt{2c(\lambda )} \ge \sqrt{2c(0}) -L \lambda \) = \(\sqrt{2c_r} - L \lambda \). From the triangle inequality

$$\begin{aligned} |x_N^+-x_{s(\lambda )}|_P \le |x_N^+-x_r|_P+|x_r-x_{s(\lambda )}|_P \le q \sqrt{2d_r}+\lambda a \end{aligned}$$

for some \(a>0\). Then, \(x_N^+ \in X_f(s(\lambda ))\) if \(|x_N^+-x_{s(\lambda )}|_P \le \sqrt{2c(\lambda )}\). But \(\sqrt{2c(\lambda )} \ge \sqrt{2c_r}-L \lambda \) so that \(x_N^+ \in X_f(s(\lambda ))\) if \(\sqrt{2d_r}+\lambda a \le \sqrt{2c_r}-L \lambda \) which is the case if \(\lambda \le [\sqrt{2c_r} -\sqrt{2d_r}]/[L+a]\).

Thus, there exists \(\delta ' \in ]0,\delta ]\) such that, if \(|x_{r^*}-x_r|_P >\delta ',\,|x_{r^+} - x_r|_P \ge \delta '\). Theorem 2.2 then holds for the modified algorithm.

The fact that the terminal constraint set \(X_f(r)\) can increase in size (see Fig. 1) when this is possible means that the region of attraction \(X_N(\mathcal {R})\) is larger than that for Linear Control Algorithm 1 (size fixed) and for [19, Algorithm 1] in which the size of \(X_f(r)\) decreases (in order to attain a more complex objective) as a consequence of the different contraction property for \(X_f(r)\).

Fig. 1
figure 1

Sets \(X_f(x,r)\) for sampled values of (xr)

Model Predictive Controller with Extended Region of Attraction: Nonlinear Systems

With some further assumptions, the above procedure may be modified to be applicable to nonlinear systems. The control problem is described, as above, by Eqs. (1)–(5). Because of the nonlinearity, the control algorithm has to be significantly altered.

To see this, consider the obvious extension of the above procedure. For each \(r \in \mathcal {R}\), the terminal constraint set \(X_f(r)\) is defined by \(X_f(r) :=\{x ~:~ V_f(x,r) \le c_r\}\) in which \(V_f(x,r) :=(1/2)(x-x_r)'P_r(x-x_r)\). The function \(V_f(\,\cdot \,,r)\) and the set \(X_f(r)\) can be determined, for each \(r \in \mathcal {R}\), as in [22] using linearization of \(f(\cdot )\) at each \((x_r,u_r)\) provided that the linearization of \(f(\cdot )\) is stabilizable at each \(x_r\). Unlike the linear case, \(P_r\) and \(c_r\) now vary with \(x_r\) making simple extensions of Propositions 2.1 and 2.2 impossible. Because of the difficulty in determining \(X_f(r)\) for each \(r \in \mathcal {R}\) and devising a suitable algorithm for adjustment of the virtual reference, we do not pursue this approach.

The impasse can be resolved by using a simpler stabilizing condition, namely a terminal equality constraint that is satisfied for each \(r \in \mathcal {R}\) admittedly at some cost since a terminal equality constraint has a smaller region of attraction than a terminal constraint set; \(X_N(r)\), the region of attraction, is now the set of states that can be steered to \(x_r\) in time N along a trajectory that satisfies the state and control constraints. It is desirable that \(X_N(r)\) is a large subset of \(\mathbb {R}^n\); this is a strong assumption.

The optimal control problem \(\mathbb {P}_N^1(x,r)\) solved at each state (xr) now has the form:

$$\begin{aligned} V_N^0(x,r) =\min _\mathbf {u} \left\{ V_N(x,r,\mathbf {u}) ~:~ \mathbf {u} \in \mathcal {U}_N(x,r)\right\} \end{aligned}$$

where \(V_N(\cdot )\) is defined by

$$\begin{aligned} V_N(x,r,\mathbf {u}):= & {} \sum _{i=0}^{N-1} \ell (x^\mathbf {u}(i;x),r,u(i)) \end{aligned}$$
$$\begin{aligned} \mathcal {U}_N(x,r):= & {} \left\{ \mathbf {u} ~:~ u(i) \in \mathbb {U}, x^\mathbf {u}(i;x) \in \mathbb {X}, i \in \mathbb {I}_{0:N-1}, x^\mathbf {u}(N;x) =x_r\right\} \end{aligned}$$
$$\begin{aligned} \ell (x,r,u)= & {} (1/2)(x-x_r)'Q(x-x_r) +(1/2)(u-u_r)'R(u-u_r) \end{aligned}$$

As before, the set of feasible points for \(\mathbb {P}_N^1(x,r)\) is \(X_N(r) :=\{x ~:~ \mathcal {U}_N(x,r) \ne \emptyset \}\). The solution of \(\mathbb {P}_N^1(x,r)\) is \(\mathbf {u}^0(x,r)\), and the model predictive control that is applied to the system is \(\kappa _N(x,r) :=u^0(0;x,r)\). The implicit control law is, therefore, \(\kappa _N(\,\cdot \,,r)\), and the successor state is \(x^+=f(x,\kappa _N(x,r))\).

The control algorithm requires, in addition, the solution of another optimization problem \({\mathbb {P}}_N^2(x,r)\) that yields \(\hat{s}=\hat{s}(x,r) \in \mathcal {R}\) and, hence, \((x_{\hat{s}},u_{\hat{s}})\), a potentially improved equilibrium pair; x is not altered. The optimal control problem \({\mathbb {P}}_N^2(x,r)\) is defined by

$$\begin{aligned} \theta (x,r)=\min _{\mathbf {u},s}\left\{ |x_{r^*}-x_s|-|x_{r^*}-x_r| ~:~ \mathbf {u} \in \mathcal {U}_N(x,s), s \in \mathcal {R}\right\} \end{aligned}$$

The solution to problem \({\mathbb {P}}_N^2(x,r)\) is \((\hat{\mathbf {u}}(x,r),\hat{s}(x,r))\); \(\theta (\cdot )\) is an optimality function [16, §1.1] in that \(\theta (x,r)<0\) implies \(|x_{r^*}-x_r|\) can be reduced and \(\theta (x,r)=0\) implies \(|x_{r^*}-x_r|\) cannot be reduced. We assume:

Assumption 1

There exist an \(\varepsilon ^\dag >0\) and a \(c_1 \in ]0,1/2[\) such that (i): for all \(r \in \mathcal {R}\), the ball \(\mathcal {B}(x_r,\varepsilon ^\dag ) \subset X_N(r)\) and (ii): If \(|x_{r^*} -x_r| > 0,\,\theta (x,r)<0\); if \(|x_{r^*} -x_r| \ge \varepsilon ^\dag /2,\,\theta (x,r) \le -c_1\varepsilon ^\dag \).

Assumption 1(i) excludes the degenerate case in which the feasible set \(X_N(r)\) tends to a set with an empty interior as r tends to some \(r' \in \mathcal {R}\).

Assumption 1(ii) ensures \(|x_{r^*}-x_r|\) can be reduced for all \(r \in \mathcal {R},\,r\ne r^*\), and by a finite amount for all r such that \(|x_{r^*} -x_r| \ge \varepsilon ^\dag /2\) provided \(|x-x_r| \le \varepsilon ^\dag /2\). It is easily shown to be satisfied with \(c_1=1/2\) if \(f(\cdot )\) is linear in which case the set \(\{x_r ~:~ r \in \mathcal {R}\}\) is convex. Assumption 1(ii) ensures that Step 3 is executed only a finite number of times and permits the use of standard descent algorithms for solving \(\mathbb {P}_N^2(x,r)\); this is a strong assumption since it excludes the case when the problem \(\mathbb {P}_N^2(x,r)\) has local minima. Let \(\mathcal {B}(z,\varepsilon ) :=\{x ~:~ |x-z|\le \varepsilon \}\).

The control algorithm for the nonlinear case may now be defined:

Nonlinear Control Algorithm:

Data: \(x,r^*,c_1 \in ]0,1/2[\).

Step 0: Determine, at the initial state \(x \in X_N(\mathcal {R})\), a \(r \in \mathcal {R}\) such that \(x \in X_N(r)\).

Step 1: Solve \(\mathbb {P}_N^1(x,r)\) to obtain \(\kappa _N(x,r)\) and \(x^+=f(x,\kappa _N(x,r))\). If \(r=r^*\), set \((x,r)=(x^+,r^*)\) and go to Step 1. Else go to Step 2.

Step 2: Set \(\varepsilon =|x^+-x_r|\). Solve \(\mathbb {P}_N^2(x^+,r)\). If \(\theta (x^+,r) > -c_1\varepsilon \), set \((x,r)=(x^+,r)\) and go to Step 1. Else go to Step 3.

Step 3: If \(\theta (x^+,r) \le -c_1\varepsilon \), set \((x,r)=(x^+,r^+),\,r^+=\hat{s}(x^+,r)\) and go to Step 1.

We show below that the algorithm repeatedly executes Steps 2 and 3, reducing \(|x_{r^*} -x_r|\) each time until the reference r remains constant with value \(r^*\). Execution of Step 1 then causes the state \(x_i\), where \(x_i\) is the value of x at the \(i{\text {th}}\) iteration of the algorithm, to converge to \(x_{r^*}\).

Proposition 2.3

Suppose Assumption 1 is satisfied. (i) If \(x^+ \in \mathcal {B}(x_r,\varepsilon ^\dag /2)\) for some \(r \in \mathcal {R}\) and \(|x_{r^*} - x_r| \ge \varepsilon ^\dag /2\), then the solution \(r^+=\hat{s}(x^+,r)\) of \(\mathbb {P}_N^2(x^+,r)\) satisfies \(\theta (x^+,r) \le -c_1\varepsilon ^\dag \). (ii) If \(x^+ \in \mathcal {B}(x_r,\varepsilon ^\dag /2)\) and \(|x_r^{*}-x_r| \le \varepsilon ^\dag /2\), then the solution \(r^+=\hat{s}(x^+,r)\) of \(\mathbb {P}_N^2(x^+,r)\) satisfies \(r^+=r^*\).


(i) \(x^+ \in \mathcal {B}(x_r,\varepsilon ^\dag /2)\) and \(|x_r-x_s|\le \varepsilon ^\dag /2\) imply \(x^+ \in \mathcal {B}(x_s,\varepsilon ^\dag )\); by Assumption 1(i), \(\mathcal {B}(x_s,\varepsilon ^\dag ) \subset X_N(s)\) so that \(x^+ \in X_N(s)\). Hence, \(\mathbb {P}_N(x^+,s)\) has a solution \(r^+ = \hat{s}(x^+,r)\) satisfying, by Assumption 1(ii), \(\theta (x^+,r) \le -c_1\varepsilon ^\dag \), i.e. \(|x_{r^*} - x_{r^+}| -|x_{r^*}-x_r|\le -c_1\varepsilon ^\dag \). (ii) \(x^+ \in \mathcal {B}(x_r,\varepsilon ^\dag /2)\) and \(|x_r^{*}-x_r| \le \varepsilon ^\dag /2\) implies \(x_r \in X_N(r^*)\). Since \(x_{r^*}\) also lies in \(X_N(r^*),\,r^+ =\hat{s}(x_r,r) = r^*\). \(\square \)

We can now state our main result.

Theorem 2.2

Suppose that Assumption 1 is satisfied, \(f(\cdot )\) is continuous, that the parameters Q and R of the stage cost \(\ell (\cdot )\) are positive definite, that (2) has a unique solution for each \(r \in \mathcal {R}\), that \((x_r,u_r) \in \mathbb {X} \times \mathbb {U}\) for all \(r \in \mathcal {R}\), that there exists a \(\mathcal {K}_\infty \) function \(\alpha (\cdot )\) such that, for all \(r \in \mathcal {R}\), all \(x \in X_N(r),\,V_N^0(x,r) \le \alpha (|x-x_r|)\) and that the stability condition is satisfied. Then, for all \(r^*\in \mathcal {R},\,x_{r^*}\) is asymptotically stable with a region of attraction \(X_N(\mathcal {R}) :=\cup _{r \in \mathcal {R}}X_N(r)\).


Let \(x_i,\,r_i\) and \(\varepsilon _i\) denote the values of the state x, the virtual reference r and \(\varepsilon \) at the \(i{\text {th}}\) iteration of the algorithm so that their initial values are \(x_0=x\) and \(r_0=r\). The reference \(r_i\) remains constant while the condition in Step 2 is satisfied. During these iterations, the solution of \(\mathbb {P}_N^1(x_i,r_i)\), with \(r_i\) constant, is standard model predictive control so that \(x_i\) converges to \(x_{r_i}\). After a finite number of iterations, the state \(x_{i+1}=x_i^+\) is sufficiently close to \(x_{r_i}\) (\(x_i^+ \in B(x_{r_i},\varepsilon ^\dag /2)\)) for Proposition 2.3 to hold so that \(\theta (x_i^+,r_i) \le -c_1\varepsilon ^\dag \le -c_1\varepsilon _i\). The condition in Step 3 is therefore satisfied. It follows that \(r_i\) is updated to \(r_{i+1} = r_i^+= \hat{s}(x_i^+,r_i)\) and \(|x_{r^*}-x_{r_{i+1}}| \le |x_{r^*}-x_{r_i}|-c_1\varepsilon ^\dag \). Steps 2 and 3 are then entered iteratively reducing \(|x_i - x_{r_i}|,\,|x_{r^*}-x_{r_i}|\), and \(\varepsilon _i\) until \(x_i^+ =x_{i+1} \in \mathcal {B}(x_{r^*},\varepsilon ^\dag )\) so that \(x_i^+ \in X_N(r^*)\). Since both \(x_i^+ \) and \(x_{r^*}\) lie in \(X_N(r^*),\,r_i^+=\hat{s}(x_i^+,r_i) =r^*\). Thereafter, the algorithm iteratively solves \(\mathbb {P}_N^1(x_i,r^*)\). This is a standard MPC algorithm with a constant reference \(r^*\). Asymptotic stability of \(x_{r^{*}}\) with a region of attraction \(X_N(\mathcal {R})\) follows. \(\square \)

As formulated, problem \(\mathbb {P}_N^2(x,r)\) is complex largely because \(x_s\) is a nonlinear function \(\phi _x(s)\) of the reference \(s \in \mathcal {R}\). The algorithm can be simplified by merely requiring an approximate solution of \(\mathbb {P}_N^1\) and \(\mathbb {P}_N^2\); techniques for doing this are given in [16]. A possible alternative is to restrict the choice of s by minimizing with respect to \(\lambda \in [0,1]\) and setting \(s=s_\lambda = r+ \lambda (r^*-r)\).


Linear System

Our first example is the second-order linear system \(x^+=Ax+bu,\ y=Cx\) in which

$$\begin{aligned} A = \begin{bmatrix} -0.6&\quad 0.1\\ 0&\quad 1.4 \end{bmatrix},\ B= \begin{bmatrix} 0 \\ 0.787 \end{bmatrix}, \ C = \begin{bmatrix} 1&\quad 0 \end{bmatrix} \end{aligned}$$

The state and control constraint sets are

$$\begin{aligned} \mathbb {X}=\{x \in \mathbb {R}^2 ~:~ x_1 \in [-0.3,0.4],\ x_2 \in [-0.4,0.4]\}, \quad \mathbb {U} =\{u \in \mathbb {R}~:~ u \in [-2,2]\} \end{aligned}$$

The set \(\mathcal {R}\) of references is

$$\begin{aligned} \mathcal {R}=[-0.018,0.018] \end{aligned}$$

The actual reference is \(r^*=0\). The stage cost is \(\ell (x,u) = |x-x_r|_Q^2+|u-u_r|_R^2\) with

$$\begin{aligned} Q= \begin{bmatrix} 100&\quad 0\\0&\quad 10 \end{bmatrix},\ R= 1 \end{aligned}$$

P is the solution of the algebraic Riccati equation. The initial state is \(x(0)=(0.077,0.385)\). The initial reference is chosen to be that point in \(\mathcal {R}\) closest to y(0). The control horizon is \(N=7\). Feasibility of standard MPC can be recovered using a horizon \(N=11\). Figure 2a shows the trajectory of the virtual reference as generated by Linear Control Algorithm 2. Figure 2b shows the corresponding state trajectory.

Fig. 2
figure 2

Linear Algorithm 2. a Virtual reference r versus time. b States \(x_1\) and \(x_2\) versus time

Fig. 3
figure 3

Output \(y=x_2\) (solid) and virtual reference r (dashed) versus time

Figure 1 shows the terminal sets generated by the subalgorithm \(\bar{\mathbb {P}}_N(x,r)\) for sampled values of x and r.

Nonlinear System

The nonlinear system is a continuous stirred tank reactor based on a model described by

$$\begin{aligned} \dot{x}_1= & {} \left[ (1 - x_1)/\theta \right] - kx_1\exp {(-M/x_2)}\\ \dot{x}_2= & {} (1/\theta )[x_f - x_2] + kx_1\exp {(-M/x_2)} - \beta u(x_2 - x_c)\\ y= & {} x_2 \end{aligned}$$

in which \(x_1\) is the product concentration, \(x_2\) is the temperature and u is the coolant flow rate. The model parameters are \(\theta = 20,\,k = 300,\,M = 5,\,x_f = 0.3947,\,x_c = 0.3816\) and \(\beta = 0.117\). The state and control constraint sets are \(\mathbb {X}=\{x \in \mathbb {R}^2 ~:~ x_1 \in [0,1],\ x_2 \in [0,1]\}\). The set \(\mathcal {R}\) of virtual references is \(\mathcal {R}=[0.01,0.99]\). For each \(r \in \mathcal {R}\), the equilibrium pair is

$$\begin{aligned} x_r^1= & {} 1/\left[ 1+\theta k \exp (-M/r)\right] ,\ x_r^2=r\\ u_r= & {} (1/\theta )\left[ (x_f+1-r-x_r^1)/(\beta u (r-x_c))\right] \end{aligned}$$

in which \(x^j\) denotes the jth coordinate of the vector x. The controller horizon is \(N=10\) corresponding to 10 seconds since the sampling period is 1 second. The stage cost is \(\ell (x,r,u) = |x-x_r|_Q^2 +|u-u_r|^2\) with \(Q=\text {diag}\{1,100\}\). The algorithm parameter \(c_1\) is 0.001. The control is required to steer the output y to the reference \(r^*=0.4\). The initial value of a feasible virtual reference was obtained by solving an optimization problem \(\mathbb {P}_N^2(x(0),r)\). The optimization packages described in [23, 24] were employed for all our simulations. Figure 3 shows how the plant output \(y=x_2\) converges to \(r^*\) and also shows the convergence of the virtual reference r to \(r^*\). Figure 4 shows the locus of \(r\in \mathcal {R}\), the convergence of x from \(x_0\) to \(x_{r^*}\) for the Nonlinear Control Algorithm with \(N=10\) and the convergence of x to \(x_{r^*}\) for standard model predictive control with \(N=110\); the desired state \(x_{r^*}\) is infeasible for standard model predictive control if the horizon \(N=10\) is employed; standard MPC requires, in this example, a value of the horizon N that is larger than 100.

Fig. 4
figure 4

Phase plane: Nonlinear Control Algorithm for \(N=10\) (solid), standard MPC for \(N=110\) (dashed) and locus of \(x_r\) (dotted)


The main objective of this note is to present a simple procedure for increasing the region of attraction of an equilibrium state when model predictive control is employed. Simplicity is important in the process industries, the main application area for model predictive control, mainly to increase ease of commissioning, operation and maintenance of controlled processes. It is for this reason that commercial software for model predictive control usually eschews provision for handling hard state constraints. In many applications, the output of a controlled process is required to converge to any reference r lying in a given set \(\mathcal {R}\); for such applications, a reasonable objective is the determination of a suitably large region of attraction \(X_N(\mathcal {R})\) such that every state in \(X_N(\mathcal {R})\) can be steered to any equilibrium state \(x_{r^{*}}, r^{*}\in \mathcal {R}\). This note addresses the problem of regulation to any state in \(\{ x_r ~:~ r \in \mathcal {R}\}\) and, hence, differs from several contributions in the literature where the concern is to increase the region of attraction for one equilibrium state, usually the origin. Because the initial state x does not necessarily lie in \(X_N(r^{*})\), it is necessary for the control algorithm to include a mechanism for adjusting both the current state x and a virtual reference r; the reference r is adjusted from an initial value that is feasible for the initial state until the desired reference \(r^*\) is feasible for the current state. This adjustment can cause the cost \(V_N(\cdot )\) to increase, a feature that causes difficulty in single-mode algorithms. Hence, we employ, as in [17], a dual-mode algorithm in which the initial objective is adjustment of a virtual reference r while maintaining feasibility of the current state until \(r^{*}\) is reached. However, this feature of the algorithm depends on the ability of the algorithm to decrease \(|x_{r^{*}} -x_r|\) at each iteration and this in turn requires the absence of local minima in the function \(r \mapsto |x_{r^{*}} -x_r|\), necessitating the rather strong Assumption 1 that is difficult to verify.


  1. Mayne, D.Q., Rawlings, J.B., Rao, C.V., Scokaert, P.O.M.: Constrained model predictive control: stability and optimality. Automatica 36, 789–814 (2000)

    MathSciNet  Article  MATH  Google Scholar 

  2. Grüne, L., Pannek, J.: Nonlinear Model Predictive control: Theory and Algorithms. Communications and Control Engineering. Springer, London (2011)

    Book  MATH  Google Scholar 

  3. Magni, L., Nicolao, G.D., Magnani, L., Scattolini, R.: A stabilizing model-based predictive control algorithm for nonlinear systems. Automatica 37, 1351–1362 (2001)

    MathSciNet  Article  MATH  Google Scholar 

  4. Findeisen, R., Chen, H., Allgöwer, F.: Nonlinear model predictive control for setpoint families. In: Proceedings of the American Control Conference, pp. 260–264 (2000)

  5. Limon, D., Alamo, T., Camacho, E.: Enlarging the domain of attraction of MPC controllers. Automatica 41, 629–635 (2005)

    MathSciNet  Article  MATH  Google Scholar 

  6. Gonzàlez, A., Odloak, D.: Enlarging the domain of attraction of stable MPC controllers, maintaining the output performance. Automatica 45, 1080–1085 (2009)

    MathSciNet  Article  MATH  Google Scholar 

  7. Doná, J.D., Seron, M.M., Mayne, D.Q., Goodwin, G.C.: Enlarged terminal sets guaranteeing stability of receding horizon control. Syst. Control Lett. 47, 57–63 (2002)

    MathSciNet  Article  MATH  Google Scholar 

  8. Limon, D., Gomes, J., Alamo, T., Camacho, E.: Improved MPC design based on saturating control laws. Eur. J. Control 11, 112–122 (2005)

    MathSciNet  Article  MATH  Google Scholar 

  9. Bacic, M., Cannon, M., Lee, Y., Kouvaritakis, B.: General interpolation in MPC and its advantages. IEEE Trans. Autom. Control 48, 1092–1096 (2003)

    MathSciNet  Article  Google Scholar 

  10. Blanchini, F., Pellegrino, F.A.: Relatively optimal control: the static solution. In: Proceedings of the 16th IFAC World Congress, pp. 675–681 (2005)

  11. Brunner, F.D., Lazar, M., Allgöwer, F.: Stabilizing model predictive control: on the enlargement of the terminal set. Int. J. Robust Nonlinear Control 25, 2646–2670 (2015)

    MathSciNet  Article  MATH  Google Scholar 

  12. Limon, D., Alvorado, I., Alamo, T., Camacho, E.F.: MPC for tracking piecewise constant references for constrained linear systems. Automatica 44, 2382–2387 (2008)

    MathSciNet  Article  MATH  Google Scholar 

  13. Limon, D., Alvarado, I., Alamo, T., Camacho, E.: Robust tube-based MPC for tracking of constrained linear systems with additive disturbances. J. Process Control 20, 248–260 (2010)

    Article  Google Scholar 

  14. Falugi, P., Mayne, D.: Model predictive control for tracking random references. In: Proceedings of the European Control Conference, pp. 518–523 (2013)

  15. Fagiano, L., Teel, A.R.: Generalized terminal state constraint for model predictive control. Automatica 49, 2622–2631 (2013)

    MathSciNet  Article  Google Scholar 

  16. Polak, E.: Optimization: algorithms and consistent approximations. In: Applied Mathematical Sciences, vol. 124. Springer, New York (1997)

  17. Chisci, L., Zappa, G.: Dual mode predictive tracking in the presence of piecewise constant references for constrained linear systems. Int. J. Control 76, 61–72 (2003)

    MathSciNet  Article  MATH  Google Scholar 

  18. Muller, M.A.: Distributed and Economic Model Predictive Control: Beyond Setpoint Stabilization. Ph.D. thesis, University of Stuttgart (2014)

  19. Müller, M.A., Allgöwer, F.: Distributed economic MPC: a framework for cooperative control problems. In: Proceedings of the World congress of the International Federation of Automatic Control, pp. 1029–1034. Cape Town (2014)

  20. Rawlings, J.B., Mayne, D.Q.: Model Predictive Control: Theory and Design. Nob Hill, Madison, WI (2009)

    Google Scholar 

  21. Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (2004)

    Book  MATH  Google Scholar 

  22. Michalska, H., Mayne, D.Q.: Robust receding horizon control of constrained nonlinear systems. IEEE Trans. Autom. Control 38, 1623–1632 (1993)

    MathSciNet  Article  MATH  Google Scholar 

  23. Wächter, A., Biegler, L.T.: On the implementation of a primal-dual interior point filter line search algorithm for large-scale nonlinear programming. Math. Program. 106(1), 25–57 (2006).

  24. Wyk, E.J.V., Falugi, P., Kerrigan, E.C.: Imperial College London Optimal Control Software (ICLOCS) (2010). Solves nonlinear optimal control problems with constraints,

Download references


D. Q. Mayne would like to express his admiration for Lucien’s great achievements and his gratitude both for his friendship and for many years of enjoyable collaboration during which he learnt much from him.

Author information

Authors and Affiliations


Corresponding author

Correspondence to David Mayne.

Additional information

Communicated by Lars Grüne.



Following the procedure in [21, page 414], express \(\mathbb {X}'\) in the form \(\mathbb {X}' :=\{x ~:~ a_i x \le b_i({r}) \; i=1,\ldots J \} :=\{ x \in \mathbb {X},\; K(x-M_x {r})+M_u r \in \mathbb {U} \}\). We assume \(\mathbb {X}'\) is bounded and has a nonempty interior. Problem \(\bar{\mathbb {P}}_N(x,r)\) defined in Sect. 2.1 may then be expressed as \(\hat{\mathbb {P}}_N(x)\) defined by:

$$\begin{aligned} \begin{array}{ll} \displaystyle {\min _{s\in \mathcal {R},c>0}} &{} |s-r^*|^2\\ &{} (x -M_x s )'P (x -M_x s ) \le c\\ &{} c^{1/2} |P^{-1/2}a_i'|+ a_iM_x s \le b_i(s) \; i=1,\ldots J \end{array} \end{aligned}$$

The optimization problem \(\hat{\mathbb {P}}_N(x)\) has quadratic and conic constraints and can be reformulated using linear matrix inequalities. Firstly, the constraints in (11) for a given i can be rewritten in a quadratic form as follows

$$\begin{aligned} \left( x -M_x s\right) 'P (x -M_x s )\le (b_i(s)-a_i M_x s)^2 \sigma ^2 \end{aligned}$$

where \( \sigma :=1/|P^{-1/2}a_i'| \) is a constant and \(b_i(s)\) depends affinely on s. Defining \(L(s) :=P^{1/2} (x -M_x s )\) it is possible to rewrite the inequality (12) as follows (see [21]):

$$\begin{aligned} \left[ \begin{array}{ll} \sigma (b_i(s)-a_i M_x s) I_n &{}\quad L(s) \\ L(s)' &{}\quad \sigma \left( b_i(s)-a_i M_x s\right) \end{array}\right] \ge 0 \end{aligned}$$

Note that the condition \((b_i(s)-a_i M_x s) \ge 0\) requires that the steady state \(x_{s}\) satisfies the constraint \(x_{s} \in \mathbb {X}' \). Then the optimization problem \(\hat{\mathbb {P}}_N(x)\) may be reformulated as

$$\begin{aligned} \begin{array}{ll} \displaystyle {\min _{s\in \mathcal {R},c>0}} &{}\quad |s-r^*|^2\\ &{}\quad \text {Subject to}\\ &{} \left[ \begin{array}{ll} \sigma (b_i(s)-a_i M_x s) I_n &{}\quad L(s) \\ L(s)' &{} \quad \sigma (b_i(s)-a_i M_x s) \end{array}\right] \ge 0 \; i=1,\ldots J \end{array} \end{aligned}$$

With \(s :=r+\lambda (r^*-r)\), problem \(\hat{\mathbb {P}}_N(x)\) is seen to be equivalent to problem \(\bar{\mathbb {P}}_N(x,r)\).

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Mayne, D., Falugi, P. Generalized Stabilizing Conditions for Model Predictive Control. J Optim Theory Appl 169, 719–734 (2016).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:


  • Model predictive control
  • Tracking
  • Equilibrium state
  • Region of attraction