Springer Mathematical Logic Solutions Pdf
Abstract
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.
Access options
Buy single article
Instant access to the full article PDF.
34,95 €
Price includes VAT (Singapore)
Tax calculation will be finalised during checkout.
References
-
Balas E (2018) Disjunctive programming. Springer International Publishing, Cham, https://doi.org/10.1007/978-3-030-00148-3
Article MATH Google Scholar
-
Barrett C, Fontaine P, Tinelli C (2017) The SMT-LIB standard: version 2.6. Technical report, Department of Computer Science, The University of Iowa
-
Barttfeld M, Aguirre PA, Grossmann IE (2003) Alternative representations and formulations for the economic optimization of multicomponent distillation columns. Comput Chem Eng 27(3):363–383
Article Google Scholar
-
Beaumont N (1990) An algorithm for disjunctive programs. Eur J Oper Res 48(3):362–371. https://doi.org/10.1016/0377-2217(90)90419-C
Article MATH Google Scholar
-
Belotti P, Bonami P, Fischetti M, Lodi A, Monaci M, Nogales-Gómez A, Salvagnin D (2016) On handling indicator constraints in mixed integer programming. Comput Optim Appl 65(3):545–566. https://doi.org/10.1007/s10589-016-9847-8
MathSciNet Article MATH Google Scholar
-
Bergamini ML, Aguirre P, Grossmann I (2005) Logic-based outer approximation for globally optimal synthesis of process networks. Comput Chem Eng 29(9):1914–1933
Article Google Scholar
-
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. https://doi.org/10.1016/B978-0-444-64241-7.50144-0
Article Google Scholar
-
Bernal DE, Vigerske S, Trespalacios F, Grossmann IE (2019) Improving the performance of DICOPT in convex MINLP problems using a feasibility pump. Optim Methods Softw. https://doi.org/10.1080/10556788.2019.1641498
Article MATH Google Scholar
-
Biegler LT, Grossmann IE (2004) Retrospective on optimization. Comput Chem Eng 28(8):1169–1192
Article Google Scholar
-
Bisschop J, Roelofs M (2006) AIMMS-user's guide
-
Bonami P, Lodi A, Tramontani A, Wiese S (2015) On mathematical programming with indicator constraints. Math Prog 151(1):191–223. https://doi.org/10.1007/s10107-015-0891-4
MathSciNet Article MATH Google Scholar
-
Boukouvala F, Misener R, Floudas CA (2016) Global optimization advances in Mixed-Integer Nonlinear Programming, MINLP, and Constrained Derivative-Free. Optimization CDFO. Eur J Oper Res 252(3):701–727. https://doi.org/10.1016/j.ejor.2015.12.018
MathSciNet Article MATH Google Scholar
-
Brook A, Kendrick D, Meeraus A (1988) GAMS, a user's guide. ACM SIGNUM Newslett 23(3–4):10–11. https://doi.org/10.1145/58859.58863
Article Google Scholar
-
Chachuat B (2019) MC++ (version 2.0): toolkit for construction, manipulation and bounding of factorable functions. https://omega-icl.github.io/mcpp/
-
Chen Q, Grossmann I (2017) Recent developments and challenges in optimization-based process synthesis. Annu Rev Chem Biomol Eng 8(1):249–283. https://doi.org/10.1146/annurev-chembioeng-080615-033546
Article Google Scholar
-
Chen Q, Grossmann I (2019a) Modern modeling paradigms using generalized disjunctive programming. Processes 7(11):839
Article Google Scholar
-
Chen Q, Grossmann IE (2019c) Effective generalized disjunctive programming models for modular process synthesis. Ind Eng Chem Res 58(15):5873–5886. https://doi.org/10.1021/acs.iecr.8b04600
Article Google Scholar
-
Chen Q, Grossmann IE (2019c) Effective generalized disjunctive programming models for modular process synthesis. Ind Eng Chem Res 58(15):5873–5886. https://doi.org/10.1021/acs.iecr.8b04600
-
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. https://doi.org/10.1016/B978-0-444-64241-7.50143-9
-
Drud AS (1994) CONOPT a large-scale GRG code. ORSA J Comput 6(2):207–216. https://doi.org/10.1287/ijoc.6.2.207
-
Drud AS (1994) CONOPT a large-scale GRG code. ORSA J Comput 6(2):207–216. https://doi.org/10.1287/ijoc.6.2.207
Article MATH Google Scholar
-
Dunning I, Huchette J, Lubin M (2017) JuMP: A Modeling Language for Mathematical Optimization. SIAM Review 59(2):295–320. https://doi.org/10.1137/15M1020575
MathSciNet Article MATH Google Scholar
-
Duran MA, Grossmann IE (1986) An outer-approximation algorithm for a class of mixed-integer nonlinear programs. Math Prog 36(3):307. https://doi.org/10.1007/BF02592064
MathSciNet Article MATH Google Scholar
-
Floudas CA, Lin X (2004) Continuous-time versus discrete-time approaches for scheduling of chemical processes: a review. Comput Chem Eng 28(11):2109–2129. https://doi.org/10.1016/j.compchemeng.2004.05.002
Article Google Scholar
-
Friedman Z, Ingalls J, Siirola JD, Watson JP (2013) Block-oriented modeling of superstructure optimization problems. Comput Chem Eng 57:10–23. https://doi.org/10.1016/j.compchemeng.2013.04.008
-
Friedman Z, Ingalls J, Siirola JD, Watson JP (2013) Block-oriented modeling of superstructure optimization problems. Comput Chem Eng 57:10–23. https://doi.org/10.1016/j.compchemeng.2013.04.008
Article Google Scholar
-
Grossmann IE, Lee S (2003) Generalized convex disjunctive programming: nonlinear convex hull relaxation. Comput Optim Appl 26(1):83–100. https://doi.org/10.1023/A:1025154322278
MathSciNet Article MATH Google Scholar
-
Grossmann IE, Trespalacios F (2013) Systematic modeling of discrete-continuous optimization models through generalized disjunctive programming. AIChE J 59(9):3276–3295. https://doi.org/10.1002/aic.14088
Article Google Scholar
-
Günlük O, Linderoth J (2010) Perspective reformulations of mixed integer nonlinear programs with indicator variables. Math Prog 124(1):183–205
MathSciNet Article Google Scholar
-
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, https://doi.org/10.1007/978-3-319-58821-6
-
Kocis GR, Grossmann IE (1989) Computational Experience With Dicopt Solving Minlp Problems in Process Systems-Engineering. Comput Chem Eng 13(3):307–315. https://doi.org/10.1016/0098-1354(89)85008-2
-
Kronqvist J, Misener R (2020) A disjunctive cut strengthening technique for convex MINLP. Optimization and Engineering pp 1–31
-
Kronqvist J, Lundell A, Westerlund T (2018) Reformulations for utilizing separability when solving convex MINLP problems. J Global Optim 71(3):571–592
MathSciNet Article Google Scholar
-
Kronqvist J, Bernal DE, Lundell A, Grossmann IE (2019) A review and comparison of solvers for convex MINLP, vol 20. Springer, US. https://doi.org/10.1007/s11081-018-9411-8
Article Google Scholar
-
Lee S, Grossmann IE (2000) New algorithms for nonlinear generalized disjunctive programming. Comput Chem Eng 24(9–10):2125–2141
-
Lee S, Grossmann IE (2000) New algorithms for nonlinear generalized disjunctive programming. Comput Chem Eng 24(9–10):2125–2141
Article Google Scholar
-
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–1697
Article Google Scholar
-
Liberti L (2019) Undecidability and hardness in mixed-integer nonlinear programming. RAIRO Oper Res 53(1):81–109
MathSciNet Article Google Scholar
-
Nemhauser GL, Wolsey LA (1988) Integer and combinatorial optimization. Wiley, New York
Book Google Scholar
-
Puranik Y, Sahinidis NV (2017) Domain reduction techniques for global NLP and MINLP optimization. Constraints 22(3):338–376. https://doi.org/10.1007/s10601-016-9267-5
MathSciNet Article MATH Google Scholar
-
Raman R, Grossmann I (1991) Relation between MILP modelling and logical inference for chemical process synthesis. Comput Chem Eng 15(2):73–84
Article Google Scholar
-
Raman R, Grossmann I (1994) Modelling and computational techniques for logic based integer programming. Comput Chem Eng 18(7):563–578. https://doi.org/10.1016/0098-1354(93)E0010-7
Article Google Scholar
-
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
Article Google Scholar
-
Ruiz JP, Grossmann IE (2012) A hierarchy of relaxations for nonlinear convex generalized disjunctive programming. Eur J Oper Res 218(1):38–47. https://doi.org/10.1016/j.ejor.2011.10.002
MathSciNet Article MATH Google Scholar
-
Ruiz JP, Grossmann IE (2017) Global optimization of non-convex generalized disjunctive programs: a review on reformulations and relaxation techniques. J Global Optim 67(1–2):43–58. https://doi.org/10.1007/s10898-016-0401-0
MathSciNet Article MATH Google Scholar
-
Sahinidis NV (2019) Mixed-integer nonlinear programming 2018. Optimization and Engineering (0123456789). https://doi.org/10.1007/s11081-019-09438-1
-
Tawarmalani M, Sahinidis NV (2005) A polyhedral branch-and-cut approach to global optimization. Math Prog 103:225–249. https://doi.org/10.1007/s10107-005-0581-8
MathSciNet Article MATH Google Scholar
-
Trespalacios F, Grossmann IE (2014) Review of mixed-integer nonlinear and generalized disjunctive programming methods. Chemie Ingenieur Technik 86(7):991–1012. https://doi.org/10.1002/cite.201400037
Article Google Scholar
-
Trespalacios F, Grossmann IE (2016) Cutting plane algorithm for convex generalized disjunctive programs. INFORMS J Comput 28(2):209–222. https://doi.org/10.1287/ijoc.2015.0669
MathSciNet Article MATH Google Scholar
-
Tsoukalas A, Mitsos A (2014) Multivariate McCormick relaxations. J Global Optim 59(2–3):633–662. https://doi.org/10.1007/s10898-014-0176-0
Article Google Scholar
-
Türkay M, Grossmann IE (1996) Logic-based MINLP algorithms for the optimal synthesis of process networks. Comput Chem Eng 20(8):959–978
Article Google Scholar
-
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. https://doi.org/10.1016/S0098-1354(98)00293-2
Article Google Scholar
-
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. https://doi.org/10.1016/S0098-1354(98)00293-2
-
Vigerske S, Gleixner A (2018) Scip: global optimization of mixed-integer nonlinear programs in a branch-and-cut framework. Optim Methods Softw 33(3):563–593. https://doi.org/10.1080/10556788.2017.1335312
MathSciNet Article MATH Google Scholar
-
Viswanathan J, Grossmann IE (1990) A combined penalty function and outer-approximation method for MINLP optimization. Comput Chem Eng 14(7):769–782. https://doi.org/10.1016/0098-1354(90)87085-4
Article Google Scholar
-
Wächter A, Biegler LT (2006) On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Math Prog 106(1):25–57. https://doi.org/10.1007/s10107-004-0559-y
MathSciNet Article MATH Google Scholar
Download references
Acknowledgements
We graciously acknowledge funding from the U.S. Department of Energy, Office of Fossil Energy's Crosscutting Research Program through the Institute for the Design of Advanced Energy Systems (IDAES). We also recognize software development assistance from Zhifei Yuliu, supervised by Qi Chen, on the final logical expression system implementation. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology and Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International, Inc., for the U.S. Department of Energy's National Nuclear Security Administration under contract DENA0003525.
Ethics declarations
Declarations
This article describes objective technical results and analysis. Any subjective views or opinions that might be expressed in the article do not necessarily represent the views of the U.S. Department of Energy or the United States Government.
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Pyomo.GDP modeling syntax
Modeling syntax for Pyomo.GDP uses
and
modeling objects.
objects represent a grouping of constraints in a logical context, and
objects describe the OR relationship between these logical groupings. Note that by default, Pyomo.GDP
objects enforce an "exactly one" relationship among the selection of the disjuncts (generalization of exclusive-OR). That is, exactly one of the
indicator variables should take a
value.
The example below illustrates the Pyomo.GDP syntax available to express the disjunction (2) between the selection of two units in a process network. In the example, \(Y_1\) and \(Y_2\) are the Boolean variables corresponding to the selection of process units 1 and 2, respectively. The continuous variables \(x_1, x_2, x_3, x_4\) describe flow in and out of the first and second units, respectively. If a unit is selected, the nonlinear equality in the corresponding disjunct enforces the input/output relationship in the selected unit. The final equality in each disjunct forces flows for the absent unit to zero.
$$\begin{aligned} \left[ \begin{array}{c} Y_1 \\ \exp (x_2) - 1 = x_1 \\ x_3 = x_4 = 0 \end{array} \right] \bigvee \left[ \begin{array}{c} Y_2 \\ \exp \left( \frac{x_4}{1.2}\right) - 1 = x_3 \\ x_1 = x_2 = 0 \end{array} \right] \end{aligned}$$
(2)
Expanded syntax: more descriptive
Pyomo.GDP expanded syntax provides more clarity in the declaration of each modeling object (see Listing 13). Assuming the
object and variables have been defined, lines 1 and 5 declare the
objects corresponding to selection of unit 1 and 2, respectively. Lines 2 and 6 define the input-output relations for each unit, and lines 3-4 and 7-8 enforce zero flow through the unit that is not selected. Finally, line 9 declares the logical disjunction between the two disjunctive terms.
The indicator variables for each disjunct \(Y_1\) and \(Y_2\) are automatically generated by Pyomo.GDP, accessible via
and
.
Compact syntax: more concise
For advanced users, a more compact syntax is also available (see Listing 14), taking advantage of the ability to declare disjuncts and constraints implicitly. When the
object constructor is passed a list of lists, the outer list defines the disjuncts and the inner list defines the constraint expressions associated with the respective disjunct.
Nested disjunctions
Pyomo.GDP also supports modeling with nested disjunctions, as given in Equation (3). The inner disjunctions \(q \in {\mathcal {K}}_{ik}\) describe a logical-OR relationship between disjuncts \(p \in {\mathcal {D}}_q\). Selection of the inner disjunct indicated by the Boolean variable \(Y_{pq}\) enforces the corresponding linear constraints \(M_{pq} x + N_{pq} z \le e_{pq}\) and nonlinear constraints \(r_{pq}(x,z)\le 0\). Nested disjunction logic often describes discrete choices that are contingent upon another decision. For example, in chemical process synthesis, a choice between reactor models A, B, or C might be contingent upon existence of the reactor. The selection of a reactor model would therefore be a nested disjunction within the parent disjunction between existence or absence of the reactor.
$$\begin{aligned} \bigvee _{i\in D_k} \left[ \begin{array}{c} Y_{ik} \\ M_{ik} x + N_{ik} z \le e_{ik} \\ r_{ik}(x,z)\le 0\\ \bigvee _{p \in {\mathcal {D}}_q} \left[ \begin{array}{c} Y_{pq} \\ M_{pq} x + N_{pq} z \le e_{pq} \\ r_{pq}(x,z)\le 0\\ \end{array} \right] \quad q \in {\mathcal {K}}_{ik} \\ \end{array} \right] \quad k \in K \end{aligned}$$
(3)
Assuming that the correct sets are defined, Listing 15 gives the Pyomo.GDP code necessary to represent a nested disjunction as described by Equation (3).
9PP GDP model formulation
$$\begin{aligned} \min Z =&\ -10 x_{25} + x_{1} \end{aligned}$$
(9PP.1)
$$\begin{aligned} s.t. \quad&\ x_1 = x_2 + x_3 \end{aligned}$$
(9PP.2)
$$\begin{aligned}&\left[ \begin{array}{c} Y_1 \\ x_2 = \exp (x_3 - 1) \\ x_4 = x_5 = 0 \end{array} \right] \vee \left[ \begin{array}{l} Y_2 \\ x_5 = \ln (x_4 + 1) \\ x_2 = x_3 = 0 \end{array} \right] \end{aligned}$$
(9PP.3)
$$\begin{aligned}&\ x_3 + x_5 = x_6 \end{aligned}$$
(9PP.4)
$$\begin{aligned}&\ x_6 = x_7 + x_9 + x_{11} + x_{13} \end{aligned}$$
(9PP.5)
$$\begin{aligned}&\begin{aligned}&\left[ \begin{array}{c} Y_3 \\ x_8 = 2 \ln (x_7) + 3 \\ x_7 \ge 0.2 \\ x_9 = x_{10} = x_{11} = 0\\ x_{12} = x_{14} = x_{15} = 0 \\ \end{array} \right] \vee \left[ \begin{array}{c} Y_4 \\ x_{10} = 1.8 \ln (x_9 + 4) \\ x_{7} = x_{8} = x_{11} = 0\\ x_{12} = x_{14} = x_{15} = 0 \\ \end{array} \right] \\&\quad \vee \left[ \begin{array}{c} Y_5 \\ x_{12} = 1.2 \ln (x_{11}) + 2 \\ x_{11} \ge 0.001 \\ x_{7} = x_{8} = x_{9} = 0\\ x_{10} = x_{14} = x_{15} = 0 \\ \end{array} \right] \vee \left[ \begin{array}{c} Y_6 \\ x_{15} = x_{23} \sqrt{x_{14} - 3} \\ 5 \le x_{14} \le 20 \\ x_{7} = x_{8} = x_{9} = 0\\ x_{10} = x_{11} = x_{12} = 0 \\ \end{array} \right] \end{aligned} \end{aligned}$$
(9PP.6)
$$\begin{aligned}&\ x_{14} = x_{13} + x_{23} \end{aligned}$$
(9PP.7)
$$\begin{aligned}&\ x_{8} + x_{10} + x_{12} + x_{15} = x_{16} \end{aligned}$$
(9PP.8)
$$\begin{aligned}&\begin{aligned}&\left[ \begin{array}{c} Y_7 \\ x_{18} = 0.9 x_{17} \\ x_{19} = x_{20} = 0\\ x_{21} = x_{22} = 0 \\ \end{array} \right] \vee \left[ \begin{array}{c} Y_8 \\ x_{20} = \ln (x_{19}^{1.5}) + 2 \\ x_{19} \ge 1\\ x_{17} = x_{18} = 0\\ x_{21} = x_{22} = 0 \\ \end{array} \right] \\&\quad \vee \left[ \begin{array}{c} Y_9 \\ x_{22} = \ln (x_{21} + \sqrt{x_{21}}) + 1 \\ x_{21} \ge 4 \\ x_{17} = x_{18} = 0\\ x_{19} = x_{20} = 0 \\ \end{array} \right] \end{aligned} \end{aligned}$$
(9PP.9)
$$\begin{aligned}&\ x_{22} = x_{23} + x_{24} \end{aligned}$$
(9PP.10)
$$\begin{aligned}&\ x_{18} + x_{20} + x_{24} = x_{25} \end{aligned}$$
(9PP.11)
$$\begin{aligned}&\ 0 \le x_i \le 50 \quad i \in \{1, 2, \dots , 25\} \end{aligned}$$
(9PP.12)
$$\begin{aligned}&\ x \in \mathbb {R}^{25} \end{aligned}$$
(9PP.13)
$$\begin{aligned}&\ Y_{i} \in \{True, False\} \quad i \in \{1, 2, \dots , 9\} \end{aligned}$$
(9PP.14)
Rights and permissions
About this article
Cite this article
Chen, Q., Johnson, E.S., Bernal, D.E. et al. Pyomo.GDP: an ecosystem for logic based modeling and optimization development. Optim Eng (2021). https://doi.org/10.1007/s11081-021-09601-7
Download citation
-
Received:
-
Revised:
-
Accepted:
-
Published:
-
DOI : https://doi.org/10.1007/s11081-021-09601-7
Keywords
- Mathematical programming
- Generalized disjunctive programming
- MINLP
Springer Mathematical Logic Solutions Pdf
Source: https://link.springer.com/article/10.1007/s11081-021-09601-7
Posted by: wilketherechat.blogspot.com

0 Response to "Springer Mathematical Logic Solutions Pdf"
Post a Comment