Model-Predictive Control (MPC)
MPC repeatedly solves an online optimization over a finite horizon, applies the first move, and re-plans, handling constraints directly.
Control by Repeated Planning
Model-predictive control uses a model of the plant to predict future behavior over a finite horizon, solves an optimization to find the input sequence that best meets the objectives over that horizon, applies only the first input, then shifts the horizon forward and repeats. This receding-horizon loop is the defining idea.
The online optimization
- Objective: minimize predicted tracking error and control effort over the horizon, much like an LQR cost but finite and computed online.
- Constraints: hard limits on inputs, states, and outputs are included directly as inequalities in the optimization.
- Prediction: the internal model rolls the state forward for each candidate input sequence.
- Receding horizon: only the first move is used, then the whole problem is re-solved with fresh measurements.
Why constraints are the key advantage
Classical controllers handle actuator and safety limits only indirectly, through anti-windup patches and conservative tuning. MPC handles them natively: it respects them while optimizing, so it can drive a plant right up to a limit safely. This makes MPC the method of choice when operating near constraints yields the best performance.
Computational cost
MPC's power comes at the price of solving an optimization at every sample. For linear models with quadratic cost this is a quadratic program, solved fast enough for many processes and, with explicit MPC, precomputed offline for very fast loops. Nonlinear MPC solves a harder problem online and demands more computation, which limits its sample rate.
Where it is used
MPC originated in the chemical and refining industries, where plants are slow, multivariable, and constraint-bound. It has since spread to automotive, power systems, robotics, and building climate control as computing power has grown. Any multivariable system with important constraints and a decent model is a candidate.
MPC can be viewed as bringing optimal control online: instead of solving once for a fixed feedback law, it re-optimizes continuously against current conditions, trading computation for the ability to handle constraints and changing objectives.