Reinforcement Learning for Variable Selection in a Branch and Bound Algorithm
About
Mixed integer linear programs are commonly solved by Branch and Bound algorithms. A key factor of the efficiency of the most successful commercial solvers is their fine-tuned heuristics. In this paper, we leverage patterns in real-world instances to learn from scratch a new branching strategy optimised for a given problem and compare it with a commercial solver. We propose FMSTS, a novel Reinforcement Learning approach specifically designed for this task. The strength of our method lies in the consistency between a local value function and a global metric of interest. In addition, we provide insights for adapting known RL techniques to the Branch and Bound setting, and present a new neural network architecture inspired from the literature. To our knowledge, it is the first time Reinforcement Learning has been used to fully optimise the branching strategy. Computational experiments show that our method is appropriate and able to generalise well to new instances.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Mixed Integer Linear Programming Branching | MILP Standard Suite (test) | Set Covering Time (s)0.83 | 10 | |
| MILP Solving | Maximum independent set larger size (transfer) | Search Tree Nodes2.77e+3 | 10 | |
| MILP Solving | Combinatorial auctions (test) | Search Tree Nodes86.7 | 10 | |
| Mixed Integer Linear Programming Branching | MILP Suite Transfer instances Standard | Set Covering Time (s)71.3 | 10 | |
| MILP Solving | Combinatorial auctions larger size (transfer) | Nodes Explored1.91e+3 | 10 | |
| MILP Solving | Set covering same size as training (test) | Search Tree Nodes196.3 | 10 | |
| MILP Solving | Set covering transfer larger size | Nodes Explored853.3 | 10 | |
| MILP Solving | Maximum independent set same size as training (test) | Search Tree Nodes91.8 | 10 | |
| MILP Solving | Multiple knapsack (train) | Search Tree Nodes266.4 | 9 | |
| MILP Solving | Multiple knapsack Transfer | Nodes Explored2.26e+4 | 9 |