Skip to main content

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

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.

This is a preview of subscription content, access via your institution.

Fig. 1

References

  1. 1.

    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)

    MathSciNet  MATH  Article  Google Scholar 

  2. 2.

    Ahmed, S., Garcia, R.: Dynamic capacity acquisition and assignment under uncertainty. Ann. Oper. Res. 124(1–4), 267–283 (2003)

    MathSciNet  MATH  Article  Google Scholar 

  3. 3.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  4. 4.

    Angulo, G., Ahmed, S., Dey, S.S.: Improving the integer L-shaped method. INFORMS J. Comput. 28(3), 483–499 (2016)

    MathSciNet  MATH  Article  Google Scholar 

  5. 5.

    Atakan, S., Sen, S.: A progressive hedging based branch-and-bound algorithm for mixed-integer stochastic programs. Comput. Manag. Sci. 1–40, (2018)

  6. 6.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  7. 7.

    Balas, E., Ceria, S., Cornuéjols, G., Natraj, N.: Gomory cuts revisited. Oper. Res. Lett. 19(1), 1–9 (1996)

    MathSciNet  MATH  Article  Google Scholar 

  8. 8.

    Cao, Y., Zavala, V.M.: A scalable global optimization algorithm for stochastic nonlinear programs. Under Review (2017)

  9. 9.

    Carøe, C.C., Schultz, R.: Dual decomposition in stochastic integer programming. Oper. Res. Lett. 24(1), 37–45 (1999)

    MathSciNet  MATH  Article  Google Scholar 

  10. 10.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  11. 11.

    Grossmann, I.E., Trespalacios, F.: Systematic modeling of discrete-continuous optimization models through generalized disjunctive programming. AIChE J. 59(9), 3276–3295 (2013)

    Article  Google Scholar 

  12. 12.

    Horst, R., Tuy, H.: Global Optimization: Deterministic Approaches. Springer, Berlin (2013)

    MATH  Google Scholar 

  13. 13.

    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)

    Google Scholar 

  14. 14.

    Kannan, R.: Algorithms, analysis and software for the global optimization of two-stage stochastic programs. Ph.D. thesis, Massachusetts Institute of Technology (2018)

  15. 15.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  16. 16.

    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)

    Google Scholar 

  17. 17.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  18. 18.

    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)

  19. 19.

    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)

    Article  Google Scholar 

  20. 20.

    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)

    Article  Google Scholar 

  21. 21.

    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)

    Article  Google Scholar 

  22. 22.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  23. 23.

    Li, X., Tomasgard, A., Barton, P.I.: Decomposition strategy for the stochastic pooling problem. J. Glob. Optim. 54(4), 765–790 (2012)

    MathSciNet  MATH  Article  Google Scholar 

  24. 24.

    Mijangos, E.: An algorithm for two-stage stochastic mixed-integer nonlinear convex problems. Ann. Oper. Res. 235(1), 581–598 (2015)

    MathSciNet  MATH  Article  Google Scholar 

  25. 25.

    Misener, R., Floudas, C.A.: Antigone: algorithms for continuous/integer global optimization of nonlinear equations. J. Glob. Optim. 59(2–3), 503–526 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  26. 26.

    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)

    Article  Google Scholar 

  27. 27.

    Ntaimo, L.: Disjunctive decomposition for two-stage stochastic mixed-binary programs with random recourse. Oper. Res. 58(1), 229–243 (2010)

    MathSciNet  MATH  Article  Google Scholar 

  28. 28.

    Ntaimo, L., Sen, S.: The million-variable “march” for stochastic combinatorial optimization. J. Glob. Optim. 32(3), 385–400 (2005)

    MathSciNet  MATH  Article  Google Scholar 

  29. 29.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  30. 30.

    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

    MathSciNet  Article  MATH  Google Scholar 

  31. 31.

    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)

    Article  Google Scholar 

  32. 32.

    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)

    Article  Google Scholar 

  33. 33.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  34. 34.

    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)

    Article  Google Scholar 

  35. 35.

    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)

  36. 36.

    Source code of PlasmoAlgorithms. https://github.com/bbrunaud/PlasmoAlgorithms.jl. Accessed 21 Nov 2018

  37. 37.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  38. 38.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  39. 39.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  40. 40.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  41. 41.

    Tawarmalani, M., Sahinidis, N.V.: A polyhedral branch-and-cut approach to global optimization. Math. Program. 103, 225–249 (2005)

    MathSciNet  MATH  Article  Google Scholar 

  42. 42.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  43. 43.

    Yang, Y., Barton, P.I.: Integrated crude selection and refinery optimization under uncertainty. AIChE J. 62(4), 1038–1053 (2016)

    Article  Google Scholar 

  44. 44.

    Zhang, M., Küçükyavuz, S.: Finitely convergent decomposition algorithms for two-stage stochastic pure integer programs. SIAM J. Optim. 24(4), 1933–1951 (2014)

    MathSciNet  MATH  Article  Google Scholar 

