(177a) Pyros: A Pyomo Robust Optimization Solver for Robust Process Design | AIChE

(177a) Pyros: A Pyomo Robust Optimization Solver for Robust Process Design

Authors 

Isenberg, N. - Presenter, Carnegie Mellon University
Siirola, J., Sandia National Laboratories
Gounaris, C., Carnegie Mellon University
Robust optimization (RO) is a well-established modeling framework for uncertainty mitigation with extensive applications to linear and convex optimization problems [1]. Recently, there have been several advances in the development of novel RO applications to nonlinear process systems engineering (PSE) models [2,3,4,5]. However, when compared to other uncertainty mitigation modeling frameworks, such as stochastic programming, RO is generally less studied and applied in the field, in part due to the complex nonlinearities and non-convexities originating from physical and chemical equations that represent the various thermodynamic, reaction-kinetic, and transport phenomena typically found in PSE models. When traditional duality-based reformulation solution methods in the RO literature are applied to PSE models, they may lead to either overly conservative or non-robust solutions due to violations of certain underlying assumptions. Another challenge in applying RO methods to PSE models is the presence of irreducible state variable definitions that cannot be readily solved out of the model formulation. This poses a challenge to algorithmic solution approaches, such as the robust cutting-set (RCS) algorithm, which only handles inequality-constrained models [6].

In this work, we present a general robust cutting-set (GRCS) algorithmic approach and its Pyomo implementation, Pyros (the Pyomo Robust Optimization Solver) [7]. Pyros can identify robust solutions in nonlinear, non-convex models containing equality constraints or state equations that cannot be readily simplified or solved out of the formulation. For these classes of problems, there is currently no RO approach that guarantees robust solutions against the entire uncertainty set. The GRCS algorithm implemented in Pyros is capable of certifying fully robust solutions to the previously mentioned optimization problems, and it is valid for models with nonlinearities and non-convexities in both the decision variables and uncertain parameters [8]. Our GRCS algorithm implementation has two key features. First, it handles equality constraints systematically and without reformulation by duplicating the state variables and equations for each added uncertain parameter realization to ensure the feasibility of the master problem state equations. The second key feature is the use of general form decision rules, including non-linear decision rules, in order to handle second-stage recourse variables using the adjustable robust optimization paradigm [9]. Pyros is configurable, and supports the facile designation of generic uncertainty set definitions and other algorithmic options.

To evaluate the performance of the GRCS algorithm implementation in Pyros, we created a benchmark suite of robust optimization problems. The test problems were taken from the publicly available BARON non-linear program (NLP) test problems set [9]. These NLP models were then cast as uncertain optimization models by selecting different subsets of uncertain parameters within the model as well as various selections for variable partitioning between first- and second-stage variables. With these test problems, we were able to evaluate the Pyros’s tractability with respect to model size, uncertainty set dimensionality, and decision rule function complexity. Additionally, we were able to collect data on the “price of robustness” in all of the test cases to quantify the expected economic effects of risk mitigation. Overall, we show the utility of Pyros as an open-source tool for identifying robust solutions to uncertain nonlinear programming models, thus making optimization under uncertainty for PSE models a more accessible research target.

References

[1] Dimitris Bertsimas, David B. Brown, and Constantine Caramanis. Theory and applications of robust optimization. SIAM review, 53(3), 464-501, 2011.

[2] Yuan Yuan, Zukui Li, and Biao Huang. Nonlinear robust optimization for process design. AIChE Journal, 64(2):481-494, 2018.

[3] Johannes Wiebe, Ines Cecilio, and Ruth Misener. Robust optimization for the pooling problem. Industrial & Engineering Chemistry Research, 2019.

[4] Sanjula Kammammettu and Zukui Li. Two-stage robust optimization of water treatment network design and operations under uncertainty. Industrial & Engineering Chemistry Research, 2019.

[5] Logan R. Matthews, Yannis A. Guzman, Onur Onel, Alexander M. Niziolek, and Christodoulos A. Floudas. Natural gas to liquid transportation fuels under uncertainty using robust optimization. Industrial & Engineering Chemistry Research, 57(32):11112-11129, 2018.

[6] Almir Mutapcic and Stephen Boyd. Cutting-set methods for robust convex optimization with pessimizing oracles. Optimization Methods & Software, 24(3):381-406, 2009.

[7] William E. Hart, Jean-Paul Watson, and David L. Woodruff. “Pyomo: modeling and solving mathematical programs in Python.” Mathematical Programming Computation 3(3): 219-260, 2011.

[8] Natalie M. Isenberg, Paul Akula, John C. Eslick, Debangsu Bhattacharyya, David C. Miller, and Chrysanthos E. Gounaris. A generalized cutting-set approach for nonlinear robust optimization in process systems engineering applications. In preparation.

[9] Aharon Ben-Tal, Alexander Goryashko, Elana Guslitzer, and Arkadi Nemirovski. Adjustable robust solutions of uncertain linear programs. Mathematical Programming, 99(2):351-376, 2004.

[10] The Optimization Firm. “NLP and MINLP Test Problems.” https://minlp.com/nlp-and-minlp-test-problems.