Framework in PYOMO for the assessment and implementation of (as)NMPC controllers

Abstract Model predictive control (MPC) is an advanced control strategy that has a growing interest for research and applications because of its good performance in many kind of processes and its ability to handle constraints, perform optimization, and consider economic aspects and nonlinearities of the process. However, its design, evaluation and implementation require a high level of expertise which might restrict the developments in this area. This paper presents a software framework developed in Pyomo, a mathematical modelling language embedded in Python, for the assessment and implementation of ideal nonlinear MPC and advanced step nonlinear MPC. The framework automates many of the aspects of MPC defining new classes in Pyomo for ideal NMPC (iNMPC) and advanced step NMPC (asNMPC). The user only has to define the prediction model of the process using new classes for manipulated variables, disturbances and initial conditions, and the real plant function to access to the states of the process in a similar way of other algebraic modelling languages. The model discretizaion, controller set-up, receding horizon and solution are done automatically. Three examples are presented in detail for explaining the use and advantages of the framework to evaluate iNMPC and asNMPC controllers. The software is freely available upon request and in the future it is expected to be an official extension of Pyomo.

[1]  L. Biegler An overview of simultaneous strategies for dynamic optimization , 2007 .

[2]  Victor M. Zavala,et al.  pyomo.dae: a modeling and automatic discretization framework for optimization with differential and algebraic equations , 2018, Math. Program. Comput..

[3]  Lorenz T. Biegler,et al.  Nonlinear Waves in Integrable and Nonintegrable Systems , 2018 .

[4]  Shu Lin,et al.  Model Predictive Control — Status and Challenges , 2013 .

[5]  Fariborz Haghighat,et al.  A software framework for model predictive control with GenOpt , 2010 .

[6]  David L. Woodruff,et al.  Pyomo: modeling and solving mathematical programs in Python , 2011, Math. Program. Comput..

[7]  David L. Woodruff,et al.  Pyomo — Optimization Modeling in Python , 2012, Springer Optimization and Its Applications.

[8]  L. Biegler,et al.  Fast economic model predictive control based on NLP-sensitivities , 2014 .

[9]  Lars Grne,et al.  Nonlinear Model Predictive Control: Theory and Algorithms , 2011 .

[10]  Lorenz T. Biegler,et al.  Optimal sensitivity based on IPOPT , 2012, Math. Program. Comput..

[11]  William E. Hart,et al.  Python Optimization Modeling Objects (Pyomo) , 2009 .

[12]  Jakob Stoustrup,et al.  Adaptive MPC for a reefer container , 2015 .

[13]  Manfred Morari,et al.  A parametric branch and bound approach to suboptimal explicit hybrid MPC , 2014, Autom..

[14]  David Q. Mayne,et al.  Model predictive control: Recent developments and future promise , 2014, Autom..

[15]  Lorenz T. Biegler,et al.  Fast nonlinear model predictive control: Formulation and industrial process applications , 2013, Comput. Chem. Eng..

[16]  L. Grüne,et al.  Nonlinear Model Predictive Control : Theory and Algorithms. 2nd Edition , 2011 .

[17]  Federico Lozano Santamaría,et al.  Economic Oriented NMPC for an Extractive Distillation Column Using an Index Hybrid DAE Model Based on Fundamental Principles , 2015 .

[18]  Victor M. Zavala,et al.  The advanced-step NMPC controller: Optimality, stability and robustness , 2009, Autom..

[19]  Navid Mostoufi,et al.  Numerical Methods for Chemical Engineers with MATLAB Applications with Cdrom , 1999 .

[20]  Lorenz T. Biegler,et al.  Advanced-Multi-Step Nonlinear Model Predictive Control , 2013 .

[21]  Xuejin Yang,et al.  Advances in sensitivity-based nonlinear model predictive control and dynamic real-time optimization , 2015 .

[22]  Victor M. Zavala,et al.  Advanced step nonlinear model predictive control for air separation units , 2009 .

[23]  Jalesh L. Purohit,et al.  DAE-EKF-Based Nonlinear Predictive Control of Reactive Distillation Systems Exhibiting Input and Output Multiplicities , 2013 .

[24]  L. Biegler,et al.  A fast moving horizon estimation algorithm based on nonlinear programming sensitivity , 2008 .