Article ID: | iaor20172482 |
Volume: | 29 |
Issue: | 3 |
Start Page Number: | 544 |
End Page Number: | 557 |
Publication Date: | Aug 2017 |
Journal: | INFORMS Journal on Computing |
Authors: | Fukasawa Ricardo, Poirrier Laurent |
Keywords: | combinatorial optimization, programming: integer, heuristics, programming: branch and bound |
The resolution of integer programming problems is typically performed via branch and bound. Nodes of the branch‐and‐bound tree are pruned whenever the corresponding subproblem is proven not to contain a solution better than the best solution found so far. This is a key ingredient for achieving reasonable solution times. However, since subproblems are solved in floating‐point arithmetic, numerical errors can occur and may lead to inappropriate pruning. As a consequence, optimal solutions may be cut off. We propose several methods for avoiding this issue, in the special case of a branch‐cut‐and‐price formulation for the capacitated vehicle routing problem. The methods are based on constructing dual feasible solutions for the linear programming relaxations of the subproblems and obtaining, by weak duality, bounds on their objective function value. Such approaches have been proposed before for formulations with a small number of variables (dual constraints), but the problem becomes more complex when the number of variables is exponentially large, which is the case in consideration. We show that, in practice, along with being safe, our bounds are stronger than those usually employed, obtained with unsafe floating‐point arithmetic plus some heuristic tolerance, and all of this at a negligible computational cost. We also discuss some potential advantages and other uses of our safe bounds derivation. The online supplement is available at https://doi.org/10.1287/ijoc.2017.0747.