• Nenhum resultado encontrado

Totally unimodular matrices from directed graphs

No documento A Course in Combinatorial Optimization (páginas 143-148)

8. Integer linear programming and totally unimodular matrices

8.4. Totally unimodular matrices from directed graphs

Section 8.4. Totally unimodular matrices from directed graphs 143 Exercises

8.10. Give a min-max relation for the maximum weight of a stable set in a bipartite graph.

8.11. Give a min-max relation for the minimum weight of a vertex cover in a bipartite graph.

8.12. Let G = (V, E) be a nonbipartite graph. Show that the inequalities (40) are not enough to define the matching polytope of G.

8.13. The edge cover polytopePedge cover(G) of a graph is the convex hull of the incidence vectors of the edge covers in G. Give a description of the linear inequalities defining the edge cover polytope of a bipartite graph.

8.14. The stable set polytope Pstable set(G) of a graph is the convex hull of the incidence vectors of the stable sets in G. Give a description of the linear inequalities defining the stable set polytope of a bipartite graph.

8.15. Thevertex cover polytopePvertex cover(G) of a graph is the convex hull of the incidence vectors of the vertex covers inG. Give a description of the linear inequalities defining the vertex cover polytope of a bipartite graph.

8.16. Derive from Corollary 8.3e that for each doubly stochastic matrix M there exist permutation matricesP1, . . . , Pmand realsλ1, . . . , λm ≥0 such thatλ1+· · ·+λm= 1 and

(43) M =λ1P1+· · ·λmPm.

(A matrixM is calleddoubly stochasticif each row sum and each column sum is equal to 1. A matrix P is called a permutation matrixif it is a {0,1} matrix, with in each row and in each column exactly one 1.)

144 Chapter 8. Integer linear programming and totally unimodular matrices Theorem 8.4. The incidence matrix M of any directed graph D is totally unimodu-lar.

Proof. Let B be a square submatrix of M, of order t say. We prove that detB ∈ {0,±1} by induction on t, the case t = 1 being trivial.

Let t >1. We distinguish three cases.

Case 1. B has a column with only zeros. Then detB = 0.

Case 2. B has a column with exactly one nonzero. Then we can write (up to permuting rows and columns):

(45) B =

µ ±1 bT 0 B

¶ , for some vectorb and matrix B.

Now by our induction hypothesis, detB ∈ {0,±1}, and hence detB ∈ {0,±1}. Case 3. Each column of B contains two nonzeros. Then each column of B contains one +1 and one −1, while all other entries are 0. So the rows of B add up to an all-zero vector, and hence detB = 0.

The incidence matrix M of a directed graph D = (V, A) relates to flows and circulations in D. Indeed, any vectorx∈RA can be considered as a function defined on the arcs of D. Then the condition

(46) M x= 0

is just the ‘flow conservation law’. That is, it says:

(47) X

a∈δout(v)

x(a) = X

a∈δin(v)

x(a) for each v ∈V.

So we can derive from Theorem 8.4:

Corollary 8.4a. LetD= (V, A)be a directed graph and letc:A→Zandd:A→Z.

If there exists a circulation x on A with c ≤ x ≤ d, then there exists an integer circulation x on A with c≤x≤d.

Proof.If there exists a circulation x with c≤x≤d, then the polytope (48) P :={x|c≤x≤d;M x= 0}

is nonempty. So it has at least one vertex x. Then, by Corollary 8.1a, x is an integer circulation satisfying c≤x ≤d.

Section 8.4. Totally unimodular matrices from directed graphs 145

In fact, one can derive Hoffman’s circulation theorem— see Exercise 8.17. Another theorem that can be derived is the max-flow min-cut theorem.

Corollary 8.4b (max-flow min-cut theorem). Let D = (V, A) be a directed graph, let s and t be two of the vertices of D, and let c : A → R+ be a ‘capacity’ function onA. Then the maximum value of an s−t flow subject to c is equal to the minimum capacity of ans−t cut.

