Content deleted Content added
m Citation maintenance. Initiated by tarun2k. You can use this bot yourself! Please report any bugs. |
m Open access bot: url-access updated in citation with #oabot. |
||
(38 intermediate revisions by 30 users not shown) | |||
Line 1:
{{Short description|Generalization of network flow problems}}
The '''circulation problem''' and its variants
== Definition ==
Given flow network <math>G(V,E)</math> with:
▲| <math>\,l(u,v)</math> || Lower bound on flow from node <math>u</math> to node <math>v</math>.
▲| <math>\,a(u,v)</math> || Cost of a unit of flow on <math>(u,v)</math>.
▲You have the constraints
▲| <math>\quad l(u,v) \leq f(u,v) \leq c(u,v)</math>
▲| <math>\ \sum_{w \in V} f(u,w) = 0</math> || 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,
: <math>\sum_{(
=== Multi-commodity circulation ===
In a multi-commodity circulation problem, you also need to keep track of the flow of the individual commodities:
:{|
| <math>\,f_i(
|-
| <math>\,f(
|}
There is also a lower bound on each flow of commodity.
The conservation constraint must be upheld for individually for the commodities: ▼
:{|
| <math>\
|}
:<math>\ \sum_{w \in V} f_i(u,w) = 0.</math>
== Solution ==
For the circulation problem, many polynomial algorithms have been developed (
<!-- which articles? -->
For the case of multiple commodities, the problem is [[NP-complete]] for integer flows.<ref name="EIS76">{{cite journal | author = S. Even and A. Itai and A. Shamir | title = On the
== Related problems ==
Line 54 ⟶ 51:
* 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 problem|Multi-commodity flow]] - If <math>K_i(s_i,t_i,d_i)</math> denotes a demand of <math>d_i</math> for commodity <math>i</math> from <math>s_i</math> to <math>t_i</math>, create an edge <math>(t_i,s_i)</math> with <math>
* [[Minimum cost multi-commodity flow problem]] - As above, but
* [[Minimum cost flow problem]] - As above, with 1 commodity.
* [[Maximum flow problem]] - Set all costs to 0, and add an edge from the sink <math>t</math> to the source <math>s</math> with <math>l(t,s)=0</math>, <math>
* [[Minimum cost maximum flow problem]] - First find the maximum flow amount <math>m</math>. Then solve with <math>l(t,s)=
* [[Shortest path problem|Single-source shortest path]] - Let <math>l(u,v)=0</math> and <math>c(u,v)=1</math> for all edges in the graph, and add an edge <math>(t,s)</math> with <math>l(t,s)=
* [[Shortest path problem|All-pairs shortest path]] - Let all capacities be unlimited, and find a flow of 1 for <math>v(v-1)/2</math> commodities, one for each pair of nodes.
Line 67 ⟶ 64:
<references/>
[[Category:Network flow problem]]
[[Category:Mathematical problems]]
|