Implementing the branch-and-cut approach for a general purpose Benders’ decomposition framework - Maher, Stephen J. (European journal of operational research, 2021)
•The development of a general purpose framework for applying Benders’ decomposition.•Detailed discussion of the branch-and-cut approach for Benders’ decomposition.•Flexible framework for employing the Benders’ decomposition algorithm.•Automatic structure detection and application of Benders’ decomposition.•Comprehensive computational study of classical and novel enhancement techniques. 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.