The Binary Integer LP Branch and Bound Algorithm Initialization Set z Apply the

# The binary integer lp branch and bound algorithm

• 105

This preview shows page 68 - 71 out of 105 pages.

The Binary Integer LP Branch-and-Bound Algorithm: Initialization: Set z * = −∞ . Apply the bounding step, fathoming step, and optimality test described below to the whole problem. If not fathomed, classify this problem as the one remaining “subproblem” for performing the first full iteration below. Steps for each iteration: 1) Branching: Among the remaining (unfathomed) subproblems, select the one that was created most recently. (Break ties according to which has the larger bound.) Branch for this sub- problem to create two new subproblems by fixing the next variable (the branching variable) at either 0 or 1. 2) Bounding: For each new subproblem, apply the simplex method to its LP relaxation to obtain an optimal solution and the optimal value z for this LP relaxation. If this optimal value z is not an integer, round it down to an integer. No action is needed if the optimal value z is an integer. This integer value z is the bound for this subproblem. 3) Fathoming: For each new subproblem, apply the three fathoming tests summarized above, and discard those subproblems that are fathomed by any of the tests. Optimality test: Stop when there are no remaining subproblems; the current incumbent is optimal. (If there is no incumbent, the problem has no feasible solutions.) Otherwise, return to perform another iteration. Now, let us complete the above example. 67 Lecture 13 Iteration 2: The only remaining subproblem corresponds to x 1 = 1 in Figure 5.3, so we shall branch from here to create two new subproblems given below: Subproblem 3: Fix x 1 = 1 and x 2 = 0, so the resulting subproblem reduces to max z = 9 + 6 x 3 + 4 x 4 s.t. 5 x 3 + 2 x 4 4 x 3 + x 4 1 x 3 1 x 4 0 x i is binary , i = 3 , 4 . Subproblem 4: Fix x 1 = 1 and x 2 = 1, so the resulting subproblem reduces to max z = 14 + 6 x 3 + 4 x 4 s.t. 5 x 3 + 2 x 4 1 x 3 + x 4 1 x 3 0 x 4 1 x i is binary , i = 3 , 4 . LP relaxation of subproblem 3: optimal solution ( x 1 , x 2 , x 3 , x 4 ) = (1 , 0 , 4 5 , 0) with z = 13 4 5 . LP relaxation of subproblem 4: optimal solution ( x 1 , x 2 , x 3 , x 4 ) = (1 , 0 , 0 , 1 2 ) with z = 16. The resulting bounds for the subproblems are Bound for subproblem 3: z 13. Bound for subproblem 4: z 16. Note that both these bounds are larger than z * , so fathoming test 1 fails in both cases. Test 2 also fails since both LP relaxations have feasible solutions. Finally, test 3 also fails because both optimal solutions include variables with noninteger values. Figure 5.4 shows the resulting branching at this point. The lack of an F to the right of either new case indicates that both remain unfathomed. 68 Lecture 13 All Variable: 16 16 13 16 x 1 x 1 = 0 x 1 = 1 9 = Z F (3) (0 , 1 , 0 , 1) = incumbent x 2 = 1 (1 , 1 , 0 , 1 2 ) (1 , 0 , 4 5 , 0) x 2 = 0 x 2 Figure 5.4 Branching after x 1 = 1 Iteration 3: So far, the algorithm has created four subproblems. Subproblem 1 has been fathomed, and subproblem 2 has been replaced by (separated into) subproblems 3 and 4, but these last two remain under consideration. Because they were created simultaneously, but subproblem 4 ( x 1 = 1 , x 2 = 1) has the larger bound (16 > 13), the next branching is done from the point of ( x 1 , x 2 ) = (1 , 1), which creates the following new subproblems.  • • • 