An efficient algorithm for K shortest simple paths

This article gives an efficient algorithm for obtaining K shortest simple paths between two specified nodes in an undirected graph G with non-negative edge lengths. Letting n be the number of nodes and m be the number of edges in G, its running time is O(Kc(n, m)) if the shortest paths from one node to all the other nodes are obtained in c(n, m) [≥O(m)] time, and the required space is O(Kn + m). This time bound is better than those realized by existing algorithms, the best of which, proposed by Yen, requires O(Kn3) time, since c(n, m) ≤min[O(n2), O(m log n)] is known.

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

[2]  Richard Pavley,et al.  A Method for the Solution of the Nth Best Path Problem , 1959, JACM.

[3]  R. Bellman,et al.  On kth Best Policies , 1960 .

[4]  M. Pollack Letter to the Editor—The kth Best Route Through a Network , 1961 .

[5]  M. Pollack Solutions of the kth best route through a network — A review , 1961 .

[6]  S. Clarke,et al.  Computing the N Best Loopless Paths in a Network , 1963 .

[7]  M. Sakarovitch The k shortest chains in a graph , 1968 .

[8]  Stuart E. Dreyfus,et al.  An Appraisal of Some Shortest-Path Algorithms , 1969, Oper. Res..

[9]  J. Y. Yen Finding the K Shortest Loopless Paths in a Network , 1971 .

[10]  E. Lawler A PROCEDURE FOR COMPUTING THE K BEST SOLUTIONS TO DISCRETE OPTIMIZATION PROBLEMS AND ITS APPLICATION TO THE SHORTEST PATH PROBLEM , 1972 .

[11]  B. Fox Calculating Kth Shortest Paths , 1973 .

[12]  E. Minieka,et al.  A Note on an Algebra for the k Best Routes in a Network , 1973 .

[13]  Andrés Weintraub The shortest and the K-shortest routes as assignment problems , 1973, Networks.

[14]  Douglas R. Shier,et al.  Computational experience with an algorithm for finding the k shortest paths in a network , 1974 .

[15]  Edward Minieka,et al.  On computing sets of shortest paths in a graph , 1974, Commun. ACM.

[16]  Ahnont Wongseelashote,et al.  An algebra for determining all path-values in a network with application to K-shortest-paths problems , 1976, Networks.

[17]  Douglas R. Shier,et al.  Iterative methods for determining the k shortest paths in a network , 1976, Networks.

[18]  Eugene L. Lawler Comment on a computing the k shortest paths in a graph , 1977, CACM.

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

[20]  Bennett L. Fox,et al.  Data Structures and Computer Science Techniques in Operations Research , 1978, Oper. Res..

[21]  E. Denardo,et al.  Shortest-Route Methods: 1. Reaching, Pruning, and Buckets , 1979, Oper. Res..