The branch and bound strategy divides a problem to be solved
into a number of subproblems, similar to the strategy
backtracking.
To avoid the complete calculation of all partial trees, one first
tries to find a viable solution and note its value as a
upper bound for the optimum. All following calculations are
terminated as soon as their costs exceed the costs of the
upper bound.
If a new cheaper solution was found, its value is used as the new
upper bound.
In this way, many calculations that would have to be done using
pure backtracking can be stopped early on.
The animation uses the travelling salesman problem as an
example. The travelling salesman problem comprises of finding the
cheapest round path on a weighted graph where each node is only
visited once.
Under the graph and its adjacency matrix, the algorithm is
described verbally and the current step is highlighted.
Screen Shot(s):
Description of the basic approach
Example - Traveling Salesman
First cheapest route found
Dead end - route more expensive than cheapest known route