(51h) A Sensitivity-Based Nonlinear Model Predictive Control and State-Estimation Framework in Python

Authors: 
Thierry, D., Carnegie Mellon University
Biegler, L. T., Carnegie Mellon University
Nicholson, B., Center for Computing Research, Sandia National Laboratories
With the current software and computer capabilities the implementation of advanced techniques for nonlinear model predictive control enables users to create more sophisticated solution strategies, and apply them to solve complex chemical and energy process control problems. Increased popularity of open-source modelling platforms, like Pyomo, and the robustness of nonlinear optimization solvers, like Ipopt, make it possible to construct generalized frameworks for meta-algorithms such as Nonlinear Model Predictive Control (NMPC) and Moving Horizon Estimation (MHE).

In this work we provide details of a object-oriented framework based on Python and Pyomo for running NMPC and MHE. Variants of these approaches based on parametric sensitivity computations have also been implemented using a new sensitivity computation software. The framework accepts as an input a user-declared (and initialized) differential algebraic model which then is automatically augmented and discretized to form the entirety of the controller and/or state estimation scheme. Because of the intrinsic computational cost of the solution of the NLP problems for control and state-estimation, standard NMPC requires delay on the online control action. However, this work demonstrates that the delay can be circumvented by implementing a parametric sensitivity update of NLPs solved in background for predicted parametric information (i.e. state value for control, measurement for state-estimation), which is far less computationally expensive than the online solution of the NLPs. For this purpose we also introduce `k_aug`, the sensitivity computation software that handles the relevant post-optimality computations, like parametric sensitivity matrices or reduced Hessians, both required for the control and state estimation frameworks.

We demonstrate the capabilities and limitations of the framework by solving a number of case studies, including a distillation column sequence, and a Bubbling Fluidized Bed reactor for CO2 capture. For both control problems it is assumed there is no knowledge of the full state of the plant, so state-estimation must be used. When the NMPC approach for control is coupled with MHE for state-estimation the results show favorable performance of the sensitivity-based approaches compared to the ideal case with no online computational delay. In this context the bulk of the online computational delay with sensitivity for control and state-estimation is an order of magnitude less than the ideal case for the bubbling fluidized example. As a result, the proposed framework might serve as an excellent foundation for more complex dynamic optimization formulations like economic NMPC, parameter-estimation, etc.