Automatic selection of stabilizing matrices

The auto keyword

The auto keyword indicates that the terminal state weighting matrix P is to be selected automatically, such that the terminal cost is a control Lyapunov function for the model predictive control setup. We consider the following special cases:

  • the open-loop system is stable and there are only constraints on the inputs. The solution of a matrix Lyapunov equation is returned. In this case the regulation point of the closed-loop system is globally exponentially stable.
  • the pair (Ad, Bd) is stabilizable and there are constraints on the inputs and states. The solution of a discrete algebraic Riccati equation is returned. The regulation point is asymptotically (exponentially) stable with region of attraction X_N (X_S).

The following conditions are expected on the MPC setup:

  • Q is symmetric positive definite.
  • R is symmetric positive definite.
  • The pair (A_d, B_d) is stabilizable.
  • If Q is positive semi-definite, the pair (A_d, Q^{\frac{1}{2}}) must be detectable. This is not checked at the moment.

The following conditions are checked:

  1. Does the problem have only input constraints?
  2. Does A_d have all its eigenvalues strictly inside the unit circle?

If conditions 1. and 2. are both true, a discrete Lyapunov equation is solved. If any of the conditions 1. and 2. is false, then a discrete algebraic Ricatti equation is solved.

In this context, X_N is defined as the set of states for which the MPC problem is feasible. The set X_S is any sublevel set of the MPC optimal value [RM09].