ON THE k SHORTEST SIMPLE PATHS PROBLEM IN WEIGHTED DIRECTED GRAPHS
We present the first approximation algorithm for finding the k shortest simple paths connecting a pair of vertices in a weighted directed graph that breaks the barrier of mn. It is deterministic and has a running time of O(k(m root n + n(3/2) log n)), where m is the number of edges in the graph and n is the number of vertices. Let s, t is an element of V; the length of the ith simple path from s to t computed by our algorithm is at most 3/2 times the length of the ith shortest simple path from s to t. The best algorithms for computing the exact k shortest simple paths connecting a pair of vertices in a weighted directed graph are due to Yen [Management Sci., 17 (1970/1971), pp. 712-716] and Lawler [Management Sci., 18 (1971/1972), pp. 401-405]. The running time of their algorithms, using modern data structures, is O(k(mn + n(2) log n)). Both algorithms are from the early 70s. Although this problem and other variants of the k shortest path problem has drawn a lot of attention during the last three and a half decades, the O(k(mn + n(2) log n)) bound is still unbeaten.
k shortest simple path shortest path graph algorithms second shortest path