270 likes | 556 Views
LP-Based Branch-and-Bound. Example 1. Rounding the LP-Relaxation. Step 1: Solve the LP Relaxation. Optimal LP Solution: x = 2.25, y = 3.75, z = 41.25. x + y= 6. (2.25, 3.75). 5x + 9y = 45. Feasible Region. (0,5). (0,0). (6,0). Step 2: Branch on x.
E N D
Step 1: Solve the LP Relaxation Optimal LP Solution: x = 2.25, y = 3.75, z = 41.25
x + y= 6 (2.25, 3.75) 5x + 9y = 45 Feasible Region (0,5) (0,0) (6,0)
Step 2: Branch on x • Optimal LP Solution: x = 2.25, y = 3.75 z = 41.25 • Create two subproblems • LP1 : add the constraint x 2 to LP0 • LP2 : add the constraint x 3 to LP0 The Branch-and-Bound Tree LP0 z = 41.25 x = 2.25, y = 3.75 x 2 x 3 LP1 LP2
x = 3 (2.25, 3.75) LP 1 LP 2 x = 2 Feasible Regions x + y= 6 (0,5) (0,0) (6,0) 5x + 9y = 45
Bounding Step: Solve Subproblem 1 Optimal LP1 Solution: x = 2, y = 3.89, z = 41.11
Bounding Step: Solve Subproblem 2 Optimal LP2 Solution: x = 3, y = 3, z = 39
The Branch-and-Bound Tree LP0 z = 41.25 x = 2.25, y = 3.75 x 2 x 3 LP1 z = 41.11 x = 2, y = 3.89 LP2 z = 39 x=3, y=3 Step 3: Fathoming Step • Subproblem 2 has an integer-valued solution. • The solution x = 3, y = 3 becomes the incumbent solution with z* = 39 and zup = 41 • Fathom the node for Subproblem 2 • Observation z*/zup = 39/41 = 95%
x = 3 x = 2 Feasible Regions Optimal LP solution in region 1: (2, 3.89) x + y= 6 (0,5) Optimal IP solution in region 2. (0,0) (6,0) 5x + 9y = 45
Generic Branching Step • Pick an unfathomed node and branch on an integer variable xi that has a non-integer value in the optimal solution to that node’s subproblem. • Create two subproblems • One with the constraint xi • One with the constraint xi
Branching Step: Branch on y The Branch-and-Bound Tree LP0 z = 41.25 x = 2.25, y = 3.75 • Optimal LP1 Solution: x = 2, y = 3.89 z = 41.11 • Create two subproblems • LP3 : add the constraint y 3 to LP1 • LP4 : add the constraint y 4 to LP1 x 2 x 3 LP1 z = 41.11 x = 2, y = 3.89 LP2 z = 39 x=3, y=3 y 3 y 4
LP 4 y = 4 y = 3 LP 3 Feasible Regions x = 3 x + y= 6 (0,5) (0,0) (6,0) 5x + 9y = 45 x = 2
Bounding Step: Solve Subproblem 3 Optimal LP3 Solution: x = 2, y = 3, z = 34
Bounding Step: Solve Subproblem 4 Optimal LP4 Solution: x = 1.8, y = 4, z = 41
Fathoming Step LP0 z = 41.25 x = 2.25, y = 3.75 x 3 x 2 LP2 z=39 x=3, y=3 LP1,z = 41.11, x = 2, y = 3.89 y 4 y 3 LP3,z = 34, x = 2, y = 3 LP4,z = 41 x = 1.8, y = 4 • Subproblem 3 has an integer-valued solution. • Since 34 is less than 39, don’t update z*. • Fathom the node for Subproblem 3. • Branching Step: branch on x in subproblem 4
Feasible Regions x = 1 x = 3 x + y= 6 (0,5) y = 4 y = 3 LP 5 (0,0) (6,0) 5x + 9y = 45 x = 2
Bounding Step: Solve Subproblem 5 Optimal LP5 Solution: x = 1, y = 4.44, z = 40.56
Bounding Step: Solve Subproblem 6 LP6 is infeasible.
Fathoming Step LP0 z = 41.25 x = 2.25, y = 3.75 x 3 x 2 LP2 z=39 x=3, y=3 LP1,z = 41.11, x = 2, y = 3.89 y 4 y 3 Since the largest z value for any unfathomed node is 40.56, we can update zup to 40. LP3,z = 34, x = 2, y = 3 LP4,z = 41 x = 1.8, y = 4 x 2 x 1 LP5,z = 40.56 x = 1, y = 4.44 LP6 Infeasible
Branching Step • We have an incumbent solution with z*=39 and upper bound of zup = 40. Our incumbent solution is within 39/40 = 97.5% of optimality (i.e., the optimality gap is 2.5%). • Branch on y in LP5 • LP7: add constraint y 4 to LP5 • LP8: add constraint y 5 to LP5
Bounding Step: Solve Subproblem 7 Optimal LP7 Solution: x = 1, y = 4, z = 37
Bounding Step: Solve Subproblem 8 Optimal LP8 Solution: x = 0, y = 5, z = 40
Fathoming Step LP0 z = 41.25 x = 2.25, y = 3.75 x 3 x 2 LP2 z=39 x=3, y=3 LP1,z = 41.11, x = 2, y = 3.89 y 4 y 3 LP4,z = 41 x = 1.8, y = 4 LP3,z = 34, x = 2, y = 3 x 2 x 1 LP6 Infeasible LP5,z = 40.56 x = 1, y = 4.44 y 4 y 5 z* = 40 optimal solution: x = 0, y =5 LP7,z = 37 x = 1, y = 4 LP8,z = 40 x =0, y = 5