NetworkCirculation {rlemon} | R Documentation |
Solver for Network Circulation
Description
Finds the solution to the network circulation problem via the push-relabel circulation algorithm.
Usage
NetworkCirculation(
arcSources,
arcTargets,
arcLowerBound,
arcUpperBound,
nodeSupplies,
numNodes,
algorithm = "Circulation"
)
Arguments
arcSources |
Vector corresponding to the source nodes of a graph's edges |
arcTargets |
Vector corresponding to the destination nodes of a graph's edges |
arcLowerBound |
Vector corresponding to the lower-bound capacities of nodes of a graph's edges |
arcUpperBound |
Vector corresponding to the upper-bound capacities of nodes of a graph's edges |
nodeSupplies |
Vector corresponding to the supplies of each node of the graph. |
numNodes |
The number of nodes in the graph |
algorithm |
Choices of algorithminclude "Circulation". "Circulation" is the default. |
Details
For details on LEMON's implementation, including differences between the algorithms, see https://lemon.cs.elte.hu/pub/doc/1.3.1/a00078.html.
Value
A named list containing two entries: 1) "flows": a vector corresponding to the flows of arcs in the graph, and 2) "barriers": a vector of the graph's barrier nodes.