(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.
- Douglas JM. 1985. A hierarchical decision procedure for process synthesis. AIChE J. 31(3):353â62
- Rudd DF, Powers GJ, Siirola JJ. 1973. Process synthesis. Englewood Cliffs, N.J.: Prentice-Hall
- Sargent RWH. 1967. Integrated design and optimization of processes. Chem. Eng. Prog., Sep., pp. 71â78
- Chen Q, Grossmann IE. 2017. Recent developments and challenges in optimization-based process synthesis. Annu. Rev. Chem. Biomol. Eng. 8(1):249â83
- Grossmann IE, Caballero JA, Yeomans H. 2000. Advances in mathematical programming for the synthesis of process systems. Lat. Am. Appl. Res. 30(4):263â84
- Cremaschi S. 2015. A perspective on process synthesis: challenges and prospects. Comput. Chem. Eng. 81:130â37
- Westerberg AW. 2004. A retrospective on design and process synthesis. Comput. Chem. Eng. 28(4):447â58
- Kravanja Z, Grossmann IE. 1990. Prosyn-an minlp process synthesizer. Comput. Chem. Eng. 14(12):1363â78
- Gani R, Hytoft G, Jaksland C, Jensen AK. 1997. An integrated computer aided system for integrated design of chemical processes. Comput. Chem. Eng. 21(10):1135â46
- Grossmann IE, Trespalacios F. 2013. Systematic modeling of discrete-continuous optimization models through generalized disjunctive programming. AIChE J. 59(9):3276â95
- Trespalacios F, Grossmann IE. 2014. Review of mixed-integer nonlinear and generalized disjunctive programming methods. Chemie Ing. Tech. 86(7):991â1012
- TÃ¼rkay M, Grossmann IE. 1996. Logic-based minlp algorithms for the optimal synthesis of process networks. Comput. Chem. Eng. 20(8):959â78
- Bergamini ML, Grossmann I, Scenna N, Aguirre P. 2008. An improved piecewise outer-approximation algorithm for the global optimization of minlp models involving concave and bilinear terms. Comput. Chem. Eng. 32:477â93
- Lee S, Grossmann IE. 2001. A global optimization algorithm for nonconvex generalized disjunctive programming and applications to process systems. Comput. Chem. Eng. 25(11â12):1675â97
- Hart WE, Laird CD, Watson J-P, Woodruff DL, Hackebeil GA, et al. 2017. Pyomo â Optimization Modeling in Python, Vol. 67. Cham: Springer International Publishing. 2nd ed.
- Chen Q, Johnson ES, Siirola JD, Grossmann IE. 2018. Pyomo.gdp: disjunctive models in python. In Proceedings of the 13th International Symposium on Process Systems Engineering, ed MR Eden, MG Ierapetritou, GP Towler, pp. 889â94. San Diego: Elsevier B.V.
- Qian Z, Chen Q, Grossmann IE. 2017. Optimal synthesis of rotating packed bed reactor. Comput. Chem. Eng. 105:152â60
- Rawlings ES, Chen Q, Grossmann IE, Caballero JA. 2019. Kaibel column: modeling, optimization, and conceptual design of multi-product dividing wall columns. Comput. Chem. Eng. 125:31â39
- Chen Q, Grossmann IE. 2019. Effective gdp optimization models for modular process synthesis. Ind. Eng. Chem. Res. acs.iecr.8b04600
- Vecchietti A, Grossmann IE. 1997. LOGMIP: a disjunctive 0-1 nonlinear optimizer for process systems models. In PSE â97-ESCAPE 7
- Chachuat B. 2019. MC++ (version 2.0): Toolkit for Construction, Manipulation and Bounding of Factorable Functions. https://omega-icl.github.io/mcpp/
- Mitsos A, Chachuat B, Barton PI. 2009. McCormick-based relaxations of algorithms. SIAM J. Optim. 20(2):573â601
- Demirel SE, Li J, Hasan MMF. 2017. Systematic process intensification using building blocks. Comput. Chem. Eng. 105:2â38
- Wu W, Henao CA, Maravelias CT. 2016. A superstructure representation, generation, and modeling framework for chemical process synthesis. AIChE J. 62(9):3199â3214
- Bernal DE, Chen Q, Gong F, Grossmann IE. 2018. Mixed-integer nonlinear decomposition toolbox for pyomo (mindtpy). Comput. Aided Chem. Eng. 44(1):895â900