Notes on the multicommodity flow problem -- draft

Version & licenses
Creative Commons License

Notes on the multicommodity flow problem -- draft

Guyslain

Cut-sufficiency in series-parallel graphs

The main result in the same paper by Chakrabarty, Fleischer and Weibel [1] characterizes the pairs (G,H), with G a series-parallel graph, for which there is an integral routing for any c,D satisfying the cut condition. Let Kn,p be the complete bipartite graph with parts of cardinals n and p. We call odd-spindle a pair G,H with G=K2,m with m3 even, and H is composed of a simple cycle of length m spanning the vertices of degree 2 of G, plus an edge between the two vertices of degree m. For m=5, it gives:

The odd-spindle for m=5 .

A minor of a pair G,H is a pair G,H obtained from G,H by a sequence of contraction of edges of G and deletion of edges of G and H.

A graph G is series-parallel (G is a SP graph) if it can be obtained from an arbitrary tree by a sequence of series and parallel operation. A series operation replace an edge by a path of arbitrarily length, with the same endpoints and all the inner vertices are fresh vertices. A parallel operation replicates an edge in an arbitrary number of edges with the same endpoints. Series-parallel graphs coincides with graphs with no minor K4, and with graphs of tree-width 2.

A pair G,H is cut-sufficient if for any c,D such that any instance G,H,c,D that satisfies the cut condition admits a (fractional) solution.

Theorem 1: (Chakrabarty , Fleischer and Weibel [1]) If G is series-parallel, then G,H is cut-sufficient if and only if (G,H) has no odd-spindle minors. If G,H,c,d is Eulerian and satifies the cut condition, then there is an integral solution.

The proof relies on the congestion-distortion equivalence theorem, and a particular case of cut-sufficiency for G series-parallel that was proved in an earlier paper by Chekuri, Shepherd and Weibel [2]. One implication is clear: an odd-spindle with c and D uniformly equal to 1 is cut-sufficient, though there is no solution. As being cut-sufficient is obviously closed under the minor operations, the cut-sufficiency implies that there is no odd-spindle minor.

Special case : K2,m

Let G,H,c,D be an instance that satifies the cut condition. We may assume that:

  • G is connected, and even G is 2-connected.
  • there are no two parallel edges, one in G and one in H (decrease c and D on both).
  • every edge in G or H is in a tight cut (decrease c on G or increase D on H).

Series-parallel graphs have very strong structural properties. As mentionned above, they are graphs of treewidth 2 , which implies that there are many 2-vertex-cuts. Let's take an arbitrary 2-vertex-cut {u,v}, and consider the graph obtained by contracting all the edges of G{u,v}: this graph is a K2,m. We start by proving the following. A K2,m-instance is an instance G,H where G is a K2,m with possibly one additional edge between the two vertices of degree m.

Lemma 2: (Chekuri , Shepherd, Weibel [2]) if G,H is a K2,m-instance and G,H does not have an odd-spindle as a minor, then G,H is cut-sufficient.

Proof: Recall that σ(X) denotes the surplus of the cut defined by X.

Let c,D satisfy the cut condition. We denote by s,t the two vertices of degree m, and U={u1,,um} the vertices of degree 2 in G. By assumption δ(U,{s,t})=. We may also assume that δ(ui) is tight for any ui, otherwise we increase the capacity on the edge st and decrease it on δG(ui). Then simplify the instance by removing parallel edges in G and H.

Lemma 3: If H[U] is bipartite, then G,H is cut-sufficient.

Proof: H[U] is bipartite, with parts XY=U. Let xy be a demand with xX, yY. We would like to do one of the following operation without violating the cut-condition:

  • decrease c and d by 1 along the cycle xsy,
  • decrease c and d by 1 along the cycle xty.

If the first one can't be done, there is a central tight cut Scontaining s but not x and y. If the second one can't be done there is a central tight cut T containing x and y but not t.

We partition XY into parts A to H as in the next figure, where S is the red set, T the blue set. For instance A=XST, H=YTX, and xG, yH.

Partition of the vertices.

Let S={s}ABCG and T={s}ABDH. Then, by counting (and remembering that X,Y is a bipartition for H[U] and U is independant in G):

0=σ(S)+σ(T)=σ(S)+σ(T)σ(C,D)σ(G,H)+σ(C,G)+σ(D,H)

Because σ(S)0 and σ(T)0 (cut condition):

