Skip to content
Last Dictionary

branch and bound

nounAlso: B&B, BnB, branch and cut

In plain wordsA method for finding the provably best answer to a hard puzzle: divide the possibilities into groups, quickly estimate the best any group could offer, and throw out every group that cannot beat the best answer already in hand.

  1. An exact method for discrete and global optimization that alternates two operations: branching, which divides the solution space into subproblems, and bounding, which computes for each subproblem a limit on the best objective value it could contain — typically by solving a relaxation, such as dropping integrality constraints — so that any subproblem whose bound cannot improve on the incumbent (the best complete solution yet found) is pruned. The search tree may be explored depth-first, best-first or in hybrid orders, and the method ends with a proof of optimality, or earlier with a guaranteed gap between incumbent and bound. Strengthened by cutting planes (branch and cut), it is the engine of mixed-integer programming solvers used in scheduling, logistics and energy planning; it also drives exact traveling-salesmantraveling salesman problem, n.: The puzzle of planning a round trip through a list of cities that stops at each one once and covers the least distance. It is easy to state, but the number of possible routes explodes as cities are added. and constraint-optimizationconstraint satisfaction problem, n.: A problem in which each item must be given a value so that every rule is obeyed, like filling in a Sudoku, coloring a map so no neighbors match, or building a timetable without clashes. solvers and the formal verificationformal verification, n.: Using mathematics, not just testing, to prove that a computer system always behaves as specified — for example, that a chip never adds wrongly or that a program can never crash in a particular way. of neural networksneural network, n.: A kind of computer program that learns a task from examples by tuning thousands to billions of connections between simple number-crunching units, an arrangement loosely inspired by nerve cells in the brain., and machine learning is increasingly used to make its branching decisions.

Origin

Introduced by Ailsa Land and Alison Doig at the London School of Economics in a 1960 Econometrica paper on discrete programming. The name 'branch and bound' is first found in John Little, Katta Murty, Dura Sweeney and Caroline Karel's 1963 paper on the traveling salesman problem.

Related

See also
  • traveling salesman problemtraveling salesman problem, n.: The puzzle of planning a round trip through a list of cities that stops at each one once and covers the least distance. It is easy to state, but the number of possible routes explodes as cities are added.
  • best-first searchbest-first search, n.: A family of search methods that rank every option waiting to be explored by a score, such as an estimate of the distance still to go, and always take the top-ranked one next.
  • A* searchA* search, n.: A method for finding the shortest route on a map or network that weighs both how far you have already come and a smart guess of how far is left, so it tries the most promising paths first.
  • constraint satisfaction problemconstraint satisfaction problem, n.: A problem in which each item must be given a value so that every rule is obeyed, like filling in a Sudoku, coloring a map so no neighbors match, or building a timetable without clashes.
  • formal verificationformal verification, n.: Using mathematics, not just testing, to prove that a computer system always behaves as specified — for example, that a chip never adds wrongly or that a program can never crash in a particular way.
  • heuristicheuristic, n.: A rule of thumb: a quick, usually good-enough way to make a decision or to estimate how close you are to a goal, without any guarantee of finding the best answer.

Sources

  1. Land, A. H. & Doig, A. G. (1960). An Automatic Method of Solving Discrete Programming Problems. Econometrica 28(3), 497–520.
  2. Little, J. D. C., Murty, K. G., Sweeney, D. W. & Karel, C. (1963). An Algorithm for the Traveling Salesman Problem. Operations Research 11(6), 972–989.

Mentioned in

linear programminglinear programming, n.: A mathematical way to find the best use of limited resources, such as a factory's machines or an airline's crews, when every cost and limit scales in simple proportion: twice the output needs twice the input., traveling salesman problemtraveling salesman problem, n.: The puzzle of planning a round trip through a list of cities that stops at each one once and covers the least distance. It is easy to state, but the number of possible routes explodes as cities are added., integer programminginteger programming, n.: Finding the best plan when some decisions must be whole numbers or yes-or-no choices — you cannot open half a warehouse or send 2.7 trucks. That small change makes the best plan far harder to find.