Branch and Bound
I. Introduction
II. Illustration on the Job Assignment Problem
III. The General Branch and Bound Algorithm
IV. Criteria for the Choice of Approximate Cost
Functions
V. Implementation of the B&B Job Assignment
Algorithm
I. Introduction
Branch and bound is a systematic method for solving optimization problems
B&B is a rather general optimization technique that applies where the greedy method and
dynamic programming fail.
However, it is much slower. Indeed, it often leads to exponential time complexities in the worst
case.
On the other hand, if applied carefully, it can lead to algorithms that run reasonably fast on
average.
The general idea of B&B is a BFSlike search for the optimal solution, but not all nodes get
expanded (i.e., their children generated). Rather, a carefully selected criterion determines which
node to expand and when, and another criterion tells the algorithm when an optimal solution has
been found.
Back to Top
II. Illustration on the Job Assignment Problem
Input: n jobs, n employees, and an n x n matrix A where A
ij
be the cost if person i performs job j.
Problem: find a onetoone matching of the n employees to the n jobs so that the total cost is
Branch and Bound
http://www.seas.gwu.edu/~ayoussef/cs212/branchandbound.html
1 of 7
9/3/2010 4:52 AM
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
minimized.
formally, find a permutation f such that C(f), where
C(f)=A
1f(1)
+ A
2f(2)
+ ... + A
nf(n)
is minimized.
A bruteforce method would generate the whole solution tree, where every path from the root to
any leaf is a solution, then evaluate the C of each solution, and finally choose the path with the
minimum cost.
Illustration on this specific instance of the jobassignment problem:
2 4 5
2 7 10
5 3 7
In informal terms, the problem is to choose a single number from each row such that (1) no two
numbers are chosen from the same columns, and (2) the sum of the chosen numbers is minimized.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Summer '09
 Operations Research, Algorithms, Dynamic Programming, Combinatorial optimization, General Branch, job assignment problem

Click to edit the document details