Skip to main content
Log in

The Ancestral Benders’ cutting plane algorithm with multi-term disjunctions for mixed-integer recourse decisions in stochastic programming

  • Full Length Paper
  • Series A
  • Published:
Mathematical Programming Submit manuscript

A Correction to this article was published on 13 December 2023

This article has been updated

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

Change history

References

  1. 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)

    Article  MATH  MathSciNet  Google Scholar 

  2. Balas, E.: Disjunctive programming. Ann. Discret. Math. 5, 3–51 (1979)

    Article  MATH  Google Scholar 

  3. 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)

    Article  MATH  MathSciNet  Google Scholar 

  4. Carøe, C., Tind, J.: L-shaped decomposition of two-stage stochastic programs with integer recourse. Math. Program. 83, 451–464 (1998)

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  6. Chen, B., Küçükyavuz, S., Sen, S.: Finite disjunctive programming characterizations for general mixed integer linear programs. Oper. Res. 59(1), 202–210 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  7. 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)

    Article  MATH  MathSciNet  Google Scholar 

  8. Del Pia, A., Weismantel, R.: On convergence in mixed integer programming. Math. Program. 135(1–2), 397–412 (2012)

    MATH  MathSciNet  Google Scholar 

  9. 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

    Article  MATH  MathSciNet  Google Scholar 

  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), 1–26 (2012)

    MATH  MathSciNet  Google Scholar 

  11. 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)

  12. Kong, N., Schaefer, A.J., Hunsaker, B.: Two-stage integer programs with stochastic right-hand sides. Math. Program. 108(24), 275–296 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  13. Louveaux, F., Schultz, R.: Stochastic integer programming. Handb. Oper. Res. Manag. Sci. 10, 213–266 (2003)

    Article  MathSciNet  Google Scholar 

  14. 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)

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

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  17. Owen, J.H., Mehrotra, S.: A disjunctive cutting plane procedure for general mixed-integer linear programs. Math. Program. 89(3), 437–448 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  18. Owen, J.H., Mehrotra, S.: On the value of binary expansions for general mixed-integer linear programs. Oper. Res. 50(5), 810–819 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  19. 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)

    MATH  Google Scholar 

  20. Sen, S.: Stochastic Mixed-Integer Programming Algorithms: Beyond Benders’ Decomposition. Wiley, London (2010)

    Google Scholar 

  21. 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)

    Article  MATH  MathSciNet  Google Scholar 

  22. 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)

    Chapter  Google Scholar 

  23. 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)

    Article  MATH  MathSciNet  Google Scholar 

  24. 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)

    Article  MATH  MathSciNet  Google Scholar 

  25. 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)

    Article  MATH  MathSciNet  Google Scholar 

  26. Wollmer, R.D.: Two-stage linear programming under uncertainty with 0–1 integer first stage variables. Math. Program. 19(3), 279–288 (1980)

    Article  MATH  MathSciNet  Google Scholar 

  27. 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)

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Suvrajeet Sen.

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.

$$\begin{aligned} \min \quad&\sum _{j\in J} c_j x_j - \mathsf {E}[f(x,\tilde{\omega })] \end{aligned}$$
(52a)
$$\begin{aligned} \mathbf{s.t. } \quad&\sum _{j \in J}x_j \le r, \end{aligned}$$
(52b)
$$\begin{aligned}&x_j \in \{0,1, \ldots , u\}, \quad \forall j \in J, \end{aligned}$$
(52c)

where

$$\begin{aligned} \mathsf {E}[f(x,\tilde{\omega })] = \sum _{\omega \in \Omega }p(\omega ) f(x, \omega ) \end{aligned}$$
(53)

For any x satisfying (52b, 52c) and \(\omega \in \Omega \),

$$\begin{aligned} f(x,\omega ) = \min \quad&- \sum _{i \in I}\sum _{j \in J}q_{ij} y_{ij}+\sum _{j \in J}q_{j0}y_{j0} \end{aligned}$$
(54a)
$$\begin{aligned} \mathbf{s.t. } \quad&\sum _{i \in I}d_{ij}y_{ij}-y_{j0}\le w x_j, \quad \forall j \in J, \end{aligned}$$
(54b)
$$\begin{aligned}&\sum _{j \in J}y_{ij} = h^i(\omega ), \quad \forall i \in I, \end{aligned}$$
(54c)
$$\begin{aligned}&y_{ij} \in \{0,1,2,\ldots , v\}, \quad \forall i \in I, j \in J, \end{aligned}$$
(54d)
$$\begin{aligned}&y_{j0} \ge 0, \quad \forall j \in J. \end{aligned}$$
(54e)

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

Fig. 2
figure 2

Master problem B&B tree for \(\mathbf {ABC}\) algorithm with CPT-D on Example 1.1

Fig. 3
figure 3

Master problem B&B tree for \(\mathbf {ABC}\) algorithm with BB-D on Example 1.1

Fig. 4
figure 4

\(\mathcal {G}_x (t),\mathcal {G}_z (t, \omega )\) for \(\mathbf {ABC}\) algorithm with CPT-D on Example 1.1

Fig. 5
figure 5

\(\mathcal {G}_x (t),\mathcal {G}_z (t, \omega )\) for \(\mathbf {ABC}\) algorithm with BB-D on Example 1.1

Fig. 6
figure 6

Log-log plot of running time and scenarios for \(\mathbf {ABC}\)/BB-D for instances in Table 9

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10107-016-1006-6

Keywords

Mathematics Subject Classification

Navigation