These "runner" functions provide a slightly lower-level access to LEMON. See "Details".
GrossoLocatelliPullanMcRunner(arcSources, arcTargets, numNodes)getBipartitePartitionsRunner(arcSources, arcTargets, numNodes)
getAndCheckTopologicalSortRunner(arcSources, arcTargets, numNodes)
getTopologicalSortRunner(arcSources, arcTargets, numNodes)
IsConnectedRunner(arcSources, arcTargets, numNodes)
IsAcyclicRunner(arcSources, arcTargets, numNodes)
IsTreeRunner(arcSources, arcTargets, numNodes)
IsBipartiteRunner(arcSources, arcTargets, numNodes)
IsStronglyConnectedRunner(arcSources, arcTargets, numNodes)
IsDAGRunner(arcSources, arcTargets, numNodes)
IsBiNodeConnectedRunner(arcSources, arcTargets, numNodes)
IsBiEdgeConnectedRunner(arcSources, arcTargets, numNodes)
IsLoopFreeRunner(arcSources, arcTargets, numNodes)
IsParallelFreeRunner(arcSources, arcTargets, numNodes)
IsSimpleGraphRunner(arcSources, arcTargets, numNodes)
IsEulerianRunner(arcSources, arcTargets, numNodes)
CountBiEdgeConnectedComponentsRunner(arcSources, arcTargets, numNodes)
CountConnectedComponentsRunner(arcSources, arcTargets, numNodes)
CountBiNodeConnectedComponentsRunner(arcSources, arcTargets, numNodes)
CountStronglyConnectedComponentsRunner(arcSources, arcTargets, numNodes)
FindStronglyConnectedComponentsRunner(arcSources, arcTargets, numNodes)
FindStronglyConnectedCutArcsRunner(arcSources, arcTargets, numNodes)
FindBiEdgeConnectedCutEdgesRunner(arcSources, arcTargets, numNodes)
FindBiNodeConnectedComponentsRunner(arcSources, arcTargets, numNodes)
FindBiNodeConnectedCutNodesRunner(arcSources, arcTargets, numNodes)
FindConnectedComponentsRunner(arcSources, arcTargets, numNodes)
FindBiEdgeConnectedComponentsRunner(arcSources, arcTargets, numNodes)
GraphCompatabilityConverter(nodesList, arcSources, arcTargets)
BfsRunner(arcSources, arcTargets, numNodes, startNode = -1L, endNode = -1L)
DfsRunner(arcSources, arcTargets, numNodes, startNode = -1L, endNode = -1L)
MaxCardinalitySearchRunner(
arcSources,
arcTargets,
arcCapacities,
numNodes,
startNode = -1L
)
CirculationRunner(
arcSources,
arcTargets,
arcLowerBound,
arcUpperBound,
nodeSupplies,
numNodes
)
PreflowRunner(
arcSources,
arcTargets,
arcDistances,
sourceNode,
destinationNode,
numNodes
)
EdmondsKarpRunner(
arcSources,
arcTargets,
arcDistances,
sourceNode,
destinationNode,
numNodes
)
MaximumWeightPerfectMatchingRunner(
arcSources,
arcTargets,
arcWeights,
numNodes
)
MaximumWeightFractionalPerfectMatchingRunner(
arcSources,
arcTargets,
arcWeights,
numNodes
)
MaximumWeightFractionalMatchingRunner(
arcSources,
arcTargets,
arcWeights,
numNodes
)
MaximumWeightMatchingRunner(arcSources, arcTargets, arcWeights, numNodes)
MaximumCardinalityMatchingRunner(arcSources, arcTargets, numNodes)
MaximumCardinalityFractionalMatchingRunner(arcSources, arcTargets, numNodes)
CycleCancellingRunner(
arcSources,
arcTargets,
arcCapacities,
arcCosts,
nodeSupplies,
numNodes
)
CapacityScalingRunner(
arcSources,
arcTargets,
arcCapacities,
arcCosts,
nodeSupplies,
numNodes
)
CostScalingRunner(
arcSources,
arcTargets,
arcCapacities,
arcCosts,
nodeSupplies,
numNodes
)
NetworkSimplexRunner(
arcSources,
arcTargets,
arcCapacities,
arcCosts,
nodeSupplies,
numNodes
)
NagamochiIbarakiRunner(arcSources, arcTargets, arcWeights, numNodes)
HaoOrlinRunner(arcSources, arcTargets, arcWeights, numNodes)
GomoryHuTreeRunner(arcSources, arcTargets, arcWeights, numNodes)
HowardMmcRunner(arcSources, arcTargets, arcDistances, numNodes)
KarpMmcRunner(arcSources, arcTargets, arcDistances, numNodes)
HartmannOrlinMmcRunner(arcSources, arcTargets, arcDistances, numNodes)
KruskalRunner(arcSources, arcTargets, arcDistances, numNodes)
MinCostArborescenceRunner(
arcSources,
arcTargets,
arcDistances,
sourceNode,
numNodes
)
PlanarCheckingRunner(arcSources, arcTargets, numNodes)
PlanarEmbeddingRunner(arcSources, arcTargets, numNodes)
PlanarColoringRunner(arcSources, arcTargets, numNodes, useFiveAlg = TRUE)
PlanarDrawingRunner(arcSources, arcTargets, numNodes)
SuurballeRunner(
arcSources,
arcTargets,
arcDistances,
numNodes,
startNode,
endNode
)
DijkstraRunner(arcSources, arcTargets, arcDistances, numNodes, startNode)
BellmanFordRunner(arcSources, arcTargets, arcDistances, numNodes, startNode)
ChristofidesRunner(
arcSources,
arcTargets,
arcDistances,
numNodes,
defaultEdgeWeight = 999999L
)
GreedyTSPRunner(
arcSources,
arcTargets,
arcDistances,
numNodes,
defaultEdgeWeight = 999999L
)
InsertionTSPRunner(
arcSources,
arcTargets,
arcDistances,
numNodes,
defaultEdgeWeight = 999999L
)
NearestNeighborTSPRunner(
arcSources,
arcTargets,
arcDistances,
numNodes,
defaultEdgeWeight = 999999L
)
Opt2TSPRunner(
arcSources,
arcTargets,
arcDistances,
numNodes,
defaultEdgeWeight = 999999L
)
lemon_runners()
Algorithm results
a vector corresponding to the source nodes of a graph’s edges
a vector corresponding to the destination nodes of a graph’s edges
the number of nodes in the graph
a vector of all the nodes in the graph
in path-based algorithms, the start node of the path
in path-based algorithms, the end node of the path
vector corresponding to the capacities of nodes of a graph’s edges
vector corresponding to the lower-bound capacities of nodes of a graph’s edges
vector corresponding to the upper-bound capacities of nodes of a graph’s edges
vector corresponding to the supplies of each node of the graph
vector corresponding to the distances of a graph’s edges
in flow-based algorithms, the source node of the flow
in flow-based algorithms, the destination node of the flow
vector corresponding to the weights of a graph’s arcs
vector corresponding to the costs of nodes of a graph’s edges
if TRUE
(default), run a 5-color algorithm. If
FALSE
, runs a faster 6-coloring algorithm instead.
The default edge weight if an edge is not-specified (default value 999999)
Internally, all exported rlemon functions call a "runner" function to
interface with the C++, for example, MaxFlow(..., algorithm =
"PreFlow")
will call PreFlowRunner(...)
.
In almost all cases, users will want to stick with the exported functions.
Runners differ from exported functions in a few ways:
Exported functions provide input checking.
Exported functions provide slightly cleaner output, such as
converting 0/1 boolean into logical
.
Any list
which is returned from an exported function will be
named.
The arcWeights
argument is optional to MaxMatching()
,
automatically generating a constant weight if it is excluded.
arcWeights
is not optional in MaxMatchingRunner()
.