110 likes | 298 Views
Solving IPs – Cutting Plane Algorithm. General Idea:
E N D
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution, then done. Else, add a constraint that “cuts” off the optimal solution obtained from the relaxed problem. Solve this new LP problem. If the new solution is integer, then stop. Else keep repeating this process until an integer solution is obtained. Issue: What constraint can be added such that no feasible integer solutions are cut off when the new constraint is added, but which also eliminates the optimal solution of the relaxed problem from the feasible region.
Solving IPs – Cutting Plane Algorithm Example: Max z = 8x1 + 5x2 s.t. x1 + x2 <= 6 9x1 + 5x2 <= 45 x1, x2 >= 0; x1, x2 are integer Simplex tableau for the optimal solution to the LP problem. What is the optimal solution to the LP problem?
Solving IPs – Cutting Plane Algorithm LP Solution: z = 41.25 x1 = 2.25 x2 = 3.75 Both x1 and x2 are non-integer. Therefore, choose row from simplex tableau where basic variable has the fractional component closest to ½. Choosing row 2: x1 + 0x2 -1.25s1 +.25s2 = 3.75 Rewrite row with integer and fractional components where the integer is the largest integer less than the coefficient: x1 - 2s1 + .75s1 + 0s2 + .25s2 = 3 + .75 or x1 – 2s1 – 3 = -.75s1 - .25s2 + .75
Solving IPs – Cutting Plane Algorithm The cutting plane algorithm suggests that the equation where the fractional components are set <= 0 be used as a new constraint to the original problem. Row 2: x1 – 2s1 – 3 = -.75s1 - .25s2 + .75 Add constraint: -.75s1 - .25s2 + .75 <= 0 Knowing that: s1 = 6 – x1 – x2 and s2 = 45 – 9x1 – 5x2, Equivalent to adding constraint: 3x1 + x2 <= 15
Solving IPs – Cutting Plane Algorithm The original feasible region for the LP relaxed problem, and the new cutting plane constraint. Insert figure 33, pg 546
Solving IPs – Cutting Plane Algorithm Since, Row 2: x1 – 2s1 – 3 = -.75s1 - .25s2 + .75 How does adding the constraint: -.75s1 - .25s2 + .75 <= 0 satisfy the desire not to eliminate any feasible integer solutions, while eliminating the optimal solution to the LP? Any feasible solution to original problem satisfies Row 2 above. Also, any feasible solution must have s1 and s2 >= 0 (non-negativity constraint). Thus, the rhs of row 2 <= .75 < 1. Also because all decision variables are integer, then the lhs of row 2 is integer. Thus the rhs must also be an integer that is less than 1. This implies that point that is feasible for the IP satisfies the constraint: -.75s1 - .25s2 + .75 <= 0
Solving IPs – Cutting Plane Algorithm Since, Row 2: x1 – 2s1 – 3 = -.75s1 - .25s2 + .75 Likewise how does adding the constraint: -.75s1 - .25s2 + .75 <= 0 satisfy the desire to eliminate the optimal solution of the LP? The current optimal solution to the LP is: z = 41.25, x1 = 2.25, x2 = 3.75, s1 and s2 = 0. Thus: -.75s1 - .25s2 + .75 <= 0, so the current optimal solution is not in the feasible region when this constraint is added.
Solving IPs – Cutting Plane Algorithm Adding the new constraint to the final simplex tableau of the LP problem: -.75s1 - .25s2 + .75 <= 0 Note: slack variable s3 added. Is this tableau optimal?
Solving IPs – Cutting Plane Algorithm Using the dual simplex method (sec section 6.11), the leaving basic variable is s3 (because of negative rhs) and the entering non-basic variable is s1 (min ratio test). Note: all original variable are integer. Therefore integer solution to original IP.