(40c) Ppopt (Python Parametric OPTimization) - a Python Package for Solving Multiparametric Optimization Problems with Parallel Algorithms | AIChE

(40c) Ppopt (Python Parametric OPTimization) - a Python Package for Solving Multiparametric Optimization Problems with Parallel Algorithms


Pistikopoulos, E. N., Texas A&M Energy Institute, Texas A&M University
Multiparametric programming is the mathematical optimization methodology of solving an optimization problem explicitly and offline to reduce real-time optimization's computational burden. Multiparametric Model Predictive Controllers (MPMPC) is a class of Model Predictive Controllers (MPC) where the entire MPC optimization problem is solved offline. This type of controller has published laboratory and pilot-scale applications in the energy, biomedical, robotics, power electronics, and automotive sectors [A]. Multiparametric programming-based algorithms have been formulated to solve integration of design, control and scheduling, multilevel optimization, robust optimization and more [A]. The current state-of-the-art multiparametric solvers are POP[B] and MPT3[C]. However, neither solver leverages parallel algorithms and does not scale with hardware innovations that have to lead to a parallel computing paradigm.

In this presentation, we describe the PPOPT (Python Parametric OPTimization) package for Python. It is a general-purpose multiparametric package that features: A) Efficient and parallel implementations of multiparametric programming algorithms, with strong scaling performance with greater than 25 cores, B) Problem reformulation to reduce the computational overhead and increase numerical stability, C) Multiparametric solution code generation to export solutions in C, JavaScript, Python, and MATLAB. The speed and scaling behavior of PPOPT are explored with computational studies on the POP problem libraries and with explicit MPC controller design. We will compare PPOPT to the current state-of-the-art multiparametric solvers: POP[B] and MPT3[C]. Additionally, the exported solutions are benchmarked on a wide array of platforms, including microcontrollers, single-board computers, and desktop computers.

[A] Pappas I., Kenefake D., Burnak B., Avraamidou S., Ganesh H. S., Katz J., Diangelakis N. A., Pistikopoulos E. N. Multiparametric Programming in Process Systems Engineering: Recent Developments and Path Forward. Frontiers in Chemical Engineering 2021, 2 (32)

[B] Oberdieck, R.; Diangelakis, N. A.; Papathanasiou, M. M.; Nascu, I.; Pistikopoulos, E. N. POP - Parametric Optimization Toolbox. Industrial & Engineering Chemistry Research 2016, 55 (33), 8979-8991.

[C] M. Herceg, M. Kvasnica, C.N. Jones, and M. Morari. Multi-Parametric Toolbox 3.0. In Proc. of the European Control Conference, pages 502–510, Zurich, Switzerland, July 17–19 2013. http://control.ee.ethz.ch/~mpt