(118e) Pyosyn: A Collaborative Ecosystem for Process Design Advancement

Chen, Q., Carnegie Mellon University
Grossmann, I., Carnegie Mellon University
Kale, S., Carnegie Mellon University
Bates, J., Carnegie Mellon University
Valentin, R., Carnegie Mellon University
Bernal, D. E., Carnegie Mellon University
Siirola, J. D., Sandia National Laboratories
Bynum, M., Purdue University
The conceptual design of chemical process flowsheets has long been a challenge for the PSE community (1–3). To find the optimal process design, whether to maximize production, minimize cost, and/or minimize environmental impact, we must often select among multiple process alternatives in several sections of the flowsheet. Superstructure-based synthesis has emerged as one of the primary strategies for conceptual design due to its ability to offer a systematic exploration of alternative flowsheet designs (4). Superstructure synthesis involves three major steps: the postulation of process alternatives in a superstructure representation, formulation of a mathematical programming problem to capture relevant decision logic, and application of a solution algorithm. Each of these steps may require the application of certain assumptions. For example, an appropriate level of modeling detail (aggregate, shortcut, or detailed) needs to be selected for each process alternative. These assumptions may need to be later revisited, e.g. to consider a novel alternative or revise cost estimates, leading to an iterative procedure and an increased required modeling effort. Therefore, despite extensive theoretical progress across many decades (5–7), there is a gap in industrial adoption of superstructure synthesis techniques. To close this gap, we need accessible, flexible, and effective tools to support each step of superstructure synthesis.

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.


  1. Douglas JM. 1985. A hierarchical decision procedure for process synthesis. AIChE J. 31(3):353–62
  2. Rudd DF, Powers GJ, Siirola JJ. 1973. Process synthesis. Englewood Cliffs, N.J.: Prentice-Hall
  3. Sargent RWH. 1967. Integrated design and optimization of processes. Chem. Eng. Prog., Sep., pp. 71–78
  4. Chen Q, Grossmann IE. 2017. Recent developments and challenges in optimization-based process synthesis. Annu. Rev. Chem. Biomol. Eng. 8(1):249–83
  5. 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
  6. Cremaschi S. 2015. A perspective on process synthesis: challenges and prospects. Comput. Chem. Eng. 81:130–37
  7. Westerberg AW. 2004. A retrospective on design and process synthesis. Comput. Chem. Eng. 28(4):447–58
  8. Kravanja Z, Grossmann IE. 1990. Prosyn-an minlp process synthesizer. Comput. Chem. Eng. 14(12):1363–78
  9. 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
  10. Grossmann IE, Trespalacios F. 2013. Systematic modeling of discrete-continuous optimization models through generalized disjunctive programming. AIChE J. 59(9):3276–95
  11. Trespalacios F, Grossmann IE. 2014. Review of mixed-integer nonlinear and generalized disjunctive programming methods. Chemie Ing. Tech. 86(7):991–1012
  12. Türkay M, Grossmann IE. 1996. Logic-based minlp algorithms for the optimal synthesis of process networks. Comput. Chem. Eng. 20(8):959–78
  13. 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
  14. 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
  15. 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.
  16. 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.
  17. Qian Z, Chen Q, Grossmann IE. 2017. Optimal synthesis of rotating packed bed reactor. Comput. Chem. Eng. 105:152–60
  18. 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
  19. Chen Q, Grossmann IE. 2019. Effective gdp optimization models for modular process synthesis. Ind. Eng. Chem. Res. acs.iecr.8b04600
  20. Vecchietti A, Grossmann IE. 1997. LOGMIP: a disjunctive 0-1 nonlinear optimizer for process systems models. In PSE ’97-ESCAPE 7
  21. Chachuat B. 2019. MC++ (version 2.0): Toolkit for Construction, Manipulation and Bounding of Factorable Functions. https://omega-icl.github.io/mcpp/
  22. Mitsos A, Chachuat B, Barton PI. 2009. McCormick-based relaxations of algorithms. SIAM J. Optim. 20(2):573–601
  23. Demirel SE, Li J, Hasan MMF. 2017. Systematic process intensification using building blocks. Comput. Chem. Eng. 105:2–38
  24. Wu W, Henao CA, Maravelias CT. 2016. A superstructure representation, generation, and modeling framework for chemical process synthesis. AIChE J. 62(9):3199–3214
  25. 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