Enumerating K best paths in length order in DAGs

We address the problem of finding the K best paths connecting a given pair of nodes in a directed acyclic graph (DAG) with arbitrary lengths. One of the main results in this paper is the proof that a tree representing the kth shortest path is obtained by an arc exchange in one of the previous (k−1) trees (each of which contains a previous best path). An O(m+K(n+logK)) time and O(K+m) space algorithm is designed to explicitly determine the K shortest paths in a DAG with n nodes and m arcs. The algorithm runs in O(m+Kn) time using O(K+m) space in DAGs with integer length arcs. Empirical results confirming the superior performance of the algorithm to others found in the literature for randomly generated graphs are reported.

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

[2]  Marta M. B. Pascoal,et al.  A new implementation of Yen’s ranking loopless paths algorithm , 2003, 4OR.

[3]  Hiroshi Imai,et al.  Finding K-best Alignments of Multiple Sequences , 1993 .

[4]  Antonio Sedeño-Noda,et al.  On the K shortest path trees problem , 2010, Eur. J. Oper. Res..

[5]  Alexander Stepanov,et al.  Production , Manufacturing and Logistics Multi-objective evacuation routing in transportation networks , 2009 .

[6]  D. Eppstein Finding Common Ancestors and Disjoint Paths in DAGs , 1999 .

[7]  Sandip Kundu An incremental algorithm for identification of longest (shortest) paths , 1994, Integr..

[8]  Toshihide Ibaraki,et al.  An Algorithm for Finding K Minimum Spanning Trees , 1981, SIAM J. Comput..

[9]  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..

[10]  Thomas W. M. Vossen,et al.  The one-dimensional cutting stock problem with due dates , 2010, Eur. J. Oper. Res..

[11]  Hiroshi Imai,et al.  How to Treat Delete Requests in Semi-Online Problems , 1993, International Symposium on Algorithms and Computation.

[12]  Marta M. B. Pascoal,et al.  1 Implementations and empirical comparison of K shortest loopless path algorithms , 2006 .

[13]  Greg N. Frederickson,et al.  An Optimal Algorithm for Selection in a Min-Heap , 1993, Inf. Comput..

[14]  Toshihide Ibaraki,et al.  An efficient algorithm for K shortest simple paths , 1982, Networks.

[15]  M S Waterman,et al.  Sequence alignments in the neighborhood of the optimum with general application to dynamic programming. , 1983, Proceedings of the National Academy of Sciences of the United States of America.

[16]  Patrice Perny,et al.  Choquet-based optimisation in multiobjective shortest path and spanning tree problems , 2010, Eur. J. Oper. Res..

[17]  Moshe Lewenstein,et al.  Improved algorithms for the k simple shortest paths and the replacement paths problems , 2009, Inf. Process. Lett..

[18]  G. J. Horne,et al.  Finding the K Least Cost Paths in an Acyclic Activity Network , 1980 .

[19]  Subhash Suri,et al.  Finding the k shortest simple paths , 2007, ALENEX.

[20]  Vasileios Hatzivassiloglou,et al.  Two-Level, Many-Paths Generation , 1995, ACL.

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

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

[23]  Sing-Hoi Sze,et al.  Path Matching and Graph Matching in Biological Networks , 2007, J. Comput. Biol..

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

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

[26]  Antonio Sedeño-Noda,et al.  Shortest Path Simplex Algorithm with a Multiple Pivot Rule: a Comparative Study , 2010, Asia Pac. J. Oper. Res..

[27]  J. Y. Yen,et al.  Finding the K Shortest Loopless Paths in a Network , 2007 .

[28]  Ravindra K. Ahuja,et al.  Network Flows , 2011 .

[29]  Harold N. Gabow,et al.  Two Algorithms for Generating Weighted Spanning Trees in Order , 1977, SIAM J. Comput..

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

[31]  Teresa Gomes,et al.  Efficient calculation of the most reliable pair of link disjoint paths in telecommunication networks , 2007, Eur. J. Oper. Res..

[32]  Marta M. B. Pascoal,et al.  Deviation Algorithms for Ranking Shortest Paths , 1999, Int. J. Found. Comput. Sci..

[33]  Dalit Naor,et al.  On Suboptimal Alignments of Biological Sequences , 1993, CPM.

[34]  Mikkel Thorup,et al.  Integer priority queues with decrease key in constant time and the single source shortest paths problem , 2003, STOC '03.

[35]  M. C. Sinclair,et al.  A Comparative Study of k-Shortest Path Algorithms , 1996 .

[36]  Andrés Marzal,et al.  Computing the K Shortest Paths: A New Algorithm and an Experimental Comparison , 1999, WAE.

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

[38]  Aarni Perko,et al.  Implementation of algorithms for K shortest loopless paths , 1986, Networks.