TITLE:  Learning to Branch in Mixed Integer Programming

ABSTRACT:

Choosing good variables to branch on often leads to a dramatic reduction in terms of the number of nodes needed to solve an instance. The design of strategies for branching in Mixed Integer Programming (MIP) is guided by cycles of parameter tuning and offline experimentation on an extremely heterogeneous testbed, using the average performance. Once devised, these strategies (and the values of their parameters) are essentially input-agnostic. To address these issues, we develop a novel framework for data-driven, on-the-fly design of variable selection strategies. By leveraging recent advances in supervised ranking, we aim to produce strategies that gather the best of all properties: 1) using a small number of search nodes approaching the good performance of SB, 2) maintaining a low computation footprint as in PC, and 3) selecting variables adaptively based on the properties of the given instance. Based on a limited number of observed Strong Branching decisions at the start of the search and a set of dynamic features computed for each candidate variable at a search node, we learn an easy-to-evaluate surrogate function that mimics the SB strategy by solving a ``learning-to-rank'' problem, common in ML. We will show an instantiation of this framework using CPLEX, a state-of-the-art MIP solver, and evaluate performance the MIPLIB benchmark.

 

This is joint work with Elias Khalil, Le Song, Pierre Le Bodic and George Nemhauser.