0σ(S)+σ(T)=σ(C,D)+σ(G,H)=D(δH[C,D]δH[G,H])<0

The last inequality comes from the existence of the demand xy. This is a contradiction, hence one of the two operations can be carried out. Also, these operations preserves the integrality of the surplus function, hence at least 1/2 of the demand can be moved this way at each step. By induction upon the total demand, we reduce the instance to an instance with demand only between st, where the cut condition is sufficient.

Suppose Dst>0. Then, as δ({u}) is tight for any uU, the instance is not feasible, hence H[U] is not bipartite. We get an odd cycle in H[U] and so an odd-spindle minor in G+H.

Suppose now that Dst=0. Then we try to choose for any demand edge uv, how much of Duv is routed along the path usv, with respect to using exactly all of the capacities of δG(s){st}. This is a capacitated fractional b-matching problem on vertices U+z and edges H[U]{zu,uU} with b(v)=c(sv), and where z is an dummy vertex with b(z)=c(st) and z is adjacent to every node (including itself) in U with infinite capacity. If a solution exists then we easily deduce a solution to the routing problem. Otherwise we know that there exists three sets Sz, N and W partitioning U{z}, with:

2D(δH[N])+D(δH[N,W])<c(δG(N,{s}))c(δG(S,{s}))

Because each vertex in N defines a tight set we also have:

2D(δH[N])+D(δH[N,S])+D(δH[N,W])=c(δG(N,{s}))+c(δG(N,{t}))

Subtracting it from the inequality, we get:

ε=D(δH[N,S])c(δG(S,{s}))c(δG(N,{t}))>0

Consider the instance G,H obtained from G[{s,t}W],H[W] by adding a demand edge st with Dst=ε. If there is a cut Xt with negative excess in G,H, then XS is a cut with negative excess in G,H, contradiction. But the instance is not feasible: δ(w) is tight for each wW so the demand st cannot be routed through W. Hence by induction G,H contains an odd-spindle as a minor, from which we get that G,H contains an odd-spindle too, using a demand edge in δH[S,N].

Properties of series-parallel graphs

We recall some properties of series-parallel graphs. Remember that a SP graph is a graph with no minor K4.

Lemma 4: In a SP graph, a simple cycle does not intersect any central cut more than twice.

Proof: By contradiction.

proof of the lemma

Use the centrality of the cut to get the red paths, this gives a K4 minor.

Lemma 5: In a SP graph, if there are three node-disjoint (u,v)-paths, then {u,v} is a 2-cut.

Proof: Any path between the inner nodes of two distinct (u,v) paths would give a K4.

Lemma 6: Let u, v be a pair of nodes, l and r be a 2-cut separating u from v, L, R two central sets with lL,r,u,vL and rR,u,l,vR. Then LR, RL are central.

Proof: V(RL) is connected as VR and L are connected and intersect in l. It remains to prove that RL is connected. By contradiction.

proof of the lemma

First case : suppose r is disconnected from r, with r in the component of v in G[V{l,r}]. Then take the red path by centrality of R, the blue path by centrality of B, the green path by centrality of L (to get to V(RL)) and R (then to u or v). x,l,l,r give a K4.

proof of the lemma

Second case : suppose r is disconnected from r, with r not in the component of u or v in G[V{l,r}]. Then again take the red and blue path, then the green to V(RL), then use the centrality of L and R to complete the green path to somewhere (in LR) between l and l and somewhere (in RL) between l and r. this gives a K4.

Lemma 7: For any 2-cut {u,v} in a SP graph G and any component C of G{u,v}, there is a vertex w (not necessarily unique) such that G[C{w}] is disconnected.

Proof: By contradiction. We immediately get a K4.

proof of the lemma

Lemma 8: Given any 2-cut {s,t} in a SP graph G, there is a unique acyclic orientation of E(G) with s being the unique source and t the unique sink.

Proof: By recursion, using the previous lemma.

Lemma 9: Orient a SP graph G with respect to a 2-cut {s,t}. Define the relation uv if there is a directed path from u to v. Then defines a lattice.

Proof: By contradiction. Let u,v be a maximal pair such that there are m1 and m2 with u,vm1,m2 but m1 and m2 are not comparable. Then there is a K4.

Proof of the lemma

Lemma 10: Given the acyclic orientation induced by a 2-cut {s,t} in a SP graph G, any simple cycle can be decomposed into two directed {u,v}-paths. Then {u,v} is a 2-cut.

