Branch-and-bound algorithms: A survey of recent advances in searching, branching, and pruning

The branch-and-bound (B&B) algorithmic framework has been used successfully to find exact solutions for a wide array of optimization problems. B&B uses a tree search strategy to implicitly enumerate all possible solutions to a given problem, applying pruning rules to eliminate regions of the search space that cannot lead to a better solution. There are three algorithmic components in B&B that can be specified by the user to fine-tune the behavior of the algorithm. These components are the search strategy, the branching strategy, and the pruning rules. This survey presents a description of recent research advances in the design of B&B algorithms, particularly with regards to these three components. Moreover, three future research directions are provided in order to motivate further exploration in these areas.

[1]  Andrea Lodi,et al.  Mixed Integer Programming Library version 5 , 2011 .

[2]  Mirjam Dür,et al.  Probabilistic subproblem selection in branch-and-bound algorithms , 2005 .

[3]  Laurence A. Wolsey,et al.  A recursive procedure to generate all cuts for 0–1 mixed integer programs , 1990, Math. Program..

[4]  Egon Balas,et al.  Intersection Cuts - A New Type of Cutting Planes for Integer Programming , 1971, Oper. Res..

[5]  Alper Atamtürk Cover and Pack Inequalities for (Mixed) Integer Programming , 2005, Ann. Oper. Res..

[6]  Christodoulos A. Floudas Generalized Benders Decomposition , 2009, Encyclopedia of Optimization.

[7]  Jacques Desrosiers,et al.  Improved Column Generation Algorithms for the Job Grouping Problem , 2013 .

[8]  Luitpold Babel,et al.  A fast algorithm for the maximum weight clique problem , 1994, Computing.

[9]  Erik Demeulemeester,et al.  The discrete time/resource trade-off problem in project networks: a branch-and-bound approach , 2000 .

[10]  E. M. L. Beale,et al.  Global optimization using special ordered sets , 1976, Math. Program..

[11]  Felip Manyà,et al.  Exploiting Unit Propagation to Compute Lower Bounds in Branch and Bound Max-SAT Solvers , 2005, CP.

[12]  Kenneth Steiglitz,et al.  Characterization and Theoretical Comparison of Branch-and-Bound Algorithms for Permutation Problems , 1974, JACM.

[13]  William J. Cook,et al.  Chvátal closures for mixed integer programming problems , 1990, Math. Program..

[14]  Thorsten Koch,et al.  Progress in presolving for mixed integer programming , 2015, Math. Program. Comput..

[15]  Gérard Cornuéjols,et al.  Valid inequalities for mixed integer linear programs , 2007, Math. Program..

[16]  M. P. Aragão,et al.  Integer Program Reformulation for Robust Branch-and-Cut-and-Price Algorithms , 2003 .

[17]  Toshihide Ibaraki,et al.  The Power of Dominance Relations in Branch-and-Bound Algorithms , 1977, JACM.

[18]  Laurence A. Wolsey,et al.  Cutting planes in integer and mixed integer programming , 2002, Discret. Appl. Math..

[19]  Jae Sang Cha,et al.  Loss Reduction in Distribution Networks Using Cyclic Best First Search , 2006, ICCSA.

[20]  Bernard Gendron,et al.  Parallel Branch-and-Branch Algorithms: Survey and Synthesis , 1994, Oper. Res..

[21]  Egon Balas,et al.  A lift-and-project cutting plane algorithm for mixed 0–1 programs , 1993, Math. Program..

[22]  J. Clausen,et al.  Branch and Bound Algorithms-Principles and Examples , 2003 .

[23]  Sheldon H. Jacobson,et al.  An application of the branch, bound, and remember algorithm to a new simple assembly line balancing dataset , 2014, Eur. J. Oper. Res..

[24]  Egon Balas,et al.  Optimizing over the split closure , 2008, Math. Program..

[25]  Leyuan Shi,et al.  Nested Partitions Method for Global Optimization , 2000, Oper. Res..

[26]  François Margot,et al.  Exploiting orbits in symmetric ILP , 2003, Math. Program..

[27]  Toshihide Ibaraki,et al.  Theoretical comparisons of search strategies in branch-and-bound algorithms , 1976, International Journal of Computer & Information Sciences.

