×

Pyomo.GDP: an ecosystem for logic based modeling and optimization development. (English) Zbl 1492.90169

Summary: We present three core principles for engineering-oriented integrated modeling and optimization tool sets – intuitive modeling contexts, systematic computer-aided reformulations, and flexible solution strategies – and describe how new developments in Pyomo.GDP for Generalized Disjunctive Programming (GDP) advance this vision. We describe a new logical expression system implementation for Pyomo.GDP allowing for a more intuitive description of logical propositions. The logical expression system supports automated reformulation of these logical constraints to linear constraints. We also describe two new logic-based global optimization solver implementations built on Pyomo.GDP that exploit logical structure to avoid “zero-flow” numerical difficulties that arise in nonlinear network design problems when nodes or streams disappear. These new solvers also demonstrate the capability to link to external libraries for expanded functionality within an integrated implementation. 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 demonstrating the value of multiple solution approaches.

MSC:

90C30 Nonlinear programming
90C11 Mixed integer programming
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] Balas, E., Disjunctive programming, Springer International Publishing, Cham, (2018) · Zbl 1414.90001 · doi:10.1007/978-3-030-00148-3
[2] Barrett C, Fontaine P, Tinelli C (2017) The SMT-LIB standard: version 2.6. Technical report, Department of Computer Science, The University of Iowa
[3] Barttfeld, M.; Aguirre, PA; Grossmann, IE, Alternative representations and formulations for the economic optimization of multicomponent distillation columns, Comput Chem Eng, 27, 3, 363-383 (2003) · doi:10.1016/S0098-1354(02)00213-2
[4] Beaumont, N., An algorithm for disjunctive programs, Eur J Oper Res, 48, 3, 362-371 (1990) · Zbl 0744.90062 · doi:10.1016/0377-2217(90)90419-C
[5] Belotti, P.; Bonami, P.; Fischetti, M.; Lodi, A.; Monaci, M.; Nogales-Gómez, A.; Salvagnin, D., On handling indicator constraints in mixed integer programming, Comput Optim Appl, 65, 3, 545-566 (2016) · Zbl 1357.90094 · doi:10.1007/s10589-016-9847-8
[6] Bergamini, ML; Aguirre, P.; Grossmann, I., Logic-based outer approximation for globally optimal synthesis of process networks, Comput Chem Eng, 29, 9, 1914-1933 (2005) · doi:10.1016/j.compchemeng.2005.04.003
[7] Bernal, DE; Chen, Q.; Gong, F.; Grossmann, IE, Mixed-integer nonlinear decomposition toolbox for Pyomo (MindtPy), Comput Aided Chem Eng, 44, 1, 895-900 (2018) · doi:10.1016/B978-0-444-64241-7.50144-0
[8] Bernal, DE; Vigerske, S.; Trespalacios, F.; Grossmann, IE, Improving the performance of DICOPT in convex MINLP problems using a feasibility pump, Optim Methods Softw (2019) · Zbl 1425.90070 · doi:10.1080/10556788.2019.1641498
[9] Biegler, LT; Grossmann, IE, Retrospective on optimization, Comput Chem Eng, 28, 8, 1169-1192 (2004) · doi:10.1016/j.compchemeng.2003.11.003
[10] Bisschop J, Roelofs M (2006) AIMMS-user’s guide
[11] Bonami, P.; Lodi, A.; Tramontani, A.; Wiese, S., On mathematical programming with indicator constraints, Math Prog, 151, 1, 191-223 (2015) · Zbl 1328.90086 · doi:10.1007/s10107-015-0891-4
[12] Boukouvala, F.; Misener, R.; Floudas, CA, Global optimization advances in Mixed-Integer Nonlinear Programming, MINLP, and Constrained Derivative-Free, Optimization CDFO. Eur J Oper Res, 252, 3, 701-727 (2016) · Zbl 1346.90677 · doi:10.1016/j.ejor.2015.12.018
[13] Brook, A.; Kendrick, D.; Meeraus, A., GAMS, a user’s guide, ACM SIGNUM Newslett, 23, 3-4, 10-11 (1988) · doi:10.1145/58859.58863
[14] Chachuat B (2019) MC++ (version 2.0): toolkit for construction, manipulation and bounding of factorable functions. https://omega-icl.github.io/mcpp/
[15] Chen, Q.; Grossmann, I., Recent developments and challenges in optimization-based process synthesis, Annu Rev Chem Biomol Eng, 8, 1, 249-283 (2017) · doi:10.1146/annurev-chembioeng-080615-033546
[16] Chen, Q.; Grossmann, I., Modern modeling paradigms using generalized disjunctive programming, Processes, 7, 11, 839 (2019) · doi:10.3390/pr7110839
[17] Chen, Q.; Grossmann, IE, Effective generalized disjunctive programming models for modular process synthesis, Ind Eng Chem Res, 58, 15, 5873-5886 (2019) · doi:10.1021/acs.iecr.8b04600
[18] Chen Q, Grossmann IE (2019c) Effective generalized disjunctive programming models for modular process synthesis. Ind Eng Chem Res 58(15):5873-5886. doi:10.1021/acs.iecr.8b04600
[19] Chen Q, Johnson ES, Siirola JD, Grossmann IE (2018) Pyomo.GDP: Disjunctive Models in Python. In: Eden MR, Ierapetritou MG, Towler GP (eds) Proceedings of the 13th International Symposium on Process Systems Engineering, Elsevier B.V., San Diego, pp 889-894. doi:10.1016/B978-0-444-64241-7.50143-9
[20] Drud AS (1994) CONOPT a large-scale GRG code. ORSA J Comput 6(2):207-216. doi:10.1287/ijoc.6.2.207 · Zbl 0806.90113
[21] Drud, AS, CONOPT a large-scale GRG code, ORSA J Comput, 6, 2, 207-216 (1994) · Zbl 0806.90113 · doi:10.1287/ijoc.6.2.207
[22] Dunning, I.; Huchette, J.; Lubin, M., JuMP: A Modeling Language for Mathematical Optimization, SIAM Review, 59, 2, 295-320 (2017) · Zbl 1368.90002 · doi:10.1137/15M1020575
[23] Duran, MA; Grossmann, IE, An outer-approximation algorithm for a class of mixed-integer nonlinear programs, Math Prog, 36, 3, 307 (1986) · Zbl 0619.90052 · doi:10.1007/BF02592064
[24] Floudas, CA; Lin, X., Continuous-time versus discrete-time approaches for scheduling of chemical processes: a review, Comput Chem Eng, 28, 11, 2109-2129 (2004) · doi:10.1016/j.compchemeng.2004.05.002
[25] Friedman Z, Ingalls J, Siirola JD, Watson JP (2013) Block-oriented modeling of superstructure optimization problems. Comput Chem Eng 57:10-23. doi:10.1016/j.compchemeng.2013.04.008
[26] Friedman, Z.; Ingalls, J.; Siirola, JD; Watson, JP, Block-oriented modeling of superstructure optimization problems, Comput Chem Eng, 57, 10-23 (2013) · doi:10.1016/j.compchemeng.2013.04.008
[27] Grossmann, IE; Lee, S., Generalized convex disjunctive programming: nonlinear convex hull relaxation, Comput Optim Appl, 26, 1, 83-100 (2003) · Zbl 1030.90069 · doi:10.1023/A:1025154322278
[28] Grossmann, IE; Trespalacios, F., Systematic modeling of discrete-continuous optimization models through generalized disjunctive programming, AIChE J, 59, 9, 3276-3295 (2013) · doi:10.1002/aic.14088
[29] Günlük, O.; Linderoth, J., Perspective reformulations of mixed integer nonlinear programs with indicator variables, Math Prog, 124, 1, 183-205 (2010) · Zbl 1229.90106 · doi:10.1007/s10107-010-0360-z
[30] Hart WE, Laird CD, Watson JP, Woodruff DL, Hackebeil GA, Nicholson BL, Siirola JD (2017) Pyomo Optimization Modeling in Python, Springer Optimization and Its Applications, vol 67, 2nd edn. Springer International Publishing, Cham, doi:10.1007/978-3-319-58821-6 · Zbl 1370.90003
[31] Kocis GR, Grossmann IE (1989) Computational Experience With Dicopt Solving Minlp Problems in Process Systems-Engineering. Comput Chem Eng 13(3):307-315. doi:10.1016/0098-1354(89)85008-2
[32] Kronqvist J, Misener R (2020) A disjunctive cut strengthening technique for convex MINLP. Optimization and Engineering pp 1-31
[33] Kronqvist, J.; Lundell, A.; Westerlund, T., Reformulations for utilizing separability when solving convex MINLP problems, J Global Optim, 71, 3, 571-592 (2018) · Zbl 1402.90098 · doi:10.1007/s10898-018-0616-3
[34] Kronqvist, J.; Bernal, DE; Lundell, A.; Grossmann, IE, A review and comparison of solvers for convex MINLP, vol 20, Springer, US. (2019) · doi:10.1007/s11081-018-9411-8
[35] Lee S, Grossmann IE (2000) New algorithms for nonlinear generalized disjunctive programming. Comput Chem Eng 24(9-10):2125-2141
[36] Lee, S.; Grossmann, IE, New algorithms for nonlinear generalized disjunctive programming, Comput Chem Eng, 24, 9-10, 2125-2141 (2000) · doi:10.1016/S0098-1354(00)00581-0
[37] Lee, S.; Grossmann, IE, A global optimization algorithm for nonconvex generalized disjunctive programming and applications to process systems, Comput Chem Eng, 25, 11-12, 1675-1697 (2001) · doi:10.1016/S0098-1354(01)00732-3
[38] Liberti, L., Undecidability and hardness in mixed-integer nonlinear programming, RAIRO Oper Res, 53, 1, 81-109 (2019) · Zbl 1414.90237 · doi:10.1051/ro/2018036
[39] Nemhauser, GL; Wolsey, LA, Integer and combinatorial optimization (1988), New York: Wiley, New York · Zbl 0652.90067 · doi:10.1002/9781118627372
[40] Puranik, Y.; Sahinidis, NV, Domain reduction techniques for global NLP and MINLP optimization, Constraints, 22, 3, 338-376 (2017) · Zbl 1387.90164 · doi:10.1007/s10601-016-9267-5
[41] Raman, R.; Grossmann, I., Relation between MILP modelling and logical inference for chemical process synthesis, Comput Chem Eng, 15, 2, 73-84 (1991) · doi:10.1016/0098-1354(91)87007-V
[42] Raman, R.; Grossmann, I., Modelling and computational techniques for logic based integer programming, Comput Chem Eng, 18, 7, 563-578 (1994) · doi:10.1016/0098-1354(93)E0010-7
[43] Rawlings, ES; Chen, Q.; Grossmann, IE; Caballero, JA, Kaibel column: modeling, optimization, and conceptual design of multi-product dividing wall columns, Comput Chem Eng, 125, 31-39 (2019) · doi:10.1016/j.compchemeng.2019.03.006
[44] Ruiz, JP; Grossmann, IE, A hierarchy of relaxations for nonlinear convex generalized disjunctive programming, Eur J Oper Res, 218, 1, 38-47 (2012) · Zbl 1244.90199 · doi:10.1016/j.ejor.2011.10.002
[45] Ruiz, JP; Grossmann, IE, Global optimization of non-convex generalized disjunctive programs: a review on reformulations and relaxation techniques, J Global Optim, 67, 1-2, 43-58 (2017) · Zbl 1359.90108 · doi:10.1007/s10898-016-0401-0
[46] Sahinidis NV (2019) Mixed-integer nonlinear programming 2018. Optimization and Engineering (0123456789). doi:10.1007/s11081-019-09438-1 · Zbl 1398.90110
[47] Tawarmalani, M.; Sahinidis, NV, A polyhedral branch-and-cut approach to global optimization, Math Prog, 103, 225-249 (2005) · Zbl 1099.90047 · doi:10.1007/s10107-005-0581-8
[48] Trespalacios, F.; Grossmann, IE, Review of mixed-integer nonlinear and generalized disjunctive programming methods, Chemie Ingenieur Technik, 86, 7, 991-1012 (2014) · doi:10.1002/cite.201400037
[49] Trespalacios, F.; Grossmann, IE, Cutting plane algorithm for convex generalized disjunctive programs, INFORMS J Comput, 28, 2, 209-222 (2016) · Zbl 1343.90054 · doi:10.1287/ijoc.2015.0669
[50] Tsoukalas, A.; Mitsos, A., Multivariate McCormick relaxations. J Global Optim, 59, 2-3, 633-662 (2014) · Zbl 1312.90068 · doi:10.1007/s10898-014-0176-0
[51] Türkay, M.; Grossmann, IE, Logic-based MINLP algorithms for the optimal synthesis of process networks, Comput Chem Eng, 20, 8, 959-978 (1996) · doi:10.1016/0098-1354(95)00219-7
[52] Vecchietti, A.; Grossmann, IE, LOGMIP: a disjunctive 0-1 non-linear optimizer for process system models, Comput Chem Eng, 23, 4-5, 555-565 (1999) · doi:10.1016/S0098-1354(98)00293-2
[53] Vecchietti A, Grossmann IE (1999) LOGMIP: a disjunctive 0-1 non-linear optimizer for process system models. Comput Chem Eng 23(4-5):555-565. doi:10.1016/S0098-1354(98)00293-2
[54] Vigerske, S.; Gleixner, A., Scip: global optimization of mixed-integer nonlinear programs in a branch-and-cut framework, Optim Methods Softw, 33, 3, 563-593 (2018) · Zbl 1398.90112 · doi:10.1080/10556788.2017.1335312
[55] Viswanathan, J.; Grossmann, IE, A combined penalty function and outer-approximation method for MINLP optimization, Comput Chem Eng, 14, 7, 769-782 (1990) · doi:10.1016/0098-1354(90)87085-4
[56] Wächter, A.; Biegler, LT, On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming, Math Prog, 106, 1, 25-57 (2006) · Zbl 1134.90542 · doi:10.1007/s10107-004-0559-y
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.