Proof: By contradiction. Take four maximal consecutive directive paths on a simple cycle C. Get v as ab and u as cd. If ev we get a K4, hence a,be=v. Repeat on all the possible way to choose the four blue paths, we eventually get that a=b=e, this contradicts the simplicity of C.

proof of the lemma

We prove the second statement. if {u,v}={s,t} it is a 2-cut. Else there are directed paths from s to u, from s to t and from v to t. Together they define a third disjoint (u,v)-path. Hence {u,v} is a 2-cut.

Special case: compliant instances

We say that an edge eH is fully compliant if G+e is series-parallel, and that an instance is fully compliant if every demand edge is compliant. The proof of the cut-sufficiency condition for fully compliant instances relies on a 2-cut reduction that we now describe. Suppose there is a 2-cut {u,v}, and a partition A, B of the components of G{u,v}, such that δH[V(A),V(B)]=. Then we can reduce the problem into two instances over A{s,t} and B{s,t}respectively. We may have to add a demand edge st in one of them, and a supply edge st in the other, in order to make the two instances satisfy the cut condition, but there is no difficulty in doing so and proving the correctness of this reduction.

Now it is easy to prove that fully compliant instances are cut-sufficient. We may assume that there is a 2-cut {u,v} with three disjoint (u,v)-paths, otherwise G is a simple cycle for which cut-sufficiency is well-known (for example by Okamura-Seymour's theorem). As {u,v} is a vertex cut there is a partition A,B of V{u,v}, with δG[A,B]=, and we can assume not all the three paths are in one side. Now, δH[A,B]=, otherwise we could find a path connecting two of our three (u,v)-paths, and this would give a K4 minor. Hence we can apply the 2-cut reduction. This gives:

Lemma 11: (Chekuri , Shepherd, Weibel [2]) Fully compliant instances are cut-sufficient.

Choose any 2-cut st and consider the associated acyclic orientation. Say that an edge uv is compliant (for this orientation) if there is a directed (s,t)-path containing u and v. An instance is compliant if there is an acyclic orientation for some 2-cut {s,t} such that every demand edge is compliant or fully compliant (it may happen that a fully compliant edge is not compliant, if there are no three node-disjoint (s,t)-paths). The next step is:

Lemma 12: (Chekuri , Shepherd, Weibel [2]) Compliant instances are cut-sufficient.

Proof: If all the demand edges are fully compliant we are done. Hence we can assume that there is a demand edge uv that is not fully compliant, but only compliant. Our goal is to replace uv by two demand edges uw,wv such that the new instance is still compliant, satisfies the cut condition and is somehow simpler.

Lemma 13: If an edge uv is not fully compliant, then there is a 2-cut {l,r} separating u from v, and three disjoint paths from l to r.

Proof: G+uv has a K4 minor, containing the edge uv, hence there are a,b,c,d vertices and 6 paths joining every possible pairs, one of them containing uv, say the (a,b)-path Pab. Then by removing Pab, we get three disjoint (c,d)-paths. Hence {c,d} is the 2-cut that we are looking for.

Because uv is compliant there is a directed (s,t)-path P going through s,u,v,t in that order. Because u,v is not fully compliant there is two cut l,r separating u from v, and three disjoint (r,l)-paths. We may choose one of them to contain an st path Q. We may assume that r is on P between u and v. l must be in the same component as u and v in G{s,t}, because one of the three (l,r)-paths does not contain s or t (and {s,t} is a 2-cut). l,r separates u from v, hence l is on P, between s and u or between v and t. Let's say P goes through s,l,u,r,v,t in that order.

We want to replace the demand edge uv by two demand edges ul,lv or ur,rv. Suppose this is not possible, and we will derive a contradiction. Then we get two central tight cuts L and R where:

  • L contains l but not r,u,v,
  • R contains r but not l,u,v.

L and R are central, so are LR and RL by Lemma 6. Consider G(LR) and its components Ci, u and v are in two distinct components (as {l,r} separates them). Suppose some component Cj has two vertices x,y with xLR and yV \ setminus LR). L and R are connected, hence there are two paths from x, one to LR, one to RL. VL and VR are also connected, hence there are two paths from y to LR and from y to RL. These four paths can be chosen node-disjoint. Moreover, there is an (x,y)-path in Cj and a (LR,RL)-path avoiding Cj. This gives a K4. Hence each Ci is completely contained in either LR or V(LR).

