What is Model Predictive Control (MPC)?
Model Predictive Control (MPC), also referred to as moving horizon control or receding horizon control, is a widely used control strategy that has been employed in many fields, including process control, robotics, and autonomous systems. MPC’s central tenet is to Predict future behavior using a mathematical model of the system, then utilize that knowledge to produce control actions that maximize some performance objective. MPC can now handle increasingly complicated systems and difficult control issues because of years of continual improvement and refinement. As shown in the Figure below, at each control interval the MPC algorithm computes an open-loop sequence of control horizon to optimize plant behavior in the prediction horizon.
One of the recent developments in MPC is the integration of machine learning techniques, leading to the development of Machine Learning Based MPC (ML-MPC). In this approach, machine learning algorithms are used to estimate the system model, make predictions, and optimize the control actions. This combination of machine learning and MPC has the potential to provide significant improvements in control performance and efficiency.
In this blog post, we will compare Model-Based MPC (standard MPC) with ML-MPC, highlighting their advantages and disadvantages.
Model-Based MPC
The fundamental idea behind Model-Based MPC is the formulation and solution of an optimization problem at each time step. The optimization problem takes into account the system’s present condition, predicted future behavior, and desired performance goals. The system is then subjected to the best possible controls, and the process is repeated at the following time step.
Advantages of Model-Based MPC:
- Mathematical Certainty: Model-Based MPC is based on mathematical models of the system, which provide a high degree of certainty about system behavior. This makes it possible to make accurate predictions and to design effective control policies.
- Handling Complex Systems: Model-Based MPC can handle complex systems, including linear and nonlinear systems, single-input single-output (SISO) and multi-input multi-output (MIMO) systems, making it suitable for a wide range of applications.
- Handling Constraints: Model-Based MPC can handle a variety of constraints, such as hard constraints (e.g. physical limitations) and soft constraints (e.g. performance objectives), making it a versatile control strategy.
- Robust Performance: Model-Based MPC has robust performance, meaning that it can provide stable and accurate control even in the presence of disturbances and uncertainty.
- Well-established theory and algorithms: Traditional MPC has been extensively studied and developed over the years, and there are many proven algorithms and methods available.
Disadvantages of Model-Based MPC:
- Model Accuracy: The performance of Model-Based MPC depends on the accuracy of the model. If the model is inaccurate, the control performance will be poor.
- Model Complexity: Model-Based MPC can be complex to design and implement, especially for complex systems.
- Model Maintenance: Model-Based MPC requires regular maintenance, including updating the model to reflect changes in the system.
Machine Learning Based MPC
ML-MPC takes a different approach to control, using machine learning algorithms to estimate the system model, make predictions, and generate control actions. The main idea behind ML-MPC is to use data-driven models to overcome the limitations of traditional MPC.
Advantages of Machine Learning Based MPC:
- Data-Driven Models: Machine Learning Based MPC uses data-driven models to make predictions and control the system. This makes it possible to learn from data and to improve control performance over time.
- Adapting to Changing Conditions: Machine Learning Based MPC can adapt to changing conditions in real-time, making it suitable for dynamic and unpredictable systems.
- Improved Accuracy: Machine Learning Based MPC can provide improved accuracy compared to Model-Based MPC, especially in complex and difficult to model systems.
- Reduced Model Complexity: Machine Learning Based MPC can reduce the complexity of the model, making it easier to implement and maintain.
- Increased computational efficiency: Machine learning algorithms are designed to handle large amounts of data and can perform computationally expensive tasks much faster than traditional MPC algorithms.
Disadvantages of Machine Learning Based MPC:
- Data Requirements: Machine Learning Based MPC requires large amounts of data to train the models. If the data is limited or biased, the control performance will be poor.
- Model Transparency: Machine Learning Based MPC can be difficult to interpret and understand, making it challenging to diagnose and fix problems.
- Model Generalization: Machine Learning Based MPC can struggle to generalize to new situations, especially if the training data does not represent the full range of system behavior. This may happen due to overfitting or underfitting of the ML model.
- Model Safety: Machine Learning Based MPC may not always produce safe and reliable control policies, especially if the training data includes dangerous or unethical scenarios.
Comparison of Model-Based MPC and ML-MPC
When comparing Model-Based MPC and ML-MPC, there are several factors to consider, including performance, complexity, cost, and flexibility.
Performance:
ML-MPC has the potential to provide improved control performance compared to Model-Based MPC, especially in cases where the system model is uncertain or unknown.
However, the actual performance of ML-MPC will depend on the quality of the data used to train the machine learning models and the choice of machine learning algorithms.
Complexity:
ML-MPC can be more complex to implement compared to Model-Based MPC, as it requires expertise in both control and machine learning. However, once the machine learning models have been trained, ML-MPC can be more computationally efficient than traditional MPC, especially for large and complex systems.
Cost:
The cost of implementing ML-MPC can be higher compared to Model-Based MPC, due to the need for large amounts of data and the use of specialized machine learning algorithms. However, the long-term benefits of improved control performance may offset these costs.
Flexibility:
ML-MPC can be more flexible than Model-Based MPC, as it can handle a wider range of systems and control problems. However, the choice of machine learning algorithms will have a significant impact on the flexibility of ML-MPC.
Conclusion
In conclusion, both Model-Based MPC and Machine Learning Based MPC have their unique strengths and weaknesses, and the choice of control strategy will depend on the specific requirements of the application. Both approaches have the potential to provide effective and efficient control, and each has its own unique advantages and disadvantages.
It is clear that both Model-Based MPC and Machine Learning Based MPC have a role to play in modern control systems, and each has its own strengths that can be leveraged in different applications. In future blog posts, we will dive deeper into the topic of Machine Learning Based MPC and provide code examples of different ML-MPC algorithms, demonstrating the practical implementation of these methods in real-world applications. Stay tuned for more exciting updates and insights into this exciting field of control systems.
References
- Rawlings, J. B., Mayne, D. Q., & Sànchez, J. (2017). Model predictive control: theory and design. Nob Hill Publishing.
- Kocić, D., Gao, Y., & Qiao, Z. (2019). Machine learning based model predictive control: A survey. Automatica, 109, 1–18.
- Chen, Y., & Duan, Q. (2015). Machine learning for control systems. Annual Review of Control, Robotics, and Autonomous Systems, 8, 1–17.
- https://en.wikipedia.org/wiki/Model_predictive_control