• Aucun résultat trouvé

Cutting Planes

Dans le document R.L. Graham, La Jolla B. Korte, Bonn (Page 118-122)

Integer Programming

2 This is not the only way how total unimodularity can be used to prove that

5.5 Cutting Planes

M

M

, where M is the two-way cut-incidence matrix

of F, it is totally unimodular, too. 2

For general cross-free families the one-way cut-incidence matrix is not totally unimodular; see Exercise 12. For a necessary and sufficient condition, see Schrijver [1983]. The two-way cut-incidence matrices of cross-free families are also known as network matrices (Exercise 13).

Seymour [1980] showed that all totally unimodular matrices can be constructed in a certain way from these network matrices and two other totally unimodular matrices. This deep result implies a polynomial-time algorithm which decides whether a given matrix is totally unimodular (see Schrijver [1986]).

5.5 Cutting Planes

In the previous sections we considered integral polyhedra. For general polyhedraP we havePPI. If we want to solve an integer linear program max{cx:xPI}, it is a natural idea to cut off certain parts of Psuch that the resulting set is again a polyhedronPand we havePPPI. Hopefully max{cx :xP}is attained by an integral vector; otherwise we can repeat this cutting-off procedure for P in order to obtain P and so on. This is the basic idea behind the cutting plane method, first proposed for a special problem (theTSP) by Dantzig, Fulkerson and Johnson [1954].

Gomory [1958, 1963] found an algorithm which solves general integer pro-grams with the cutting plane method. Since Gomory’s algorithm in its original form has little practical relevance, we restrict ourselves to the theoretical back-ground. The general idea of cutting planes is used very often, although it is in general not a polynomial-time method. The importance of cutting plane methods is mostly due to their success in practice. We shall discuss this in Section 21.6.

The following presentation is mainly based on Schrijver [1986].

Definition 5.28. LetP = {x: Axb}be a polyhedron. Then we define P := 4

PH

HI,

where the intersection ranges over all rational affine half-spacesH = {x:cx ≤δ}

containing P. We set P(0) := P and P(i+1) := P(i)

. P(i) is called the i-th Gomory-Chv´atal-truncationof P.

For a rational polyhedron P we obviously have PPP(2) ⊇ · · · ⊇ PI

and PI =(P)I.

Proposition 5.29. For any rational polyhedron P= {x: Axb}, P = {x:u Ax ≤ ubfor allu≥0withu Aintegral}.

Proof: We first make two observations. For any rational affine half-space H = {x:cx ≤δ}withcintegral we obviously have

H = HI ⊆ {x:cx ≤ δ}. (5.5) If in addition the components of care relatively prime, we claim that

H = HI = {x:cx ≤ δ}. (5.6) To prove (5.6), letc be an integral vector whose components are relatively prime. By Lemma 5.10 the hyperplane{x:cx = δ} contains an integral vector y. For any rational vector x ∈ {x :cx≤ δ} letα∈Nsuch thatαx is integral.

Then we can write

x = 1

α(αx−(α−1)y)+α−1

α y,

i.e. x is a convex combination of integral points in H. Hence xHI, implying (5.6).

We now turn to the main proof. To see “⊆”, observe that for any u ≥ 0, {x:u Axub}is a half-space containing P, so by (5.5) P⊆ {x:u Ax ≤ ub}

ifu Ais integral.

We now prove “⊇”. For P = ∅ this is easy, so we assume P = ∅. Let H = {x :cx ≤δ}be some rational affine half-space containing P. W.l.o.g. c is integral and the components ofcare relatively prime. We observe that

δ ≥ max{cx: Axb} = min{ub:u A=c,u≥0}.

Now letu be any optimum solution for the minimum. Then for any

z ∈ {x:u Ax ≤ ub for all u ≥0 with u A integral} ⊆ {x:uAx ≤ ub}

we have:

cz = uAzub ≤ δ

108 5. Integer Programming

which, using (5.6), implieszHI. 2

Below we shall prove that for any rational polyhedron P there is a number t with PI = P(t). So Gomory’s cutting plane method successively solves the linear programs over P,P,P, and so on, until the optimum is integral. At each step only a finite number of new inequalities have to be added, namely those corresponding to a TDI-system defining the current polyhedron (recall Theorem 5.16):

Theorem 5.30. (Schrijver [1980]) Let P= {x: Axb}be a polyhedron with AxbTDI, Aintegral andbrational. Then P= {x: Ax ≤ b}. In particular, for any rational polyhedron P, Pis a polyhedron again.

Proof: The statement is trivial if P is empty, so let P= ∅. Obviously P⊆ {x: Axb}. To show the other inclusion, let u≥0 be a vector with u Aintegral.

By Proposition 5.29 it suffices to show thatu Ax≤ ubfor allx withAx ≤ b. We know that

ub ≥ max{u Ax :Axb} = min{yb:y≥0, y A=u A}.

Since Axb is TDI, the minimum is attained by some integral vector y. Now Axbimplies

u Ax = yAxyb ≤ yb ≤ ub.

The second statement follows from Theorem 5.16. 2

To prove the main theorem of this section, we need two more lemmas:

Lemma 5.31. If Fis a face of a rational polyhedronP, thenF=PF. More generally, F(i)=P(i)F for alli ∈N.

