Abstract
This paper focuses on solving two-stage stochastic mixed integer programs (SMIPs) with general mixed integer decision variables in both stages. We develop a decomposition algorithm in which the first-stage approximation is solved by a branch-and-bound algorithm with its nodes inheriting Benders’ cuts that are valid for their ancestor nodes. In addition, we develop two closely related convexification schemes which use multi-term disjunctive cuts to obtain approximations of the second-stage mixed-integer programs. We prove that the proposed methods are finitely convergent. One of the main advantages of our decomposition scheme is that we use a Benders-based branch-and-cut approach in which linear programming approximations are strengthened sequentially. Moreover as in many decomposition schemes, these subproblems can be solved in parallel. We also illustrate these algorithms using several variants of an SMIP example from the literature, as well as a new set of test problems, which we refer to as Stochastic Server Location and Sizing. Finally, we present our computational experience with previously known examples as well as the new collection of SMIP instances. Our experiments reveal that our algorithm is able to produce provably optimal solutions (within an hour of CPU time) even in instances for which a highly reliable commercial MIP solver is unable to provide an optimal solution within an hour of CPU time.

Similar content being viewed by others
Change history
13 December 2023
A Correction to this paper has been published: https://doi.org/10.1007/s10107-023-02039-y
References
Ahmed, S., Tawarmalani, M., Sahinidis, N.V.: A finite branch-and-bound algorithm for two-stage stochastic integer programs. Math. Program. 100(2), 355–377 (2004)
Balas, E.: Disjunctive programming. Ann. Discret. Math. 5, 3–51 (1979)
Balas, E., Ceria, S., Cornuéjols, G.: A lift-and-project cutting plane algorithm for mixed 0–1 programs. Math. Program. 58, 295–324 (1993)
Carøe, C., Tind, J.: L-shaped decomposition of two-stage stochastic programs with integer recourse. Math. Program. 83, 451–464 (1998)
Carøe, C.C., Schultz, R.: Dual decomposition in stochastic integer programming. Oper. Res. Lett. 24, 37–45 (1997)
Chen, B., Küçükyavuz, S., Sen, S.: Finite disjunctive programming characterizations for general mixed integer linear programs. Oper. Res. 59(1), 202–210 (2011)
Chen, B., Küçükyavuz, S., Sen, S.: A computational study of the cutting plane tree algorithm for general mixed-integer linear programs. Oper. Res. Lett. 40(1), 15–19 (2012)
Del Pia, A., Weismantel, R.: On convergence in mixed integer programming. Math. Program. 135(1–2), 397–412 (2012)
Escudero, L., Garn, A., Merino, M., Pérez, G.: A two-stage stochastic integer programming approach as a mixture of branch-and-fix coordination and benders decomposition schemes. Ann. Oper. Res. 152, 395–420 (2007). doi:10.1007/s10479-006-0138-0
Gade, D., Küçükyavuz, S., Sen, S.: Decomposition algorithms with parametric gomory cuts for two-stage stochastic integer programs. Math. Program. 144(1–2), 1–26 (2012)
Jörg, M.: k-Disjunctive cuts and a finite cutting plane algorithm for general mixed integer linear programs. Ph.D. thesis, Technische Universitat Munchen (2008)
Kong, N., Schaefer, A.J., Hunsaker, B.: Two-stage integer programs with stochastic right-hand sides. Math. Program. 108(24), 275–296 (2006)
Louveaux, F., Schultz, R.: Stochastic integer programming. Handb. Oper. Res. Manag. Sci. 10, 213–266 (2003)
Lulli, G., Sen, S.: A branch-and-price algorithm for multistage stochastic integer programming with application to stochastic batch-sizing problems. Manag. Sci. 50(6), 786–796, arXiv preprint arXiv:0707.3945 (2004)
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. Global Optim. 32(3), 385–400 (2005)
Owen, J.H., Mehrotra, S.: A disjunctive cutting plane procedure for general mixed-integer linear programs. Math. Program. 89(3), 437–448 (2001)
Owen, J.H., Mehrotra, S.: On the value of binary expansions for general mixed-integer linear programs. Oper. Res. 50(5), 810–819 (2002)
Schultz, R., Stougie, L., van der Vlerk, M.H.: Solving stochastic programs with integer recourse by enumeration: a framework using Gröbner basis. Math. Program. 83(1–3), 229–252 (1998)
Sen, S.: Stochastic Mixed-Integer Programming Algorithms: Beyond Benders’ Decomposition. Wiley, London (2010)
Sen, S., Higle, J.L.: The C3 theorem and a D2 algorithm for large scale stochastic mixed-integer programming: set convexification. Math. Program. 104(1), 1–20 (2005)
Sen, S., Higle, J.L., Ntaimo, L.: A summary and illustration of disjunctive decomposition with set convexification. In: Woodruff, D. (ed.) Network Interdiction and Stochastic Integer Programming, pp. 105–125. Springer, New York (2003)
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., Zhu, X.: On solving discrete two-stage stochastic programs having mixed-integer first- and second-stage variables. Math. Program. 108(2–3), 597–616 (2006)
Trapp, A.C., Prokopyev, O.A., Schaefer, A.J.: On a level-set characterization of the integer programming value function and its application to stochastic programming. Oper. Res. 61(2), 498–511 (2013)
Wollmer, R.D.: Two-stage linear programming under uncertainty with 0–1 integer first stage variables. Math. Program. 19(3), 279–288 (1980)
Yuan, Y., Sen, S.: Enhanced cut generation methods for decomposition-based branch and cut for two-stage stochastic mixed-integer programs. INFORMS J. Comput. 21(3), 480–487 (2009)
Zhang, M., Küçükyavuz, S.: Finitely convergent decomposition algorithms for two-stage stochastic pure integer programs. SIAM J. Optim. 24(4), 1933–1951 (2014)
Acknowledgments
The authors are grateful to the referees for their detailed reading of the paper. Their suggestions improved the presentation, and made the paper more compelling.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work is supported in part by NSF-CMMI Grant 1100383 and AFOSR Grant FA9550-13-1-0015.
Appendices
Appendix 1: SSLS model formulation
To describe the model, let I be the index set for client locations and J be the index sets for possible server locations. For \(i\in I\) and \(j \in J\), we define the following.
Parameters
- \(c_j\) :
-
Cost of locating a server at location j.
- \(q_{ij}\) :
-
Revenue from a client at location i being served by servers at location j.
- \(q_{j0}\) :
-
Loss of revenue because of overflow at server j.
- \(d_{ij}\) :
-
Resource requirement of client i for server at location j.
- r :
-
Upper bound on the total number of servers that can be located.
- u :
-
Upper bound of number of server located at one location.
- w :
-
Server capacity.
- v :
-
Upper bound of possible number of clients.
- \(h^i(\omega )\) :
-
The number of clients at location i in scenario \(\omega \)
- \(h(\omega )\) :
-
The vector made of elements \(h^i(\omega )\).
- \(p(\omega )\) :
-
Probability of occurrence for scenario \(\omega \in \Omega \).
Decisions variables
- \(x_j\) :
-
number of servers located at site j.
- \(y_{ij}\) :
-
number of clients at location i served by servers at location j.
- \(y_{j0}\) :
-
overflow amount at server location j.
The SSLS can be formulated as follows.
where
For any x satisfying (52b, 52c) and \(\omega \in \Omega \),
We generated a set of SSLS instances following the method in [16]. For problem data, the server location costs \(c_j\) were generated randomly from the uniform distribution in the interval [40, 80] and the client demands \(d_{ij}\) were generated in the interval [0, 25]. The client-server revenue were set at one unit per unit of client demand. The overflow costs \(q_{j0}\) were fixed at 1000. For scenario data, the number of clients available in each scenario \(h^i(\omega )\) were generated from a binomial distribution with \(p=0.5\) and v trials.
Appendix 2: Figures for examples
Master problem B&B tree for \(\mathbf {ABC}\) algorithm with CPT-D on Example 1.1
Master problem B&B tree for \(\mathbf {ABC}\) algorithm with BB-D on Example 1.1
\(\mathcal {G}_x (t),\mathcal {G}_z (t, \omega )\) for \(\mathbf {ABC}\) algorithm with CPT-D on Example 1.1
\(\mathcal {G}_x (t),\mathcal {G}_z (t, \omega )\) for \(\mathbf {ABC}\) algorithm with BB-D on Example 1.1
Log-log plot of running time and scenarios for \(\mathbf {ABC}\)/BB-D for instances in Table 9
Rights and permissions
About this article
Cite this article
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, 193–235 (2017). https://doi.org/10.1007/s10107-016-1006-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-016-1006-6
Keywords
- Two-stage stochastic mixed-integer programs
- Cutting plane tree algorithm
- Multi-term disjunctive cut
- Benders’ decomposition