Branch-and-Bound Solves Random Binary Packing IPs in Polytime

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 packing 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.

[1]  Arjen K. Lenstra,et al.  Market Split and Basis Reduction: Towards a Solution of the Cornue'jols-Dawande Instances , 1999, INFORMS J. Comput..

[2]  Thorsten Koch,et al.  Branching rules revisited , 2005, Oper. Res. Lett..

[3]  René Beier,et al.  Probabilistic analysis of knapsack core algorithms , 2004, SODA '04.

[4]  Takeshi Tokuyama,et al.  Bounding the number of k-faces in arrangements of hyperplanes , 1991, Discret. Appl. Math..

[5]  Kenneth J. Giuliani Factoring Polynomials with Rational Coeecients , 1998 .

[6]  G. Nemhauser,et al.  Integer Programming , 2020 .

[7]  John N. Tsitsiklis,et al.  Introduction to linear optimization , 1997, Athena scientific optimization and computation series.

[8]  Martin W. P. Savelsbergh,et al.  A Computational Study of Search Strategies for Mixed Integer Programming , 1999, INFORMS J. Comput..

[9]  Vijay V. Vazirani,et al.  Approximation Algorithms , 2001, Springer Berlin Heidelberg.

[10]  K. Ball Cube slicing in ⁿ , 1986 .

[11]  Robert E. Bixby,et al.  Progress in computational mixed integer programming—A look back from the other side of the tipping point , 2007, Ann. Oper. Res..

[12]  Marco Molinaro,et al.  Analysis of Sparse Cutting Planes for Sparse MILPs with Applications to Stochastic MILPs , 2016, Math. Oper. Res..

[13]  Martin E. Dyer,et al.  Probabilistic Analysis of the Multidimensional Knapsack Problem , 1989, Math. Oper. Res..

[14]  R. Ravi,et al.  The Geometry of Online Packing Linear Programs , 2012, Math. Oper. Res..

[15]  Marco Molinaro,et al.  Approximating polyhedra with sparse inequalities , 2015, Math. Program..

[16]  Hendrik W. Lenstra,et al.  Integer Programming with a Fixed Number of Variables , 1983, Math. Oper. Res..

[17]  Ted K. Ralphs,et al.  Integer and Combinatorial Optimization , 2013 .

[18]  David Pisinger,et al.  Where are the hard knapsack problems? , 2005, Comput. Oper. Res..

[19]  George S. Lueker,et al.  On the Average Difference between the Solutions to Linear and Integer Knapsack Problems , 1982 .

[20]  Andrew V. Goldberg,et al.  On finding the exact solution of a zero-one knapsack problem , 1984, STOC '84.

[21]  Zizhuo Wang,et al.  A Dynamic Near-Optimal Algorithm for Online Linear Programming , 2009, Oper. Res..

[22]  René Beier,et al.  Random knapsack in expected polynomial time , 2003, STOC '03.

[23]  Roman Vershynin,et al.  High-Dimensional Probability , 2018 .

[24]  Jiri Matousek,et al.  Lectures on discrete geometry , 2002, Graduate texts in mathematics.

[25]  Sanjeeb Dash,et al.  An Exponential Lower Bound on the Length of Some Classes of Branch-and-Cut Proofs , 2002, IPCO.

[26]  Ailsa H. Land,et al.  An Automatic Method of Solving Discrete Programming Problems , 1960 .

[27]  V. Koltchinskii,et al.  Oracle inequalities in empirical risk minimization and sparse recovery problems , 2011 .

[28]  Gabor Pataki,et al.  Basis reduction and the complexity of branch-and-bound , 2009, SODA '10.

[29]  Daniel E. Steffy,et al.  Verifying Integer Programming Results , 2016, IPCO.

[30]  Shang-Hua Teng,et al.  Smoothed analysis of algorithms: why the simplex algorithm usually takes polynomial time , 2001, STOC '01.