Branch-and-bound is the workhorse of all state-of-the-art mixed integer linear programming (MILP) solvers. These implementations of branch-and-bound typically use variable branching, that is, the child nodes are obtained by fixing some variable to an integer value $v$ in one node and to $v + 1$ in the other node. Even though modern MILP solvers are able to solve very large-scale instances efficiently, relatively little attention has been given to understanding why the underlying branch-and-bound algorithm performs so well. In this paper our goal is to theoretically analyze the performance of the standard variable branching based branch-and-bound algorithm. In order to avoid the exponential worst-case lower bounds, we follow the common idea of considering random instances. More precisely, we consider random integer programs where the entries of the coefficient matrix and the objective function are randomly sampled. Our main result is that with good probability branch-and-bound with variable branching explores only a polynomial number of nodes to solve these instances, for a fixed number of constraints. To the best of our knowledge this is the first known such result for a standard version of branch-and-bound. We believe that this result provides a compelling indication of why branch-and-bound with variable branching works so well in practice.
翻译:分支和约束是所有最先进的混合整形线性编程( MILP) 的解决方案。 这些执行分支和约束分支通常使用可变分支, 即子节点是通过在一个节点中将某些变量固定为整数值$v$, 并在另一个节点中固定为 $v+1美元获得的。 尽管现代的 MILP 解算器能够有效地解决非常大规模的情况, 但对于理解基础分支和约束算法为何表现如此出色, 却相对很少注意。 在本文中, 我们的目标是从理论上分析基于分支和约束的标准可变分支的功能。 为了避免指数性最坏的下限, 我们遵循随机实例考虑的共同想法。 更精确地说, 我们考虑随机的整数程序, 其中系数矩阵的输入和目标函数是随机抽样的。 我们的主要结果是, 极有可能的分支和可变的分支只探索解决这些情况的多位节点数, 以固定的制约数为准。 我们最相信的是, 这个分支和最有说服力的分支的结果是这个分支的版本。