A Branch-and-Cut Example

The integer programming problem is illustrated in the figure. The feasible integer points are marked. The linear programming relaxation (or LP relaxation) is obtained by ignoring the integrality restrictions and is indicated by the polyhedron contained in the solid lines.

A branch-and-cut approach first solves the linear programming relaxation, giving the point ), with value . There is now a choice: should the LP relaxation be improved by adding a cutting plane, for example, , or should the problem be divided into two by splitting on a variable? If the algorithm splits on , two new problems are obtained: and The optimal solution to the original problem will be the better of the solutions to these two subproblems. The solution to the linear programming relaxation of is , with value . This solution is integral, so it solves , and becomes the incumbent best known feasible solution. The LP relaxation of has optimal solution , with value . This point is nonintegral, so it does not solve , and it must be attacked further.

Assume the algorithm uses a cutting plane approach and adds the inequality to . This is a valid inequality, in that it is satisfied by every integral point that is feasible in . Further, this inequality is violated by , so it is a cutting plane. The resulting subproblem is The LP relaxation of has optimal solution , with value . Notice that the optimal value for this modified relaxation is larger than the value of the incumbent solution. The value of the optimal integral solution to the second subproblem must be at least as large as the value of the relaxation. Therefore, the incumbent solution is better than any feasible integral solution for , so it actually solves the original problem.

The progress of the algorithm is illustrated below. Notice that the cutting plane introduced in the second subproblem is not valid for the first subproblem. This inequality can be modified to make it valid for the first subproblem by using a lifting technique.

John Mitchell
2009-03-16