Abstract
In this paper, we propose a generalized Benders decomposition-based branch and cut algorithm for solving two stage stochastic mixed-integer nonlinear programs (SMINLPs) with mixed binary first and second stage variables. At a high level, the proposed decomposition algorithm performs spatial branch and bound search on the first stage variables. Each node in the branch and bound search is solved with a Benders-like decomposition algorithm where both Lagrangean cuts and Benders cuts are included in the Benders master problem. The Lagrangean cuts are derived from Lagrangean decomposition. The Benders cuts are derived from the Benders subproblems, which are convexified by cutting planes, such as rank-one lift-and-project cuts. We prove that the proposed algorithm converges in the limit. We apply the proposed algorithm to a stochastic pooling problem, a crude selection problem, and a storage design problem. The performance of the proposed algorithm is compared with a Lagrangean decomposition-based branch and bound algorithm and solving the corresponding deterministic equivalent with the solvers including BARON, ANTIGONE, and SCIP.
Similar content being viewed by others
References
Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)
Ahmed, S., Garcia, R.: Dynamic capacity acquisition and assignment under uncertainty. Ann. Oper. Res. 124(1–4), 267–283 (2003)
Alonso-Ayuso, A., Escudero, L.F., Ortuno, M.T.: Bfc, a branch-and-fix coordination algorithmic framework for solving some types of stochastic pure and mixed 0–1 programs. Eur. J. Oper. Res. 151(3), 503–519 (2003)
Angulo, G., Ahmed, S., Dey, S.S.: Improving the integer L-shaped method. INFORMS J. Comput. 28(3), 483–499 (2016)
Atakan, S., Sen, S.: A progressive hedging based branch-and-bound algorithm for mixed-integer stochastic programs. Comput. Manag. Sci. 1–40, (2018)
Balas, E., Ceria, S., Cornuéjols, G.: A lift-and-project cutting plane algorithm for mixed 0–1 programs. Math. Program. 58(1–3), 295–324 (1993)
Balas, E., Ceria, S., Cornuéjols, G., Natraj, N.: Gomory cuts revisited. Oper. Res. Lett. 19(1), 1–9 (1996)
Cao, Y., Zavala, V.M.: A scalable global optimization algorithm for stochastic nonlinear programs. Under Review (2017)
Carøe, C.C., Schultz, R.: Dual decomposition in stochastic integer programming. Oper. Res. Lett. 24(1), 37–45 (1999)
Gade, D., Küçükyavuz, S., Sen, S.: Decomposition algorithms with parametric Gomory cuts for two-stage stochastic integer programs. Math. Program. 144(1–2), 39–64 (2014)
Grossmann, I.E., Trespalacios, F.: Systematic modeling of discrete-continuous optimization models through generalized disjunctive programming. AIChE J. 59(9), 3276–3295 (2013)
Horst, R., Tuy, H.: Global Optimization: Deterministic Approaches. Springer, Berlin (2013)
Jalving, J., Abhyankar, S., Kim, K., Hereld, M., Zavala, V.M.: A graph-based computational framework for simulation and optimisation of coupled infrastructure networks. IET Gener. Transm. Distrib. 11(12), 3163–3176 (2017)
Kannan, R.: Algorithms, analysis and software for the global optimization of two-stage stochastic programs. Ph.D. thesis, Massachusetts Institute of Technology (2018)
Kılınç, M.R., Linderoth, J., Luedtke, J.: Lift-and-project cuts for convex mixed integer nonlinear programs. Math. Program. Comput. 9(4), 499–526 (2017)
Küçükyavuz, S., Sen, S.: An introduction to two-stage stochastic mixed-integer programming. In: Leading Developments from INFORMS Communities, pp. 1–27. INFORMS (2017)
Laporte, G., Louveaux, F.V.: The integer L-shaped method for stochastic integer programs with complete recourse. Oper. Res. Lett. 13(3), 133–142 (1993)
Li, C., Grossmann, I.E.: A finite \(\varepsilon \)-convergence algorithm for two-stage stochastic convex nonlinear programs with mixed-binary first and second-stage variables. J. Glob. Optim. (accepted)
Li, C., Grossmann, I.E.: An improved L-shaped method for two-stage convex 0–1 mixed integer nonlinear stochastic programs. Comput. Chem. Eng. 112, 165–179 (2018)
Li, X., Armagan, E., Tomasgard, A., Barton, P.I.: Stochastic pooling problem for natural gas production network design and operation under uncertainty. AIChE J. 57(8), 2120–2135 (2011)
Li, X., Chen, Y., Barton, P.I.: Nonconvex generalized Benders decomposition with piecewise convex relaxations for global optimization of integrated process design and operation problems. Ind. Eng. Chem. Res. 51(21), 7287–7299 (2012)
Li, X., Tomasgard, A., Barton, P.I.: Nonconvex generalized Benders decomposition for stochastic separable mixed-integer nonlinear programs. J. Optim. Theory Appl. 151(3), 425 (2011)
Li, X., Tomasgard, A., Barton, P.I.: Decomposition strategy for the stochastic pooling problem. J. Glob. Optim. 54(4), 765–790 (2012)
Mijangos, E.: An algorithm for two-stage stochastic mixed-integer nonlinear convex problems. Ann. Oper. Res. 235(1), 581–598 (2015)
Misener, R., Floudas, C.A.: Antigone: algorithms for continuous/integer global optimization of nonlinear equations. J. Glob. Optim. 59(2–3), 503–526 (2014)
Misener, R., Thompson, J.P., Floudas, C.A.: Apogee: global optimization of standard, generalized, and extended pooling problems via linear and logarithmic partitioning schemes. Comput. Chem. Eng. 35(5), 876–892 (2011)
Ntaimo, L.: Disjunctive decomposition for two-stage stochastic mixed-binary programs with random recourse. Oper. Res. 58(1), 229–243 (2010)
Ntaimo, L., Sen, S.: The million-variable “march” for stochastic combinatorial optimization. J. Glob. Optim. 32(3), 385–400 (2005)
Ntaimo, L., Tanner, M.W.: Computations with disjunctive cuts for two-stage stochastic mixed 0–1 integer programs. J. Glob. Optim. 41(3), 365–384 (2008)
Ogbe, E., Li, X.: A joint decomposition method for global optimization of multiscenario nonconvex mixed-integer nonlinear programs. J. Glob. Optim. (2019). https://doi.org/10.1007/s10898-019-00786-x
Oliveira, F., Gupta, V., Hamacher, S., Grossmann, I.E.: A Lagrangean decomposition approach for oil supply chain investment planning under uncertainty with risk considerations. Comput. Chem. Eng. 50, 184–195 (2013)
Park, M., Park, S., Mele, F.D., Grossmann, I.E.: Modeling of purchase and sales contracts in supply chain optimization. Ind. Eng. Chem. Res. 45(14), 5013–5026 (2006)
Qi, Y., Sen, S.: The ancestral Benders cutting plane algorithm with multi-term disjunctions for mixed-integer recourse decisions in stochastic programming. Math. Program. 161(1–2), 193–235 (2017)
Rebennack, S., Kallrath, J., Pardalos, P.M.: Optimal storage design for a multi-product plant: a non-convex minlp formulation. Comput. Chem. Eng. 35(2), 255–271 (2011)
Ryan, S.M., Wets, R.J.B., Woodruff, D.L., Silva-Monroy, C., Watson, J.P.: Toward scalable, parallel progressive hedging for stochastic unit commitment. In: Power and Energy Society General Meeting (PES), 2013 IEEE, pp. 1–5. IEEE (2013)
Source code of PlasmoAlgorithms. https://github.com/bbrunaud/PlasmoAlgorithms.jl. Accessed 21 Nov 2018
Sen, S., Sherali, H.D.: Decomposition with branch-and-cut approaches for two-stage stochastic mixed-integer programming. Math. Program. 106(2), 203–223 (2006)
Sherali, H.D., Adams, W.P.: A hierarchy of relaxations between the continuous and convex hull representations for zero-one programming problems. SIAM J. Discrete Math. 3(3), 411–430 (1990)
Sherali, H.D., Fraticelli, B.M.: A modification of Benders decomposition algorithm for discrete subproblems: an approach for stochastic programs with integer recourse. J. Glob. Optim. 22(1–4), 319–342 (2002)
Sherali, H.D., Zhu, X.: On solving discrete two-stage stochastic programs having mixed-integer first-and second-stage variables. Math. Program. 108(2), 597–616 (2006)
Tawarmalani, M., Sahinidis, N.V.: A polyhedral branch-and-cut approach to global optimization. Math. Program. 103, 225–249 (2005)
Van Slyke, R.M., Wets, R.: L-shaped linear programs with applications to optimal control and stochastic programming. SIAM J. Appl. Math. 17(4), 638–663 (1969)
Yang, Y., Barton, P.I.: Integrated crude selection and refinery optimization under uncertainty. AIChE J. 62(4), 1038–1053 (2016)
Zhang, M., Küçükyavuz, S.: Finitely convergent decomposition algorithms for two-stage stochastic pure integer programs. SIAM J. Optim. 24(4), 1933–1951 (2014)
Acknowledgements
The authors gratefully acknowledge financial support from the Center of Advanced Process Decision-making at Carnegie Mellon University and from the Department of Energy as part of the IDAES Project. Authors would like to thank Prof. Paul Barton and Dr. Rohit Kannan for sharing the GOSSIP library. The authors would also like to acknowledge the help from Egidio Leo from TU Dortmund for providing the original implementation of lift-and-project cuts in Julia.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix 1: Mathematical formulation of stochastic pooling problem with contract selection
Sets
\(i=\hbox {feeds}\)
\(j=\hbox {products}\)
\(l=\hbox {pools}\)
\(p=\hbox {qualities}\)
\(c=\hbox {contracts}\)
\(\omega =\hbox {scenarios}\)
\(T_X=(i, l)\) pairs for which input to pool connection allowed
\(T_Y= (l, j)\) pairs for which pool to output connection allowed
\(T_Z=(i, j)\) pairs for which input to output connection allowed
Parameters
\(A^U_i=\hbox {maximum}\) available flow
\(A^L_i=\hbox {minimum}\) available flow
\(S^{U}_{l}=\hbox {maximum}\) pool size
\(S^{L}_{l}=\hbox {minimum}\) pool size
\(D^U_j=\hbox {maximum}\) product demand
\(C_{ik}=\hbox {feed}\) concentration
\(P^U_{jk}=\hbox {maximum}\) allowable product concentration
\(P^L_{jk}=\hbox {minimum}\) allowable product concentration
\(\alpha _l=\hbox {fixed}\) cost parameter for pools
\(\beta _l=\hbox {variable}\) cost parameter for pools
\(\delta _{i}=\hbox {fixed}\) cost for feed storage
\(\xi _{i}=\hbox {variable}\) cost for feed storage
\(\tau _{\omega }=\hbox {probability}\) of scenario \(\omega \)
\(\psi _{i\omega }^{c}=\hbox {unit}\) price for feed i under contract c in scenario \(\omega \)
\(d_{j\omega }=\hbox {product}\) unit price in scenario \(\omega \)
\(\sigma _{i}^{c}=\hbox {minimum}\) purchasable amount of feed i under contract c
First stage variables
Binary variables
\(\lambda _i=\hbox {whether}\) feed i exists
\(\theta _l=\hbox {whether}\) pool l exists
Continuous variables
\(S_{l}=\hbox {capacity}\) of pool l
\(A_{i}=\hbox {capacity}\) of pool i
Second stage variables
Binary variables
\(u_{i\omega }^{c}=\hbox {whether}\) contract c is selected in purchasing feed i in scenario \(\omega \)
Continuous variables
\(y_{lj\omega }=\hbox {flow}\) from pool l to product j in scenario \(\omega \)
\(z_{ij\omega }=\hbox {flow}\) of feed i to product j in scenario \(\omega \)
\(q_{il\omega }=\hbox {proportion}\) of flow from input i to pool l in scenario \(\omega \)
\(CT_{i\omega }=\hbox {cost}\) of purchasing feed i in scenario \(\omega \)
\(CT_{i\omega }^{c}=\hbox {cost}\) of purchasing feed i under contract c in scenario \(\omega \)
\(B_{i\omega }^{c}=\hbox {the}\) amount of feed i purchased under contract c in scenario \(\omega \)
We study pooling problem with purchase contracts under price uncertainty. The first stage decisions include whether to select the feeds and pools, the capacity of the feeds and pools, whether the feeds exist.
After the pools are selected, the uncertainties in the prices of the feeds and products are realized. We need to decide the material flows just as in a standard pooling problem. Equations (12)–(20) are the equations in the pq-formulation of the pooling problem.
In this case study, we also consider different types of purchase contracts when the prices are realized. The formulation of contracts is based Park et al. [32]. (21)–(24) decides that the total amount of feed i purchased can come from exactly one contract.
(25) describes fixed price contract.
(26)–(31) describe discount after a certain amount contract.
(32)–(37) describe bulk discount contract.
Because of the decisions on purchase contracts, there are binary variables in the second stage decisions.
The objective includes the fixed and variable cost of installing the pools and fixed cost of the feeds, purchase of feeds, and sales of final products.
Appendix 2: Convex hull reformulation of piecewise McCormick envelopes in the crude selection problem
In the crude selection problem described in Sect. 7.2, the bilinear terms come from the product of the split fractions and some material flows. The bilinear terms are only in the stage 2 problems. In order to obtain tight convex relaxations in the Benders subproblems, we use the hull relaxation of the piesewise McCormick envelopes.
We represent the split fractions by variable \(q_i\), \(i\in I\) where I is the set of indices for the \(q_{i}\) variables. The material flows that occur in the bilinear terms are represented by \(x_{j}\), \(j\in J\) where J is the set of indices for the \(x_{j}\) variables. Variables \(x_{j}\), \(j\in J_{i}\) are the material flows that occur in the bilinear terms with variable \(q_i\). The bilinear terms are represented by \(z_{ij}\), \(i\in I, j\in J_i\). All the other variables in stage 2 are represented by \(y_{2}\). The stage 1 variables are represented by \(y_{1}\). Without loss of generality, we represent the constraints in a given subproblem by
where both the constraints and variable bounds in each subproblem are included. Since the McCormick envelopes of \(z_{ij}\) can yield weak relaxations, we uniformly discretize each variable \(q_i\) into m intervals where m is an integer that is greater than one. The piecewise McCormick envelopes can be represented using the following disjunctions.
where \(x_{j}^{U}\) and \(x_{j}^{L}\) are the upper and lower bounds of variable \(x_{j}\), respectively. In each disjunct n, variable \(q_{i}\) is bounded between \(\frac{n-1}{m}\) and \(\frac{n}{m}\). The McCormick envelopes in disjunct n are changed accordingly with the bounds of \(q_{i}\). The McCormick envelopes of the variables \(x_{j}\) that occur in the same bilinear term of \(q_{i}\) are all included in each disjunct. Note that constraint (39a) is included in all the disjuncts. If (39a) were not included in the disjuncts, the hull relaxation [11] of (40) would be the same as the normal McCormick envelope relaxation. We use the hull relaxation of (40) to have a tight relaxation for the Benders master problem in the crude selection problem. \(m=5\) is used in the computational experiments.
Rights and permissions
About this article
Cite this article
Li, C., Grossmann, I.E. A generalized Benders decomposition-based branch and cut algorithm for two-stage stochastic programs with nonconvex constraints and mixed-binary first and second stage variables. J Glob Optim 75, 247–272 (2019). https://doi.org/10.1007/s10898-019-00816-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10898-019-00816-8