(40b) New Features and Comprehensive Benchmarking Study of the Pyomo Robust Optimization Solver | AIChE

(40b) New Features and Comprehensive Benchmarking Study of the Pyomo Robust Optimization Solver

Authors 

Isenberg, N. - Presenter, Carnegie Mellon University
Siirola, J., Sandia National Laboratories
Gounaris, C., Carnegie Mellon University
Uncertainties are almost always present in models used for optimization and real-life decision-making. These uncertainties often originate in the data used to parameterize the model due to measurement or estimation errors, or due to operational variability that makes many operational conditions unknown at the time of decision-making. Because such uncertainties can render deterministic solutions practically infeasible, it is important to employ strategies for decision-making under uncertainty that attempt to yield solutions that remain feasible across the wide range of possible uncertainty realizations. Robust optimization (RO) is one such decision-making strategy. RO has been successful in addressing problems in a multitude of applications, such as process and project scheduling [1, 2, 3], and resilient network design [4]. More recently, there has been growing interest in applying RO to more challenging problem classes, such as nonlinear or non-convex optimization problems that arise in chemical process systems engineering contexts [5, 6, 7]. Additionally, a generalization of the robust cutting-set algorithm has provided a RO solution approach for general uncertain two-stage, non-linear programming problems (NLPs) [8]. Such NLPs arise in optimal process design, where there are non-linearities and non-convexities, in either variables or uncertain parameters, present due to the implicit state equation definitions representing the process physics and dynamics.

For practical robust optimization, many packages exist for various problem types and programming languages [9, 10, 11]. However, PyROS represents the first RO solver capability in Python/Pyomo for the aforementioned class of problems that can guarantee explicit robustness against the entire uncertainty set [12, 13]. To achieve this, PyROS implements the general robust cutting-set (GRCS) algorithmic approach and employs general polynomial decision rules to handle two-stage problems.

In this talk we present a comprehensive evaluation of the performance of PyROS. Since there is no existing robust optimization benchmark model library for the model class of interest, we start by establishing a new library of benchmark RO problems. To achieve this, we first identified a set of 10 nonlinear and/or nonconvex optimization problems across a range of sizes (number of variables and constraints) and model properties (types of nonlinearities and where in the model those arise) from existing deterministic NLP model libraries [14]. Then, given these base models, we created a benchmark suite of robust optimization problems that consider a systematically partitioned decision variable space between first- and second-stage decisions, along with different subsets and number of parameters that could be considered uncertain in each case. Each model instance is then solved via PyROS with different uncertainty set types, as well as different decision rule polynomial degrees. This leads to approximately 8,000 robust optimization problem instances. Two key outcomes of this study are to first understand the effect of decision rule flexibility on robust optimal costs, and to determine trade-offs between optimal price and robustness across hierarchies of increasingly larger uncertainty sets. Additionally, we observe general trends regarding tractability, robust optimality, and recourse flexibility. By conducting this study on such a large test set, we illustrate the broad applicability of the PyROS tool and its ability to address involved robust optimization instances.

References

[1] Qi Zhang, Michael F. Morari, Ignacio E. Grossmann, Arul Sundaramoorthy, and Jose M. Pinto. An adjustable robust optimization approach to scheduling of continuous industrial processes providing interruptible load. Computers & Chemical Engineering, 86:106-119, 2016.

[2] Hanyu Shi and Fengqi You. A computational framework and solution algorithms for two-stage adaptive robust scheduling of batch manufacturing processes under uncertainty. AIChE Journal, 62(3):687-703, 2016.

[3] Nikolaos H. Lappas and Chrysanthos E. Gounaris. Multi-stage adjustable robust optimization for process scheduling under uncertainty. AIChE Journal, 62(5):1646-1667, 2016.

[4] Logan R. Matthews, Chrysanthos E. Gounaris, and Ioannis G. Kevrekidis. Designing networks with resiliency to edge failures using two-stage robust optimization. European Journal of Operational Research, 279(3):704-720, 2019.

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

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

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

[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. AIChE J. 2021.

[9] Phebe Vayanos, Qing Jin, and George Elissaios. Roc++: Robust optimization in C++. arXiv preprint. arXiv:2006.08741, 2020.

[10] Joel Goh and Melvyn Sim. Robust optimization made easy with ROME. Operations Research, 59(4):973-985, 2011.

[11] Iain Dunning and Yeesian Ng. JuMPeR: Julia for Mathematical Programming - extensions for Robust. https://github.com/IainNZ/JuMPeR.jl.

[12] Natalie M. Isenberg, John D. Siirola, Chrysanthos E. Gounaris. PyROS: A Pyomo Robust Optimization Solver for Robust Process Design. (In preparation)

[13] 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.

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