Learning to Schedule Heuristics in Branch-and-Bound
About
Primal heuristics play a crucial role in exact solvers for Mixed Integer Programming (MIP). While solvers are guaranteed to find optimal solutions given sufficient time, real-world applications typically require finding good solutions early on in the search to enable fast decision-making. While much of MIP research focuses on designing effective heuristics, the question of how to manage multiple MIP heuristics in a solver has not received equal attention. Generally, solvers follow hard-coded rules derived from empirical testing on broad sets of instances. Since the performance of heuristics is instance-dependent, using these general rules for a particular problem might not yield the best performance. In this work, we propose the first data-driven framework for scheduling heuristics in an exact MIP solver. By learning from data describing the performance of primal heuristics, we obtain a problem-specific schedule of heuristics that collectively find many solutions at minimal cost. We provide a formal description of the problem and propose an efficient algorithm for computing such a schedule. Compared to the default settings of a state-of-the-art academic MIP solver, we are able to reduce the average primal integral by up to 49% on a class of challenging instances.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Mixed Integer Programming | DIMACS GISP (test) | Primal Integral470.7 | 3 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [150,160] | Primal Integral Improvement Rate69 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [200,210] | Primal Integral Improvement Rate0.69 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances | Primal Integral Improvement Fraction68 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [300,310] | Primal Integral Improvement Fraction72 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [350,360] | Primal Integral Improvement Fraction76 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [400,410] | Primal Integral Improvement75 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [450,460] | Primal Integral Improvement Rate0.75 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [500,510] | Primal Integral Improvement Fraction68 | 1 | |
| Heuristic Scheduling in Branch-and-Bound | Random GISP instances [550,560] | Primal Integral Improvement Fraction70 | 1 |