The Binary Integer LP Branch-and-Bound Algorithm:Initialization: Setz*=−∞. Apply the bounding step, fathoming step, and optimality testdescribed below to the whole problem.If not fathomed, classify this problem as the oneremaining “subproblem” for performing the first full iteration below.Steps for each iteration:1) Branching: Among the remaining (unfathomed) subproblems, select the one that was createdmost 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 obtainan optimal solution and the optimal valuezfor this LP relaxation. If this optimal valuezisnot an integer, round it down to an integer. No action is needed if the optimal valuezis aninteger. This integer valuezis 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 isoptimal. (If there is no incumbent, the problem has no feasible solutions.) Otherwise, returnto perform another iteration.Now, let us complete the above example.67
Lecture 13Iteration 2:The only remaining subproblem corresponds tox1= 1 in Figure 5.3, so we shallbranch from here to create two new subproblems given below:Subproblem 3:Fixx1= 1 andx2= 0, so the resulting subproblem reduces tomaxz= 9 + 6x3+ 4x4s.t.5x3+ 2x4≤4x3+x4≤1x3≤1x4≤0xiis binary, i= 3,4.Subproblem 4:Fixx1= 1 andx2= 1, so the resulting subproblem reduces tomaxz= 14 + 6x3+ 4x4s.t.5x3+ 2x4≤1x3+x4≤1x3≤0x4≤1xiis binary, i= 3,4.LP relaxation of subproblem 3: optimal solution (x1, x2, x3, x4) = (1,0,45,0) withz= 1345.LP relaxation of subproblem 4: optimal solution (x1, x2, x3, x4) = (1,0,0,12) withz= 16.The resulting bounds for the subproblems areBound for subproblem 3:z≤13.Bound for subproblem 4:z≤16.Note that both these bounds are larger thanz*, so fathoming test 1 fails in both cases. Test 2also fails since both LP relaxations have feasible solutions. Finally, test 3 also fails because bothoptimal solutions include variables with noninteger values.Figure 5.4 shows the resulting branching at this point. The lack of anFto the right of eithernew case indicates that both remain unfathomed.68
Lecture 13AllVariable:16161316x1x1= 0x1= 19 =Z∗F(3)(0,1,0,1) = incumbentx2= 1(1,1,0,12)(1,0,45,0)x2= 0x2Figure 5.4 Branching afterx1= 1Iteration 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 lasttwo remain under consideration.Because they were created simultaneously, but subproblem 4(x1= 1, x2= 1) has the larger bound (16>13), the next branching is done from the point of(x1, x2) = (1,1), which creates the following new subproblems.