Optimized k‐shortest‐paths algorithm for facility restoration
- 1 September 1994
- journal article
- research article
- Published by Wiley in Software: Practice and Experience
- Vol. 24 (9), 823-834
- https://doi.org/10.1002/spe.4380240904
Abstract
The problem of finding shortest paths arises in many contexts; testing restoration algorithms and developing design packages for large telecommunications networks are two cases where the simple task of finding sets of restoration paths can consume up to 95 per cent of the execution time of an application program. This paper presents experimental studies of several well‐known shortest‐paths algorithms adapted to the task of finding the k‐successively‐shortest link‐disjoint replacement paths for restoration in a telecommunications network with n nodes. The implementations range in complexity from O(kn2) when based on Dijkstra's original method, through several improvements to an efficient implementation of O(kn[v+longn]) complexity, and finally to an O(kn) implementation for the special case of edge‐sparse graphs with small integer edge weights. Here v is the maximum degree of a node in the network. Several alternatives were tested during the course of these studies, particularly with a view to minimizing the number of heap updates, These alternatives are possible because we are searching for several paths between a given pair of nodes, rather than just one path between one or more pairs of nodes. Two fairly straightforward changes yield a decrease in execution time, whereas a more complex heap management strategy consumes as much time in the added code as it releases from the main routine. Experimental results confirm the theoretical complexity of q k n log n) and demonstrate a speed‐up of nearly an order of magnitude over the simpler O(kn2) implementation in the largest networks tested. The optimized implementation is recommended for planning and operational applications of k‐shortest paths rerouting for telecommunications network restoration and restorable network design. If hop counts or small integer link weights can be used to measure distances, then the qkn) implementation is recommended, as typical telecommunications networks are edge‐sparse.This publication has 10 references indexed in Scilit:
- Development and performance assessment of a distributed asynchronous protocol for real-time network restorationIEEE Journal on Selected Areas in Communications, 1991
- A k shortest path algorithm for adaptive routing in communications networksIEEE Transactions on Communications, 1988
- Parallel graph algorithmsACM Computing Surveys, 1984
- Shortest‐path algorithms: Taxonomy and annotationNetworks, 1984
- Data Structures and Network AlgorithmsPublished by Society for Industrial & Applied Mathematics (SIAM) ,1983
- Routing Techniques Used in Computer Communication NetworksIEEE Transactions on Communications, 1980
- A Shortest Path Algorithm for Edge-Sparse GraphsJournal of the ACM, 1976
- Disjoint paths in a networkNetworks, 1974
- A note on two problems in connexion with graphsNumerische Mathematik, 1959
- On a routing problemQuarterly of Applied Mathematics, 1958