Learning a Large Neighborhood Search Algorithm for Mixed Integer Programs
About
Large Neighborhood Search (LNS) is a combinatorial optimization heuristic that starts with an assignment of values for the variables to be optimized, and iteratively improves it by searching a large neighborhood around the current assignment. In this paper we consider a learning-based LNS approach for mixed integer programs (MIPs). We train a Neural Diving model to represent a probability distribution over assignments, which, together with an off-the-shelf MIP solver, generates an initial assignment. Formulating the subsequent search steps as a Markov Decision Process, we train a Neural Neighborhood Selection policy to select a search neighborhood at each step, which is searched using a MIP solver to find the next assignment. The policy network is trained using imitation learning. We propose a target policy for imitation that, given enough compute resources, is guaranteed to select the neighborhood containing the optimal next assignment amongst all possible choices for the neighborhood of a specified size. Our approach matches or outperforms all the baselines on five real-world MIP datasets with large-scale instances from diverse applications, including two production applications at Google. It achieves $2\times$ to $37.8\times$ better average primal gap than the best baseline on three of the datasets at large running times.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Minimum Vertex Cover | MVC 1000 nodes (In-Distribution) | Objective Value443.5 | 17 | |
| Integer Linear Programming | MIPLIB scpj4scip 2017 | Objective Value2.94e+3 | 7 | |
| Integer Linear Programming | MIPLIB cvs16r128-89 2017 | Objective Value-97 | 7 | |
| Integer Linear Programming | MIPLIB ex1010-pi 2017 | Objective Value249 | 7 | |
| Integer Linear Programming | MIPLIB queens-30 2017 | Objective Value-39 | 7 | |
| Integer Linear Programming | MIPLIB sorrell3 2017 | Objective Value-16 | 7 | |
| Integer Linear Programming | MIPLIB d20200 2017 | Objective Value1.33e+4 | 7 | |
| Integer Linear Programming | MIPLIB v150d30-2hopcds 2017 | Objective Value41 | 7 | |
| Combinatorial Auction | CA 2000 items/bids (Out-of-Distribution) | Objective Value-6.31e+4 | 7 | |
| Integer Linear Programming | MIPLIB eil33-2 2017 | Objective Value987.7 | 7 |