GrossoLocatelliPullanMcRunner {rlemon} | R Documentation |
LEMON runners
Description
These "runner" functions provide a slightly lower-level access to LEMON. See "Details".
Usage
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()
Arguments
arcSources |
a vector corresponding to the source nodes of a graph’s edges |
arcTargets |
a vector corresponding to the destination nodes of a graph’s edges |
numNodes |
the number of nodes in the graph |
nodesList |
a vector of all the nodes in the graph |
startNode |
in path-based algorithms, the start node of the path |
endNode |
in path-based algorithms, the end node of the path |
arcCapacities |
vector corresponding to the capacities of 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 |
arcDistances |
vector corresponding to the distances of a graph’s edges |
sourceNode |
in flow-based algorithms, the source node of the flow |
destinationNode |
in flow-based algorithms, the destination node of the flow |
arcWeights |
vector corresponding to the weights of a graph’s arcs |
arcCosts |
vector corresponding to the costs of nodes of a graph’s edges |
useFiveAlg |
if |
defaultEdgeWeight |
The default edge weight if an edge is not-specified (default value 999999) |
Details
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 toMaxMatching()
, automatically generating a constant weight if it is excluded.arcWeights
is not optional inMaxMatchingRunner()
.
Value
Algorithm results