As the cycle C=PQ intersects δ(R)and δ(S) exactly twice each, we have:

  • R cannot contain s nor t
  • either t is in the same component as v, or s and t are both in LR

  1. Suppose first that t is in the same component Cv as v. Then take any demand edge ab, and consider a directed (s,t)-path P containing a and b (because ab is compliant). If a and b are in two distinct components, and distinct from the component Cv, then P intersects at least 5 times δ(LR) and δ(RL), contradiction. Any demand between two components has one endpoint in Cv.

  1. Suppose now that s,tLR. Take a component Ci of G[V(LR)], and suppose that δ+(C,RL) and δ(C,RL) are both non-empty, then there is e+ and e as evidence. e+ is in some path P+ starting from s and e is in some path P ending at t (by the acyclic orientation of G). Because δ(RL) and δ(LR) can be crossed at most twice by a cycle, the situation looks like the following picture:

    construction of paths

    P and P+ are vertex-disjoint: otherwise we could make a directed path from RL to itself through Ci. This path could then be extended into an (s,t)-path crossing δ(RL) four times, contradiction. Ci is connected hence there is a path between a node x of V(P+Ci) and a node y of V(PCi), in Ci. Using another component Cj (there are at least two components, and each of them is connected to LR and RL by centrality of these sets), and the connectedness of LR and RL, we get a K4.

    From this we conclude that every component Ci has δ+(Ci,RL)= (out-component) or δ(Ci,RL)= (in-component). Moreover any demand edge ab between two components is contained in an (s,t)-path which crosses δ(LR) and δ(RL) exactly twice, hence a is in an out-component and b is in an in-component.

Hence, in both cases, the instance obtained by contracting each component into a single node, as well as LR and RL is a K2,m with H[U] bipartite where U is the set of vertices of degree 2. Moreover the new instance satisfies the cut condition (we only did minor operations), but the cut induced by δ(L) and δ(R) in the contracted graph are tight and show that no routing may exists. This contradicts the simultaneous existence of L and R.

Thus, the demand uv can be pushed to either r or l. Then the number of compliant but not fully compliant demand edges is decreased by one. By induction the instance is routable.

General case: odd-spindle free instances

We now give a proof of the general theorem 1 for series-parallel graphs: G,H is cut-sufficient if and only if it does not contain an odd-spindle minor. We only proved on direction, let's prove the other one: we assume that G,H is not cut-sufficient (that is G,H has congestion greater than 1) and prove that it contains an odd-spindle.

