Adaptive large neighborhood search for mixed integer programming

Large Neighborhood Search (LNS) heuristics are among the most powerful but also most expensive heuristics for mixed integer programs (MIP). Ideally, a solver learns adaptively which LNS heuristics work best for the MIP problem at hand in order to concentrate its limited computational budget. To this end, this work introduces Adaptive Large Neighborhood Search (ALNS) for MIP, a primal heuristic that acts a framework for eight popular LNS heuristics such as Local Branching and Relaxation Induced Neighborhood Search (RINS). We distinguish the available LNS heuristics by their individual search domains, which we call neighborhoods. The decision which neighborhood should be executed is guided by selection strategies for the multi armed bandit problem, a related optimization problem during which suitable actions have to be chosen to maximize a reward function. In this paper, we propose an LNS-specific reward function to learn to distinguish between the available neighborhoods based on successful calls and failures. A second, algorithmic enhancement is a generic variable fixing priorization, which ALNS employs to adjust the subproblem complexity as needed. This is particularly useful for some neighborhoods which do not fix variables by themselves. The proposed primal heuristic has been implemented within the MIP solver SCIP. An extensive computational study is conducted to compare different LNS strategies within our ALNS framework on a large set of publicly available MIP instances from the MIPLIB and Coral benchmark sets. The results of this simulation are used to calibrate the parameters of the bandit selection strategies. A second computational experiment shows the computational benefits of the proposed ALNS framework within the MIP solver SCIP.

[1]  Timo Berthold,et al.  MIPLIB 2017: data-driven compilation of the 6th mixed-integer programming library , 2021, Mathematical Programming Computation.

[2]  R. J. Dakin,et al.  A tree-search algorithm for mixed integer programming problems , 1965, Comput. J..

[3]  Thorsten Koch,et al.  Progress in presolving for mixed integer programming , 2015, Math. Program. Comput..

[4]  Timo Berthold,et al.  Structure-based primal heuristics for mixed integer programming , 2016 .

[5]  Jakob Witzig,et al.  Adaptive Algorithmic Behavior for Solving Mixed Integer Programs Using Bandit Algorithms , 2018, OR.

[6]  Andrea Lodi,et al.  MIPLIB 2010 , 2011, Math. Program. Comput..

[7]  D. Godard,et al.  Self-Adapting Large Neighborhood Search: Application to Single-Mode Scheduling Problems , 2007 .

[8]  David A. Bader,et al.  Alternating criteria search: a parallel large neighborhood search algorithm for mixed integer programs , 2018, Comput. Optim. Appl..

[9]  Sébastien Bubeck,et al.  Regret Analysis of Stochastic and Nonstochastic Multi-armed Bandit Problems , 2012, Found. Trends Mach. Learn..

[10]  Thorsten Koch,et al.  Konrad-zuse-zentrum F ¨ Ur Informationstechnik Berlin Miplib 2003 , 2022 .

[11]  W. Marsden I and J , 2012 .

[12]  A. Land,et al.  An Automatic Method for Solving Discrete Programming Problems , 1960, 50 Years of Integer Programming.

[13]  Ralf Borndörfer,et al.  A Configuration Model for the Line Planning Problem , 2013, ATMOS.

[14]  David Pisinger,et al.  A general heuristic for vehicle routing problems , 2007, Comput. Oper. Res..

[15]  George L. Nemhauser,et al.  Learning to Run Heuristics in Tree Search , 2017, IJCAI.

[16]  Claude Le Pape,et al.  Exploring relaxation induced neighborhoods to improve MIP solutions , 2005, Math. Program..

[17]  Ashish Sabharwal,et al.  Guiding Combinatorial Optimization with UCT , 2012, CPAIOR.

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

[19]  Timo Berthold,et al.  Rounding and Propagation Heuristics for Mixed Integer Programming , 2011, OR.

[20]  Matteo Fischetti,et al.  Proximity search for 0-1 mixed-integer convex programming , 2014, J. Heuristics.

[21]  Tobias Achterberg,et al.  SCIP: solving constraint integer programs , 2009, Math. Program. Comput..

[22]  Timo Berthold RENS: The optimal rounding , 2014 .

[23]  Matteo Fischetti,et al.  Local branching , 2003, Math. Program..

[24]  Matteo Fischetti,et al.  Repairing MIP infeasibility through local branching , 2008, Comput. Oper. Res..

[25]  Matteo Fischetti,et al.  Feasibility pump 2.0 , 2009, Math. Program. Comput..

[26]  Edward Rothberg,et al.  An Evolutionary Algorithm for Polishing Mixed Integer Programming Solutions , 2007, INFORMS J. Comput..