[28]  Andrea Lodi,et al.  Performance Variability in Mixed-Integer Programming , 2013 .

[29]  Jeff T. Linderoth,et al.  Orbital branching , 2007, Math. Program..

[30]  Tobias Achterberg,et al.  Mixed Integer Programming: Analyzing 12 Years of Progress , 2013 .

[31]  J. Mitchell Branch-and-Cut Algorithms for Combinatorial Optimization Problems , 1988 .

[32]  Giovanni Rinaldi,et al.  A Branch-and-Cut Algorithm for the Resolution of Large-Scale Symmetric Traveling Salesman Problems , 1991, SIAM Rev..

[33]  George L. Nemhauser,et al.  Using diversification, communication and parallelism to solve mixed-integer linear programs , 2014, Oper. Res. Lett..

[34]  Amitava Bagchi,et al.  The multiple resource constrained project scheduling problem: A breadth-first approach , 1999, Eur. J. Oper. Res..

[35]  Jacques Desrosiers,et al.  Selected Topics in Column Generation , 2002, Oper. Res..

[36]  A M Geoffi-Ion AN IMPROVED IMPLICIT ENUMERATION APPROACH FOR INTEGER PROGRAMMING , 2005 .

[37]  Matteo Fischetti,et al.  Local branching , 2003, Math. Program..

[38]  John W. Chinneck,et al.  Faster integer-feasibility in mixed-integer linear programs by branching to force change , 2011, Comput. Oper. Res..

[39]  Torsten Fahle,et al.  Simple and Fast: Improving a Branch-And-Bound Algorithm for Maximum Clique , 2002, ESA.

[40]  Martin W. P. Savelsbergh,et al.  A Branch-and-Price Algorithm for the Generalized Assignment Problem , 1997, Oper. Res..

[41]  Sheldon H. Jacobson,et al.  A branch, bound, and remember algorithm for the 1|ri|∑ti scheduling problem , 2009, J. Sched..

[42]  Tuomas Sandholm,et al.  Information-theoretic approaches to branching in search , 2006, AAMAS '06.

[43]  Andrea Lodi,et al.  Mixed integer nonlinear programming tools: a practical overview , 2011, 4OR.

[44]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[45]  Federico Malucelli,et al.  Exact Solution of Graph Coloring Problems via Constraint Programming and Column Generation , 2012, INFORMS J. Comput..

[46]  Jordi Pereira,et al.  A branch-and-bound algorithm for assembly line worker assignment and balancing problems , 2014, Comput. Oper. Res..

[47]  P. Kolesar A Branch and Bound Algorithm for the Knapsack Problem , 1967 .

[48]  Thorsten Koch,et al.  Constraint Integer Programming: A New Approach to Integrate CP and MIP , 2008, CPAIOR.

[49]  Martin W. P. Savelsbergh,et al.  Integer-Programming Software Systems , 2005, Ann. Oper. Res..

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

[51]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[52]  Claude Le Pape,et al.  Exploring relaxation induced neighborhoods to improve MIP solutions , 2005, Math. Program..

[53]  Tore Grünert,et al.  A Hybrid Tabu Search/Branch-and-Bound Algorithm for the Direct Flight Network Design Problem , 2000, Transp. Sci..

[54]  Gerhard Reinelt,et al.  TSPLIB - A Traveling Salesman Problem Library , 1991, INFORMS J. Comput..

[55]  Hanif D. Sherali,et al.  A global optimization algorithm for polynomial programming problems using a Reformulation-Linearization Technique , 1992, J. Glob. Optim..

[56]  A. Land,et al.  An Automatic Method for Solving Discrete Programming Problems , 1960, 50 Years of Integer Programming.

[57]  David J. Slate,et al.  Chess 4.5-The Northwestern University chess program , 1988 .

[58]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[59]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[60]  Martin W. P. Savelsbergh,et al.  Restrict-and-relax search for 0-1 mixed-integer programs , 2013, EURO J. Comput. Optim..

[61]  Claude Le Pape,et al.  Branch-and-Price Heuristics: A Case Study on the Vehicle Routing Problem with Time Windows , 2005 .

