Presentation is loading. Please wait.

Presentation is loading. Please wait.

Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.

Similar presentations


Presentation on theme: "Branch and Bound Algorithms Present by Tina Yang Qianmei Feng."— Presentation transcript:

1 Branch and Bound Algorithms Present by Tina Yang Qianmei Feng

2 Branch and Bound is a general search method. Starting by considering the root problem (the original problem with the complete feasible region), the lower-bounding and upper-bounding procedures are applied to the root problem. If the bounds match, then an optimal solution has been found and the procedure terminates. Introduction

3 Otherwise, the feasible region is divided into two or more regions, these subproblems partition the feasible region. The algorithm is applied recursively to the subproblems. If an optimal solution is found to a subproblem, it is a feasible solution to the full problem, but not necessarily globally optimal. Introduction

4 If the lower bound for a node exceeds the best known feasible solution, 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, or until some specified threshold is met between the best solution found and the lower bounds on all unsolved subproblems. Introduction

5 Algorithm for LP-Based Branch and Bound Max z =c j x j s.t. a ij x j ≤ b i i = 1,…,m x j ≥ 0 j = 1,…, n L j ≤ x j ≤ U j j = 1,…, n x j are integers j = 1,…, n

6 Algorithm for LP-Based Branch and Bound Step 0: Initialization. Let the master list initially include only the original linear program, let t=1, and z 1 = -∞. Step 1: Branching. Stop if the master list is empty. Otherwise select a program from the master list.

7 Algorithm for LP-Based Branch and Bound Step 2: Relaxation. Solve the problem taken from the master list. If the problem has no feasible solution, or if its objective function value z is less than z t (this branch has been fathomed), let z t+1 = z t and go to Step 1. Otherwise go to Step 3. Step 3: If the solution to the solved LP satisfies the integer constraints, then store the solution and let z t+1 equal the objective function value for the solution. Since this branch has been fathomed, go to Step 1. If the integer condition is not satisfied, go to Step 4.

8 Algorithm for LP-Based Branch and Bound Step 4: Separation. Select any variable x j whose value b j in the current solution does not satisfy the integer requirement. Add two problems to the master list; these problems are identical to the one just solved except that in one we add: x j ≥ [b j ]+1 and in the other we add: x j ≤ [b j ] Let z t+1 = z t and go to Step 1.

9 Example Max Z = 21x 1 +11x 2 s.t. 7x 1 +4x 2 ≤13 x 1 ≥0, x 2 ≥0 x 1,x 2 are integers

10 Example (cont.)  Step 0: Set Z 1 = - . Create Problem 1.  Step 1: Remove Problem 1 from the master list.  Step 2: Solve Problem 1.  Step 3: Branch on X 1, since X 1 not integer-valued.  Step 4: Create Problem 2 & 3. Place on master list.

11 Example (cont.)  Step 0: Set Z 2 = - .  Step 1: Remove Problem 2 from the master list.  Step 2: Solve Problem 2.  Step 3: No feasible solution. Stop.

12 Example (cont.)  Step 0: Set Z 3 = -   Step 1: Remove Problem 3 from the master list  Step 2: Solve Problem 3  Step 3: Branch on X 2, since X 2 not integer-valued  Step 4: Create Problem 4 & 5 place on master list

13 Example (cont.)  Step 0: Set Z 4 = - .  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!

14 Example (cont.)  Following the same steps, terminate computations until master list is empty.

15 Branch and Bound Codes in Matlab  Available Matlab code for Branch and Bound algorithm – BNB on the following ftp site: ftp://ftp.mathworks.com/pub/contrib/v5/optim/  The algorithm detects 0-1 variables with constrains like: x(a)+x(b)+x(c)+..=1 and adapts the branching to it.  To function BNB, you need: Matlab 5.3 or newer Optimization Toolbox 2.0 The Courier-LD font

16 Conclusion  Although a number of algorithms have been proposed for the integer linear programming problem, the branch-and-bound technique has proven to be reasonably efficient on practical problems, and it has the added advantage that it solves continuous linear programs as sub problems.  The technique is also used in a lot of software in global optimization.


Download ppt "Branch and Bound Algorithms Present by Tina Yang Qianmei Feng."

Similar presentations


Ads by Google