Model predictive control came into its own in the 1980s as a method to control very complex large processes with slow dynamics in the chemical industry. The reason for the restriction to this class of systems is the requirement to solve an optimization problem at each sampling interval. This restriction has changed entirely in the last few years for two reasons, the first of which is that both optimization routines and modern computers have gotten enormously faster. Second was the development of ‘explicit MPC’, or the offline pre-computation of optimal MPC control laws. The result of this offline calculation is that instead of solving an optimization problem online, one only has to evaluate the stored explicit function (usually a piecewise affine function (PWA)). The result is that MPC controllers are now being used for systems running in the kilo- and mega-hertz ranges.
A standard MPC controller is defined by an optimization problem parametrized by the current state of the system. The optimizer thendefines an implicit control law mapping the state to the input. If we can pre-compute this optimizer for every possible state of the system, then we have no need to solve the optimization problem online. For several useful classes of systems (linear, piecewise affine, linear complementarity, …), this MPC control law is a piecewise affine function (PWA). These PWA ‘explicit MPC controllers’ can be computed by solving a parametric optimization problem in which the parameter is the system state.
Several people have been looking into solving parametric problems of these forms since the ’50s, and in particular many advances have been made in the control community in the past few years. In this section, we outline a few of the topics that we’ve studied.