Near-shortest and K-shortest simple paths

We present a new algorithm for enumerating all near-shortest simple (loopless) s-t paths in a graph G = (V, E) with nonnegative edge lengths. Letting n = |V| and m = |E|, the time per path enumerated is O(nS(n, m)) given a user-selected shortest-path subroutine with complexity O(S(n, m)). When coupled with binary search, this algorithm solves the corresponding K-shortest paths problem (KSPR) in O(KnS(n, m)(log n+ log cmax)) time, where cmax is the largest edge length. This time complexity is inferior to some other algorithms, but the space complexity is the best available at O(m). Both algorithms are easy to describe, to implement and to extend to more general classes of graphs. In computational tests on grid and road networks, our best polynomial-time algorithm for KSPR appears to be at least an order of magnitude faster than the best algorithm from the literature. However, we devise a simpler algorithm, with exponential worst-case complexity, that is several orders of magnitude faster yet on those test problems. A minor variant on this algorithm also solves “KSPU,” which is analogous to KSPR but with loops allowed. © 2005 Wiley Periodicals, Inc. NETWORKS, Vol. 46(2), 98–109 2005

[1]  Donald B. Johnson,et al.  Efficient Algorithms for Shortest Paths in Sparse Networks , 1977, J. ACM.

[2]  Dalit Naor,et al.  On Near-Optimal Alignments of Biological Sequences , 1994, J. Comput. Biol..

[3]  M. Herzberg,et al.  The hop-limit approach for spare-capacity assignment in survivable networks , 1995, TNET.

[4]  Deep Medhi,et al.  The use of hop-limits to provide survivable ATM group communications , 2000, Networked Group Communication.

[5]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987, JACM.

[6]  R. Kevin Wood,et al.  Shortest‐path network interdiction , 2002, Networks.

[7]  U. Pape,et al.  Implementation and efficiency of Moore-algorithms for the shortest route problem , 1974, Math. Program..

[8]  Walter Willinger,et al.  Toward an optimization-driven framework for designing and generating realistic Internet topologies , 2003, CCRV.

[9]  Andrew V. Goldberg,et al.  Shortest paths algorithms: Theory and experimental evaluation , 1994, SODA '94.

[10]  Wayne D. Grover,et al.  Optimal capacity placement for path restoration in STM or ATM mesh-survivable networks , 1998, TNET.

[11]  Nicos Christofides,et al.  An efficient implementation of an algorithm for finding K shortest simple paths , 1999, Networks.

[12]  Richard Bellman,et al.  ON A ROUTING PROBLEM , 1958 .

[13]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[14]  Albert,et al.  Emergence of scaling in random networks , 1999, Science.

[15]  Michalis Faloutsos,et al.  On power-law relationships of the Internet topology , 1999, SIGCOMM '99.

[16]  Michael S. Waterman,et al.  Technical Note - Determining All Optimal and Near-Optimal Solutions when Solving Shortest Path Problems by Dynamic Programming , 1984, Oper. Res..

[17]  David Eppstein,et al.  Finding the k Shortest Paths , 1999, SIAM J. Comput..