{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Branch and Bound

# Branch and Bound - Branch and Bound...

This preview shows pages 1–3. Sign up to view the full content.

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 BFS-like 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 one-to-one 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 brute-force 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 job-assignment 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.

{[ snackBarMessage ]}