Abstract
The single-pair K shortest path (KSP) problem can be described as finding \(k\) least cost paths through a graph between two given nodes in a non-decreasing order, while single-source KSP algorithms aim to find KSPs from a given node to each other node. However, little effort has been devoted to the single-source KSP approaches. This paper proposes a novel single-source KSP algorithm in a given directed weighted graph where loops are allowed. The proposed method is designed to compute a set of shortest paths with exactly \(k\) distinctive lengths in a non-decreasing order. Meanwhile, it can also find all shortest paths with the length less than a given threshold. Inspired by water flowing principle, we imagine that there are waters flowing from a source node to each other node along edges at a constant speed. When the water reaches a node, the node will generate new waters flowing along its outgoing edges. By stepping back the traces of the water, the ordered shortest paths can be obtained. We also address the correctness and effectiveness of the method. Simulations are carried out using synthetic data and practical graph data, which demonstrate the considerable performance of the proposed approach especially for single-source KSP problems.
Similar content being viewed by others
References
Aljazzar H, Leue S (2011) K*: a heuristic search algorithm for finding the K shortest paths. Artif Intell 175:2129–2154
Aljazzar H, Leue S (2008) K*: a directed on-the-fly algorithm for finding the k shortest paths. University of Konstanz, Gemany, Tech. Rep. soft-08-03, Mar, 2008
Berclaz J, Fleuret F, Turetken E et al (2011) Multiple object tracking using k-shortest paths optimization. IEEE Trans Pattern Anal Mach Intell 33(9):1806–1819
Cherkassky BV, Goldberg AV, Radzik T (1996) Shortest paths algorithms: theory and experimental evaluation. Math Program 73:129–174
Demetrescu C, Goldberg A, Johnson D (2006) 9th DIMACS implementation challenge-shortest paths. American Mathematical Society
Eppstein D (1988) Finding the k shortest paths. SIAM J Comput 28(2):652–673
Gao J, Qiu H, Jiang X et al (2010) Fast top-k simple shortest paths discovery in graphs. Proceedings of the 19th ACM international conference on Information and knowledge management, pp 509–518
Gotthilf Z, Lewenstein M (2009) Improved algorithms for the k simple shortest paths and the replacement paths problems. Inform Process Lett 109(7):352–355
Hershberger J, Maxel M, Suri S (2007) Finding the k shortest simple paths: a new algorithm and its implementation. ACM Trans Algorithms 3(4):75
Hoffman W, Pavley R (1959) A method of solution of the Nth best path problem. J ACM 6:506–514
Hu XB, Wang M, Hu D et al (2012) A ripple-spreading algorithm for the k shortest paths problem. Third Global Congress on Intelligent Systems, pp 202–208
Jimenez VM, Marzal A (1999) Computing the k shortest paths: a new algorithm and an experimental comparison. Lect Notes Comput Sci 1668:15–19
Jimenez VM, Marzal A (2003) A lazy version of Eppstein’s shortest paths algorithm. Lect Notes Comput Sci 2647:179–190
Martins EV, Pascoal MB (2003) A new implementation of Yen’s ranking loopless paths algorithm. Q J Belg Fr Ital Oper Res Soc 1(2):121–133
Ozer B, Gezici G, Meydan C et al (2010) Multiple sequence alignment based on structural properties. Health Informatics and Bioinformatics (HIBIT), 2010 5th International Symposium on IEEE, pp 39–44
Sedeno-Noda A (2012) An efficient time and space K point-to-point shortest simple paths algorithm. Appl Math Comput 218(20):10244–10257
Sedeno-Noda A, Espino-Martin JJ (2013) On the K best integer network flows. Comput Oper Res 40(2):616–626
Shih YK, Parthasarathy S (2012) A single source k-shortest paths algorithm to infer regulatory pathways in a gene network. Bioinformatics 28(12):49–58
Wan X, Hua N, Zheng X (2012) Dynamic routing and spectrum assignment in spectrum-flexible transparent optical networks. J Opt Commun Netw 4(8):603–613
Xu WT, Sw He et al (2012) Finding the K shortest paths in a schedule-based transit network. Comput Oper Res 39(8):1812–1826
Yang HH, Chen YL (2005) Finding K shortest looping paths in a traffic-light network. Comput Oper Res 32(3):571–581
Yen JY (1972) Another algorithm for fiding the k shortest-loopless network paths. In 41st Mtg. Operations Research Society of America, vol 20, p B/185
Yen JY (1971) Finding the K shortest loopless paths in a network. Manage Sci 17:712–716
Acknowledgments
This work was supported by the Fundamental Research Funds for the Central Universities under Grant ZYGX2013J076, and National Science Foundation of China under Grants 61273308 and 61175061.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by V. Loia.
Rights and permissions
About this article
Cite this article
Liu, G., Qiu, Z., Qu, H. et al. Computing \(k\) shortest paths from a source node to each other node. Soft Comput 19, 2391–2402 (2015). https://doi.org/10.1007/s00500-014-1434-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-014-1434-2