(33a) Pyomo.GDP: An Ecosystem for Logic-Based Modeling and Optimization Development | AIChE

(33a) Pyomo.GDP: An Ecosystem for Logic-Based Modeling and Optimization Development

Authors 

Bernal, D. E. - Presenter, Carnegie Mellon University
Chen, Q., Carnegie Mellon University
Siirola, J., Sandia National Laboratories
Johnson, E., Sandia National Laboratories
Grossmann, I., Carnegie Mellon University
Valentin, R., Carnegie Mellon University
Kale, S., Carnegie Mellon University
Bates, J., Carnegie Mellon University
Pyomo.GDP: an ecosystem for logic-based modeling and optimization development

Qi Chena, David E. Bernala, Emma S. Johnsonb, Romeo Valentina, Sunjeev Kalea, Johnny Batesa, John Siirolab, Ignacio E. Grossmanna

a Department of Chemical Engineering, Carnegie Mellon University, Pittsburgh, PA 15213

b Sandia National Laboratories, Albuquerque, NM 87123

Mathematical programming is a powerful tool for tackling a wide range of challenges in the chemical process industries, with applications that include process design, planning, scheduling, and operations1. The task of solving these challenging problems does not only include the use of powerful software tools, solvers, to find an optimal solution but also includes the translation of the conceptual problem into a mathematical formulation and the interpretation of the obtained results. Contrary to traditional mathematical programming formulations, which usually only include variables within different domains and algebraic inequalities, we consider in this ecosystem a framework for Generalized Disjunctive Programming (GDP)2 that also includes logic variables involved in propositions and disjunctions. We present three core principles for engineering-oriented integrated modeling and optimization toolsets - intuitive modeling contexts, systematic computer-aided reformulations, and flexible solution strategies. From these three principles, we describe the new developments of an open-source modeling environment tailored for GDP within Pyomo3 library Pyomo.GDP.

As part of Pyomo.GDP, we describe a new logical expression system implementation that allows for the direct description of logical propositions. The logical expression system supports the automated reformulation of these logical statements to linear constraints. We also describe two new logic-based optimization solver implementations built on Pyomo.GDP that exploit the logical structure of the models, logic-based outer-approximation and logic-based branch-and-bound. Both are capable of providing solutions with global optimality guarantees. We highlight one advantage of these techniques over reformulating to a Mixed-integer Nonlinear Program (MINLP) of tailored solutions algorithms through the avoidance of “zero-flow'” numerical difficulties that arise in discrete-nonlinear problems, where variables set to zero by the logic constraints are involved in nonlinear expressions giving rise to singularities and undefined values. These new solvers also demonstrate the capability to link to external libraries for expanded functionality within an integrated implementation, for example, the generation of convex underestimators of nonconvex functions available from generalized McCormick relaxations4 in the library MC++5 or the use of satisfiability modulo theory solvers such as Z36 for logic-based branching rules. We present these new solvers in the context of a flexible array of solution paths available to GDP models. Finally, we present results on a new library of GDP models that includes problems on process network design, heat exchangers networks, constrained layout problems, process synthesis, and distributed manufacturing7 demonstrating the value of the multiple solutions approaches.

  1. Trespalacios, F. & Grossmann, I. E. Review of mixed-integer nonlinear and generalized disjunctive programming methods. Chemie-Ingenieur-Technik 86, 991–1012 (2014).
  2. Raman, R. & Grossmann, I. E. Modelling and computational techniques for logic based integer programming. Comput. Chem. Eng. 18, 563–578 (1994).
  3. Hart, W. E. et al. Pyomo — Optimization Modeling in Python. 67, (Springer International Publishing, 2017).
  4. Scott, J. K., Stuber, M. D. & Barton, P. I. Generalized McCormick relaxations. J. Glob. Optim. (2011). doi:10.1007/s10898-011-9664-7
  5. Mitsos, A., Chachuat, B. & Barton, P. I. McCormick-Based Relaxations of Algorithms. SIAM J. Optim. (2009). doi:10.1137/080717341
  6. De Moura, L. & Bjørner, N. Z3: An efficient SMT Solver. in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (2008). doi:10.1007/978-3-540-78800-3_24
  7. Chen, Q. & Grossmann, I. E. Effective Generalized Disjunctive Programming Models for Modular Process Synthesis. Ind. Eng. Chem. Res. (2019). doi:10.1021/acs.iecr.8b04600