Parameterizing Branch-and-Bound Search Trees to Learn Branching Policies

Branch and Bound (B&B) is the exact tree search method typically used to solve Mixed-Integer Linear Programming problems (MILPs). Learning branching policies for MILP has become an active research area, with most works proposing to imitate the strong branching rule and specialize it to distinct classes of problems. We aim instead at learning a policy that generalizes across heterogeneous MILPs: our main hypothesis is that parameterizing the state of the B&B search tree can aid this type of generalization. We propose a novel imitation learning framework, and introduce new input features and architectures to represent branching. Experiments on MILP benchmark instances clearly show the advantages of incorporating an explicit parameterization of the state of the search tree to modulate the branching decisions, in terms of both higher accuracy and smaller B&B trees. The resulting policies significantly outperform the current state-of-the-art method for "learning to branch" by effectively allowing generalization to generic unseen instances.

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

[2]  Amit Kumar Mishra,et al.  ExGate: Externally Controlled Gating for Feature-based Attention in Artificial Neural Networks , 2018, ArXiv.

[3]  Andrea Lodi,et al.  Learning MILP Resolution Outcomes Before Reaching Time-Limit , 2019, CPAIOR.

[4]  Kaiming He,et al.  Group Normalization , 2018, ECCV.

[5]  Andrea Lodi,et al.  Mixed Integer Programming Computation , 2010, 50 Years of Integer Programming.

[6]  Jonathon Shlens,et al.  Explaining and Harnessing Adversarial Examples , 2014, ICLR.

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

[8]  Martin W. P. Savelsbergh,et al.  An Updated Mixed Integer Programming Library: MIPLIB 3.0 , 1998 .

[9]  Phil Blunsom,et al.  Mogrifier LSTM , 2020, ICLR.

[10]  Le Song,et al.  Learning to Branch in Mixed Integer Programming , 2016, AAAI.

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

[12]  Dean Pomerleau,et al.  Efficient Training of Artificial Neural Networks for Autonomous Navigation , 1991, Neural Computation.

[13]  Peter Sunehag,et al.  Reinforcement Learning in Large Discrete Action Spaces , 2015, ArXiv.

[14]  Jimmy Ba,et al.  Adam: A Method for Stochastic Optimization , 2014, ICLR.

[15]  Philip S. Thomas,et al.  Lifelong Learning with a Changing Action Set , 2019, AAAI.

[16]  Sebastian Stiller,et al.  Cuts, Primal Heuristics, and Learning to Branch for the Time-Dependent Traveling Salesman Problem , 2018, 1805.01415.

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

[18]  Yoshua Bengio,et al.  Machine Learning for Combinatorial Optimization: a Methodological Tour d'Horizon , 2018, Eur. J. Oper. Res..

[19]  Yuri Malitsky,et al.  DASH: Dynamic Approach for Switching Heuristics , 2013, Eur. J. Oper. Res..

[20]  Jürgen Schmidhuber,et al.  Long Short-Term Memory , 1997, Neural Computation.

[21]  Ailsa H. Land,et al.  An Automatic Method of Solving Discrete Programming Problems , 1960 .

[22]  Natalia Gimelshein,et al.  PyTorch: An Imperative Style, High-Performance Deep Learning Library , 2019, NeurIPS.

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

[24]  Louis Wehenkel,et al.  A Machine Learning-Based Approximation of Strong Branching , 2017, INFORMS J. Comput..

[25]  Thorsten Koch,et al.  From feasibility to improvement to proof: three phases of solving mixed-integer programs , 2018, Optim. Methods Softw..

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

[27]  Philip S. Thomas,et al.  Learning Action Representations for Reinforcement Learning , 2019, ICML.

[28]  Andrea Lodi,et al.  On learning and branching: a survey , 2017 .

[29]  Christoph Schubert,et al.  Measuring the Impact of Branching Rules for Mixed-Integer Programming , 2017, OR.

[30]  Li Fei-Fei,et al.  CLEVR: A Diagnostic Dataset for Compositional Language and Elementary Visual Reasoning , 2016, 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[31]  Sewoong Oh,et al.  Learning in Gated Neural Networks , 2019, AISTATS.

[32]  Masahiro Ono,et al.  Learning to Search via Retrospective Imitation , 2018, 1804.00846.

[33]  Kaiming He,et al.  Feature Pyramid Networks for Object Detection , 2016, 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[34]  Yoshua Bengio,et al.  Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling , 2014, ArXiv.

[35]  Maria-Florina Balcan,et al.  Learning to branch: Generalization guarantees and limits of data-independent discretization , 2018, ICML.

[36]  Andrea Lodi,et al.  Exact Combinatorial Optimization with Graph Convolutional Neural Networks , 2019, NeurIPS.

[37]  Sergey Ioffe,et al.  Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift , 2015, ICML.

[38]  David Applegate,et al.  Finding Cuts in the TSP (A preliminary report) , 1995 .

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

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

[41]  G. Nemhauser,et al.  Integer Programming , 2020 .

[42]  Richard Evans,et al.  Deep Reinforcement Learning in Large Discrete Action Spaces , 2015, 1512.07679.

[43]  Tobias Achterberg,et al.  Constraint integer programming , 2007 .

[44]  Jitendra Malik,et al.  Beyond Skip Connections: Top-Down Modulation for Object Detection , 2016, ArXiv.

[45]  Marco Baroni,et al.  Still not systematic after all these years: On the compositional skills of sequence-to-sequence recurrent networks , 2017, ICLR 2018.

[46]  He He,et al.  Learning to Search in Branch and Bound Algorithms , 2014, NIPS.

[47]  George L. Nemhauser,et al.  An abstract model for branching and its application to mixed integer programming , 2015, Math. Program..

[48]  Tobias Achterberg,et al.  Mixed Integer Programming: Analyzing 12 Years of Progress , 2013 .

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