We start with a consequence of the congestion-distortion equivalence, that can be proved by carefully applying the complementarity slackness conditions in the proof of the congestion-distortion equivalence. Given capacities c, demands D and a demand edge uv, we say that a set W is a bubble for uv is δ(W) is tight and u,vW. We say that the set Puv of (u,v)-paths is covered by bubbles if every path in it intersects at least one bubble for uv. Then we use the following fact (that we don't prove):

Lemma 14: If G,H is not sufficient, then there are c and D such that for any demand edge uv, if PPuv does not cross any bubble, then P crosses some tight cut more than once. (c and D can actually be taken to be optimal solutions for the maximization of congestion problem).

We take c and D as in the lemma. Now the proof is in two parts: finding a demand uv with Puv covered by bubbles, and from there finding an odd-spindle.

Lemma 15: There is a demand edge uv such that Puv is covered by bubbles.

Proof: Orient G with respect to some 2-cut st. G,H is not cut-sufficient, hence there is a non-compliant demand uv. We choose uv such that Iuv={w:uvwuv} is minimal.

By contradiction. Suppose Puv is not covered by bubbles, there is a path P that does not cross any bubble, and a central tight cut C such that |E(P)δG(C)|=3 (more than 3 would give a K4). Define a, b, Su and Sv as in the following picture:

some definitions

a and b are chosen such that the two black paths are minimal. Then there are three-disjoint (a,b)-paths, {a,b} is a 2-cut. Moreover, by carefully choosing P and C, we can ensure that any (u,b)-path inside C crosses some tight cut twice more that P (a shortcut by a violating (u,b)-paths would decrease the number of tight cuts crosses by P).

Su is the component of G{a,b} containing u, and Sv the component containing v. By symmetry we may assume s and t are not in SU. We want to show the existence of a 2-cut {x,y}Su{a,b} distinct from {a,b}, and two disjoint (x,y)-paths, not containing a or b, with a demand between their inner nodes. We distinguish two cases:

  1. Suppose there is a tight cut defined by some set S, u,bS, that intersects every (u,b)-path in C, but not P between u and b. Take S inclusion-wise minimal. {a,b} being a 2-cut, S does not intersect P at all. Let U be the component of G[CS] containing u, and B=C(US). CU cannot be a bubble covering P, hence σ(CU)>0. Then,

    σ(U)+σ(S)=σ(US)+2σ(U,S)henceσ(U)2σ(S,U)

    σ(U)+σ(CU)=σ(C)+2σ(U,CU)henceσ(U)<2σ(U,CU)

    From that we get σ(S,U)<σ(U,CU) and then σ(SC,U)<σ(B,U)0. Therefore there is a demand pq with pSC and qU. Then we prove that there is a path from P to SC inside S: otherwise there would be a component S of S that does not intersect C. Therefore SS would also cut all the (u,b)-paths inside C, and

    0=σ(S(SS))=σ(S)+σ(SS)2σ(S,SS)0

    Hence σ(SS)=0, contradicting the minimality of S. Using also the centrality of C, we easily get to the following situation (a may be equal to y):

    figure

    {x,y} must be a 2-cut because of the three disjoint (x,y)-paths, u and p must be in distinct components. Thus there must be an (x,y)-path containing p (in the component of u), disjoint from the (x,y)-paths containing q.

  2. Otherwise there is no single tight cut intersecting all the (u,b)-paths inside C. Choose a minimal family of sets defining central tight cuts that covers all such paths, without intersecting P between u and b. Then all these cuts are bubbles for uv. Moreover, no two of them are crossed: this would give a K4, by using P. Also the union of them is not tight: this would give a single cut covering the (u,b)-paths inside C. Hence there must be a demand pq between two of these sets. Take a upb and a uqb paths, using P between u and b it is then easy to find x,y with three disjoint (x,y)-paths, one through each of x,y,u.

Then in both cases pq is not compliant, and {w:xpqwpqy}{w:awb}Iuv (supposing wlog that ab), contradicting the choice of uv.

We can now conclude the proof of theorem 1 by exhibiting an odd-spindle minor.

Proof: Consider a demand uv not covered by bubble. Let Fuv be a minimal family of bubbles covering every (u,v)-paths. By centrality of the bubbles, |Fuv|2. We distinguish two cases:

  1. m=|Fuv|3. We can assume that the bubbles are disjoint: associate to each bubble a path covered only by that bubble. If two bubbles are crossed, then we can find a path between their associated paths, and using the path associated to a third bubble we get a K4. Similarly there is no edge in G between two bubbles.

    Now contract each bubble into a single node, as well as the components of u and V in GBFuvB. It is easy to check this operation gives a K2,m, with each vertex of degree 2 defining a tight cut, and a positive demand between the vertices of degree m. This instance also satisfies the cut condition but does not have a routing, hence there must be an odd-spindle minor.

  1. |Fuv|=2, Fuv={A,B}. Let U be the component of G{A,B} containing u, and R the component containing v. Then:

    0σ(AR)+σ(BR)=σ(AB)+σ(BA)+2σ(U,R(AB))

    If AB=, the RHS becomes σ(A)+σ(B)+2σ(R,U)<0, contradiction. Hence AB contains at least one vertex x. By centrality of A and B we can find two (u,v)-paths: PB disjoint from AB, and PA disjoint from BA, and a (minimal) path QA from x to aV(PA) inside A and a (minimal) path QB from x to bV(PB) inside B. We deduce that there are three disjoint (a,b)-paths, {a,b} is a 2-cut. Applying Lemma 6, AB and BA are both central.

    Contract every edge not in δ(A)δ(B), this gives a K2,m that satisfies the cut condition. But the cuts induced by A and B shows that this instance is not feasible: there is an odd-spindle again.

This concludes the proof of Theorem 1.

1.Amit Chakrabarti, Lisa Fleischer, Christophe Weibel: When the cut condition is enough: a complete characterization for multiflow problems in series-parallel networks.
In: Proceedings of the 44th symposium on Theory of Computing. , 19 -- 26.
(2012).
2.Chandra Chekuri, F. Bruce Shepherd, Christophe Weibel: Flow-cut gaps for integer and fractional multiflows.
Journal of Combinatorial Theory, Series B.
Elsevier, (2012).