Introduction
An instance of the MultiCommodity flow problem (or Multiflow problem) is composed of an undirected graph with capacities , a set of terminals , and a function
. We denote the graph with vertex set , and edges for every pair of terminals with .
A -path is any path whose endpoints are distinct elements of
. For two vertices and , an -path is a path whose endpoints are and . Denote by the set of all -paths of (we will omit the indices when there is no ambiguity). A -packing of -paths is a mapping , such that, for any edge , the sum of
where ranges over all -paths containing is at most
. The value of a -path with extremities is
. We extend this definition to packings of
-paths by saying that the value of a packing is
.
The goal of the MultiCommodity Flow problem is to find a -packing of -paths of maximum value.
Linear Program: formulation using paths
We can rewrite the definition directly as a linear program:
From this we can derive the dual program with variables :
The interpretation of this dual program leads directly to a problem about distances. Actually there is a very deep connection between multicommodity flows and distance embeddings as we shall see later. For now, we interprete as giving a length to every edge of the graph. The main constraints say that the distance (i.e. the length of a shortest path, which is the minimal length over all paths) between two terminals and must be at least for the chosen lengths.
We rewrite the dual, replacing by its metric closure . We denote .
There is a very intuitive interpretation of the weak duality for the multicommodity flow problem. The capacity of an edge can be interpreted as having multiple copies of that edge, each with unitary capacity. With this in mind, the objective value of the dual program is the sum of the lengths of all the edges of . Consider a -path , with endpoints and , must have a total length at least . Thus, consumes at least of the length of , and contributes exactly to the primal objective. From this we get:
In words, the multiflow cannot use more length than available, and each path contributes at most its own length to the objective, hence the length of gives an upper bound on the value of any feasible flow.
Using the strong duality theorem, we get the so-called Japanese theorem:
Theorem 1: (Onaga -Kakusho [16]) The maximum value of a multicommodity flow for is equal to the minimum length over all distance such that for all terminals .
As a corollary of the strong duality, it is of interest to look at what complementary slackness tells us about a pair of optimal solution :
Linear Program: formulation on edges
We can give a completely different formulation of the flow problem, where the notion of path is forgotten. This gives a linear program with very interesting properties for the single-commodity case. For this, we only record how much of each commodity is actually flowing through any edge. As a side effect, this formulation is compact.
Let be . The variables are . Also, to keep track of the direction on which a commodity is flowing, we give an arbitrary orientation to . If is positive, it means that the commodity is flowing forward along that arc, if it is negative it is flowing backward (note that this is necessary only because we are looking at undirected graphs, in directed graphs the commodities can flow in only one direction, forward by definition).
Let's explain these constraints in reverse order. The last one is the capacity constraint: an edge cannot support more flow than its capacity. Because we can have negative values for commodities routed backward, we need to take the absolute values of the variables. We let the reader find how to encode these constraints linearly.
The second constraint concerns the edges of : the idea is that the flow routed through corresponds to the number of paths that can be packed between and , and this also explains the objective value. The second constraint ensures that these additional edges cannot be used to route a different commodity.
The first constraint is known as the conservation law: the quantity of a commodity entering a vertex is equal to the quantity of that same commodity leaving that same vertex. A vector in any graph is called a circulation if it satisfies this constraint, precisely for all vertex . Here, and stand respectively for the set of outgoing and incoming arcs of vertex . It also suggests the definition of the excess of an edge function at a vertex: for any , we define the excess of at by:
that is, the quantity of flow entering minus that leaving the vertex . A circulation is thus a function for which the excess is zero at every vertex.
Hence, this linear program expresses the existence of one circulation for each commodity, the circulation for commodity being defined on , and these circulations can be routed concurrently with respect to the capacities.
To get a solution encoded on edges from a packing of paths is relatively easy: First, close each path into a cycle by adding one of the commodity edges . Then orient each cycle such that is always forward. For a given cycle , let be the function defined by if is forward in , if is backward in , and otherwise. It is obvious that for any cycle is a circulation, and any linear combination of circulations is a circulation. Hence, defines a circulation . Repeating this over every commodity gives the equivalent solution to the edge formulation.
Reciproqually, a circulation can be decomposed into a set of cycles. The number of cycles using a given edge will be the amount of flow through that edge:
Theorem 2: (Fulkerson , comformal decomposition of circulation) Let be a circulation on a graph , then there is a set of at most cycles such that is a conic combination of , and no edge is used backward in one cycle and forward in another one.
The proof is left as an exercise. The condition that no edge is used both forward and backward ensures that each edge is present as many times in the cycle decomposition as in the circulation. The importance of the theorem is thus to prove that the formulation on edges is indeed equivalent (in some sense) to the formulation on paths.
Let's conclude this part by mentioning a direct and fundamental application of the edge formulation of single-commodity flows, that is multiflows with only one commodity. Then the linear program asks for only one circulation. and it can be seen that the corresponding system of inequations is totally unimodular. Indeed, the matrix of conservation law for a circulation is the matrix of incidence between arcs and vertices. A submatrix corresponds to a subgraph. If this subgraph contains a cycle, the corresponding columns are not linearly independant and the submatrix has determinant . Otherwise, it is a forest. Then by developping the determinant by a leaf and applying induction, the determinant is or , hence the matrix is totally unimodular. This implies that the circulation polyhedron is integral, hence the single-commodity flow problem (i.e. Maximum Flow) always admits an integral optimal solution. We will show an alternative proof below.
Cuts
We recall that a cut is the subset of edges with exactly one endpoint in (formally ). The capacity of a cut is . We say that a cut separates from if . An -cut is a cut separating from , more generally an -cut for two vertex sets and is a cut separating every pair . We denote the minimum capacity of an -cut, (where is the set of terminals), and the set of edges with one endpoint in and the other in .
Cuts sometimes provide a simple way to prove the optimality of a multiflow, and actually we are very interested in characterizing the instances for which cuts are sufficient to this purpose. The reason is that the capacity of an -cut is an upper bound on the number of paths with one extremity in and the other in . For instance, a commodity cannot contribute to the objective more than , where is the capacity of a (minimum) -cut.
We will use the following general inequalities on cuts. For any sets ,
As the capacities are always non-negative, it implies the submodularity inequation for cuts:
Another similar relation is (actually they are equivalent using that ):
Given an instance , we will denote the surplus of a cut defined by :
A cut is tight if its surplus . has remarkable equalities similar to those of cuts (from which they derive easily). We will also use the notation .
We say that a cut is central in if both and are connected.
Single-commodity flows
We start with the simplest case where , that is has only one edge. By scaling, we may assume that . Then the problem is equivalent to the maximum flow problem. We won't discuss here about the algorithmic aspects of the question, for which there already is an extensive litterature (I would like to recommand Pr. Tom McCormick's lecture notes, which partly inspired the presentation of the present note, but I don't know if they are available anywhere). We only prove the famous Max-Flow-Min-Cut theorem (in its undirected version) using only the previous considerations, and look at some of the consequences.
An -flow is a multicommodity flow with (hence it is actually a single-commodity flow). An -flow, , is a multicommodity flow where if , , and otherwise.
Theorem 3: (Ford -Fulkerson [5], Max-Flow-Min-Cut) The maximum value of an -flow in is equal to the minimum capacity of an -cut.
Proof: One direction is obvious: the capacity of an -cut limits the value of a flow. This is also an application of the Japanase theorem, by taking if separates from , and otherwise.
Let be a maximum -flow of value , and a minimum metric for the dual problem. By definition . Consider any value , and define the set of vertices at distance at most from . Then, we claim that . We already argued why . But the next paragraph proves directly the equation.
Consider any edge in , wlog . Then implies that . By complementary slackness, is saturated by . Also by complementary slackness, any active path containing crosses only at , otherwise its length would be strictly more than . By summing over all the edges of , and because every active path intersects , we get .
It is an almost direct consequence that there always is an integral maximum flow, provided that the capacities are integral (think that if an edge is not saturated, we can decrease its capacity by one unit without changing the value of a minimum cut, then by iterating we will get a graph with integer capacities where all the edges are saturated).
This result can also be extended to the case when is a star, by the usual trick of adding a super-source adjacent to all the leaves of (with unlimited capacities), and taking a maximum flow from the center of to the super-source. With more work, a maximum flow can be found even when is not uniform.
More generally, using one super-source and one super-sink, we get that the maximum -flow is equal to the minimum capacity of a cut separating all the pairs (but this time it works only for the uniform case). We can be more precise. Suppose that we want to find an -flow. We can characterize the vectors such that there is an integral -flow with exactly paths with endpoint , for any .
Corollary 4: Let be a partition of , and . Then there is an -flow with -paths, for any , if and only if for any .
Proof: The necessity is obvious. Let be such that there is no flow as required. Define by adding to a vertex with edges of capacity for every , and a vertex with edges of unlimited capacity for any . This instance does not have an -flow of value . Hence, by the Max-Flow-Min-Cut theorem, there is a cut with . Consider , then (and thus ), because .
Two-commodity flows
In this section we consider the case when has only two edges. Once again we can characterize the maximum multiflow with cuts.
Theorem 5: (Hu [10], Rothschild-Whinston [17]) When , , we have:
where ranges over all the cuts separating both from and from , and ranges over all the -cuts.
Proof: Let be the minimum capacity of an -cuts, and define such that is the minimum capacity of a cut separating from and from . It is sufficient (and actually necessary) to find a multiflow that routes units for , and units for . Note that the capacity of any -cut is at least . Indeed, given such a cut , if separates from , it has capacity at least . Else, we may assume that . Let be a minimum cut separating from . Then, one of and separates from and from , and thus has capacity at least . But , hence .
For this proof, we use the formulation of flows on edges (and thus we orient every edge arbitrarily). Firstly, define the graph obtained from by adding two new vertices, a super-source and a super-sink , with arcs and capacities , , and . Let be an -flow on of value . We prove that exists. Indeed, consider a cut containing but not , and define .
if separates the two pairs and , then by definition of , has capacity at least .
if separates only from , then contains either or , of capacity , and separates from , hence .
symmetrically if separates only from , .
if separates none of the two pairs, contains one of and one of , hence .
By the Max-Flow-Min-Cut theorem, exists. Let be the restriction of to . Similarly, we define a flow of value from and to and . We have:
Now, consider and . We get immediately:
which mean that is a candidate solution. We only have to check that they respect the capacities. For every edge :
where the last inequality follows from the fact that the central term is half the sum of the distances from to and (if , symmetrically otherwise), and .
The proof shows that there even is a half-integral optimal packing of paths.
Bistable graphs
Most of this section relies on an article of Frank, Karzanov and Sebő [6], and the PhD thesis of Mouna Sadli [18]. We follow the former to prove a theorem by Karzanov and Lomonosov [12].
is a clique and the locking theorem
Another important case where there always are half-integral solutions is when contains all the pairs of terminals. Given a set of terminal and a terminal , we denote the minimum capacity of a -cut.
Theorem 6: (Cherkasky [4], Lovász [15]) If for every pair , then .
We will prove a generalization of this theorem, but before that we need some definitions. We say that a family of paths locks a subset of terminals if it contains -paths. A family of subsets of is 3-cross-free if it has no three pairwise crossing members (two sets and are crossing if none of , , and is empty. An instance of Multiflow is inner-Eulerian if is even for all non-terminal vertex .
Theorem 7: (Karnazov , Lomonosov) Let be an inner-Eulerian instance and a 3-cross-free family of subsets of terminals. Then there is a family of disjoint -paths locking all the members of .
Before giving the proof of this theorem, let's see why it implies the Cherkasky-Lovász theorem. Take the family , which is obviously 3-cross-free. By the locking theorem there is a family of path locking , for every terminal . Hence every terminal is the endpoint of exactly paths in this family. Counting that each path has two endpoints, we get that the number of paths is precisely , as predicted by the Cherkasky-Lovász theorem.
Proof: The proof relies on the splitting-off technique: a splitting-off operation consists in taking two incident edges , , and replacing them by the edge . We only want to do it when it preserves the minimum cuts of the graph (the tight cuts). If we manage to apply splitting-off iteratively until the graph becomes trivial, without altering the values for , then we are done: indeed, if we can find a packing of paths in the trivial graph, then we can extend it to the original graph by unfolding the splitting-off in a natural way.
Consider an edge , with and . We want to show that there always is an edge such that we can split , . We say that a set of vertices is tight if and .
Firstly, we claim that if and are two tight sets, and , then and are also tight, and . Indeed, and , proving the first condition. It also implies that:
As is non-negative, we get that , and , proving the claim.
Secondly, we claim that there are no three distinct maximal tight sets containing but not . Consider three maximal tight sets , and containing and not . Then, , and , are elements of , and hence are not pairwise crossing.
if (up to renaming), then by the first claim is tight, and by maximality .
if , then is tight and , hence by the first claim , contradicting the existence of the edge .
Thirdly, we claim that there are no two tight sets and containing and not , with . Otherwise, one of the two sets, say , would have (the inequality being strict as each set separates from ), but then , contradicting the fact that is tight.
The two last claims prove the existence of an edge that is not covered by any tight set. Moreover, if for some , and , then because the instance is Eulerian. Thus, splitting off , does not change the values of the for any . By iteratively splitting off the graph until no terminal is adjacent to a non-terminal vertex (and removing the non-relevant parts of the graph), we reduced the instance to the case where all the vertices are terminals. But in that case, the theorem is trivial as taking all the possible paths of length gives a solution.
If the instance is not inner-Eulerian, it still gives a half-integrality result.
Where the polymatroids come into play
A graph is bistable if there are two partitions such that is an edge of iff and appears on distinct parts in both partitions. Equivalently, we can separate the maximal independant sets of into two subpartitions of its vertex set. In this section, we assume that . An -path is a path whose endpoints , are endpoints of an edge of , i.e. .
An admissible subpartition of is a subpartition with and is independant in for all . The value of an admissible subpartition is defined by . The value of an admissible subpartition is obviously an upper bound of the value of a maximum multiflow for : any -path must have its endpoints in distinct parts of the subpartition (as each part is an independant set in ). What is more surprising is that this is a good characterization of maximum multiflows when is bistable:
Theorem 8: (Karzanov , Lomonosov) If is inner-Eulerian and is bistable, then the cardinality of a maximum packing of -admissible -paths is equal to the minimum value of an admissible subpartition.
Note how this implies both Cherkasky-Lovász theorem and Rothschild-Whinston theorem (in the uniform case). Both and are bistable (the intersection graphs of maximal independant sets are respectively and ), and the values of subpartitions give almost immediately the characterizations given above.
A polymatroid is a polyhedron , where is a finite set and is a polymatroidal function:
Edmonds introduced the concept of polymatroids and several great properties they have. Among them:
the polymatroidal function is uniquely determined by the polymatroid,
a polymatroid is integral iff its polymatroidal function is integral-valued,
if and are two polymatroidal functions on , then . If and are integral, the maximum can be chosen integral.
given an (integral) polymatroid on with rank function , any (integral) vector of is dominated by a vector in the base polyhedron of , that is there is with and .
We have seen an example of polymatroidal function sooner when we studied the single-commodity case. We say that for a vertex set , the vectors for which there is an -flow with exactly -paths for each are described by the equations . As the function with turns out to be polymatroidal, the set of feasible vectors is a polymatroid, let's call it . As the monotonicity is obvious, we just check the submodularity. For any two sets ,
where and are respectively a minimum capacity -cut and a minimum capacity -cut.
It is easy to check that the direct sum of two polymatroids is a polymatroid, so given a subpartition of , is a polymatroid, denote by its polymatroidal function. An -path is a path whose endpoints are in distinct parts of . The next lemma explains how the polymatroid defined by a partition relates to the multicommodity flow problem.
Theorem 9: (Frank , Karzanov, Sebő [6]) Let be an integer vector of , with . Then there is an integer packing of -paths such that every is the endpoint of exactly paths.
Proof: For a part , define a minimum capacity -cut minimal such that is minimal by inclusion. Let . We claim that and are disjoint. Indeed,
thus and by minimality .
Let be the graph obtained by contracting each into a single vertex , for . Define to be the set of contracted vertices, . Then, by Cherkasky-Lovász applied to , we get a family of edge-disjoint -paths such that is the endpoint of paths.
On the other hand, because is in (a direct sum of polymatroids) and , we have . Hence there is a set of edge-disjoint -paths saturating . Combining these paths, for each , with the paths found in gives the desired family of -paths.
If is induced by a partition, this means that the polymatroid associated to that partition describes the incidence vectors of integral families of paths. One of Edmonds' result is that the intersection of two integral polymatroids is integral. It suggests that we might be able to solve the case when is bistable, that is induced by two partitions, by just applying the polymatroid intersection theorem. This was the original intention of the authors of [6], but unfortunately this approach fails. The reason is that there is no equivalent of Theorem 9 for bistable demand: given an integral in the intersection of the two polymatroids, it is not always possible to build a set of valid paths with incidence vector . The following picture gives a counterexample:
is indeed bistable, the two partitions into stable sets are , and . The vertices of the intersection of the two polymatroids are and , but none of these solutions is realisable, the optimal solution to the maximum multiflow problem has incidence vector (as can be checked using the subpartition ).
The proof in [6] uses an incidence vector that is bigger than an incidence vector from the intersection of the matroid, and hence also infeasible for but still feasible by a family of -paths. From this it finds a family of -paths of the expected size, using the locking theorem. We only prove Theorem 8 for Eulerian , for inner Eulerian one would add a new terminal adjacent to odd vertices, and apply the Eulerian case.
Proof: (of Theorem 8, only for Eulerian) let and be the two partitions defining , and and the two associated polymatroids, and their rank functions. Let be a maximum vector of . We want to find two things:
Recall that vectors of polymatroids are dominated by basis: there are a base in and a base in with and . Because and are even polymatroids (by definition of their ranks) we may assume that and are even. Let be defined by , for all . is even, and we clearly have:
For any vector , let be the graph obtained by adding for each terminal , a new vertex , an edge with capacity , and making all edges incident to in incident to in (this encodes in the hardware that upper-bounds the number of paths at each terminal). We denote the maximum number of paths in for any .
We apply Theorem 7 to , with the family of stable sets in and . is obviously a 3-cross-free family. Let be the locking family in , we abuse notations and consider to be paths in (by the trivial injection).
Then we count the number of -paths in (ie connecting distinct parts of ). (Theorem 9), by definition of there is a packing of paths locking with incidence vector . For any , because , there are at least paths in with exactly one extremity in . Therefore there are at least -paths in . Similarly there are at least -paths in .
Now we count the number of -paths, recall that . We remove from that the paths that are neither -paths nor -paths.
This concludes the first part of the proof.
To find an admissible subpartition, we use the matroid intersection theorem on , there exists a partition of with and . Choose maximal. Then, for any , . Indeed, if , then , from which , but then , contradicting the maximality of .
For a stable set intersecting , define to be a minimal set with and (the last inequality follows from the fact that is a direct sum of polymatroids over , and ). Similarly define for any stable set , . We consider , and prove that it is a subpartition of value
The main step is to prove that is a subpartition.
We claim that for , , . Indeed,
(first inequality: definition of ; second inequality: definition of ; third inequality: monotonicity of ), therefore . Then, if , , contradiction.
Next we claim that for , , . Again,
, thus
, so for any , . We use this in the last equation of (for and ):
Hence . Then if , and , contradicts the minimality of , proving the claim.
Therefore is a subpartition: indeed, take , and suppose . By the previous claim, . Then , contradicting the minimality of or .
Finally, is clearly admissible, and has value
concluding the proof.
In the same article [6], Frank, Karzanov and Sebő introduced the Node Demand Problem. Motivated by the fact that a maximal vector in the intersection of the polymatroids and is not always feasible, this problem asks, given , whether is the incidence vector of a family of edge-disjoint -paths in . A demand graph is two-covered if every terminal is in at most two maximal stable sets of . This generalizes the notion of bistable graphs (consider a ). They proved that an approriate version of the directed cut is sufficient when is two-covered:
Theorem 10: (Frank , Karzano, Sebő [6]) Let be an instance of the Node Demand Problem with two-covered. Then is feasible iff the following cut condition holds for every and every stable set of :
Proof: The necessity is clear: the demands from can only be routed to terminals in , or outside . We prove the sufficiency.
Let be the family of maximal stable sets of . We prove that is 3-cross-free, in order to apply Theorem 7. Take three distinct stable sets of . Because is two-covered, . Also is a stable set. If is non-empty, say , then because is two-covered, or , say , hence , are not pairwise crossing.
Recall that is the maximum number of -paths having an incidence vector , being a graph obtained by pushing the terminals to new nodes of degrees given by . Then for any stable set of , by Menger theorem in , for . For reaching this minimum, we have .
Finally, apply Theorem 7 to to get a family of paths. Any terminal is in the stable set , so , hence contains paths with extremity . are non-adjacent in , then there is a stable set containing both and , again hence no path in joins and . Therefore is a solution to the Node Demand Problem .
Congestion and Distortion
In this section we move to the decision problem regarding multicommodity flows. Instead of having a function over pairs of terminals, we are given for each pair of terminals the number
of paths that we desire between and . Given , we are asked whether there is -packing of -paths with
for all , where
is the set of -paths. Again, we can define a commodity graph .
The decision version can be solved by linear programming, as long as we don't need an integral solution. It also admits a characterization similar to Theorem 1:
Theorem 11: (Onaga -Kakusho [16]) Given , exactly one of these two propositions is true:
The interpretation is the same: if the problem does not have a solution, can be embedded in some metric space, where the total length of is strictly smaller than what would be the length of a solution. One easy consequence is the necessity of the cut condition: if the first proposition is true, then for any cut of ,
(consider the metric space with ). We denote the total demand between and .
Here we are interested in finding when the cut condition is sufficient, or how strong it is. The main reason for looking at this problem in terms of the cut condition is that for many problems, we are interested in finding good cuts more than finding flows, in particular the sparsest cut problem is related to these questions. Other reasons are that cuts are a mathematical object that has many interesting properties, and that there are actually deep results relating the cut condition and existence of multicommodity flows.
In this setting, a natural question is: how much do we need to strengthen the cut condition to ensure the existence of a multicommodity flow? Indeed, the cut condition is seldom sufficient, as this figure shows:
In the left side, the cut condition is satisfied but there is no integral solution, though there is a half-integral solution. In the right side, the cut condition is again satisfied, but there is not even a fractional multiflow. Indeed, we can check it by setting the length of any edge to be , then the total length of is , but the sum of lengths of the paths of a solution would be at least .
As the cut condition is not sufficient, we can reinforce it in the following way: ask for each cut to have , with . For
, this is simply the cut condition. This parameter
is called the congestion, and one natural problem is to minimize it: given an instance satisfying the cut condition, find the minimum such that is (fractionally) feasible. Leighton and Rao [13] showed that a congestion of
is always sufficient. This result was latter improved in a series of papers, until Aumann and Rabani [1] gave a proof that is sufficient. An equivalent setting is to ask, in an instance that satisfies the cut condition, for a multiflow that simultaneously routes unit of demand of each commodity, this is the Maximal Throughput problem. As a consequence, the minimum congestion can be computed using the dual (Theorem 11):
where ranges over all metrics on with for all .
The congestion is strongly related to the notion of distortion in metric embeddings. Here the minimum metric is a graph metric, hence is rather arbitrary. One might wonder what happens when we restrict ourselves to some specific metrics. This question arises naturally when studying the sparsest cut problem: for an instance
of the multiflow problem, find a cut minimizing
. Sparsest cuts are noticeably used in clustering problems, where the ability to find sparse cuts of good quality is often critical. They are also quite useful to solve multicommodity flows: for instance, checking the cut condition is equivalent to checking that the sparsity of any cut is at least .
How do we find a sparsest cut? The answer is: we don't, as it is an NP-hard problem. But we can find good approximations for the sparsest cut problem. Consider the following cut packing problem: Given , and a length function on , defining a metric on , find an -packing of cuts in minimizing . Let be the optimum value for this problem,
is called the distortion of . This parameter tells how much we need to stretch to get an -metric; indeed, an exact cut packing (i.e. every edge is tightly packed,
) is equivalent to an embedding.
Lemma 12: A metric on is an -metric if and only if there is such that
Proof: Suppose is an metric, with embedding
in . We define
Then . For any , we may assume that , then
. Hence,
.
The reverse direction is even easier: for each with , take a new dimension and set if , otherwise.
Now, we link the notions of congestion, distortion and sparsest cuts:
Theorem 13: Consider a metric for minimizing . Let be a cut packing for with distortion . Then there is a cut with
that has sparsity at most
Proof:
for some cut , where the last inequality comes from for any , and .
The following theorem is the congestion-distortion equivalence theorem.
Theorem 14: (Linial , London, Rabinovich [14]) Let , be two graphs with . Then the maximum congestion of over any satisfying the cut condition, is equal to the maximum distortion of over any shortest path metric .
We follow the proof given by Chakrabarti, Fleischer and Weibel in [2].
Proof: We fix a pair . We denote by the set of possible flow paths for commodity , and by their union .
Firstly, we express the congestion for as a linear program, consisting in minimizing by how much we violate the capacity constraints to find a flow:
By duality we have:
At an extreme point, is simply the shortest path metric induced by on the terminals .
Now we maximise this value over all possible choices of and that satisfy the cut condition:
We can develop the objective function using the dual linear program for , this gives the non-linear program with variables , , , :
Now we refactor this program, by fixing the values of and , assuming satisfies the metric inequalities induced by , we get:
And by adding the metric inequality constraints we get:
Now we take the dual of the program defining :
Now this is just minimizing the distortion given respecting the metric inequalities. As when maximising , is the shortest path metric induced by , we get another expression of as the maximum distortion needed to embed a shortest path metric on into an -embedding (a packing of cut). The first expression of gave us the maximum congestion over any satisfying the cut condition, hence the congestion-distortion equivalence.
Cut-sufficiency in series-parallel graphs
here.
Metrics and Potentials
Recall the dual of the Maximum MultiCommodity Flow problem, in its metric form:
It says that we want to find a metric minimizing the total length of the graph, but still keeping the terminals sufficiently far from each other, that is, for every pair of terminals, and must be at distance at least from each other.
Let's start with some very basic considerations. Suppose that we have a graph where each edge has an associated length , and we want to know the distance between two vertices and . We can get an upper bound easily by exhibiting a shortest -path. But how do we prove its optimality, that is how to get a matching lower bound? The classical answer to this problem is to exhibit a potential. A potential is a mapping with the property that for any edge , . Notice that the constraints only uses differences between the potential at two vertices, so a potential is defined up to some constant.
A potential gives a lower bound on for any pair of vertices . Indeed, consider any path , then by a simple summation we get:
hence the difference of potential is a lower bound on the distance between two vertices.
To see that is is a good characterization, we must exhibit, for two given vertices and , a potential such that . This is done by defining , as then and . We must just check that it is a potential: for any , which is the triangular inequality.
Applied to our dual problem, we can write a new formulation. It uses one potential for each terminal. The only difficulty is to express the objective function: we would need one additional variable for each edge, to measure (an upper bound on) the maximum difference of any potential between its endpoint, which is the distance of that edge: . For simplicity, we keep this part hidden and just denote by this maximum.
It is worth noting that this program is also the dual of the edge formulation of the MultiCommodity Flow problem as introduced above (after some cleaning). Thus, to some extent, the correspondance between metrics and potentials is equivalent to the correspondance between packing of cycles and circulations formulated in Theorem 2.
There is another way to get to a dual formulated with a different kind of potential, and it will turn out to be very useful. Recall the metric formulation, and call a metric on an extension of if for all pairs . We say that an extension of is tight if it is (Pareto) minimal: for every other extension there are such that . Thus, the metric dual formulation asks for an extension minimizing , and such an extension is clearly minimal.
The universal tight extension of a metric space is defined by:
Given , we associate defined by .
Lemma 15: (Dress) Any tight extension on of is isometrically embeddable in .
Proof: We use the embedding given by . We must check that for any , .
The fact that is tight implies that for any , there are two terminals and such that (and hence ). From this we deduce:
and by the triangular inequality, for any . Thus, .
The elements of the universal tight extension can be interpretated as representing the distance from some point to all the terminals. If the sum of the distance to and was less that , than and would at distance less than from each other. This leads to one more formulation of the dual:
The next lemma shows that we can restrict our interest to the minimal elements of the universal tight extension. Let be the tight span of , defined by:
Lemma 16: (Dress) There is a map such that:
Proof: Let . Define . Notice that when , but is not necessarily in . We abusively extend the definition of to any map .
Then for any and , we have
Hence for all , that is .
Define , where is maximal such that . Say that a terminal is tight for if there is some for which . Then has strictly more tight terminals than if . Hence has only tight terminals for any , that is . Moreover is clearly a retractation, so is .
This implies the following strenghtening:
The first application of this formulation is that we can characterize the fractionality of the dual problem by the dimension of . The fractionality of is the minimum such that any instance of the -Multicommodity Flow problem admits an optimal -integral solution. The dual fractionality is the minimum such that the dual problem has an optimal -integral solution. The fractionality or dual fractionality may be , and the fractionality is always at least the dual fractionality.
Karzanov first proved the next theorem when is a metric, and Hirai extended it to general .
Theorem 17: (Karzanov , Hirai) The fractionality of the dual of the Multicommodity Flow problem for a given is:
More to come soon!
1. | Yonatan Aumann, Yuval Rabani: An Approximate Min-Cut Max-Flow Theorem and Approximation Algorithm. SIAM Journal on Computing, 27, 291 -- 301. Citeseer, (1998). | |
2. | 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). | |
3. | Chandra Chekuri, F. Bruce Shepherd, Christophe Weibel: Flow-cut gaps for integer and fractional multiflows. Journal of Combinatorial Theory, Series B. Elsevier, (2012). | |
4. | Boris V. Cherkassky: A solution of a problem on multicommodity flows in a network. Ekonomika i matematicheskie metody, 13, 143 -- 151. (1977). | |
5. | Lester R. Ford, Delbert R. Fulkerson: Maximal flow through a network. Canadian Journal of Mathematics, 8, 399 -- 404. (1956). | |
6. | András Frank, Alexander V. Karzanov, András Sebő: On integer multiflow maximization. SIAM Journal on Discrete Mathematics, 10, 158 -- 170. (1997). | |
7. | Hiroshi Hirai: Tight spans of distances and the dual fractionality of undirected multiflow problems. Journal of Combinatorial Theory, Series B, 99, 843 -- 868. Elsevier, (2009). | |
8. | Hiroshi Hirai: Folder complexes and multiflow combinatorial dualities. SIAM J. Discret. Math. (to appear). (2009). | |
9. | Hiroshi Hirai: The maximum multiflow problems with bounded fractionality. In: Proceedings of the 42nd ACM symposium on Theory of computing. , 115 -- 120. (2010). | |
10. | T. C. Hu: Multi-commodity network flows. Operations Research, 344 -- 360. JSTOR, (1963). | |
11. | Alexander V. Karzanov: Minimum 0-extensions of graph metrics. European Journal of Combinatorics, 19, 71 -- 101. Elsevier Science, (2004). | |
12. | Alexander V. Karzanov, Michael V. Lomonosov: Systems of flows in undirected networks. Mathematical Programming, 59 -- 66. Institute for System Studies, Moscow, (1978). | |
13. | Frank T. Leighton, Satish Rao: An approximate max-flow min-cut theorem for uniform multicommodity flow problems with applications to approximation algorithms. In: 29th Annual Symposium on Foundations of Computer Science (FoCS). , 422 -- 431. (1988). | |
14. | N. Linial, E. London, Y. Rabinovich: The geometry of graphs and some of its algorithmic applications. Combinatorica, 577 -- 591. (1994). | |
15. | László Lovász: On some connectivity properties of Eulerian graphs. Acta Mathematica Hungarica, 28, 129 -- 138. Akadémiai Kiadó and Springer Science, (1976). | |
16. | Kenji Onaga, O. Kakusho: On feasibility conditions of multicommodity flows in networks. IEEE Transactions on Circuit Theory, 18, 425 -- 429. (1971). | |
17. | Bruce Rothschild, Andrew Whinston: Feasibility of two commodity network flows. Operations Research, 1121 -- 1129. Operations Research Society of America, (1966). | |
18. | Mouna Sadli: Généralisation de matroïdes et chemins disjoints. PhD. thesis, Université Joseph Fourier, Grenoble 1, (2000). | |