a receding time window, and that with MPC a new solution is computed often whereas LQR uses the same single (optimal) solution for the whole time horizon. Therefore, MPC typically solves the optimization problem in a smaller time window than the whole horizon and hence may obtain a suboptimal solution. However, because MPC makes no assumptions about linearity, it can handle hard constraints as well as migration of a nonlinear system away from its linearized operating point, both of which are major drawbacks to LQR. This means that LQR can become weak when operating away from stable fixed points. MPC can chart a path between these fixed points, but convergence of a solution is not guaranteed, especially if thought as to the convexity and complexity of the problem space has been neglected. See also Control engineering Control theory Feed-forward System identification References Further reading James B. Rawlings, David Q. Mayne and Moritz M. Diehl: ”Model Predictive Control: Theory, Computation, and Design”（2nd Ed.）, Nob Hill Publishing, LLC, (Oct. 2017). Tobias Geyer: Model predictive control of high power converters and industrial drives, Wiley, London, , Nov. 2016 External links Case Study. Lancaster Waste Water Treatment Works, optimisation by means of Model Predictive Control from Perceptive Engineering ACADO Toolkit - Open Source Toolkit for Automatic Control and Dynamic Optimization providing linear and non-linear MPC tools. (C++, MATLAB interface available) μAO-MPC - Open Source Software package that generates tailored code for model predictive controllers on embedded systems in highly portable C code. GRAMPC - Open source software framework for embedded nonlinear model predictive control using a gradient-based augmented Lagrangian method. (Plain C code, no code generation, MATLAB interface) jMPC Toolbox - Open Source MATLAB Toolbox for Linear MPC. Study on application of NMPC to superfluid cryogenics (PhD Project). Nonlinear Model Predictive Control Toolbox for MATLAB and Python Model Predictive Control Toolbox from MathWorks for design and simulation of model predictive controllers in MATLAB and Simulink Pulse step model predictive controller - virtual simulator Tutorial on MPC with Excel and MATLAB Examples GEKKO: Model Predictive Control in Python Control theory