[62]  Paolo Toth,et al.  An exact approach for the Vertex Coloring Problem , 2011, Discret. Optim..

[63]  John M. Wilson,et al.  Using a Hybrid Genetic-Algorithm/Branch and Bound Approach to Solve Feasibility and Optimization Integer Programming Problems , 2001, J. Heuristics.

[64]  Peter van Beek,et al.  Backtracking Search Algorithms , 2006, Handbook of Constraint Programming.

[65]  Ralph E. Gomory,et al.  Outline of an Algorithm for Integer Solutions to Linear Programs and An Algorithm for the Mixed Integer Problem , 2010, 50 Years of Integer Programming.

[66]  E. Balas,et al.  Mixed 0-1 Programming by Lift-and-Project in a Branch-and-Cut Framework , 1996 .

[67]  Marcus Poggi de Aragão,et al.  Robust branch-cut-and-price for the Capacitated Minimum Spanning Tree problem over a large extended formulation , 2007, Math. Program..

[68]  François Vanderbeck,et al.  Branching in branch-and-price: a generic scheme , 2011, Math. Program..

[69]  Pedro Meseguer Interleaved Depth-First Search , 1997, IJCAI.

[70]  Martin W. P. Savelsbergh,et al.  Branch-and-Price: Column Generation for Solving Huge Integer Programs , 1998, Oper. Res..

[71]  Sheldon Howard Jacobson,et al.  Cyclic best first search: Using contours to guide branch-and-bound algorithms , 2017 .

[72]  Jean-Charles Régin,et al.  Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems , 2004, Lecture Notes in Computer Science.

[73]  Vipin Kumar,et al.  Algorithms for Constraint-Satisfaction Problems: A Survey , 1992, AI Mag..

[74]  Béla Bollobás,et al.  Proving Integrality Gaps without Knowing the Linear Program , 2006, Theory Comput..

[75]  Laurence A. Wolsey,et al.  Valid Linear Inequalities for Fixed Charge Problems , 1985, Oper. Res..

[76]  Dzung T. Phan,et al.  Lagrangian Duality and Branch-and-Bound Algorithms for Optimal Power Flow , 2012, Oper. Res..

[77]  Matteo Fischetti,et al.  Exploiting Erraticism in Search , 2014, Oper. Res..

[78]  Sheldon H. Jacobson,et al.  Solving the Pricing Problem in a Generic Branch-and-Price Algorithm using Zero-Suppressed Binary Decision Diagrams , 2014, ArXiv.

[79]  Egon Balas,et al.  Gomory cuts revisited , 1996, Oper. Res. Lett..

[80]  E. L. Lawler,et al.  Branch-and-Bound Methods: A Survey , 1966, Oper. Res..

[81]  François Margot,et al.  Pruning by isomorphism in branch-and-cut , 2001, Math. Program..

[82]  Juan José Salazar González,et al.  A branch-and-cut algorithm for a traveling salesman problem with pickup and delivery , 2004, Discret. Appl. Math..

[83]  Tobias Achterberg,et al.  Constraint integer programming , 2007 .

[84]  Robert E. Bixby,et al.  MIP: Theory and Practice - Closing the Gap , 1999, System Modelling and Optimization.

[85]  Frédéric Semet,et al.  A Lagrangian-Based Branch-and-Bound Algorithm for the Two-Level Uncapacitated Facility Location Problem with Single-Assignment Constraints , 2016, Transp. Sci..

[86]  Fred W. Glover,et al.  The feasibility pump , 2005, Math. Program..

[87]  Thorsten Koch,et al.  Could we use a million cores to solve an integer program? , 2012, Mathematical Methods of Operations Research.

[88]  Rina Dechter,et al.  Generalized best-first search strategies and the optimality of A* , 1985, JACM.

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

[90]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[91]  George L. Nemhauser,et al.  A generalized assignment problem with special ordered sets: a polyhedral approach , 2000, Math. Program..

[92]  Armin Scholl,et al.  Balancing assembly lines effectively - A computational comparison , 1999, Eur. J. Oper. Res..

[93]  Michael A. Trick,et al.  A Column Generation Approach for Graph Coloring , 1996, INFORMS J. Comput..