Download references

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

Affiliations

Authors

Corresponding author

Correspondence to Ignacio E. Grossmann.

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.

$$\begin{aligned}&A^L_{i}\lambda _{i} \le A_{i}\le A^U_{i}\lambda _{i}\quad \forall \, i \end{aligned}$$
(10)
$$\begin{aligned}&S^{L}_{l}\theta _{l} \le S_{l}\le S^U_{l}\theta _{l}\quad \forall \, l \end{aligned}$$
(11)

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.

$$\begin{aligned} \sum _{l:(i,l)\in T_{X}}\sum _{j:(l,j)\in T_{Y}} q_{il\omega }y_{lj\omega } + \sum _{j:(i,j)\in T_{Z}}z_{ij\omega }\le A_{i} \quad \forall \, i,\omega \end{aligned}$$
(12)
$$\begin{aligned} \sum _{j:(l,j)\in T_{Y}}y_{lj\omega }\le S_{l} \quad \forall \, l,\omega \end{aligned}$$
(13)
$$\begin{aligned} \sum _{l:(l,j)\in T_{Y}}y_{lj\omega }+\sum _{i:(i,j)\in T_{Z}}z_{ij\omega }\le D_{j\omega }^{U} \quad \forall \, j,\omega \end{aligned}$$
(14)
$$\begin{aligned} \sum _{i:(i,l)\in T_{X}}q_{il\omega }=\theta _{l} \quad \forall \, i,\omega \end{aligned}$$
(15)
$$\begin{aligned}&P^{L}_{jk}\left( \sum _{l:(l,j)\in T_Y}y_{lj\omega } + \sum _{i:(i,j)\in T_Z}z_{ij\omega }\right) \le \sum _{l:(l,j)\in T_{Y}}\sum _{i:(i,l)\in T_{X}}C_{ik}q_{il\omega }y_{lj\omega } + \sum _{i:(i,j)\in T_{Z}}C_{ik}z_{ij\omega }\nonumber \\&\quad \le P^{U}_{jk}\left( \sum _{l:(l,j)\in T_Y}y_{lj\omega } + \sum _{i:(i,j)\in T_Z}z_{ij\omega }\right) \quad \forall \, j,k,\omega \end{aligned}$$
(16)
$$\begin{aligned} 0\le q_{il\omega }\le \lambda _{i} \quad \forall (i,l)\in T_{X},\omega \end{aligned}$$
(17)
$$\begin{aligned} 0\le y_{lj\omega }\le \min \left\{ S_{l},D_{j}^{U}, \sum _{i:(i,l)\in T_{X}}A_{i}^{U}\right\} \quad \forall \, (l,j)\in T_Y \end{aligned}$$
(18)
$$\begin{aligned} 0\le z_{ij\omega }\le \min \big \{A_{i}^{U},D_{j}^{U}\big \} \quad \forall \, (i,j)\in T_Z,\omega \end{aligned}$$
(19)
$$\begin{aligned} \sum _{i:(i,l)\in T_{X}}q_{il\omega }y_{lj\omega }=y_{lj\omega }\quad \forall \, l,j,\omega \end{aligned}$$
(20)

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.

$$\begin{aligned} \sum _{l:(i,l)\in T_{X}}\sum _{j:(l,j)\in T_{Y}} q_{il\omega }y_{lj\omega } + \sum _{j:(i,j)\in T_{Z}}z_{ij\omega }=\sum _{c}B_{i\omega }^{c}\quad \forall \, i,\omega \end{aligned}$$
(21)
$$\begin{aligned} A_{i}^{L}u_{i\omega }^{c}\le B_{i\omega }^{c}\le A_{i}^{U}u_{i\omega }^{c} \quad \forall \, i,\omega ,c \end{aligned}$$
(22)
$$\begin{aligned} \sum _{c}u_{i\omega }^c\le \lambda _{i} \quad \forall \, i,\omega \end{aligned}$$
(23)
$$\begin{aligned} CT_{i\omega }=\sum _{c}CT_{i\omega }^{c} \quad \forall \, i,\omega \end{aligned}$$
(24)

(25) describes fixed price contract.

$$\begin{aligned} CT_{i\omega }^{f}=\psi _{i\omega }^{f}B_{i\omega }^{f} \quad \forall \, i,\omega \end{aligned}$$
(25)

(26)–(31) describe discount after a certain amount contract.