Proof: Let P = {x : Axb} with A integral, b rational, and Axb TDI (recall Theorem 5.16).

Now let F= {x :Axb, ax=β}be a face of P, whereax ≤β is a valid inequality for P witha andβ integral.

By Proposition 5.15, Axb,ax ≤β is TDI, so by Theorem 5.17, Axb, ax=β is also TDI. Asβ is an integer,

PF = {x: Ax ≤ b, ax=β}

= {x: Ax ≤ b, ax≤ β, ax ≥ β}

= F.

Here we have used Theorem 5.30 twice.

To prove F(i)= P(i)F for i >1 we observe that F is either empty or a face of P. Now the statement follows by induction oni. 2

Lemma 5.32. Let P be a rational polyhedron inRn andUa unimodularn×n -matrix. ForX ⊆Rnwrite f(X):= {U x:xX}. Then ifXis a polyhedron, f(X) is again a polyhedron. Moreover, we have(f(P))= f(P)and(f(P))I = f(PI). Proof: Since f : Rn → Rn, xU x is a bijective linear function, the first statement is obviously true. Since also the restrictions of f and f1 to Zn are bijections (by Proposition 5.8) we have

(f(P))I =conv({x ∈Zn :U1xP})=conv({x∈Rn :U1xPI})= f(PI).

Let P = {x : Axb}with Axb TDI, A integral, b rational (cf. Theorem 5.16). Then by definition AU1xb is also TDI. Therefore

(f(P)) = {x: AU1xb} = {x :AU1x≤ b} = f(P). 2

Theorem 5.33. (Schrijver [1980]) For each rational polyhedronP there exists a numbert such that P(t)=PI.

Proof: Let Pbe a rational polyhedron inRn. We prove the theorem by induction onn+dimP. The case P= ∅is trivial, the case dim P =0 is easy.

First suppose that P is not full-dimensional. Then PK for some rational hyperplane K.

IfK contains no integral vectors,K = {x:ax =β}for some integral vector a and some non-integerβ (by Lemma 5.10). But then P⊆ {x :ax≤ β, ax≥ β} = ∅ = PI.

If K contains integral vectors, say K = {x : ax =β} witha integral, β an integer, we may assumeβ =0, because the theorem is invariant under translations by integral vectors. By Lemma 5.9 there exists a unimodular matrixU withaU = αe1. Since the theorem is also invariant under the transformation xU1x (by Lemma 5.32), we may assume a = αe1. Then the first component of each vector in P is zero, and thus we can reduce the dimension of the space by one and apply the induction hypothesis (observe that ({0} ×Q)I = {0} ×QI and ({0} ×Q)(t)= {0} ×Q(t) for any polyhedron Q inRn1 and anyt ∈N).

Let now P = {x : Axb} be full-dimensional, and w.l.o.g. A integral. By Theorem 5.7 there is some integral matrixC and some vector d with PI = {x : C xd}. In the casePI = ∅we setC:= Aandd:=b−A1l, whereAarises from Aby taking the absolute value of each entry. (Note that{x :AxbA1l} = ∅.) Letcx ≤δ be an inequality ofC xd. We claim that P(s)H := {x :cx≤ δ}for somes∈N. This claim obviously implies the theorem.

First observe that there is someβ ≥δ such that P⊆ {x:cx ≤β}: in the case PI = ∅this follows from the choice ofC andd; in the case PI = ∅this follows from Proposition 5.1.

Suppose our claim is false, i.e. there is an integerγ withδ < γ ≤βfor which there exists an s0 ∈ N with P(s0) ⊆ {x : cx ≤ γ}, but there is no s ∈ N with P(s)⊆ {x:cx ≤γ−1}.

110 5. Integer Programming

Observe that max{cx :xP(s)} =γ for allss0, because if max{cx :xP(s)}< γ for somes, then P(s+1)⊆ {x:cx ≤γ−1}.

Let F:= P(s0)∩ {x:cx=γ}.F is a face of P(s0), and dimF <n=dimP. By the induction hypothesis, there is a numbers1 such that

F(s1) = FIPI ∩ {x :cx=γ} = ∅.

By applying Lemma 5.31 to F and P(s0) we obtain

∅ = F(s1) = P(s0+s1)F = P(s0+s1)∩ {x :cx=γ}.

Hence max{cx:xP(s0+s1)}< γ, a contradiction. 2 This theorem also implies the following:

Theorem 5.34. (Chv´atal [1973]) For each polytope P there is a numbert such that P(t)=PI.

Proof: As P is bounded, there exists some rational polytopeQP withQI = PI. By Theorem 5.33, Q(t) = QI for some t. Hence PIP(t)QI = PI,

implying P(t)=PI. 2

This numbert is called the Chv´atal rank of P. If P is neither bounded nor rational, one cannot have an analogous theorem: see Exercises 1 and 16.

A more efficient algorithm which computes the integer hull of a two-dimen-sional polyhedron has been found by Harvey [1999]. A version of the cutting plane method which, in polynomial time, approximates a linear objective function over an integral polytope given by a separation oracle was described by Boyd [1997].

Dans le document R.L. Graham, La Jolla B. Korte, Bonn (Page 118-122)