Branch And Bound

Branch and bound is a general method for finding optimal solutions of various optimization problems, especially in discrete and combinatorial optimization. It belongs to the class of implicit enumeration methods. The method was first proposed by A. H. Land and A. G. Doig in 1960 for linear programming.

General description

The general idea may be described in terms of finding the minimal value of a function f(x) over a set of admissible values of the argument x called feasible region. Both f and x may be of arbitrary nature. A branch-and-bound procedure requires two tools. The first one is a smart way of covering the feasible region by several smaller feasible subregions (ideally, splitting into subregions). This is called branching, since the procedure is repeated recursively to each of the subregions and all produced subregions naturally form a tree structure, called search tree or branch-and-bound-tree or something similar. Its nodes are the constructed subregions. Another tool is bounding, which is a fast way of finding upper and lower bounds for the optimal solution within a feasible subregion. The core of the approach is a simple observation that (for a minimization task) if the lower bound for a subregion A from the search tree is greater than the upper bound for any other (previously examined) subregion B, then A may be safely discarded from the search. This step is called pruning. It is usually implemented by maintaining a global variable m that records the minimum upper bound seen among all subregions examined so far; any node whose lower bound is greater than m can be discarded. It may happen that the upper bound for a node matches its lower bound; that value is then the minimum of the function within the corresponding subregion. Sometimes there is a direct way of finding such minimum. In both these cases it is said that the node is solved. Note that this node may still be pruned as the algorithm progresses. Ideally the procedure stops when all nodes of the search tree are either pruned or solved. At that point, all non-pruned subregions will have their upper and lower bounds equal to the global minimum of the function. In practice the procedure is often terminated after a given time; at that point, the minimum lower bound and the minimum upper bound, among all non-pruned sections, define a range of values that contains the global minimum. The efficiency of the method depends critically on the effectiveness of the branching and bounding algorithms used; bad choices could lead to repeated branching, without any pruning, until the sub-regions become very small. In that case the method would be reduced to an exhaustive enumeration of the domain, which is often impractically large. There is no universal bounding algorithm that works for all problems, and there is little hope that one will ever be found; therefore the general paradigm needs to be implemented separately for each application, with branching and bounding algorithms that are specially designed for it. Branch and bound methods may be classified according to the bounding methods and according to the ways of creating/inspecting the search tree nodes. This method naturally lends itself for parallel and distributed implementations, see, e.g., the traveling salesman problem article.

Applications

This approach is used for a number of NP-hard problems, such as It may also be a base of various heuristics. For example, one may wish to stop branching when the gap between the upper and lower bounds becomes smaller than a certain threshold. This used when the solution is "good enough for practical purposes" and can greatly reduce the computations required. This type of solution is particularly applicable when the cost function used is noisy or is the result of statistical estimates and so is not known precisely but rather only to lie within a range of values with a specific probability.

References

A. H. Land and A. G. Doig, An Automatic Method for Solving Discrete Programming Problems Econometrica, Vol.28 (1960), pp. 497-520.

See also

 

<< PreviousWord BrowserNext >>
the ringmaster
john neihardt
francs tireurs
terrorist attacks against israel in 2003
terrorist attacks against israelis in 2001
klondike derby
terrorist attacks against israelis in 2000
booker huffman
the amazing jeckel brothers
pixiephone
104th united states congress
stax
103rd united states congress
102nd united states congress
northern soul
motown sound
design language
dark lotus
dynamite chicken
cold feet
morwen steelsheen
u.s. highway 11
urlati
bumbesti jiu
spinner dolphin
darabani
music of moldova
vault
videodrome
cheaper by the dozen (2003)
clever hans
beclean
costesti
the fly (1986)
piper perabo
checkmate
larry gonick
turfan
kofi awoonor
kryptos
zarlink
agnita
junkers ju 287
fool's mate