## NAME

v.net.flow - Computes the maximum flow between two sets of nodes in the network.

## KEYWORDS

vector, network, flow

## SYNOPSIS

v.net.flow
v.net.flow help
v.net.flow input=name [layer=integer] output=name cut=name [afcolumn=name] [abcolumn=name] [source_layer=integer] [source_cats=range] [source_where=sql_query] [sink_layer=integer] [sink_cats=range] [sink_where=sql_query] [--overwrite] [--verbose] [--quiet]

### Flags:

--overwrite
  Allow output files to overwrite existing files
--verbose
  Verbose module output
--quiet
  Quiet module output

### Parameters:

input=name
  Name of input vector map
layer=integer
  Layer number
  A single vector map can be connected to multiple database tables. This number determines which table to use.
  Default: 1
output=name
  Name for output vector map
cut=name
  Name for output vector map containing a minimum cut
afcolumn=name
  Name of arc forward/both direction(s) capacity column
abcolumn=name
  Name of arc backward direction capacity column
source_layer=integer
  Source layer number or name
  A single vector map can be connected to multiple database tables. This number determines which table to use.
  Default: 1
source_cats=range
  Source category values
  Example: 1,3,7-9,13
source_where=sql_query
  Source WHERE conditions of SQL statement without 'where' keyword
  Example: income < 1000 and inhab >= 10000
sink_layer=integer
  Sink layer number or name
  A single vector map can be connected to multiple database tables. This number determines which table to use.
  Default: 1
sink_cats=range
  Sink category values
  Example: 1,3,7-9,13
sink_where=sql_query
  Sink WHERE conditions of SQL statement without 'where' keyword
  Example: income < 1000 and inhab >= 10000

## DESCRIPTION

v.net.flow computes the maximum flow and minimum cut between two sets of nodes.

## NOTES

The two sets of nodes are called sources and sink and v.net.flow finds the maximimum flow from the former to the latter ones. Edge capacities can be specified by afcolumn for forward direction and abcolumn for backward direction. If the latter parameter is ommited then the same capacity is used in either direction. The sets are given by the respective cats, layer and where parameters. Maximum flow corresponds to the maximum amount of water possibly flowing through the network preserving the capacity constraints and minimum cut to the set of edges of minimum total capacity completely separating sources from sinks. The cut produced by this module corresponds to the first fully saturated edges from sources to sinks. An attribute table containing the flow information is linked to the output map. The table consists of two columns: cat and flow and stores the flow along each line. Negative flow means that "water" is flowing in the backward direction. Cut map contains the edges in the minimum cut.
A famous result says that the total amount of water flowing is equal to the minimum cut.

## EXAMPLES

Find maximum flow from factories to stores using SPEED for the capacities.

    v.net.flow input=roads output=roads_flow cut=roads_cut afcolumn=SPEED \
               source_where="type=factory" sink_where="type=store"

If all the capacties are one then the minimum cut corresponds to the minimum number of edges separating sources from sinks.

    v.net.flow input=network output=flow cut=cut afcolumn=ones \
               source_cats=1-10 sink_cats=100-100

## SEE ALSO

v.net, v.net.connectivity

## AUTHORS

Daniel Bundala, Google Summer of Code 2009, Student
Wolf Bergenheim, Mentor

Last changed: $Date: 2013-05-23 22:01:55 +0200 (čt, 23 V 2013) $

Main index - vector index - Full index

© 2003-2014 GRASS Development Team