(40c) Ppopt (Python Parametric OPTimization) - a Python Package for Solving Multiparametric Optimization Problems with Parallel Algorithms
AIChE Annual Meeting
2021
2021 Annual Meeting
Computing and Systems Technology Division
Software Tools and Implementations for Process Systems Engineering
Sunday, November 7, 2021 - 4:00pm to 4:15pm
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