Model Predictive Control using MATLAB

Midhun T. Augustine
2023-09-01
Abstract:This tutorial consists of a brief introduction to the modern control approach called model predictive control (MPC) and its numerical implementation using MATLAB. We discuss the basic concepts and numerical implementation of the two major classes of MPC: Linear MPC (LMPC) and Nonlinear MPC (NMPC). This includes the various aspects of MPC such as formulating the optimization problem, constraints handling, feasibility, stability, and optimality.
Optimization and Control
What problem does this paper attempt to address?
The paper mainly introduces the basic concepts and theoretical framework of Model Predictive Control (MPC) and how to implement it numerically using MATLAB. Specifically, the goals of the paper include: 1. **Introduction to the basic principles of MPC**: MPC is a feedback control method that uses a system model to predict future behavior and finds the optimal control sequence through optimization algorithms. 2. **Discussion of two main types of MPC**: - Linear MPC (LMPC): Suitable for linear system models and constraint conditions. The cost function can be linear or quadratic, leading to linear programming or quadratic programming problems. - Nonlinear MPC (NMPC): Suitable for nonlinear system models, and the constraint conditions can be linear or nonlinear. The cost function is usually chosen as a linear or quadratic function of the state and control inputs, leading to nonlinear programming problems. 3. **Explanation of the algorithm implementation of MPC**: - For LMPC, the paper describes in detail how to convert the optimization problem into a quadratic programming problem and provides the corresponding MATLAB implementation steps. - For NMPC, the paper also introduces how to set up the nonlinear programming problem and provides a MATLAB implementation guide. 4. **Exploration of methods to reduce online computation**: The paper proposes some techniques to reduce the complexity of the optimization problem that needs to be solved at each iteration, such as by eliminating state variables or reducing the control window length. 5. **Study of feasibility, stability, and optimality**: The paper also discusses the feasibility analysis, stability guarantees, and performance evaluation of MPC schemes under different conditions. 6. **Provision of numerical examples**: To better understand the working principles of MPC, the paper provides numerical examples of linear and nonlinear systems, demonstrating how MPC can be applied to practical problems. In summary, this paper aims to provide readers with a comprehensive guide to understanding MPC, from basic concepts to specific applications, especially the implementation details in the MATLAB environment.