Finding Backdoors to Integer Programs: A Monte Carlo Tree Search Framework

In Mixed Integer Linear Programming (MIP), a (strong) backdoor is a “small” subset of an instance’s integer variables with the following property: in a branch-and-bound procedure, the instance can be solved to global optimality by branching only on the variables in the backdoor. Constructing datasets of pre-computed backdoors for widely used MIP benchmark sets or particular problem families can enable new questions around novel structural properties of a MIP, or explain why a problem that is hard in theory can be solved efficiently in practice. Existing algorithms for finding backdoors rely on sampling candidate variable subsets in various ways, an approach which has demonstrated the existence of backdoors for some instances from MIPLIB2003 and MIPLIB2010. However, these algorithms fall short of consistently succeeding at the task due to an imbalance between exploration and exploitation. We propose BaMCTS, a Monte Carlo Tree Search framework for finding backdoors to MIPs. Extensive algorithmic engineering, hybridization with traditional MIP concepts, and close integration with the CPLEX solver have enabled our method to outperform baselines on MIPLIB2017 instances, finding backdoors more frequently and more efficiently.

[1]  Michael Kaufmann,et al.  Computation of Renameable Horn Backdoors , 2008, SAT.

[2]  Demis Hassabis,et al.  Mastering the game of Go without human knowledge , 2017, Nature.

[3]  Ruiyang Xu,et al.  First-Order Problem Solving through Neural MCTS based Reinforcement Learning , 2021, ArXiv.

[4]  Timo Berthold,et al.  Hybrid Branching , 2009, CPAIOR.

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

[6]  David Silver,et al.  Combining online and offline knowledge in UCT , 2007, ICML '07.

[7]  Peter Auer,et al.  Finite-time Analysis of the Multiarmed Bandit Problem , 2002, Machine Learning.

[8]  Gregor Hendel Empirical Analysis of Solving Phases in Mixed Integer Programming , 2014 .

[9]  Michèle Sebag,et al.  Bandit-Based Search for Constraint Programming , 2013, CP.

[10]  Lakhdar Sais,et al.  Computing Horn Strong Backdoor Sets Thanks to Local Search , 2006, 2006 18th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'06).

[11]  Martin W. P. Savelsbergh,et al.  A Computational Study of Search Strategies for Mixed Integer Programming , 1999, INFORMS J. Comput..

[12]  William J. Cook Markowitz and Manne + Eastman + Land and Doig = Branch and Bound , 2012 .

[13]  Peter van Beek,et al.  Finding Small Backdoors in SAT Instances , 2011, Canadian Conference on AI.

[14]  Bart Selman,et al.  Backdoors To Typical Case Complexity , 2003, IJCAI.

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

[16]  Gregor Hendel,et al.  Enhancing MIP Branching Decisions by Using the Sample Variance of Pseudo Costs , 2015, CPAIOR.

[17]  Yuri Malitsky,et al.  Backdoors to Combinatorial Optimization: Feasibility and Optimality , 2009, CPAIOR.

[18]  Nataliya Sokolovska,et al.  Continuous Upper Confidence Trees , 2011, LION.

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

[20]  Toby Walsh,et al.  Estimating Search Tree Size , 2006, AAAI.

[21]  Simon M. Lucas,et al.  A Survey of Monte Carlo Tree Search Methods , 2012, IEEE Transactions on Computational Intelligence and AI in Games.

[22]  Nicolas Beldiceanu,et al.  Integration of AI and OR Techniques in Contraint Programming for Combinatorial Optimzation Problems , 2012, Lecture Notes in Computer Science.

[23]  Andrea Lodi,et al.  Performance Variability in Mixed-Integer Programming , 2013 .

[24]  Pierre Le Bodic,et al.  Estimating the Size of Branch-and-Bound Trees , 2020, INFORMS J. Comput..

[25]  Matteo Fischetti,et al.  Exploiting Erraticism in Search , 2014, Oper. Res..

[26]  Csaba Szepesvári,et al.  Bandit Based Monte-Carlo Planning , 2006, ECML.

[27]  Ted K. Ralphs,et al.  Integer and Combinatorial Optimization , 2013 .

[28]  Makoto Yokoo,et al.  Real-Time Solving of Quantified CSPs Based on Monte-Carlo Game Tree Search , 2011, IJCAI.

[29]  Fabien Teytaud,et al.  Optimization of the Nested Monte-Carlo Algorithm on the Traveling Salesman Problem with Time Windows , 2011, EvoApplications.

[30]  Michèle Sebag,et al.  Feature Selection as a One-Player Game , 2010, ICML.

[31]  Mykel J. Kochenderfer,et al.  A Comparison of Monte Carlo Tree Search and Mathematical Optimization for Large Scale Dynamic Resource Allocation , 2014, ArXiv.

[32]  Thorsten Koch,et al.  Branching rules revisited , 2005, Oper. Res. Lett..

[33]  Matteo Fischetti,et al.  Backdoor Branching , 2011, INFORMS J. Comput..

[34]  Rémi Coulom,et al.  Computing "Elo Ratings" of Move Patterns in the Game of Go , 2007, J. Int. Comput. Games Assoc..