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.


[Package rlemon version 0.2.1 Index]