Proof. Since the maximum clearly cannot exceed the minimum, it suffices to show that there exists an s−t flow x ≤ c and an s−t cut, the capacity of which is not more than the value ofx.

LetM be the incidence matrix of Dand letM arise fromM by deleting the rows corresponding tosand t. So the conditionMx= 0 means that the flow conservation law should hold in any vertex v 6=s, t.

Let w be the row of M corresponding to vertex s. So wa = +1 if arc a leaves s and wa =−1 if arc a enters s, while wa = 0 for all other arcsa.

Now the maximum value of an s−t flow subject to c is equal to (49) max{wTx|0≤x≤c;Mx= 0}.

By LP-duality, this is equal to

(50) min{yTc|y≥0;yT +zTM ≥w}. The inequality system in (50) is:

(51) (yT zT)

µ I I 0 M

≥(0 w).

The matrix here is totally unimodular, by Theorem 8.4.

Since w is an integer vector, this implies that the minimum (50) is attained by integervectors y and z.

Now define

(52) W :={v ∈V \ {s, t} |zv ≤ −1} ∪ {s}.

SoW is a subset of V containings and not containing t.

It suffices now to show that (53) c(δout(W))≤yTc,

since yTcis not more than the maximum flow value (49).

146 Chapter 8. Integer linear programming and totally unimodular matrices To prove (53) it suffices to show that

(54) if a= (u, v)∈δout(W) then ya≥1.

Define ˜zr:=−1, ˜zs := 0, and ˜zu =zu for all otheru. ThenyT + ˜zTM ≥0. Hence for alla= (u, v)∈δout(W) one has ya+ ˜zu−z˜v ≥0, implying ya ≥z˜v−z˜u ≥1. This proves (54).

Similarly as in Corollary 8.4a it follows that if all capacities are integers, then there exists a maximum integer flow.

Next define a matrix to be an interval matrixif each entry is 0 or 1 and each row is of type

(55) (0, . . . ,0,1, . . . ,1,0, . . . ,0).

Corollary 8.4c. Each interval matrix is totally unimodular.

Proof. Let M be an interval matrix and let B be a t×t submatrix of M. Then B is again an interval matrix. Let N be the t×t matrix given by:

(56) N :=

1 −1 0 · · · 0 0 0 1 −1 · · · 0 0 0 0 1 · · · 0 0 ... ... ... ... ... ...

... ... ... . .. ... ...

0 0 0 · · · 1 −1 0 0 0 · · · 0 1

 .

Then the matrix N ·BT is a {0,±1} matrix, with at most one +1 and at most one

−1 in each column.

So it is a submatrix of the incidence matrix of some directed graph. Hence by Theorem 8.4, det(N ·BT) ∈ {0,±1}. Moreover, detN = 1. So detB = detBT ∈ {0,±1}.

Exercises

8.17. Derive Hoffman’s circulation theorem (Theorem 4.6) from Theorem 8.4.

8.18. Derive Dilworth’s decomposition theorem (Theorem 7.6) from Theorem 8.4.

8.19. Let D= (V, A) be a directed graph and let T = (V, A) be a directed spanning tree on V.

Section 8.4. Totally unimodular matrices from directed graphs 147 Let C be the A×A matrix defined as follows. Take a ∈ A and a = (u, v) ∈ A, and define Ca,a := +1 if a occurs in forward direction in the u−v path in T and Ca,a := −1 if a occurs in backward direction in theu−v path in T. For all other a ∈A and a∈Aset Ca,a := 0.

(i) Prove that C is totally unimodular.

(Hint: Use a matrix similar to matrixN in Corollary 8.4c.)

(ii) Show that interval matrices and incidence matrices of directed graphs are special cases of such a matrix C.

148 Chapter 9. Multicommodity flows and disjoint paths

9. Multicommodity flows and

No documento A Course in Combinatorial Optimization (páginas 143-148)