### Model Predictive Control (MPC) Tools Package

#### How does it work?

There are three parts to the MPC tools algorithm: the regulator, state estimator, and target calculation. The regulator determines an optimal open-loop control trajectory from the current state estimate (from the state estimator) to the targets (from the target calculation). The state estimator reconstructs the most probable state from input and output data from the plant. The target calculation finds a state and input target to yield the desired output steady states of the model, given integrated disturbance estimates and set point values. A graphical representation of this system is shown below.
In the regulator, we use model predictive control (MPC), which uses a mathematical model to forecast and optimize the predicted future behavior of the plant. We maintain hard constraints on the input variables and soften constraints on the states. The terminal cost is approximated by the infinite horizon cost of the unconstrained linear system at the targets. There is no explicit constraint on the terminal state.

The estimator uses moving horizon estimation (MHE). In this approach, the model is used to best reconstruct the state trajectories by solving a nonlinear optimization problem. We use a smoothing covariance update based on a linear time-varying system to approximate the initial covariance of the state. Constraints on states and output diturbances are softened.

The computational algorithms for both the state estimator and regulator are the feasibility-perturbed SQP methods, as described in Wright and Tenny and Tenny, Wright, and Rawlings. In this approach, the iterates are guaranteed feasible during the solution of each optimization problem. Therefore, by supplying a maximum iteration count, the optimization routine may be run suboptimally, if desired. Also, because feasibility is maintained, every quadratic subproblem has a feasible solution point. The quadratic subproblems are solved by a specially structured solver that scales linearly with horizon length. Parametric sensitivities calculations are performed by CVODES senstivity solver of the Sundials toolbox. Numerical integration is performed by LSODE.

The target calculation problem is solved by a standard infeasible SQP method. Iterations for the target calculation are generally faster than the other two components because the problems are smaller, but mainly because the ODE model does not need to be numerically integrated.

Details about problem formulations in each of these modules is given in this document.

Copyright (C) 2008 Rishi Amrit. Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.

University of Wisconsin
Department of Chemical Engineering