240 likes | 416 Views
Lecture 19 Discrete Optimization Methods. Branch-And-Bound Algorithm Also called Divide-And-Conquer 12.16 A linear inequality is a valid inequality for an ILP if it holds for all integer solutions. Valid inequalities are also called cutting planes. Example #1.
E N D
Lecture 19 Discrete Optimization Methods • Branch-And-Bound Algorithm • Also called Divide-And-Conquer • 12.16 A linear inequality is a valid inequality for an ILP if it holds for all integer solutions. Valid inequalities are also called cutting planes.
Example #1 There are only 4 feasible integer points.
Example #1 Continued Area Cut Off There are only 4 feasible integer points. Valid Cut
Perfect CutsCould Solve With LP Solver New Reduced Feasible Region All Extreme Points Are Integer
Example #2 • Minimize v = 7x1 + 12x2 + 5x3 + 14x4 • Subject To • 300x1 + 600x2 + 500x3 + 1600x4> 700 (1) • x1, x2, x3, x4 binary • LP Relaxation • Minimize v = 7x1 + 12x2 + 5x3 + 14x4 • Subject To • 300x1 + 600x2 + 500x3 + 1600x4> 700 (1) • 0 < x1, x2, x3, x4< 1
Example #2 Continued • LP Relaxation Optimal Solution Is • (x1, x2, x3, x4) = (0, 0, 0, 0.44) • Objective Value = v0 = 6.12 • Therefore, a lower bound on the ILP is 6.12. • Divide-And-Conquer Strategy • Branch on x4 by creating two new problems • One problem has x4 = 1 and the other has x4 = 0
Example #2 Continued • Problem 1 • Minimize v = 7x1 + 12x2 + 5x3 + 14x4 • Subject To • 300x1 + 600x2 + 500x3 + 1600x4> 700 (1) • x1, x2, x3, x4 binary and x4 = 1 • Problem 2 • Minimize v = 7x1 + 12x2 + 5x3 + 14x4 • Subject To • 300x1 + 600x2 + 500x3 + 1600x4> 700 (1) • x1, x2, x3, x4 binary and x4 = 0
Divide-And-Conquer • We could not solve the original problem, so we divided the problem into two smaller problems. • How are they smaller? • If we could solve Problem 1 and Problem 2, then we could take the best solution as the solution to the original problem. • Problems 1 and 2 are still hard because they are ILPs. However, we can solve the LP relaxations of Problems 1 and 2. These are relatively easy problems.
Branch-And-Bound Tree 0 v0 =6.12 (0,0,0,0.44) x4 = 0 x4 = 1 2 1 v1 = 14, (0,0,0,1) Upper Bound Feasible for ILP Incumbent = Best Found So Far = (0,0,01) v2 = 9, (0,0.33,1,0)
Current Status Problem 1 (0,0,0,1) Incumbent Upper Bound 14 Gap = (14-9)/14 = 36% Problem 2 (0,0.33,1,0) Lower Bound 9
Branch On x2 • From Problem 2 and the solution to its LP relaxation, we create two new problems. • Problem 3 has x2 = 1 and Problem 4 has x2 = 0
Problem 3 and 4 • Problem 3 • Minimize v = 7x1 + 12x2 + 5x3 + 14x4 • Subject To • 300x1 + 600x2 + 500x3 + 1600x4> 700 (1) • x1, x2, x3, x4 binary and x4 = 0, x2 = 1 • Problem 4 • Minimize v = 7x1 + 12x2 + 5x3 + 14x4 • Subject To • 300x1 + 600x2 + 500x3 + 1600x4> 700 (1) • x1, x2, x3, x4 binary and x4 = 0, x2 = 0
The Strategy • If we could solve Problems 3 and 4, then the optimum for the original problem is the best solution from Problems 1, 3, and 4. • Why are Problems 3 and 4 still hard? • However, we can solve the LP relaxations of problems 3 and 4 relatively easy. • Why?
The Branch-And-Bound Tree 0 x4 = 0 x4 = 1 2 1 x2 = 0 x2 = 1 4 3 v3 = 13, (0,1,0.2,0) v4 = 9.67, (0.67,0,1,0)
Current Status Problem 1 (0,0,0,1) Incumbent 14 Gap = (14-9.67)/14 = 31% 13 Problem 3 (0,1,0.2,0) 9.67 Problem 4 (0.67,0,1,0) Lower Bound
Branch On Problem 3 • Problem 5: Original plus x4 = 0, x2 = 1, x3 = 1 • Problem 6: Original plus x4 = 0, x2 = 1, x3 = 0
Branch-And-Bound TreeIncumbent = (0,0,0,1) With v1 = 14 0 x4 = 0 2 1 x2 = 1 3 4 x3 = 1 x3 = 0 5 6 v5 = 17, (0,1,1,0) Fathom v6 = 14.33, (0.33,1,0,0) Fathom
Current Status Problem 1 (0,0,0,1) Incumbent 14 Gap = (14-9.67)/14 = 31% 9.67 Problem 4 (0.67,0,1,0) Lower Bound
Branch On Problem 4 • Problem 7: original plus x4 = 0, x2 = 0, x1 = 1 • Problem 8: original plus x4 = 0, x2 = 0, x1 = 0
Branch-And-Bound TreeIncumbent = (0,0,0,1) With v1 = 14 0 x4 = 0 2 1 x2 = 0 3 4 x1 = 0 x1 = 1 5 6 7 8 infeasible Why? v7 = 11, (1,0,0.8,0)
Current Status Problem 1 (0,0,0,1) Incumbent 14 Gap = (14-11)/14 = 21% 11 Problem 7 (1,0,0.8,0) Lower Bound
Branch On Problem 7 • Problem 9: original plus x4 = 0, x2 = 0, x1 = 1, x3 = 1 • Problem 10: original plus x4 = 0, x2 = 0, x1 = 0, x3 = 0 • Both problem are easy!!!!!!!!!!! • Why?
Branch-And-Bound TreeIncumbent = (0,0,0,1) With v1 = 14 0 x4 = 0 2 1 x2 = 0 3 4 x1 = 0 x1 = 1 5 6 7 8 x3 = 1 x3 = 0 New Incumbent 9 10 v9 = 12, (1,0,1,0) infeasible
Current Status Problem 9 (1,0,1,0) Optimal Solution 12 We had to solve 10 LPs to solve an ILP with 4 binary variables! Complete enumeration = 24 = 16.