Jump to content

Circulation problem

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 128.122.140.159 (talk) at 16:52, 15 November 2006 (Definition). 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

Capacity constraints:  
Skew symmetry:
Flow conservation:

In the minimum cost variant of the problem, minimise

Note that the parameters for commodity are not used directly in the optimisation problem. To get a flow of from to , set .

Solution

The only known polynomial solution to any multi-commodity flow 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)