Implementing the branch-and-cut approach for a general purpose Benders' decomposition framework

Abstract Benders’ decomposition is a popular mathematical and constraint programming algorithm that is widely applied to exploit problem structure arising from real-world applications. While useful for exploiting structure in mathematical and constraint programs, the use of Benders’ decomposition typically requires significant implementation effort to achieve an effective solution algorithm. Traditionally, Benders’ decomposition has been viewed as a problem specific algorithm, which has limited the development of general purpose algorithms and software solutions. This paper presents a general purpose Benders’ decomposition algorithm that is capable of handling many classes of mathematical and constraint programs and provides extensive flexibility in the implementation and use of this algorithm. A branch-and-cut approach for Benders’ decomposition has been implemented within the constraint integer programming solver SCIP using a plugin-based design to allow for a wide variety of extensions and customisations to the algorithm. The effectiveness of the Benders’ decomposition algorithm and available enhancement techniques is assessed in a comprehensive computational study.

[1]  Matthew J. Saltzman,et al.  Parallel branch, cut, and price for large-scale discrete optimization , 2003, Math. Program..

[2]  Jorge J. Moré,et al.  Digital Object Identifier (DOI) 10.1007/s101070100263 , 2001 .

[3]  Nikolaos Papadakos,et al.  Integrated airline scheduling , 2009, Comput. Oper. Res..

[4]  Timo Berthold,et al.  Measuring the impact of primal heuristics , 2013, Oper. Res. Lett..

[5]  Michel Gendreau,et al.  The Benders decomposition algorithm: A literature review , 2017, Eur. J. Oper. Res..

[6]  Peter J. Stuckey,et al.  Dantzig-Wolfe decomposition and branch-and-price solving in G12 , 2009, Constraints.

[7]  Victor M. Zavala,et al.  Algorithmic innovations and software for the dual decomposition method applied to stochastic mixed-integer programs , 2017, Mathematical Programming Computation.

[8]  Samir Elhedhli,et al.  An interior-point Benders based branch-and-cut algorithm for mixed integer programs , 2010, Annals of Operations Research.

[9]  J. F. Benders Partitioning procedures for solving mixed-variables programming problems , 1962 .

[10]  M. D. Devine,et al.  A Modified Benders' Partitioning Algorithm for Mixed Integer Programming , 1977 .

[11]  Benjamin Müller,et al.  The SCIP Optimization Suite 3.2 , 2016 .

[12]  A. M. Geoffrion,et al.  Multicommodity Distribution System Design by Benders Decomposition , 1974 .

[13]  Robert Schwarz,et al.  PySCIPOpt: Mathematical Programming in Python with the SCIP Optimization Suite , 2016, ICMS.

[14]  Stephen J. Maher Enhancing large neighbourhood search heuristics for Benders' decomposition , 2021, J. Heuristics.

[15]  A. M. Geoffrion Generalized Benders decomposition , 1972 .

[16]  Benjamin Müller,et al.  The SCIP Optimization Suite 5.0 , 2017, 2112.08872.

[17]  Guy Desaulniers,et al.  Recoverable robust single day aircraft maintenance routing problem , 2013, Comput. Oper. Res..

[18]  K. A. Ariyawansa,et al.  On a New Collection of Stochastic Linear Programming Test Problems , 2004, INFORMS J. Comput..

[19]  David L. Woodruff,et al.  Pyomo: modeling and solving mathematical programs in Python , 2011, Math. Program. Comput..

[20]  Nikolaos Papadakos,et al.  Practical enhancements to the Magnanti-Wong method , 2008, Oper. Res. Lett..

[21]  Matteo Fischetti,et al.  Combinatorial Benders' Cuts for Mixed-Integer Linear Programming , 2006, Oper. Res..

[22]  Martin W. P. Savelsbergh,et al.  MINTO, a mixed INTeger optimizer , 1994, Oper. Res. Lett..

[23]  Jean-François Cordeau,et al.  Benders Decomposition for Simultaneous Aircraft Routing and Crew Scheduling , 2000, Transp. Sci..

[24]  Cosmin G. Petra,et al.  Parallel Algebraic Modeling for Stochastic Optimization , 2014, 2014 First Workshop for High Performance Technical Computing in Dynamic Languages.

[25]  John M. Mulvey,et al.  A New Scenario Decomposition Method for Large-Scale Stochastic Optimization , 1995, Oper. Res..

[26]  Gilbert Laporte,et al.  The integer L-shaped method for stochastic integer programs with complete recourse , 1993, Oper. Res. Lett..

[27]  Sanjeeb Dash,et al.  Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse , 2017, INFORMS J. Comput..

[28]  Marc Goetschalckx,et al.  A stochastic programming approach for supply chain network design under uncertainty , 2004, Eur. J. Oper. Res..

[29]  Thomas L. Magnanti,et al.  Accelerating Benders Decomposition: Algorithmic Enhancement and Model Selection Criteria , 1981, Oper. Res..

[30]  Michael Poss,et al.  An improved Benders decomposition applied to a multi-layer network design problem , 2009, Oper. Res. Lett..

[31]  Gary Froyland,et al.  The Recoverable Robust Tail Assignment Problem , 2014, Transp. Sci..

[32]  Matthew J. Saltzman,et al.  Computational Experience with a Software Framework for Parallel Integer Programming , 2009, INFORMS J. Comput..

[33]  Alan J. King,et al.  A Standard Input Format for Multiperiod Stochastic Linear Programs , 1987 .

[34]  David L. Woodruff,et al.  PySP: modeling and solving stochastic programs in Python , 2012, Mathematical Programming Computation.

[35]  Jean-François Cordeau,et al.  A computational study of Benders decomposition for the integrated aircraft routing and crew scheduling problem , 2003, Comput. Oper. Res..

[36]  Matteo Fischetti,et al.  Redesigning Benders Decomposition for Large-Scale Facility Location , 2017, Manag. Sci..

[37]  Ted K. Ralphs,et al.  The Symphony Callable Library for Mixed Integer Programming , 2005 .

[38]  Gautam Mitra,et al.  A computational study of a solver system for processing two-stage stochastic LPs with enhanced Benders decomposition , 2012, Math. Program. Comput..

[39]  Erlendur S. Thorsteinsson Branch-and-Check: A Hybrid Framework Integrating Mixed Integer Programming and Constraint Logic Programming , 2001, CP.

[40]  Shabbir Ahmed,et al.  Improving the Integer L-Shaped Method , 2016, INFORMS J. Comput..

[41]  Ivana Ljubić,et al.  The recoverable robust facility location problem , 2015 .

[42]  Michael Poss,et al.  Benders Decomposition for the Hop-Constrained Survivable Network Design Problem , 2013, INFORMS J. Comput..

[43]  Alberto Ceselli,et al.  Automatic Dantzig–Wolfe reformulation of mixed integer programs , 2014, Mathematical Programming.

[44]  Michael Jünger,et al.  The ABACUS system for branch‐and‐cut‐and‐price algorithms in integer programming and combinatorial optimization , 2000, Softw. Pract. Exp..

[45]  Cosmin G. Petra,et al.  On Parallelizing Dual Decomposition in Stochastic Integer Programming , 2012, Oper. Res. Lett..

[46]  Leslie E. Trotter,et al.  Branch, Cut, and Price: Sequential and Parallel , 2000, Computational Combinatorial Optimization.

[47]  Feng Pan,et al.  Minimizing a stochastic maximum‐reliability path , 2008, Networks.

[48]  J. Wang,et al.  Computational Experience with Generic Decomposition using the DIP Framework , 2012 .