Jump to content

Circulation problem

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Nils Grimsmo (talk | contribs) at 11:49, 2 September 2006 (Related problems: min-cost max-flow). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

Definition

Given a flow network with

Lower bound on flow from to .
Upper bound (often denoted instead of )
Cost of a unit of flow on
The source, sink, and demand of commodity
The flow of commodity from to

You have the constraints

Skew symmetry
Capacity constraints
Flow conservation

Minimise

Solution

The only known polynomial solution to this problem is linear programming[1].

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.
  • Minimum cost multi-commodity flow problem - Set all lower bounds to 0. Add an edge from the sink to the source with cost less that the negative sum of all other edges. Control the amount of flow by adjusting .
  • Minimum cost flow problem - As above, with 1 commodity.
  • Minimum cost maximum flow problem - Let the back edge have unlimited capacity.
  • Maximum flow problem - Set all costs to 0, and add an edge from the sink to the source with negative cost.
  • Single-source shortest path - Find the cheapest flow of 1.
  • Multi-commodity flow - Set all costs to 0. Back-edges with .
  • Maximum flow - Solve with 1 commodity, and maximize the flow by adding an edge with negative cost.
  • All-pairs shortest path - Let all capacities be unlimited, and find a flow of 1 for commodities, one for each pair of nodes.

References

  1. ^ Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein (2001) [1990]. "29". Introduction to Algorithms (2nd edition ed.). MIT Press and McGraw-Hill. pp. 788–789. ISBN 0-262-03293-7. {{cite book}}: |edition= has extra text (help)CS1 maint: multiple names: authors list (link)