23.06.2013 Views

Implementation of Cutting Plane Separators for Mixed Integer ... - ZIB

Implementation of Cutting Plane Separators for Mixed Integer ... - ZIB

Implementation of Cutting Plane Separators for Mixed Integer ... - ZIB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.2 Lifting Theory 7<br />

1. If there exists λ > 0 such that (α, α0) = λ(γ, γ0), we call α T x ≤ α0 and<br />

γ T x ≤ γ0 equivalent.<br />

2. If there exists µ > 0 such that γ ≥ µα and γ0 ≤ µα0, then {x ∈ R n + : γ T x ≤<br />

γ0} ⊆ {x ∈ R n + : α T x ≤ α0}. In this case, we say that γ T x ≤ γ0 is at least as<br />

strong as α T x ≤ α0.<br />

We assume that the MIP has an optimal solution, i.e., that the MIP is neither<br />

infeasible nor unbounded. The general cutting plane method starts by solving the<br />

LP relaxation <strong>of</strong> the MIP with methods from linear programming (see e.g. [52]).<br />

Obviously, zLP ≤ zMIP holds. Let x∗ LP be an optimal solution <strong>of</strong> the LP relaxation <strong>of</strong><br />

the MIP. If x∗ LP is in Zp × Rn−p , we are done; x∗ LP is an optimal solution <strong>of</strong> the MIP.<br />

Otherwise, it is a well-known result that there exists a valid inequality <strong>for</strong> X that is<br />

from conv(X) (see [46]). Such an inequality is<br />

not satisfied by x∗ LP , or ‘cuts <strong>of</strong>f’ x∗ LP<br />

called cutting plane and the problem <strong>of</strong> determining whether x∗ LP<br />

is in conv(X) and<br />

if not <strong>of</strong> finding a cutting plane is called separation problem. If we found a cutting<br />

plane, we add it to P and obtain a polyhedron Q with conv(X) ⊆ Q ⊂ P . This<br />

process is iterated until the solution is in Z p × R n−p , i.e., an optimal solution <strong>of</strong> the<br />

MIP is found.<br />

The separation problem can be <strong>for</strong>mulated <strong>for</strong> different class <strong>of</strong> valid inequalities<br />

<strong>for</strong> X. Gomory has shown that a cutting plane method based on iteratively adding<br />

Gomory mixed integer cuts (see Chapter 6) solves a MIP under certain conditions<br />

in a finite number <strong>of</strong> steps (see [40, 46]).<br />

MIPs can also be solved by the linear programming based branch-and-bound algorithm.<br />

The algorithm uses a divide-and-conquer strategy to explore the feasible<br />

region <strong>of</strong> the MIP and there<strong>for</strong>e guarantees to find an optimal solution, if one exists.<br />

But, instead <strong>of</strong> exploring the whole feasible region, it makes use <strong>of</strong> lower and<br />

upper bounds and there<strong>for</strong>e avoids touching certain (large) parts <strong>of</strong> the feasible region<br />

(see [27]). This algorithm can be used in combination with the general cutting<br />

plane method described above. For a MIP in minimization <strong>for</strong>m the cutting plane<br />

method can help to improve the lower bound used in the branch-and-bound algorithm<br />

(also called dual bound). The resulting algorithm is called linear programming<br />

based branch-and-cut algorithm. We do not give a detailed description here, but refer<br />

the interested reader to [27, 46].<br />

2.2 Lifting Theory<br />

For implementing efficient cutting plane separators, it seems important to use cutting<br />

planes that are strong in the sense that they define facets <strong>of</strong> conv(X), where X is the<br />

feasible region <strong>of</strong> the MIP, or at least faces <strong>of</strong> conv(X) <strong>of</strong> reasonably high dimension<br />

(see [46]).<br />

Definition 2.7 ([46]). Let P ⊆ R n be a polyhedron, and α T x ≤ α0, where α ∈ R n<br />

and α0 ∈ R, be a valid inequality <strong>for</strong> P .<br />

1. A set <strong>of</strong> vectors x1 , . . . , xk ∈ Rn is affinely independent if the unique solution<br />

<strong>of</strong> k i=1 λixi = 0, k i=1 λi = 0 is λi = 0 <strong>for</strong> i = 1, . . . , k.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!