CIRCULATION PROBLEM

The 'circulation problem' and its variants is 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 nodes). In variants of the problem, you have multiple commodities flowing through the network, and a cost on the flow.

Contents
Definition
Multi-commodity circulation
Solution
Related problems
References

Definition


Given a flow network ,G(V,E) with:
:
,l(u,v) Lower bound on flow from node u to node v.
,c(u,v) Upper bound (often denoted u instead of c).
,a(u,v) Cost of a unit of flow on (u,v).

You have the constraints
:{|
| quad l(u,v) leq f(u,v) leq c(u,v)
|-
| sum_{w in V} f(u,w) = 0 || Flow cannot appear or disappear in nodes.
|}
Finding a flow assignment satisfying the constraints gives a solution to the given circulation problem.
In the minimum cost variant of the problem, minimise
: sum_{(u,v) in E} a(u,v) cdot f(u,v)
Multi-commodity circulation

In a multi-commodity circulation problem, you also need to keep track of the flow of the individual commodities:
:{|
| ,f_i(u,v) || The flow of commodity ,i from ,u to ,v.
|-
| ,f(u,v) = sum_i f_i(u,v) || The total flow.
|}
The conservation constraint must be upheld for individually for the commodities:
:{|
| sum_{w in V} f_i(u,w) = 0
|}

Solution


For the circulation problem, many polynomial algorithms gave been developed (eg, Edmonds and Karp, 1972; Tarjan 1987-1988).
For the case of multiple commodities, the problem is NP-complete for integer flows[1]. For fractional flows, it is solvable in polynomial time, as you can formulate the problem as a linear program.

Related problems


Below are given some problems, and how to solve them with the general circulation setup given above.

★ Minimum cost multi-commodity circulation problem - Using all constraints given above.

★ Minimum cost circulation problem - Use a single commodity

★ Multi-commodity circulation - Solve without optimising cost.

★ Simple circulation - Just use one commodity, and no cost.

Multi-commodity flow - If K_i(s_i,t_i,d_i) denotes a demand of d_i for commodity i from s_i to t_i, create an edge (t_i,s_i) with l(t_i,s_i) = c(t_i,s_i) = d_i for all commodities i. Let l(u,v)=0 for all other edges.

Minimum cost multi-commodity flow problem - As above, but minimise the cost.

Minimum cost flow problem - As above, with 1 commodity.

Maximum flow problem - Set all costs to 0, and add an edge from the sink t to the source s with l(t,s)=0, c(t,s)=∞ and a(t,s)=-1.

Minimum cost maximum flow problem - First find the maximum flow amount m. Then solve with l(t,s)=c(t,s)=m and a(t,s)=0.

Single-source shortest path - Let l(u,v)=0 and c(u,v)=1 for all edges in the graph, and add an edge (t,s) with l(t,s)=c(t,s)=1 and a(t,s)=0.

All-pairs shortest path - Let all capacities be unlimited, and find a flow of 1 for v(v-1)/2 commodities, one for each pair of nodes.

References


1. On the Complexity of Timetable and Multicommodity Flow Problems, S. Even and A. Itai and A. Shamir, , , SIAM Journal on Computing, 1976


This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves