@MISC{Liu07multicommodityflows, author = {Roy Liu}, title = {Multicommodity Flows Handout}, year = {2007} }

Share

OpenURL

Abstract

In the traditional (s, t) flow setting, we want to push as many units of a single resource, or commodity, from the source s to the sink t. Upon generalizing to the case of multiple commodities, we introduce a set of pairs (si, ti), i ∈ [n], which act as the sources and sinks of n simultaneous flows. In other words, all flows use up some shared underlying capacity of the edges in the graph. The higher the demand Di for commodity i, the higher proportion of it will routed, simultaneously with others, from si to ti. This problem setting was first explored by Leighton and Rao in [3], where the authors give new definitions to the concepts of flow and cut. To start off with, let a flow f be a function defined over paths in the underlying graph G = (V, E, c). We introduce some definitions: • Let P denote the set non-trivial of paths in G. • Let Pi,j denote the set of paths starting from vertex i and ending at vertex j. • In an abuse of notation, let Pe be the set of paths containing the edge e. • Let c(e) denote the capacity of edge e. • Let Di,j denote the demand between vertex i and vertex j, for all pairs i, j ∈ V. We use the notation of [6] to define a simultaneous flow f with throughput Z. Such a function satisfies: p∈Pi,j f(p) ≥ Z ∗ Di,j ∀i, j ∈ V (1) f(p) ≤ c(e) ∀e ∈ E. (2) p∈Pe We say that f is a maximum flow when it’s chosen so as to maximize Z. Intuitively, we can think of the quantity Z to be a guarantee that, for all i, a Z-fraction of commodity i’s demand Di can be simultaneously routed. Notice the inherent notion of fairness using the above measure – we want to make a guarantee for all commodities. Where there’s a notion for flow, there’s one for cut. Each cut (U, U) has a ratio cost R, which is defined to be where