[94]  George L. Nemhauser,et al.  Solving the Travelling Tournament Problem: A Combined Integer Programming and Constraint Programming Approach , 2002, PATAT.

[95]  Laurence A. Wolsey,et al.  Aggregation and Mixed Integer Rounding to Solve MIPs , 2001, Oper. Res..

[96]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[97]  G. Ribiere,et al.  Experiments in mixed-integer linear programming , 1971, Math. Program..

[98]  George B. Dantzig,et al.  Decomposition Principle for Linear Programs , 1960 .

[99]  R Bellman,et al.  On the Theory of Dynamic Programming. , 1952, Proceedings of the National Academy of Sciences of the United States of America.

[100]  William J. Cook,et al.  Maximum-weight stable sets and safe lower bounds for graph coloring , 2012, Mathematical Programming Computation.

[101]  Matteo Fischetti,et al.  Approximating the Split Closure , 2013, INFORMS J. Comput..

[102]  Matteo Fischetti,et al.  Backdoor Branching , 2011, INFORMS J. Comput..

[103]  David Applegate,et al.  Finding Cuts in the TSP (A preliminary report) , 1995 .

[104]  Alexander Schrijver,et al.  Cones of Matrices and Set-Functions and 0-1 Optimization , 1991, SIAM J. Optim..

[105]  Martin W. P. Savelsbergh,et al.  Information-based branching schemes for binary linear mixed integer problems , 2009, Math. Program. Comput..

[106]  Tobias Achterberg,et al.  Conflict analysis in mixed integer programming , 2007, Discret. Optim..

[107]  Matteo Fischetti,et al.  A feasibility pump heuristic for general mixed-integer problems , 2007, Discret. Optim..

[108]  Renato F. Werneck,et al.  Robust Branch-and-Cut-and-Price for the Capacitated Vehicle Routing Problem , 2004, Math. Program..

[109]  John N. Hooker,et al.  Solving Fixed-Charge Network Flow Problems with a Hybrid Optimization and Constraint Programming Approach , 2002, Ann. Oper. Res..

[110]  Michael Jünger,et al.  Practical problem solving with cutting plane algorithms in combinatorialoptimization , 1993, Combinatorial Optimization.

[111]  Solomon W. Golomb,et al.  Backtrack Programming , 1965, JACM.

[112]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[113]  Sheldon Howard Jacobson,et al.  A Branch, Bound, and Remember Algorithm for the Simple Assembly Line Balancing Problem , 2012, INFORMS J. Comput..

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

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

[116]  Ellis L. Johnson,et al.  Solving Large-Scale Zero-One Linear Programming Problems , 1983, Oper. Res..

[117]  Sheldon H. Jacobson,et al.  A BB&R algorithm for minimizing total tardiness on a single machine with sequence dependent setup times , 2012, J. Glob. Optim..

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

[119]  Sheldon H. Jacobson,et al.  A Wide Branching Strategy for the Graph Coloring Problem , 2014, INFORMS J. Comput..

[120]  François Laburthe,et al.  Improving Branch and Bound for Jobshop Scheduling with Constraint Propagation , 1995, Combinatorics and Computer Science.

[121]  Alexander Martin,et al.  Contributions to General Mixed Integer Knapsack Problems , 1997 .

[122]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[123]  T. Sandholm,et al.  Nogood Learning for Mixed Integer Programming , 2006 .

[124]  Laurence A. Wolsey,et al.  A branch-and-cut algorithm for the single-commodity, uncapacitated, fixed-charge network flow problem , 2003, Networks.

[125]  Matteo Fischetti,et al.  Pruning Moves , 2010, INFORMS J. Comput..

[126]  Vasek Chvátal,et al.  Edmonds polytopes and a hierarchy of combinatorial problems , 1973, Discret. Math..

[127]  Jacques F. Benders,et al.  Partitioning procedures for solving mixed-variables programming problems , 2005, Comput. Manag. Sci..

[128]  Egon Balas,et al.  A precise correspondence between lift-and-project cuts, simple disjunctive cuts, and mixed integer gomory cuts for 0-1 programming , 2003, Math. Program..