HOME

TheInfoList



OR:

The multi-commodity flow problem is a
network flow problem In combinatorial optimization, network flow problems are a class of computational problems in which the input is a flow network (a graph with numerical capacities on its edges), and the goal is to construct a flow, numerical values on each edge t ...
with multiple commodities (flow demands) between different source and sink nodes.


Definition

Given a
flow network In graph theory, a flow network (also known as a transportation network) is a directed graph where each edge has a capacity and each edge receives a flow. The amount of flow on an edge cannot exceed the capacity of the edge. Often in operations re ...
\,G(V,E), where edge (u,v) \in E has capacity \,c(u,v). There are \,k commodities K_1,K_2,\dots,K_k, defined by \,K_i=(s_i,t_i,d_i), where \,s_i and \,t_i is the source and sink of commodity \,i, and \,d_i is its demand. The variable \,f_i(u,v) defines the fraction of flow \,i along edge \,(u,v), where \,f_i(u,v) \in ,1/math> in case the flow can be split among multiple paths, and \,f_i(u,v) \in \ otherwise (i.e. "single path routing"). Find an assignment of all flow variables which satisfies the following four constraints: (1) Link capacity: The sum of all flows routed over a link does not exceed its capacity. :\forall (u,v)\in E:\,\sum_^ f_i(u,v)\cdot d_i \leq c(u,v) (2) Flow conservation on transit nodes: The amount of a flow entering an intermediate node u is the same that exits the node. :\forall i \in K:\,\sum_ f_i(u,w) - \sum_ f_i(w,u) = 0 \quad \mathrm \quad u \neq s_i, t_i (3) Flow conservation at the source: A flow must exit its source node completely. :\forall i \in K:\,\sum_ f_i(s_i,w) - \sum_ f_i(w,s_i) = 1 (4) Flow conservation at the destination: A flow must enter its sink node completely. :\forall i \in K:\,\sum_ f_i(w,t_i) - \sum_ f_i(t_i,w) = 1


Corresponding optimization problems

Load balancing is the attempt to route flows such that the utilization U(u,v) of all links (u,v)\in E is even, where :U(u,v)=\frac The problem can be solved e.g. by minimizing \sum_ (U(u,v))^2. A common linearization of this problem is the minimization of the maximum utilization U_, where :\forall (u,v)\in E:\, U_ \geq U(u,v) In the minimum cost multi-commodity flow problem, there is a cost a(u,v) \cdot f(u,v) for sending a flow on \,(u,v). You then need to minimize :\sum_ \left( a(u,v) \sum_^ f_i(u,v) \right) In the maximum multi-commodity flow problem, the demand of each commodity is not fixed, and the total throughput is maximized by maximizing the sum of all demands \sum_^ d_i


Relation to other problems

The minimum cost variant of the multi-commodity flow problem is a generalization of the
minimum cost flow problem The minimum-cost flow problem (MCFP) is an optimization and decision problem to find the cheapest possible way of sending a certain amount of flow through a flow network. A typical application of this problem involves finding the best delivery r ...
(in which there is merely one source s and one sink t. Variants of the
circulation problem The circulation problem and its variants are a generalisation of network flow problems, with the added constraint of a lower bound on edge flows, and with flow conservation also being required for the source and sink (i.e. there are no special node ...
are generalizations of all flow problems. That is, any flow problem can be viewed as a particular circulation problem.


Usage

Routing and wavelength assignment The routing and wavelength assignment (RWA) problem is an optical networking problem with the goal of maximizing the number of optical connections. Definition The general objective of the RWA problem is to maximize the number of established conn ...
(RWA) in
optical burst switching Optical burst switching (OBS) is an optical networking technique that allows dynamic sub-wavelength switching of data. OBS is viewed as a compromise between the yet unfeasible full optical packet switching (OPS) and the mostly static optical circui ...
of
Optical Network Optical networking is a means of communication that uses signals encoded in light to transmit information in various types of telecommunications networks. These include limited range local-area networks (LAN) or wide-area networks (WAN), which cr ...
would be approached via multi-commodity flow formulas.
Register allocation In compiler optimization, register allocation is the process of assigning local automatic variables and expression results to a limited number of processor registers. Register allocation can happen over a basic block (''local register allocat ...
can be modeled as an integer minimum cost multi-commodity flow problem: Values produced by instructions are source nodes, values consumed by instructions are sink nodes and registers as well as stack slots are edges.


Solutions

In the decision version of problems, the problem of producing an integer flow satisfying all demands is
NP-complete In computational complexity theory, a problem is NP-complete when: # it is a problem for which the correctness of each solution can be verified quickly (namely, in polynomial time) and a brute-force search algorithm can find a solution by tryin ...
, even for only two commodities and unit capacities (making the problem
strongly NP-complete In computational complexity, strong NP-completeness is a property of computational problems that is a special case of NP-completeness. A general computational problem may have numerical parameters. For example, the input to the bin packing problem ...
in this case). If fractional flows are allowed, the problem can be solved in polynomial time through
linear programming Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming is ...
, or through (typically much faster) fully polynomial time approximation schemes.


Applications

Multicommodify flow is applied in the overlay routing in content delivery. https://www.sigcomm.org/sites/default/files/ccr/papers/2015/July/0000000-0000009.pdf


External resources

* Papers by Clifford Stein about this problem: http://www.columbia.edu/~cs2035/papers/#mcf * Software solving the problem: https://web.archive.org/web/20130306031532/http://typo.zib.de/opt-long_projects/Software/Mcf/


References

{{DEFAULTSORT:Multi-Commodity Flow Problem Network flow problem Add: Jean-Patrice Netter, Flow Augmenting Meshings: a primal type of approach to the maximum integer flow in a muti-commodity network, Ph.D dissertation Johns Hopkins University, 1971