320 likes | 898 Views
Branch and Bound Algorithm for Solving Integer Linear Programming. Introduction. Branch and Bound is a general optimization method. Starting by considering the original problem, the lower-bounding and upper-bounding procedures are applied to the root problem.
E N D
Branch and Bound Algorithm for Solving Integer Linear Programming
Introduction • Branch and Bound is a general optimization method. • Starting by considering the original problem, the lower-bounding and upper-bounding procedures are applied to the root problem. • Recursively divide the feasible region into two or more regions and solve the subproblems. • If the lower bound for a node exceeds the best known feasible solution for minimization problem, no globally optimal solution can exist in the subspace of the feasible region represented by the node. Therefore, the node can be removed from consideration. • The search proceeds until all nodes have been solved or pruned.
Example Max Z = 21x1+11x2 s.t. 7x1+4x2 ≤13 x1≥0, x2≥0 x1 ,x2 are integers
Example (cont.) • Step 0: Create Problem 1. • Step 1: Remove Problem 1 from the master list. • Step 2: Solve Problem 1. • Step 3: Branch on X1, since X1 not integer-valued. • Step 4: Create Problem 2 & 3. Place on master list.
Example (cont.) • Step 1: Remove Problem 2 from the master list. • Step 2: Solve Problem 2. • Step 3: No feasible solution. Stop.
Example (cont.) • Step 1: Remove Problem 3 from the master list • Step 2: Solve Problem 3 • Step 3: Branch on X2, since X2 not integer-valued • Step 4: Create Problem 4 & 5 place on master list
Example (cont.) • Step 1: Remove Problem 4 from the master list. • Step 2: Solve Problem 4. • Step 3: Solution satisfies integer constraint. Record the solution and stop!
Example (cont.) • Following the same steps, terminate computations until master list is empty.