Multi-commodity flow problem

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The multi-commodity flow problem is a network flow problem with multiple commodities (flow demands) between different source and sink nodes.

Definition[edit]

Given a flow network , where edge has capacity . There are commodities , defined by , where and is the source and sink of commodity , and is its demand. The variable defines the fraction of flow along edge , where in case the flow can be split among multiple paths, and 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.

(2) Flow conservation on transit nodes: The amount of a flow entering an intermediate node is the same that exits the node.

(3) Flow conservation at the source: A flow must exit its source node completely.

(4) Flow conservation at the destination: A flow must enter its sink node completely.

Corresponding optimization problems[edit]

Load balancing is the attempt to route flows such that the utilization of all links is even, where

The problem can be solved e.g. by minimizing . A common linearization of this problem is the minimization of the maximum utilization , where

In the minimum cost multi-commodity flow problem, there is a cost for sending a flow on . You then need to minimize

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

Relation to other problems[edit]

The minimum cost variant is a generalisation of the minimum cost flow problem. Variants of the circulation problem are generalisations of all flow problems.

Usage[edit]

Routing and wavelength assignment (RWA) in optical burst switching of Optical Network would be approached via multi-commodity flow formulas.

Solutions[edit]

In the decision version of problems, the problem of producing an integer flow satisfying all demands is NP-complete,[1] even for only two commodities and unit capacities (making the problem strongly NP-complete in this case).

If fractional flows are allowed, the problem can be solved in polynomial time through linear programming.[2] Or through (typically much faster) fully polynomial time approximation schemes.[3]

External resources[edit]

References[edit]

  1. ^ S. Even and A. Itai and A. Shamir (1976). "On the Complexity of Timetable and Multicommodity Flow Problems". SIAM Journal on Computing. SIAM. 5 (4): 691–703. doi:10.1137/0205048. Retrieved 2016-10-05. 
  2. ^ Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein (2001) [1990]. "29". Introduction to Algorithms (2nd ed.). MIT Press and McGraw–Hill. pp. 788–789. ISBN 0-262-03293-7. 
  3. ^ George Karakostas (2002). "Faster approximation schemes for fractional multicommodity flow problems". Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms. pp. 166–173. ISBN 0-89871-513-X.