2.5 Methods for Nonlinear Programming
3.1.2 Cutting Plane Algorithm
The motivation of the Cutting Plane Algorithm for mixed-integer linear program- ming problems comes from a well-known result in integer programming, namely that minimizing a linear function over an arbitrary set is the same when replacing the set by its convex hull:
Theorem 3.1 ([191]). Let X ⊆ Rn and c ∈ Rn. Then we have min{c>x | x ∈ X} = min{c>x | x ∈ conv(X)}.
In particular, if X = P ∩ Zn, where P is a polyhedron, P0 := conv(X) is also
a polyhedron, i.e., there exists a matrix ˜A and a vector ˜b of appropriate size such that P0 = {x ∈ Rn | ˜Ax ≤ ˜b}. Knowing ˜A and ˜b in advance, would give a
42 CHAPTER 3. CONVEX MIXED-INTEGER PROGRAMMING complete description of the convex hull and in theory such an integer program could be reformulated as a linear programming problem and solved by using any algorithm for linear programming. But in general P0 might need an exponentially large number of linear inequalities to be described. In practice it is often hard to find an explicit description of P0 for a set X due to numerical issues, so one is interested in approximating P0. The above result is also true for any mixed-integer linear program MILP. The Cutting Plane Algorithm aims at approximating P0 by the usage of cutting planes.
Definition 3.2 (Valid Inequality, Cutting Plane). Let P be a polyhedron and P0 := conv(P ∩ Zn). A linear inequality π>x ≤ π
0 is a valid inequality for P if it
holds for all x ∈ P . A linear inequality is a Cutting Plane for P , if it is valid for P0 but not for P .
In Figure 3.1 a possible cutting plane is shown. There are mainly two reasons why adding cutting planes to P from the beginning is not always reasonable. First, there is generally an exponential number of such additional constraints. Second, by adding additional constraints the LP-relaxations become successively harder to solve. We only want to add these constraints if they are violated by any fractional solution not contained in P0. Therefore it is important to study ways of generating cutting planes for P whenever needed.
Definition 3.3 (Separation Problem). For a polyhedron P a separation problem is the following problem:
Given any x? ∈ Rn, find a valid inequality π>x ≤ π
0 for P0 such that π>x? > π0
or decide that none exists.
For any x? ∈ P/ 0, the separation algorithm gives a cutting plane for P . In general,
efficient optimization and efficient separation are equivalent, i.e., the following theorem holds:
Theorem 3.2 ([191]). For a given class of optimization problems with a linear objective function min{c>x | x ∈ X ⊆ Rn}, there exists an efficient (polynomial)
algorithm, if and only if there exists an efficient algorithm for the separation problem associated with the problem class.
The main idea of the cutting plane algorithm is to tighten the original formulation of the LP-relaxation by removing undesired fractional solutions during the solu- tion process without the undesired side effect of creating additional subproblems, such as in a branching process. Given the fractional LP solution x? ∈ P found by solving the LP-relaxation, it is tested for being feasible in the integer compo- nents. If it is not, the separation problem is solved, i.e., a valid linear inequality for P0 is determined which cuts off the non-integer point x?. Once such a cutting plane is found, it is added to the LP-relaxation to tighten the feasible set and
3.1. MIXED-INTEGER LINEAR PROGRAMMING 43 the relaxation is solved once again. In an iterative fashion, we alternate between adding cutting planes and solving the LP-relaxation with the aim of finding an integer solution. Each time a cutting plane is added, the current feasible set gets closer to the desired convex hull.
In Algorithm 7, we sketch a general cutting plane algorithm for problems of the form MILP. It might be the case that Algorithm 7 terminates without finding an integer solution because no further cutting plane can be found. In this case the improved formulation can still be passed to any branch-and-bound algorithm.
Algorithm 7: Generic Cutting-Plane Algorithm
input : Polyhedron P = {(x, y) ∈ X × Y | Ax + By ≤ b}, c ∈ Rn
output: min c>x s.t. (x, y) ∈ P ∩ (Zn× Rp). repeat
Minimize c>x + d>y over P .
Let (x?, y∗) ∈ P denote its optimal solution.
if x? ∈ Zn then
STOP: x? is optimal. else
Solve the separation problem for P .
if a cutting plane π>(x, y) ≤ π0 is found then
Set P := {(x, y) ∈ P | π>(x, y) ≤ π0}.
until no cutting plane was found
It remains the question of how to find a cutting plane in Step 3 of Algorithm 7. In the 1950s Ralph Gomory and Vaclav Chv´atal independently found out that the following observation holds:
Lemma 3.3 ([191]). Given X = P ∩ Zn, where P = {x ∈ Rn | Ax ≤ b, x ≥ 0}
and u ∈ Rm
+, the linear inequality
Pn
j=1bu >a
jcxj ≤ bu>bc is valid for X, where
a1, . . . , an ∈ Rm denote the columns of A ∈ Rm×n.
These linear inequalities are known as Chv´atal-Gomory Cuts. Adding one of them to P is called the Chv´atal-Gomory Procedure. It can be shown that these cuts are sufficient to generate all possible valid inequalities for X.
Theorem 3.4 ([191]). Every valid inequality for P ∩ Zn can be obtained by ap-
plying the Chv´atal-Gomory procedure a finite number of times.
The first cutting plane algorithm was introduced by Dantzig, Fulkerson and John- son in 1954 [63], to solve a 54-city instance of the Traveling Salesman Problem. In 1958 Ralph Gomory [96] formulated an algorithm, based on the Chv´atal-Gomory Procedure, for successively generating Chv´atal-Gomory Cuts directly out of the
44 CHAPTER 3. CONVEX MIXED-INTEGER PROGRAMMING optimal simplex tableau for any fractional LP solution found in Step 1, cutting it off. It was the first finite cutting plane algorithm presented for solving general pure integer linear programming problems of the form min{c>x | x ∈ P ∩ Zn},
where P is defined by linear inequalities Ax ≤ b, and A, b are required to be integer valued. Later, in 1960 Gomory [97] introduced the Gomory Mixed-Integer Cuts and extended the algorithm to general mixed-integer linear programming problems. These cuts are based on a disjunctive argument. However, iteratively adding Gomory Mixed-Integer Cuts will only guarantee finite convergence if also the objective function is required to be integer valued.
In the last decades, different types of cutting planes have been studied besides the Chv´atal-Gomory Cuts and Gomory Mixed-Integer Cuts, e.g., Mixed-Integer Rounding Cuts [150], Lift-and-Project (Disjunctive) Cuts [13, 14], Split Cuts [54], Intersection Cuts [12], {0,12}-Cuts [49]. A detailed survey on cutting planes for mixed-integer linear programming is given by Cornu´ejols [55]. Their effectiveness depends on the underlying problem and usually different types of cuts are com- bined. The theory of cutting planes is deep and extensive. It is also generally accepted to be the most important contributor to the computational advances that have been made in integer programming over the last several years. An in- teresting study by Bixby [31] shows the improvements in solving mixed-integer problems using all innovations over the last decades.