Breadcrumb
- Home
- Publications
- Proceedings
- 2019 AIChE Annual Meeting
- Computing and Systems Technology Division
- CAST Director's Student Presentation Award Finalists (Invited Talks)
- (118e) Pyosyn: A Collaborative Ecosystem for Process Design Advancement
Existing tools that support superstructure synthesis include MIPSYN (8) and ICAS (9). Both continue to be important in advancing acceptance of superstructure synthesis approaches. MIPSYN was among the first to introduce synthesis capabilities in conjunction with an algebraic modeling environment for development and integration of custom models, and ICAS is making inroads in the commercial space. However, there is still scope for improvement in existing tools and methods for synthesis. The development and implementation of new custom models and solution strategies often requires a level of expertise only gained after years of directed study, limiting the available talent pool.
In this work, we present Pyosyn as an engineering ecosystem to support both the development and deployment of new tools for superstructure-based process synthesis. Pyosyn is based upon two central philosophies: first, that modeling should be done in more intuitive contexts whenever possible, and second, that the infrastructure should be flexible enough to allow for diverse design and solution methodologies. In Pyosyn, process design alternatives captured in the superstructure are formulated as a Generalized Disjunctive Programming (GDP) model (10) rather than directly as a Mixed Integer Nonlinear Programming (MINLP) model. In GDP models, disjunctions allow explicit expression of logical-OR statements between competing process alternatives. Use of GDP therefore allows for a more intuitive expression of problem logic, and also preserves logical structure. This structural information then affords the flexibility to support advanced optimization strategies (11), such as logic-based outer approximation (LOA) (12, 13) and nonlinear disjunctive branch and bound (14).
Pyosyn exists as an open-source collection of methods and tools implemented in Python, making extensive use of the Pyomo algebraic modeling platform (15) and Pyomo.GDP modeling extension (16). As such, it is openly available for interested parties to use, modify, and extend. Elements of Pyosyn have been applied for intensified (17, 18) and modular (19) process design problems.
We also describe new developments to improve the modeling capabilities and solution flexibility of Pyosyn. We present a new logical expression system that allows specification of logical propositions such as implication within Pyomo.GDP and their subsequent automatic reformulation to linear constraints. This allows Pyomo.GDP to replicate the expressive functionality pioneered by LOGMIP (20) while also allowing for more advanced transformations of the logical propositions.
We also present a new interface between Pyomo and MC++ (21, 22), demonstrating the flexibility to link across programming languages to external toolsets. We then present an augmentation of the GDPopt solver (16) to support Global Logic-based Outer Approximation (GLOA), making use of the new Pyomo-MC++ interface to generate rigorous outer approximations. We further enhance the capabilities of GDPopt by implementing the automatic computation and use of tighter disjunctive scope-aware variable bounds. A variable may often have tighter bounds inferred by the constraints within a disjunct, for example, a minimum flowrate through a selected unit. These variable bounds may be derived either from automatic feasibility-based bounds tightening or optimality-based bounds tightening routines available to Pyosyn. These tighter variable bounds then allow computation of tighter outer approximations for nonlinear expressions in the same disjunctive scope using the Pyomo-MC++ interface. GDPopt-GLOA therefore demonstrates the ability to tightly integrate multiple modeling manipulations within Pyosyn to implement advanced algorithms.
We also introduce a new nonlinear disjunctive branch and bound implementation, GDPbb, providing another solution strategy to Pyosyn. GDPopt and GDPbb are both direct GDP solvers, operating directly on the GDP model. This allows the algorithms to avoid zero-flow numerical issues related to the disappearance of a flowsheet unit by exploiting disjunctive structure to solve nonlinear subproblems in reduced space (12).
In conceptual design, a tradeoff often exists between our ability to develop expressive representations (23, 24) and our ability to effectively solve the resulting mathematical models, particularly with the aim of achieving a mathematical guarantee of global optimality. Pyosyn does not obviate this concern, but by making use of GDP modeling, it opens up a wide range of advanced optimization methods. Note that MINLP solution techniques are also compatible with Pyosyn, as automatic GDP reformulations may be applied, with both commercial solvers and novel MINLP solver implementations (25) available.
We demonstrate the new capabilities and flexibility of Pyosyn using a set of illustrative examples and literature case studies.
References