We present algorithms and techniques for several problems related to finding multiple simple shortest paths and cycles in a graph. Our main result is a new algorithm for finding k simple shortest paths for all pairs of vertices in a weighted directed graph G = (V, E). For k = 2 our algorithm runs in O(mn + n^2 log n) time where m and n are the number of edges and vertices in G. For k = 3 our algorithm runs in O(mn^2 + n^3 log n) time, which is almost a factor of n faster than the best previous algorithm. Our approach is based on forming suitable path extensions to find simple shortest paths; this method is different from the 'detour finding' technique used in most of the prior work on simple shortest paths, replacement paths, and distance sensitivity oracles. We present new algorithms for generating simple cycles and simple paths in G in non-decreasing order of their weight. The algorithm for generating simple paths is much faster,and uses another variant of path extensions.
Finding k Simple Shortest Paths and Cycles
2016-01-01
Conference paper
Electronic Resource
English
Finding Reliable Shortest Paths in Dynamic Stochastic Networks
Transportation Research Record | 2013
|Finding Reliable Shortest Paths in Dynamic Stochastic Networks
Online Contents | 2013
|Path enumeration by finding the constrained K-shortest paths
Elsevier | 2004
|Path enumeration by finding the constrained K-shortest paths
Online Contents | 2005
|Finding the k reliable shortest paths under travel time uncertainty
Online Contents | 2016
|