FINDS the shortest arc disjoint paths between two nodes in a directed graph. This implementation runs a variation of the successive shortest path algorithm.
ShortestPath(
arcSources,
arcTargets,
arcDistances,
numNodes,
sourceNode,
destNode,
algorithm = "Suurballe"
)
A named list containing two entries: 1) "num_paths": the number of paths from the start node to the end node and 2) "list_paths": a list of paths found. If there are multiple paths, then the second entry will have multiple paths.
Vector corresponding to the source nodes of a graph's edges
Vector corresponding to the destination nodes of a graph's edges
Vector corresponding to the distances of a graph's edges
The number of nodes in the graph
The start node of the path
The end node of the path
Choices of algorithm include "Suurballe". "Suurballe" is the default.
For details on LEMON's implementation, including differences between the algorithms, see https://lemon.cs.elte.hu/pub/doc/1.3.1/a00609.html.