$$\begin{aligned} CT_{i\omega }^{d}=\psi _{i\omega }^{d1}B_{i\omega }^{d1}+\psi _{i\omega }^{d2}B_{i\omega }^{d2} \quad \forall \, i,\omega \end{aligned}$$
(26)
$$\begin{aligned} B_{i\omega }^{d}=B_{i\omega }^{d1}+B_{i\omega }^{d2} \quad \forall \, i,\omega \end{aligned}$$
(27)
$$\begin{aligned} B_{i\omega }^{d1} = B_{i\omega }^{d11}+ B_{i\omega }^{d12} \quad \forall \, i,\omega \end{aligned}$$
(28)
$$\begin{aligned} 0\le B_{i\omega }^{d11}\le \sigma _{i\omega }^{d} u_{i\omega }^{d1} \quad \forall \, i,\omega \end{aligned}$$
(29)
$$\begin{aligned} B_{i\omega }^{d12}=\sigma _{i\omega }^{d}u_{i\omega }^{d2} \quad \forall i,\omega \end{aligned}$$
(30)
$$\begin{aligned} 0\le B_{i\omega }^{d2}\le A^{U}_{i}u_{i\omega }^{d2} \quad \forall \, i,\omega \end{aligned}$$
(31)

(32)–(37) describe bulk discount contract.

$$\begin{aligned} CT_{i\omega }^b=\psi _{i\omega }^{b1}B_{i\omega }^{b1}+\psi _{i\omega }^{b2}B_{i\omega }^{b2} \quad \forall \, i,\omega \end{aligned}$$
(32)
$$\begin{aligned} B_{i\omega }^{b}=B_{i\omega }^{b1}+B_{i\omega }^{b2} \quad \forall \, i,\omega \end{aligned}$$
(33)
$$\begin{aligned} 0\le B_{i\omega }^{b1}\le \sigma _{i\omega }^{b}u_{i\omega }^{b1} \quad \forall \, i,\omega \end{aligned}$$
(34)
$$\begin{aligned} \sigma _{i\omega }^{b}u_{i\omega }^{b2}\le B_{i\omega }^{b2}\le A_{i}^{U}u_{i\omega }^{b2} \quad \forall \, i,\omega \end{aligned}$$
(35)
$$\begin{aligned} u_{i\omega }^{b1}+u_{i\omega }^{b2}=u_{i\omega }^{b} \quad \forall \, i,\omega \end{aligned}$$
(36)

Because of the decisions on purchase contracts, there are binary variables in the second stage decisions.

$$\begin{aligned} u_{i\omega }^{c}, u_{i\omega }^{d1}, u_{i\omega }^{d2}, u_{i\omega }^{b1}, u_{i\omega }^{b2}\in \{0,1\} \end{aligned}$$
(37)

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.

$$\begin{aligned}&\min \sum _{l}\big (\alpha _{l}\theta _{l} + \beta _{l}S_{l}\big )+\sum _{i}\big (\delta _{i}\lambda _{i}+\xi _{i}A_{i}\big )\nonumber \\&\quad +\sum _{\omega }\tau _{\omega }\left( \sum _{i}CT_{i\omega }-\sum _{j}d_{j}\left( \sum _{l:(l,j)\in T_{Y}}y_{lj\omega }+\sum _{i:(i,j)\in T_{Z}}z_{ij\omega }\right) \right) \end{aligned}$$
(38)

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

$$\begin{aligned}&A_{1}y_{1}+A_{2}y_{2}+Bz\le d \end{aligned}$$
(39a)
$$\begin{aligned}&z_{ij} = q_{i}x_{j}\quad \forall \, i\in I, j\in J_i \end{aligned}$$
(39b)

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.

$$\begin{aligned} \vee _{n\in \{1,2,\ldots ,m\}} \begin{bmatrix} A_{1}y_{1}+A_{2}y_{2}+Bz\le d\\ z_{ij}\ge q_{i}\cdot x_{j}^{L} + \frac{n-1}{m}(x_{j}-x_{j}^{L})\quad \forall \, j\in J_{i}\\ z_{ij}\ge q_{i}\cdot x_{j}^{U} + \frac{n}{m}(x_{j}-x_{j}^{U})\quad \forall \, j\in J_{i}\\ z_{ij}\le q_{i}\cdot x_{j}^{L} + \frac{n}{m}(x_{j}-x_{j}^{L})\quad \forall \, j\in J_{i}\\ z_{ij}\le q_{i}\cdot x_{j}^{U} + \frac{n-1}{m}(x_{j}-x_{j}^{U})\quad \forall \, j\in J_{i}\\ x_{j}^{L}\le x_{j}\le x_{j}^{U}\quad \forall \, j\in J_{i}\\ \frac{n-1}{m}\le q_{i}\le \frac{n}{m} \end{bmatrix} \quad \forall \, i\in I \end{aligned}$$
(40)

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

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

Keywords

  • Stochastic programming
  • Nonconvex MINLP
  • Generalized benders decomposition
  • Cutting planes