Circulation problem

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)