Model Predictive Control (MPC) predicts and optimizes time-varying processes over a future time horizon. This control package accepts linear or nonlinear models. Using large-scale nonlinear programming solvers such as APOPT and IPOPT, it solves data reconciliation, moving horizon estimation, real-time optimization, dynamic simulation, and nonlinear MPC problems.
Three example files are contained in this directory that implement a controller for Linear Time Invariant (LTI) systems:
1. apm1_lti - translate any LTI model into APM format
2. apm2_step - perform step tests to ensure model accuracy
3. apm3_control - MPC setpoint change to new target values
Steps 2 and 3 also open web interfaces to view the step or controller response. Additional documentation and example problems are provided at:
Bi-weekly webinars are also hosted to demonstrate new applications and to provide tutorials. Prior presentations include applications of Unmanned Aerial Vehicles (UAVs), Friction Stir Welding (FSW), biological systems, energy storage, combustion, fuel cells, and others.
The control calculations are performed as a web service. The script files send the required information to a server where the calculations are performed. Results are returned to the script for trending or further analysis.
John Hedengren (2020). Model Predictive Control (https://www.mathworks.com/matlabcentral/fileexchange/35825-model-predictive-control), MATLAB Central File Exchange. Retrieved .