Next Article in Journal
Enhancing Indoor Positioning Accuracy with WLAN and WSN: A QPSO Hybrid Algorithm with Surface Tessellation
Previous Article in Journal
Trajectory Classification and Recognition of Planar Mechanisms Based on ResNet18 Network
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Label-Setting Algorithm for Multi-Destination K Simple Shortest Paths Problem and Application

by
Sethu Vinayagam Udhayasekar
1,*,
Karthik K. Srinivasan
1,
Pramesh Kumar
2 and
Bhargava Rama Chilukuri
1
1
Department of Civil Engineering, Indian Institute of Technology Madras, Chennai 600036, India
2
Department of Civil Engineering, Indian Institute of Technology Delhi, New Delhi 110016, India
*
Author to whom correspondence should be addressed.
Algorithms 2024, 17(8), 325; https://doi.org/10.3390/a17080325
Submission received: 27 June 2024 / Revised: 21 July 2024 / Accepted: 22 July 2024 / Published: 25 July 2024
(This article belongs to the Section Combinatorial Optimization, Graph, and Network Algorithms)

Abstract

:
The k shortest paths problem finds applications in multiple fields. Of particular interest in the transportation field is the variant of finding k simple shortest paths (KSSP), which has a higher complexity. This research presents a novel label-setting algorithm for the multi-destination KSSP problem in directed networks that obviates repeated applications of the algorithm to each destination (necessary in existing deviation-based algorithms), resulting in a significant computational speedup. It is shown that the proposed algorithm is exact and flexible enough to handle several variants of the problem by appropriately modifying the termination condition. Theoretically, it is also shown to be faster than state-of-the-art algorithms in sparse and dense networks whenever the number of labels created is sub-polynomial in network size. A heuristic method and optimized data structures are proposed to improve the algorithm’s scalability and worst-case performance. The computational results show that the proposed heuristic provides two to three orders of magnitude computational time speedups (29–1416 times across different networks) with negligible loss in solution quality (maximum average deviation of 0.167% from the optimal solution). Finally, a practical application of the proposed method is illustrated to determine the gravity of an edge (relative structural importance) in a network.

1. Introduction

Shortest-path algorithms are widely applied in many areas, such as transportation, telecommunication, optimization, and computer science [1,2,3]. Numerous efficient algorithms have been developed to address this problem and its variants, such as the k shortest path (KSP) problem [4], the k simple shortest path (KSSP) problem [5], and the time-dependent shortest path problem [6]. To provide the necessary context, we briefly introduce the concepts of KSP and KSSP. Informally, KSP refers to the top k shortest paths between two points in a network. If we impose the additional constraint that these paths must not contain any repeated nodes, we are dealing with KSSP. Rigorous definitions are provided in Section 3. While the multiple origin and destination versions of the shortest path problem have received specialized attention, the KSSP problem remains under-researched for the multiple destinations case. This problem class encompasses different variants that arise in several practical applications described below. However, current algorithmic approaches predominantly revolve around the use of naïve and repetitive application of the single destination algorithm, thereby ignoring the distinct characteristics of the class as well as opportunities for computational efficiency. Therefore, this paper focuses on the multi-destination KSSP problem by developing specialized solution procedures based on the label-setting framework.
There are applications where finding KSSP to multiple destinations is necessary. One such example is the multi-path routing of vehicles to multiple destinations at the end of mass gathering events, such as sporting events and concerts. Another practical problem relates to routing last-mile connectivity fleets from a transit station to multiple passenger destinations [7]. Other applications where such a solution may be useful include routing autonomous vehicles under dynamic traffic scenarios to multiple activity locations [8], navigation to multiple destinations in complex indoor environments [9], and evacuating people through multiple paths from a building under hazard to multiple safe shelters.
The last decade has witnessed an increasing number of efficient algorithms and heuristics for the KSSP problem to improve upon the popular Yen’s algorithm [10,11,12,13]. These algorithms, however, have been designed and implemented for the single destination case, whereas KSSP algorithms from a single origin to multiple destinations remain relatively scarce in the literature. The KSSP problem from a single source to all destinations (one-to-all) requires finding the top k simple shortest paths to each node in the network. The multi-destination KSSP encompasses a class of problems with several variants. Two variants are presented in this paper, listed below. Besides the one-to-all KSSP, these variants include finding (i) the top k simple shortest paths to each node from a subset of destinations if they exist and (ii) all the simple shortest paths from the origin to any destination within a time or cost budget.
The KSSP, even for the single destination case, is more complex than the KSP due to the constraint of cycle-free paths, though it provides realistic paths. While existing single-destination KSSP algorithms can be extended in a straightforward manner to accommodate multiple destinations, this approach is computationally inefficient due to redundant shortest-path computations to the same intermediate node for different destinations in the existing deviation-based approaches. Therefore, motivated by the above shortcomings in the literature, the aim of this paper is to propose a novel label-setting algorithm as an efficient solution for the multiple destinations case, diverging from the prevalent deviation-based, path replacement, or label-correcting approaches available in the literature. This approach takes advantage of the cost and predecessor information on a path (from origin to intermediate nodes) while calculating the KSSP to downstream multiple destination nodes. Thus, the algorithm is able to explore all destinations concurrently in a single run, resulting in significant computational performance gains.
The specific objectives of this study include the following:
  • Propose a label-setting framework for a class of multi-destination KSSP problems and identify optimality conditions to find exact solutions for the identified variants.
  • Develop an exact label-setting solution algorithm for solving the one-to-all KSSP problem and analyze its computational complexity.
  • Propose a heuristic for practically efficient implementation using bounded labels and appropriate data structures.
  • To evaluate the computation performance and solution quality of the proposed approach with state-of-the-art algorithms on various real-world networks.
  • To illustrate the application of this algorithm for a practical problem and demonstrate its efficacy for the use case.
This study contributes to the literature by introducing a novel label-setting algorithm for the multi-destination KSSP problem. The solution procedure implements an efficient memory organization technique by proposing a suitable data structure. A heuristic is proposed that achieves significant computational efficiency gains (one to three orders of magnitude improvement over state-of-the-art algorithms) than the exact solution without compromising much on solution quality. The practical application of the algorithm is illustrated in the context of computing the gravity of an edge [14]. This particular application quantifies the importance of an edge relative to others by determining the number of paths passing through it. For this application, it is shown that the proposed method is computationally more efficient than alternative approaches in the literature.
The rest of the paper is organized as follows. The next section provides a review of the related literature. Then, the methodology for the exact label-setting algorithm and the heuristic method is described. The results from the various computational experiments are then presented in Section 4, followed by an application of the proposed algorithm in Section 5. The paper concludes with a summary of the major findings and implications of this study and suggests some promising directions for future research.

2. Review of Related Literature

This section provides an overview of the related literature regarding algorithms for the KSP problem, KSSP problem, and related applications, followed by a summary of gaps.

2.1. KSP Algorithms

The KSP problem has a rich history spanning seven decades, leading to the diverse solution methods listed below. Ref. [15] proposed a brute-force approach enumerating and ranking all paths between a given origin–destination (OD) pair. This method suffers from exponential worst-case complexity and is limited to smaller networks. Ref. [16] introduced the first path deviation-based algorithm using a shortest path tree representation superimposed on the network. Storing several candidate paths is a potential setback of this method, especially on large networks. This method was later adapted by [17], using a dynamic programming approach for KSP to a single destination from all origins.
Shier proposed labeling algorithms [18,19,20] to find KSP from a single origin to all destinations that fall under two categories—label-correcting and label-setting—that primarily differ in the order of processing the network links. Comparing the computational performance of the labeling algorithms for KSP, Ref. [20] found label-setting to be efficient on low-density sparse networks such as transportation and communication networks. The worst-case time complexity of Shier’s labeling approaches, as given by [21], is O k 2 n 2 log n , where n is the number of nodes in the network. As an extension of Gallo and Pallottino’s [22] single origin to all destinations algorithm, Ref. [23] proposed several label-correcting algorithms differing in their node selection strategies. They also note that label-setting has a better worst-case complexity among the labeling algorithms for the KSP problem.
Another approach was developed by [21], which is a path deletion procedure that modifies the network at each iteration to find the next shortest path by removing the current path from the network and re-running any efficient shortest path algorithm. A significant limitation of this approach is that the network size grows with the number of paths to be found. Azevedo et al. [24,25,26] improved this approach to limit the network size and require only a single application of a shortest path algorithm. Ref. [27] came up with a better way of network modification to improve the practical performance of the path deletion algorithm [21], yielding a computational complexity of O m + k n log n .
Ref. [4] proposed an algorithm with the best worst-case complexity on directed graphs with non-negative link costs, maintaining shortest paths in a heap with a time complexity of O m + n log n + k log k for a single OD pair and O m + n log n + k n log k for a single origin to all destinations. However, the algorithm does not explicitly output the paths themselves. The path lengths can be obtained in a constant time per path, but listing the links along the path requires an additional O m time per path.

2.2. KSSP Algorithms

KSSP applications span diverse domains, including transit routing with scheduled networks [28,29], autonomous vehicle routing [8], and on-the-fly pathfinding in multi-story buildings [30]. Extensive research has addressed efficient heuristics and algorithms for KSSP in directed graphs, particularly for single-destination scenarios. These approaches leverage the cost function structure or network topology.
One of the earliest algorithms for KSSP was proposed by [31] for networks without negative link costs. It involves the repeated application of a single shortest path algorithm where links on the first shortest path are ignored sequentially, one at a time, to find the second shortest path. The minimum of all such paths gives the second shortest path. The k th simple shortest path is obtained through the recursive application of this procedure. The path deviation-based method of [16] was modified by [32] to address the constrained case of finding only simple paths on networks with positive link costs.
An attempt for a labeling method for finding k simple shortest paths was made by [33] by modifying Shier’s label-setting algorithm [20]. While Leo’s method guarantees pathwise order and avoids loops, it violates conditions (explained in the following section) necessary for exact solutions. Briefly, the conditions are to find paths in a non-decreasing order of path costs and not to restrict the number of labels maintained for any node. By fixing the number of labels to k for each node and finding the i th shortest path to each node before the i + 1 th shortest path to any node, this label-setting method may not always find the optimal paths. The authors in [34] further illustrate this limitation by proving the theorem “It may exist a k th shortest loopless path containing a j th loopless subpath with j > k ” using an example network.
Yen’s path deviation-based algorithm [5] boasts the best theoretical worst-case complexity O k n m + n log n for unrestricted KSSP problems. However, faster algorithms have emerged recently. Gotthilf and Lewenstein’s algorithm [10] targets non-negatively weighted sparse graphs, offering a worst-case complexity of O k m n + n 2 log log n through replacement paths. Ref. [35] proposed a similar approach with an optimistic case speedup of θ n , but with potential failures in specific graphs.
Ref. [11] improved Yen’s algorithm using a node classification method to reduce the time needed in practice to find new candidate paths on average. Among the fastest practical implementations of KSSP are Kurz and Mutzel’s sidetrack-based algorithm [12] and its proposed improvements by [36], Kadivar’s T* algorithm for acyclic digraphs [37], and Chen et al.’s deviation-based KSP-LPA* algorithm [13]. More recent research includes Casas et al.’s bi-objective path search approach [38], distributed computing of shortest paths [39], and a graph reduction technique [40]. These algorithms, however, are applied to the single-destination KSSP problem by pruning or partitioning the network into smaller subgraphs.
A special case of the multi-destination KSSP has been investigated as a top-k shortest path join problem [41,42]. Based on graph reduction and bounding procedures, these algorithms deal with specific restricted cases. However, they cannot be used when k paths are needed for each node in the subset or for all destinations or when the number of paths is not explicitly known a priori. The worst-case complexity can be the same as Yen’s algorithm. Using relatively small subsets (0.01% to 0.15% of nodes in the network) and a very small number of paths ( k = 10 to 50) on test networks, the authors show one to two orders of magnitude computational time improvement in practice than Yen’s algorithm, but the performance with increasing subset size and number of paths is not evaluated.
The KSSP problem has found diverse applications across various domains. Ref. [43] leveraged the k shortest path framework in computer vision to effectively track players in sports video analysis. Routing applications, including public transit routing with transfer penalties and alternate route choices [29] and autonomous driving decision-making under dynamic traffic scenarios [8], often benefit from KSSP formulations. Ref. [30] explored the use of k feasible paths for navigation within large multi-story buildings, demonstrating the utility of KSSP in addressing complex spatial challenges. Another similar problem to KSSP is finding the set of reasonably dissimilar alternative paths on time-dependent networks which are useful in the context of route planning [44], where, in addition to the length/travel time of the paths, their degree of similarity is considered for “meaningful” alternatives. “Terminal paths”, introduced in [45], is a related concept that is also a set of multiple simple paths to several destinations. While the terminal path set does not consider the length of the paths or the size of the set, the multi-destination KSSP problem differs from it in terms of the objective, which is to minimize the path lengths and find a given number of simple paths to each destination.
Analysis of the literature reveals many different algorithms for KSP problems, dominated by deviation/replacement path types for KSSP problems. Previous studies have primarily focused on algorithms for single-origin-to-single-destination scenarios despite several practical applications that could benefit from an efficient single-origin-to-multiple-destinations algorithm. Among the existing studies, compared to the popularity of deviation-based and path-replacement algorithms for KSP and KSSP, the literature on label-setting algorithms is comparatively sparse. This could be attributed to the fact that while the existing label-setting algorithms can solve the KSP problem exactly, they cannot guarantee optimality for the KSSP problem since the optimality principle underpinning general labeling procedures fails for the KSSP problem. Thus, in contrast to labeling algorithms, existing deviation/replacement path type KSSP algorithms designed primarily for a single OD case need to be run for each OD pair separately and do not take advantage of the paths found to other destinations in the earlier runs. Among the labeling methods, as noted by [23], label-setting methods have a better worst-case complexity than label-correcting methods. This gap presents an opportunity to explore label-setting algorithms for potential computational efficiency gains for the multi-destination KSSP problem.

3. Methodology

Let G N , A be a directed network with a set of nodes N = 1,2 , 3 , , n and a set of links A = 1,2 , 3 , , m such that the number of nodes and number of links are n and m , respectively. Links in A are ordered tuples of nodes such that A N × N . A directed simple path from node s N to node t N is defined as a sequence of nodes γ s , t = u 1 = s , u 2 , , u r = t with u l , u l + 1 A     0 l < r , and every node along the path is visited exactly once, i.e., u l u p     0 l < p r . Let C i , j be the cost of the link i , j A . The link costs are assumed to be non-negative, i.e., C i , j 0     i , j A . The cost of the path γ s , t , C γ s , t , is defined as the sum of the cost of its constituent links such that C γ s , t = i , j A C i , j δ i , j γ s , t , where δ i , j γ s , t = 1 if link ( i , j ) belongs to the simple path γ s , t and 0 otherwise.

3.1. Multi-Destination k Simple Shortest Paths—Problem Definition

The KSSP problem is formally defined here, beginning with the typical case of a single origin to a single destination, followed by the single origin to multiple destinations case and its variants, which are of interest in this work.

3.1.1. Single Destination KSSP

Given a directed network G N , A , an origin s N , and a destination t N , find the set of simple shortest paths Φ s t from s to t , if they exist, such that C γ s , t C γ s , t     γ s , t Φ s t   ,     γ s , t Φ s t . The number of paths in the shortest path set may be k or fewer. If at least k simple paths exist between s and t , the set of interest Φ s t contains exactly k paths, i.e., the cardinality of the set Φ s t = k . If fewer than k simple paths exist between s and t , then the set of interest Φ s t contains the available number of simple paths, i.e., Φ s t < k .

3.1.2. Multi-Destination KSSP

Let G N , A be a directed network. The objective of multi-destination KSSP is to find the sets of simple shortest paths from the origin s N , Φ s i     i N   \   { s } , if they exist, such that C γ s , i C γ s , i ,     γ s , i Φ s i ,     γ s , i Φ s i ,     i N   \   s . As explained in Section 3.1.1, it is to be noted that Φ s i = k if k simple paths exist between s and i . Otherwise, Φ s i < k .
Henceforth, this problem will be referred to as the one-to-all KSSP (KSSP-OA) problem. In addition to this, the KSSP problem class also comprises two other important variants discussed below.
(i) 
One-to-Many KSSP (KSSP-OM)
The objective is to find k simple shortest paths from one origin to every node from a set of destinations D . Given a directed network G N , A and an origin s N , find the sets of simple shortest paths Φ s i from s to each node i D N   \   s , if they exist, such that C γ s , i C γ s , i ,     γ s , i Φ s i ,     γ s , i Φ s i ,     i D N   \   s . As explained in Section 3.1.1, it is to be noted that the cardinality of the set Φ s i can be k or less.
(ii) 
One-to-All Cost Constrained Simple Shortest Paths (CCSSP-OA)
The objective here is to find all the simple shortest paths from a given origin to any possible destination that are within a cost budget α . Given a directed network G N , A , an origin s N , and a cost budget α , find the set of simple shortest paths Φ S from s to any node i N   \   { s } , if it exists, such that C γ s , i α     γ s , i Φ s and C γ s , i > α     γ s , i Φ s . This problem involves variable k as well as a variable number of destinations to be determined as the output.

3.2. Label-Setting KSSP Algorithm

In the label-setting algorithm, a node’s label d i k represents the k th simple shortest path from a pre-specified origin node s to node i and comprises three components: the predecessor node ( d i , 1 k ), predecessor node’s label index ( d i , 2 k ), and cost of the path ( d i , 3 k ). At any iteration of the algorithm, each node label belongs to one of two sets, namely, P and T . P is a set of permanent labels whose components are guaranteed not to change subsequently. T is a set of temporary labels where one or more of a label’s components may change in further iterations of the algorithm. Let l i be an index for the number of labels created for node i and p i be the number of permanent labels for node i .
First, the algorithm, proof of correctness and complexity analysis for the KSSP-OA problem are presented, and then the solution procedure for the rest of the variants is provided. In the proposed labeling approach for finding shortest paths, Bellman’s principle of optimality [46], also known as triangle inequality, is preserved by iteratively updating the labels that violate it. The algorithm begins with a single temporary label representing a trivial path to reach the origin s (from itself with zero cost). In each iteration, the temporary label with the least cost among all nodes is made permanent (the rationale is discussed later). The adjacent nodes are then explored, creating new temporary labels (i.e., new paths to those adjacent nodes), provided they are acyclic. The algorithm terminates when all the created labels are made permanent, i.e., all simple paths from s in the network are enumerated, or k best simple paths are found and permanently labeled for each destination. The pseudocode for the label-setting KSSP algorithm is given below as Algorithm 1.
Algorithm 1. Exact_KSSP( G N , A , s )   P
Input: The network instance G ( N , A ) and origin s
Output: The set of k simple shortest path labels P
1 // Create a label  d s 1  corresponding to the first path to the origin  s
2 d s , 1 1 s
3 d s , 2 1 N U L L
4 d s , 3 1 0
5 // Create a temporary set  T  and move  d s 1  into  T
6 T
7 T T d s 1
8 // Create an empty permanent set P
9 P
10 // Initialize the label index and permanent label index for each node
11 l s 1
12 l i 0 , i N   \   s
13 p i 0 , i N
14Repeat
Algorithms 17 00325 i001
29Until  T is  or  p i k   i N   \   s  // No more temporary labels to process or at least k permanent labels to every destination are found
The cycle check in line 21 of Algorithm 1 follows the procedure in Algorithm 2 below.
Algorithm 2. CycleCheck( s , u , p u , v ) TRUE/FALSE
Input:  s , u , p u , v // Label pu of node u is the latest permanent label, v is an adjacent node to u, and s is the source
Output: A Boolean value // True if v forms a cycle with pu and false otherwise
1 i n d e x p u
2 i u
3 While  i s  do
// Backtrack from the end of the path to the origin. Return TRUE if v already exists and FALSE otherwise
4 If  i = = v
5 Return  T R U E
6 Else
7 j i
8 i d j , 1 i n d e x
9 i n d e x d j , 2 i n d e x
10 Return  F A L S E
Proposition 1. 
In the optimal KSSP solution, for any node, the minimum number of labels created is at least  k , and in the worst case, the maximum number of labels created is  O n 2 ! .
Proof. 
Assuming that at least k simple paths exist from the origin s to an arbitrary node p , and since one label is required to represent one distinct path, it is evident that the minimum number of labels to be created for p is k .
However, in some cases, the first k labels may not be sufficient. We prove this claim by contradiction. Let us assume that limiting the number of labels created for each node i ( l i ) to k is sufficient to ensure the correctness of the KSSP solution. Consider two arbitrary nodes, p and q , in a network with non-negative link costs where KSSP from origin s is to be found. Suppose the k th simple shortest path to q is as follows.
d s 1 d p r d q k , r > k
The above path to q comprises the r th simple shortest path to p as a subpath such that r > k . This is possible because the subpath optimality does not hold for the KSSP problem. In order for d q k to be found, d p r should have been found and made permanent earlier. So, when d q k is made permanent (i.e., p q = k ), the following should hold:
p p r
However, since l i is restricted to k < r for each node i , p p < r , in which case, d q k is not guaranteed to be optimal. This contradicts our assumption that limiting l i to k   i will ensure the correctness of the solution. As p and q are arbitrarily chosen, we must allow for more than k labels per node to accommodate scenarios where j > k subpaths are necessary for finding the k optimal simple paths to a node.
Lastly, we show that in the worst case, the maximum number of labels that can be created for a node is bounded by O ( n 2 ! ) . The maximum number of labels that can be created for a destination node t depends on the number of simple paths available to it from s . As the worst case, consider a complete graph where every node is directly connected to every other node. The number of paths with no intermediate nodes between origin s and destination t is 1 = n 2 ! n 2 ! (i.e., the path s t ). The number of paths with 1 intermediate node is n 2 = n 2 ! n 3 ! (i.e., n 2 choices for the intermediate node other than s and t ). The number of paths with 2 intermediate nodes is n 2 ! n 4 ! and so on. Finally, the number of paths with a maximum of n 2 intermediate nodes is n 2 ! 1 ! .
Therefore, the total number of simple paths available between s and t is:
n 2 ! n 2 ! + n 2 ! n 3 ! + + n 2 ! 1 ! = i = 1 n 2 n 2 ! 1 i ! < n 2 ! e = O n 2 ! .
 □
Theorem 1. 
The proposed label-setting algorithm produces an optimal solution to the KSSP problem at termination, if it exists.
Proof. 
The correctness of the label-setting algorithm is proved through the following hypotheses.□
Hypothesis 1. 
Selecting the smallest temporary label  d u p u + 1  from  T  and making it permanent will ensure optimality.
Hypothesis 2. 
The temporary label  d u p u + 1  to node  u  in  T  represents the smallest label of all simple paths made up of subpaths belonging only to   P .
First, we prove Hypothesis 1, assuming Hypothesis 2 holds. Let d u p u + 1 be the smallest temporary label in T . This implies d u , 3 p u + 1 d i , 3 p i + 1 d i p i + 1 T . Also, it corresponds to a simple path ensured by the cycle check performed in line 21. Suppose there is a better p u + 1 th simple shortest path from the origin s to node u composed of some label d i p i + 1 T . Then, d u , 3 p u + 1 , n e w = d i , 3 p i + 1 + C i , u . C i , u is non-negative and d i , 3 p i + 1 d u , 3 p u + 1 . Therefore, d u , 3 p u + 1 , n e w d u , 3 p u + 1 and is not better than d u , 3 p u + 1 . So, d u p u + 1 must be optimal. Hence, the p u + 1 th simple shortest path to u need not be composed of any other label in T . By Hypothesis 2, the current smallest label d u p u + 1 in T is optimal among paths made up of labels only in P . Thus, selecting the smallest temporary label d u p u + 1 from T and making it permanent will ensure optimality.
Next, we prove Hypothesis 2, provided Hypothesis 1 holds. Let us assume that Hypothesis 2 is true before the label d u p u + 1 from T is moved to P . We need to prove that it holds after moving the label (lines 16–17) and arc processing update (lines 22–26). Consider an arbitrary label in T , say d i p i + 1 . To show: d i , 3 p i + 1 is the optimal p i + 1 th distance from s to i among the labels in P d u p u + 1 . Before the update, d i p i + 1 is the shortest p i + 1 th label to i among paths made up of those labels in P (induction hypothesis). The p i + 1 th optimal path from s to i made up of labels in P d u p u + 1 either contains the link ( u ,   i ) or does not contain the link ( u ,   i ) . If it does not contain the link ( u ,   i ) , then the label d i p i + 1 satisfies Hypothesis 2. If the p i + 1 th optimal path from s to i made up of labels in P d u p u + 1 contains the link ( u ,   i ) , then the arc processing update implies that a new label d i , 3 j = d u p u + 1 + C u ,   i < d i , 3 p i + 1 is created and inserted in the sorted order so that j = p i + 1 . Thus, the arc processing update ensures that Hypothesis 2 is satisfied for the d i p i + 1 th label in T . The d i p i + 1 th label is arbitrarily chosen. So, the hypothesis is true for all labels in T .
Therefore, by making the smallest label in T permanent, followed by the arc processing updates in each iteration, the label-setting algorithm produces the optimal solution. □
Remark 1.
The proposed label-setting algorithm will enumerate simple paths from the origin in a non-decreasing order of path cost.
Proposition 2.
The label-setting algorithm terminates in a finite number of iterations.
Proof. 
The number of nodes in the network and the number of simple paths from origin s to any node are finite. Let the maximum number of simple paths to any node be k . Therefore, the maximum size of the set T is finite ( T n k ), and the algorithm terminates in at most n k iterations. Detailed proof is available in Appendix A. □
Proposition 3. 
The worst-case time complexity of the label-setting algorithm is pseudo-polynomial.
Proof. 
The algorithm can be broken down into four major parts and analyzed separately.
Initialization—Lines 1–11 are constant time operations and can be completed in O 1 time. Lines 12–13 take O n time to initialize the label indices for the nodes in the network.
Node selection—Let us assume that T is implemented using a sorted list. The minimum cost label in line 15 can be found in O 1 time. From Proposition 2, the maximum number of temporary labels created is n k , and in the worst case, line 15 is executed O n k times. Moving the minimum cost label from T to P and incrementing the permanent label index (lines 16–19) finishes in O 1 time.
Arc processing: The loop in line 20, in the worst case, executes O m k times. The cycle check in line 21 takes O n time. A temporary label can be created in O 1 time (lines 22–25). Insertion of a new label into T takes O n k (the maximum size of T ) time (line 26). The total complexity of the loop from lines 20 to 28 is O m k n + n k .
Termination check: the check for termination conditions in line 29 takes O n time.
Thus, the overall time complexity of the algorithm is O m n k 2 using a sorted list for the temporary labels. It reduces to O m k n + log k using a min heap (see Section 3.4). A detailed analysis is provided in Appendix A. □
The label-setting algorithm is highly flexible and can be readily adapted for solving each of the variants of the KSSP problem defined earlier through suitable modifications to the termination condition (line 29) as per Table 1. For all the problems, the algorithm must terminate when there are no more temporary labels to process (i.e., T is ). But it can also terminate early when all the required paths are found. For the KSSP-OA problem, this is when k permanent labels are found to each destination node i (i.e., p i k ). For the KSSP-OM problem, the algorithm can stop earlier than the KSSP-OA problem since there are fewer destinations considered. In the case of the CCSSP-OA problem, the algorithm can stop if all paths, whose cost is less than or equal to the given budget α , are found (i.e., when the cost of the next permanent label is greater than α ).

3.3. Heuristic Approach

As shown in the complexity analysis, the number of labels is not limited to k but, in the worst case, could grow exponentially due to the presence of cycles in between. This study circumvents this issue by proposing a heuristic method that limits the number of labels created for each node to k . This heuristic improves the time complexity of the algorithm and makes it strongly polynomial with a worst-case complexity of O m n k 2 , but it does so by sacrificing accuracy, as it violates Proposition 1. The idea of limiting the labels in the heuristic draws its inspiration from the graph reduction technique [47]. The graph reduction approach is a related concept applied in the single-destination case where the network size is reduced to limit the search space for efficiency gain. While we cannot reduce the network size in the multi-destination case since we need to find paths to each destination, the proposed heuristic achieves efficiency gain by limiting the number of labels without modifying the network. The tradeoff between the gain in computational efficiency and the loss in accuracy is analyzed later in the paper.
The pseudocode for the heuristic approach is given below as Algorithm 3 (the maximum number of labels created for any node is limited to k by replacing lines 20–28 of Algorithm 1 with lines 20–37 of Algorithm 3). Limiting the number of labels also enables other practical improvement strategies. Since not more than k labels are stored for any node, a new label for a node is not added to T unless it is better than the worst of k labels found until then (line 30 of Algorithm 3). Additionally, the cycle check is only performed when the new label is better than the existing labels, as it is expensive. Although these improvements do not change the worst-case complexity, they improve the performance in practice.
Algorithm 3. KSSP_LL( G N , A , s )   P
Input: The network instance G ( N , A ) and origin s
Output: The set of k simple shortest path labels P
1 // Create a label  d s 1  corresponding to the first path to the origin  s
2 d s , 1 1 s
3 d s , 2 1 N U L L
4 d s , 3 1 0
5 // Create a temporary set  T  and move  d s 1  into  T
6 T
7 T T d s 1
8 // Create an empty permanent set  P
9 P
10 // Initialize the label index and permanent label index for each node
11 l s 1
12 l i 0 , i N   \   s
13 p i 0 , i N
14Repeat
Algorithms 17 00325 i002
38Until  T is or p i k   i N   \   s // No more temporary labels to process or at least k permanent labels to every destination are found

3.4. Data Structures for Scalable Performance

In the heuristic, limiting the number of labels enables some computational enhancements to reduce or avoid some expensive operations from being performed. In Algorithm 1, the temporary labels from all the nodes are maintained together as a single sorted array whose size can be O n k . While this structure allows constant time lookups to find the smallest label during node selection, it is inefficient for new label insertion, which occurs frequently during the arc processing step. Therefore, the efficient organization and processing of labels using appropriate data structures could reduce the cost of these operations. Instead of the sorted list, a binary tree structure such as a min heap [48] could be used, which allows constant time lookup for finding the minimum element, and insertions are faster ( O log n k ) than the sorted list ( O n k ). However, finding the maximum label for each node (line 11 of Algorithm 3) requires looking through all the elements, taking O n k time, which could be improved. Therefore, a two-level organization of the temporary labels at the node (local level) and network (global level) is proposed. The smallest temporary label of each node is kept in the global (network) level partition, and the rest of the temporary labels of each node are kept in their corresponding local (node) level partitions, as illustrated in Figure 1. Thus, finding the next permanent label involves only the global heap with n elements, whereas insertion is performed in the local heap (unless it is the best or first label to a node) with k elements instead of n k elements in the single heap.
The two-level implementation of the heap data structure also offers the flexibility of using different data structures at the two levels. For efficient label organization and processing, a min heap (Williams, 1964) is used in the global structure, which involves only the operation finding the minimum element, whereas the local heap needs both min and max operations. Hence, a min–max heap structure (Atkinson, 1986) is used. In the min heap (binary tree), each parent node has a value no larger than its children, whereas, in the min–max heap, elements at even levels (including the root) have values less than or equal to all their descendants (children, grandchildren, etc.). Conversely, elements at odd levels have values greater than all their descendants. Thus, the minimum element is always at the root, and the maximum element is the maximum of the two elements at the first level. The proposed method of partitioning the node labels is similar to the graph partitioning [45], where different vertices are grouped based on some criteria. However, in the proposed approach, the partitioning is carried out on the node labels based on their cost component rather than the nodes themselves.
The pseudocode for the implementation of the heuristic using the proposed data structures is provided in Appendix A and is referred to in the following analysis. This dual heap structure is chosen because the heuristic frequently needs access to the minimum (line 23) and maximum labels (lines 40 and 52) at the local level, and a min–max heap allows both in constant time. The minimum and maximum elements can be read in constant time and updated/removed from the min–max heap in logarithmic time. In each iteration, the heuristic needs access to the minimum label at the global level to make the next permanent label (lines 18 and 19). A min heap allows reading the minimum element in constant time and updating/removing it from the heap in logarithmic time.
Following the steps of Proposition 3, the worst-case complexity of the heuristic with data structure improvement (referred to as KSSP_LL_Heap) can be determined as follows. In initialization, insertion into T g l o b a l (line 7) takes logarithmic time ( O log n ) and creating the label indices (lines 14 and 15) takes O n time. So, the initialization takes O n time in total. In node selection, the minimum cost label can be found in constant time (root element of T g l o b a l ). Moving the minimum from T g l o b a l to P (lines 18 and 19) happens in logarithmic time ( O log n ). Removal from the min–max heap (line 23) and insertion into the min heap (line 24) happen in a logarithmic time of O log k and O log n , respectively. Since node selection happens at most n k times, the total complexity of this step is O n k log k + log n = O n k log k n . The bottleneck in the arc processing loop is the branch from lines 40 to 52. Here, the cycle check (line 41) takes O n time. The removal and insertion operations for the min heap (lines 47 and 48) take O log n time each. Insertion into the min–max heap (lines 49 and 51) takes O log k time. Removal from the min–max heap (line 52) also takes O log k time. As the maximum number of iterations of the loop is m k , the total complexity of arc processing is O m k n + log k + log n = O m k n + log k . The termination check takes O n time. The overall complexity of the heuristic is O n + n k log k n + m k n + log k = O m k n + log k .
Next, the worst-case time complexities of the proposed and state-of-the-art algorithms for the multi-destination KSSP problem under different network structures are compared. The current state-of-the-art worst-case time complexity achieved through n repeated applications of Yen’s KSSP algorithm is O k n 2 m + n log n and Gotthlif and Lewenstein’s algorithm is O ( k n 2 ( m + n log log n ) ) . For dense networks where k is O ( n ) , both have a complexity of O ( n 5 ) , whereas for sparse networks with non-negative costs, the latter is faster ( O ( n 4 log log n ) ).
The worst-case complexity of the exact Algorithm 1 with the proposed two-level label organization is O m k n + log k , where k k denotes the maximum number of labels created by the algorithm for any node. As the maximum number of labels created for a node in Algorithm 1, in the worst case, is k = O 2 n , the worst-case complexity of the exact algorithm is pseudo-polynomial.
Four special cases which are more likely to arise in practice are considered: (1) dense networks with k = O ( k ) , (2) dense networks with k = O ( n 2 ) , (3) sparse networks with k = O ( n 2 ) , and (4) sparse networks with k = O ( n 2 ) . By using the fact that m = O n for sparse networks and m = O n 2 in dense networks and assuming the number of paths of interest is of the same order of magnitude as the number of nodes ( k = O ( n ) ), in case 1, the complexity of Algorithm 1 (exact label-setting algorithm) reduces to O ( n 4 ) , which is better than the popular Yen’s algorithm. In case 2, the complexity is O ( n 5 ) , which is the same as the state-of-the-art algorithm. In case 3, the proposed algorithm has a complexity of O(n3), which is faster than the existing algorithm by an order of magnitude. In case 4, the algorithm has a complexity of O(n4), which is faster than the state-of-the-art algorithm by O ( log log n ) .
Table 2 summarizes these time complexities under different network structures and the number of labels k . Thus, it is clear that the proposed label-setting algorithm is theoretically superior in sparse networks and comparable to Yen’s algorithm whenever the number of labels created k is bounded from above by O ( n 2 ) and the number of paths k of interest is O ( n ) . The empirical experiments described in the next section using many real-world networks, which are usually sparse, show that this condition typically holds in practice. Besides the computational performance, the results also examine the trade-off in solution quality between the exact algorithm and the heuristic.

4. Computational Experiments

Computational experiments were conducted to evaluate the computational performance and solution quality of the label-setting algorithm and heuristic, as well as to determine the suitable data structures for organizing the node-level and network-level temporary labels.
The algorithm’s generality is demonstrated by its consistent effectiveness across diverse road networks from various geographical locations, encompassing different sizes and k values. The experiments employed five real-world road network datasets: Anaheim (416 nodes, 9145 links) [49], Barcelona (1020 nodes, 2522 links) [49], Rome (3353 nodes, 8870 links) [50], Hessen (4660 nodes, 6674 links) [49], and Austin (7388 nodes, 18,956 links) [49]. Link costs were randomly assigned between 1 and 10 for each network using a uniform distribution. Other non-negative link cost functions, such as the Bureau of Public Roads function, can also be used.
The heuristic’s performance was compared against three algorithms from the literature, namely, Yen’s algorithm (Y) [5], a node classification-based (NC) algorithm by [11], and a sidetrack-based (SB) algorithm using dynamic updates of shortest path trees by [51].
The following metrics were used to evaluate the performance of the algorithms. The computational performance is measured with the average total running time, and the solution quality or accuracy is measured with the average percentage deviation of the k th path cost.
  • Average total running time: This metric represents the average time, measured in CPU time, taken to find the required paths. This excludes the time spent reading input data and writing output data.
  • Average percentage deviation of k th path cost: This metric measures the average percentage increase in the k th simple shortest path cost obtained by the heuristic algorithm ( c * ) from the exact k th simple shortest path cost ( c ). It is calculated as 100 × c * c c % , expressing the difference as a percentage of the exact cost.
For each network, the results at different levels of k correspond to the averages obtained from multiple OD pairs.

4.1. Evaluation of Data Structures for Temporary Labels

The computational performance of the algorithm and the heuristic were evaluated for the single destination KSSP problem. First, a naïve implementation was tested where all the temporary labels are maintained in a single level using a sorted list. Then, the proposed two-level organization of temporary labels was tested using four possible combinations of min heap and min–max heap—(i) min heap (global level) and min heap (local level), (ii) min–max heap (global level) and min–max heap (local level), (iii) min heap (global level) and min–max heap (local level), and (iv) min–max heap (global level) and min heap (local level). The average computational time over 50 randomly chosen OD pairs was compared for each network. The experiment was conducted at five different levels of k : 100, 500, 1000, 1500, and 2000. A maximum running time threshold of 30 min was used for each instance, and the test was terminated if the running time for an instance exceeded this threshold.
Table 3 presents the computational results for the naïve implementations of Algorithms 1 and 3 using a sorted list. It is important to note that some instances exceeded the 30 min limit, and their running times were capped at the threshold value. Consequently, the average times reported for such cases represent lower bounds rather than exact figures. The results clearly demonstrate the inadequacy of the naïve implementations as the algorithms exhibited execution times in the order of several minutes.
Figure 2 shows that the best performance is obtained when the node-level labels are handled using a min–max heap, and either a min heap or a min–max heap is used to handle the network-level labels, irrespective of the network size and the number of paths. This makes sense intuitively. When examining nodes during each iteration, the algorithm needs to identify the one with the smallest temporary label. Similarly, when exploring the outgoing arcs from a specific node, the node labels are compared to find the largest one. These operations involve the smallest and largest labels at the network and individual node levels, respectively. The run time difference between a min heap and a min–max heap at the network level is negligible, and both structures efficiently provide access to the minimum element. However, since the min–max heap is unwarranted at the network level, a min heap at the network level and a min–max heap at the node level are recommended. This best-performing data structure combination is used for the rest of the experiments.

4.2. Evaluation of the Heuristic’s Performance

The KSSP_LL_Heap method was evaluated against Y, NC, and SB algorithms based on computational time and solution quality. The experiment was conducted with the randomly selected 50 OD pairs for the single destination case and from the origins of the 50 pairs to all destinations in the network for the multi-destination case (KSSP-OA problem). The reported results for each case represent the average over all instances when k was fixed at 100, 500, 1000, 1500, and 2000.
Existing algorithms perform well for a single destination but struggle to scale effectively to multiple destinations. Figure 3 shows the average computational time taken by the algorithms to find KSSP for all destinations. Compared to the single destination case, for the benchmark algorithms, the run times increased by 386 times, 946 times, 3262 times, 3936 times, and 6325 times on average for the Anaheim, Barcelona, Rome, Hessen, and Austin networks, respectively. In contrast, it was only 1.35 times, 1.63 times, 1.76 times, 1.74 times, and 2.64 times for KSSP_LL_Heap.
For multiple destinations, it is clear from Figure 3 that KSSP_LL_Heap outperforms other algorithms in terms of computational time. KSSP_LL_Heap provides a speedup of 29 to 1416 times across the networks and gets better as the network size grows.
While the heuristic does not guarantee an optimal solution, it offers a significant computational advantage at the expense of a slight compromise in solution quality. Figure 4 shows that the quality of the heuristic solution is only marginally worse than the optimal solution across networks and the number of paths found. Moreover, for a given k , the solution accuracy is mostly higher for larger networks. The average deviation in the k th path cost is at most 0.167% of the actual k th path cost. It is also observed that the solution quality improves when the number of paths to be found increases. This finding suggests that one could almost always find the optimal solution with the heuristic by setting k to be larger than needed while still having the computational benefits.
To further understand this tradeoff between speed and accuracy, an experiment was conducted where the number of labels created ( k ) was set to be higher than k (the number of simple paths required). Figure 5 illustrates the speed–accuracy tradeoff as a function of k when k is 100. It is seen that the deviation in the k th path cost could be driven towards zero by increasing the number of labels for each node by a certain percentage of k . In all cases, the deviations are in the order of 0.004 to 0.147% (i.e., 99.853 to 99.996% accurate). Across all networks, we observed a consistent trend: as k increased, the accuracy improved, while the computational time increased marginally. This trend is particularly evident in the Barcelona network (Figure 5b), where a 15% increase in the number of labels led to a threefold improvement in accuracy.
Similarly, the other networks (Figure 5a–e) saw a twofold accuracy boost with a 20–25% increase in the number of labels used. Notably, these accuracy gains were achieved with minimal increases in computational time across all networks. Empirically, we can expect a unit of extra computational time to buy one to two orders of magnitude increase in accuracy.

5. Illustrative Practical Application

This section demonstrates the usefulness and efficacy of the proposed algorithm for a practical application arising in a network science context. The problem attempts to quantify the significance of edges in a network and rank them based on their structural importance using a measure called Edge Gravity (Helander and McAllister, 2018). The edge gravity or the structural importance of an edge is the number of paths in the network comprising it. This concept is crucial in understanding various social, biological, and transportation networks. For instance, in transportation networks, identifying edges with high edge gravity can reveal critical links that enhance accessibility. Similarly, edge gravity can help find influential individuals in social networks or measure the overall resilience of a network. Through quantifying and ranking connections, it becomes a valuable tool for studying and manipulating social and other types of networks.
The calculation of the metric requires the enumeration of all paths in the network, which can be performed using KSSP_LL_Heap, as finding the KSSP to all destinations (repeated from all origins) will provide all the paths in the network if a sufficiently large value of k is used. In networks where enumerating all paths is not practically feasible, the authors proposed the metric k-Gravity, which is the edge gravity computed using only the top k shortest paths between all OD pairs. The k-Gravity serves as a lower bound of the actual edge gravity. For the path enumeration, [14] adapted a KSP algorithm by running it for each OD pair in the network for an adequately large value of k . They emphasized that the choice of the KSP algorithm is crucial for efficiently calculating edge gravity. Since path enumeration is the dominant step in this calculation, improvements in its computation time are necessary to handle larger networks. They state, “Choice of a specific k–shortest path algorithm for enumerating the paths appears to be a factor and presents an interesting set of extension studies. Examination and improvement in computation time for Edge Gravity is necessary to address larger static and single-layer networks, which necessarily prefaces complexity that includes time-evolving and multi-layer networks”.
The current study shows that the path enumeration for the edge gravity computation can be performed more efficiently with the proposed KSSP_LL_Heap, enhancing the scalability of the metric to larger networks. The computational performance is illustrated in Table 4 using Granovetter’s example networks used by the authors in their experiments and two other road networks of Sioux Falls and Eastern Massachusetts [49].
The result shows that KSSP_LL_Heap is much faster on the same networks used by the authors. A 14–20 times speedup is achieved on the Granovetter ’73 example B network. Moreover, the scalability provided by KSSP_LL_Heap is evident from the other networks. On the larger Eastern Massachusetts network, KSSP_LL_Heap calculates the edge gravity using more than 10 million paths in 21.53 s, which is about 182 times faster than algorithm Y. It is clear that the computational benefits provided by KSSP_LL_Heap over existing methods grow with the problem size.
Given that the number of paths present in the Eastern Massachusetts network is huge, the k-Gravity metric was computed considering the practical feasibility. To understand whether the importance of an edge remains stable as more paths are enumerated and get an idea of the quality of the ranking obtained with k values sufficiently large in practice, sensitivity analysis was performed as described below. First, the sensitivity of the absolute k-Gravity value of an edge for different values of k was investigated. For this, the normalized k-Gravity value of an edge is defined as the ratio of its k-Gravity to the total number of paths found between all OD pairs. The variation in the normalized k-Gravity averaged over all the edges in the network is shown in Figure 6. From Figure 6, it is observed that the average normalized k-Gravity value starts to stabilize in the range of k = 10,000 to 20,000 as the rate of increase (slope) in the average normalized edge gravity drops sharply at k = 10,000 and starts converging to a constant value.
Next, the sensitivity of the rank ordering of the edges based on their k-Gravity was analyzed by studying the differences in the rank order of edges obtained with a value of k against that obtained with k = 50,000. With k = 50,000, a large set of paths (approximately 27 million) is obtained, and the corresponding k-Gravity is assumed to provide the actual order of edge importances for the purpose of this analysis. The distribution of the absolute difference in the rank of an edge obtained with a given value of k against the actual order is shown in Figure 7. It is observed that the range of the rank differences continuously reduces from 82 at k = 1000 to 7 at k = 40,000, indicating that the distribution of the rank differences (i.e., the error in ordering) tends to converge towards zero (mean and variance of differences shrink) with increasing k . The plot also corroborates that a k value between 10,000 and 20,000 seems to provide a sufficiently good choice for the lower bound of edge gravity since the average absolute rank difference is around 10 for k = 20,000 (0.05% error), which is practically acceptable.
Further, the rank correlation between the edge ranks obtained for k = 10,000 was compared against the upper bound of k = 50,000. Since the relationship between two sets of ranked (ordinal) data is analyzed, appropriate statistical measures of Spearman’s rank correlation coefficient [52] and Kendall’s τ [53] are used. Spearman’s rank correlation coefficient turned out to be close to 1 (0.98), and Kendall’s τ was 0.9, and both were statistically significant (p < 1 × 10−100), suggesting the adequacy of using 10,000 paths per OD to estimate edge gravity. This procedure can be adopted for other networks to determine convergence and find the smallest k needed to estimate edge gravity. However, the thresholds for convergence may depend on network topology and connectivity.
These analyses show that k-Gravity with a reasonably higher value of k that is practically feasible can be used to obtain a close enough approximation of the actual edge gravity on larger networks without needing to enumerate all the paths.

6. Conclusions

This study proposes a novel label-setting framework for solving the multi-destination KSSP problem and its variants in directed graphs with non-negative edge weights. The proposed labeling framework obviates the need to repeatedly solve the KSSP problem for each destination as is necessary in path deviation algorithms (such as Yen’s), resulting in a significant speedup of the algorithm. An exact algorithm, which is pseudo-polynomial, and a practically efficient heuristic based on bounded labels and a two-level heap data structure are implemented and evaluated theoretically and using computational experiments on several real-world networks.
An efficient heuristic is developed and implemented by limiting the number of labels for each node to k and designing a two-level heap data structure to store temporary labels. The proposed KSSP_LL_Heap heuristic has a complexity of O m k n + log k , which is polynomial in k and network size, and offers significant computational benefits over state-of-the-art algorithms with a marginal degradation of solution quality. As a result, the worst-case complexity of the heuristic is significantly faster in both sparse and dense networks than existing state-of-the-art algorithms.
Computational experiments on many real-world networks corroborate the findings from the above theoretical complexity analysis. The proposed heuristic provides significant computational speedups from 29 to 1416 times over the state-of-the-art algorithms in real-world networks of varying sizes and k values with negligible loss in accuracy (at most 0.167%). Finally, a practical application of the proposed method is illustrated to determine the gravity of an edge (relative structural importance) in a network.
The multi-destination KSSP offers a robust framework for tackling several applications in the future, including the following: (i) a KSSP-OM approach, incorporating real-time crowding data, can dynamically be used to re-route passengers departing from mass gathering events through less congested alternative paths, minimizing travel time and improving passenger experience and (ii) a CCSSP-OA formulation can be applied to assess the number of travel options available from a specific location within a limited time budget, aiding in the evaluation and promotion of more accessible public transit systems. Extensions to multi-criterion and time-dependent versions are challenging areas for further research.

Author Contributions

Conceptualization, S.V.U., K.K.S., P.K., and B.R.C.; Methodology, S.V.U., K.K.S., P.K., and B.R.C.; Investigation, S.V.U. and K.K.S.; Formal analysis, S.V.U. and K.K.S.; Writing—original draft, S.V.U., K.K.S., P.K., and B.R.C.; Writing—review and editing, S.V.U., K.K.S., P.K., and B.R.C.; Software, S.V.U.; Funding acquisition, S.V.U. and K.K.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work was partly supported by the Science and Engineering Research Board, Department of Science & Technology, Government of India [grant number IMP/2018/001850] and the Prime Minister’s Research Fellows (PMRF) scheme, Ministry of Education, Government of India.

Data Availability Statement

The data presented in this study are openly available in GitHub at https://github.com/bstabler/TransportationNetworks (accessed on 28 September 2019).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Lemma A1. 
In each iteration, execution of the cycle check procedure takes at most  O ( n )  time.
Proof. 
The cycle check in line 21 of Algorithm 1 is performed by backtracking the nodes in a path. Since the maximum number of nodes in a simple path cannot exceed n without a node getting repeated, the loop in the cycle check procedure repeats for at most  O ( n )  iterations. □
Remark A1. 
All proposed variants of the label-setting algorithm also terminate in a finite number of iterations since their termination condition may lead to an early stopping of the algorithm.
Detailed Proof of Proposition 2. 
The termination of Algorithm 1 in line 29 depends on the size of the temporary label set ( T ). The algorithm starts with a single temporary label ( T = 1 ) (line 7) and in each iteration, at most n labels can be added to T if new simple paths are found from s to each node v in the network (lines 20–28). The number of nodes in the network and the number of simple paths from origin s to any node are finite. Let the maximum number of simple paths to any node be k . Therefore, the maximum size of the set T is also finite ( T n k ). Since one temporary label is removed from T and made permanent (i.e., the label will not enter into T again) in each iteration (lines 16–17), the set T becomes empty in a finite number of iterations, and the algorithm terminates. □
Detailed worst-case time complexity analysis for Algorithm 1
Termination occurs when one of two conditions are met— T becomes empty or k permanent labels are found for all the nodes. The worst case is when all temporary labels must be examined (for example, the longest path from the origin is the k th shortest path to some node), which is analyzed here. The algorithm can be broken down into four major parts and analyzed separately in detail below.
Initialization: Lines 1–11 are constant time operations and can be completed in O 1 time. Lines 12–13 take O n time in total to initialize the label indices for the nodes in the network.
Node selection: Let us assume that T is naïvely implemented as a sorted list. The minimum cost label in line 15 can be found in O 1 time. In the worst case, the maximum number of times line 15 is executed equals the maximum number of temporary labels created. The algorithm can enumerate all the simple paths from the origin before finding the required number of simple paths to the destination or the set of destinations of interest. From Proposition 2, the maximum number of temporary labels created is n k , and the total time complexity of line 15 is O n k . Moving the minimum cost label from T to P and incrementing the permanent label index (lines 16–19) finishes in O 1 time.
Arc processing: For a node u , the loop in line 20 repeats o u t d e g r e e u times. When one permanent label is found to each node, the number of repetitions is Σ i N o u t d e g r e e i = m . For O k paths found in the worst case, the loop executes O m k times. The cycle check in line 21 takes O n time, as established in the lemma earlier. A temporary label can be created in O 1 time (lines 22–25). Since T is maintained as a sorted list, insertion of a new label into T takes O n k (the maximum size of T ) time (line 26). The total complexity of the loop from lines 20–28 is O m k n + n k .
Termination check: the check for the termination conditions in line 29 takes O n time.
  • Pseudocode for the implementation of the heuristic using the proposed two-level organization of temporary labels
Algorithm A1. KSSP_LL_Heap( G N , A , s )   P
Input: The network instance G ( N , A ) and origin s
Output: The set of k simple shortest path labels P
1 // Create a label  d s 1  corresponding to the first path to the origin  s
2 d s , 1 1 s
3 d s , 2 1 N U L L
4 d s , 3 1 0
5 // Create a single global temporary set   T g l o b a l  (min heap) and move  d s 1  into  T g l o b a l
6 T g l o b a l
7 T g l o b a l T g l o b a l d s 1
8 // Create a local temporary set (min–max heap) for each node
9 T i ,     i N
10 // Create an empty permanent set  P
11 P
12 // Initialize the label index and permanent label index for each node
13 l s 1
14 l i 0 , i N   \   s
15 p i 0 , i N
16Repeat
17 // Pick the minimum cost label  min T g l o b a l = d u p u + 1  from  T g l o b a l  and move it to  P , making it permanent
// Since p u  labels are permanent for node  u , p u + 1  is the next smallest temporary label index of  u
18 T g l o b a l T g l o b a l   \   min T g l o b a l
19 P P min T g l o b a l
20 // Increment the permanent label index of node  u
21 p u p u + 1
22 // Move the next smallest temporary label of node u from its local level to the global level
23 T u T u   \   min T u
24 T g l o b a l T g l o b a l min T u
25 For each node v adjacent to u  do
26 If  l v < k  then
27 If CycleCheck( s , u , p u , v ) is FALSE then // v is not on the path corresponding to p u
28 Create a new label d v j
29 d v , 3 j d u , 3 p u + C u , v
30 d v , 2 j p u
31 d v , 1 j u
32 If  d v , 3 j < d v , 3 p v + 1  then // Created label is the new smallest label for v
// Insert new label into the global level and move the existing label to the local level
33 T g l o b a l T g l o b a l   \   d v p v + 1
34 T g l o b a l T g l o b a l d v j
35 T v T v d v p v + 1
36 Else
37 T v T v d v j
38 // Increment the label index of node  v
39 l v l v + 1
40 Else if  max T v > d u , 3 p u + C u , v  then
41 If CycleCheck( s , u , p u , v ) is FALSE then // v is not on the path corresponding to p u
42 // Create a new label  d v j
43 d v , 3 j d u , 3 p u + C u , v
44 d v , 2 j p u
45 d v , 1 j u
46 If  d v , 3 j < d v , 3 p v + 1  then // Created label is the new smallest label for v
// Insert the new label into the global level and move the existing label to the local level
47 T g l o b a l T g l o b a l   \   d v p v + 1
48 T g l o b a l T g l o b a l d v j
49 T v T v d v p v + 1
50 Else
51 T v T v d v j
52 T v T v   \   max T v // Max label of v is removed to keep l v = k
53Until  T g l o b a l is or p i k   i N   \   s // No more temporary labels to process or at least k permanent labels to every destination are found

References

  1. Mohanta, K. Comprehensive Study on Computational Methods for K-Shortest Paths Problem. Int. J. Comput. Appl. 2012, 40, 22–26. [Google Scholar] [CrossRef]
  2. Kumawat, S.; Dudeja, C.; Kumar, P. An Extensive Review of Shortest Path Problem Solving Algorithms. In Proceedings of the 2021 5th International Conference on Intelligent Computing and Control Systems (ICICCS), Madurai, India, 6–8 May 2021; pp. 176–184. [Google Scholar]
  3. Magzhan, K.; Jani, H.M. A Review and Evaluations of Shortest Path Algorithms. Int. J. Sci. Technol. Res. 2013, 2, 99–104. [Google Scholar]
  4. Eppstein, D. Finding the K Shortest Paths. J. SIAM 1998, 28, 652–673. [Google Scholar] [CrossRef]
  5. Yen, J.Y. Finding the K Shortest Loopless Paths in a Network. Manag. Sci. 1971, 17, 712–716. [Google Scholar] [CrossRef]
  6. Hu, X.; Chiu, Y.C. A Constrained Time-Dependent K Shortest Paths Algorithm Addressing Overlap and Travel Time Deviation. Int. J. Transp. Sci. Technol. 2015, 4, 371–394. [Google Scholar] [CrossRef]
  7. Chennai Metro Rail Mulls Introducing More Electric Vehicles to Boost Its Last-Mile Connectivity. Available online: https://www.thehindu.com/news/cities/chennai/chennai-metro-rail-mulls-introducing-more-electric-vehicles-to-boost-its-last-mile-connectivity/article67138761.ece (accessed on 30 July 2023).
  8. Xie, F.; Xie, Y.; Lam, S.H. K-Shortest Routing for Autonomous Driving. In Proceedings of the 2022 4th International Conference on Machine Learning, Big Data and Business Intelligence, MLBDBI 2022, Shanghai, China, 28–30 October 2022; pp. 212–216. [Google Scholar] [CrossRef]
  9. Asaduzzaman, M.; Geok, T.K.; Hossain, F.; Sayeed, S.; Abdaziz, A.; Wong, H.-Y.; Tso, C.P.; Ahmed, S.; Bari, M.A. An Efficient Shortest Path Algorithm: Multi-Destinations in an Indoor Environment. Symmetry 2021, 13, 421. [Google Scholar] [CrossRef]
  10. Gotthilf, Z.; Lewenstein, M. Improved Algorithms for the k Simple Shortest Paths and the Replacement Paths Problems. Inf. Process. Lett. 2009, 109, 352–355. [Google Scholar] [CrossRef]
  11. Feng, G. Finding k Shortest Simple Paths in Directed Graphs: A Node Classification Algorithm. Networks 2014, 64, 6–17. [Google Scholar] [CrossRef]
  12. Kurz, D.; Mutzel, P. A Sidetrack-Based Algorithm for Finding the k Shortest Simple Paths in a Directed Graph. Leibniz Int. Proc. Inform. LIPIcs 2016, 64, 49.1–49.13. [Google Scholar] [CrossRef]
  13. Chen, B.Y.; Chen, X.W.; Chen, H.P.; Lam, W.H.K. Efficient Algorithm for Finding k Shortest Paths Based on Re-Optimization Technique. Transp. Res. E Logist. Transp. Rev. 2020, 133, 101819. [Google Scholar] [CrossRef]
  14. Helander, M.E.; McAllister, S. The Gravity of an Edge. Appl. Netw. Sci. 2018, 3, 7. [Google Scholar] [CrossRef] [PubMed]
  15. Bock, F.; Kantner, H.; Haynes, J. An Algorithm (the r-Th Best Path Algorithm) for Finding and Ranking Paths through a Network; Armour Research Foundation: Chicago, IL, USA, 1957. [Google Scholar]
  16. Hoffman, W.; Pavley, R. A Method for the Solution of the Nth Best Path Problem. J. ACM 1959, 6, 506–514. [Google Scholar] [CrossRef]
  17. Dreyfus, S.E. An Appraisal of Some Shortest-Path Algorithms. Oper. Res. 1969, 17, 395–412. [Google Scholar] [CrossRef]
  18. Shier, D.R. Computational Experience with an Algorithm for Finding the k Shortest Paths in a Network. J. Res. Natl. Bur. Stand. Sect. B Math. Sci. 1974, 78 B, 116–139. [Google Scholar] [CrossRef]
  19. Shier, D.R. Iterative Methods for Determining the k Shortest Paths in a Network. Networks 1976, 6, 205–229. [Google Scholar] [CrossRef]
  20. Shier, D.R. On Algorithms for Finding the k Shortest Paths in a Network. Networks 1979, 9, 195–214. [Google Scholar] [CrossRef]
  21. Martins, E.d.Q.V. An Algorithm for Ranking Paths That May Contain Cycles. Eur. J. Oper. Res. 1983, 18, 123–130. [Google Scholar] [CrossRef]
  22. Gallo, G.; Pallottino, S. Shortest Path Methods: A Unifying Approach. In Netflow at Pisa; Gallo, G., Sandi, C., Eds.; Springer: Berlin/Heidelberg, Germany, 1986; pp. 38–64. ISBN 978-3-642-00923-5. [Google Scholar]
  23. Guerriero, F.; Musmanno, R.; Lacagnina, V.; Pecorella, A. A Class of Label-Correcting Methods for the K Shortest Paths Problem. Oper. Res. 2001, 49, 423–429. [Google Scholar] [CrossRef]
  24. De Azevedo, J.; Madeira, J.J.E.R.S.; Martins, E.Q.V.; Pires, F.M.A. A Computational Improvement for a Shortest Paths Ranking Algorithm. Eur. J. Oper. Res. 1994, 73, 188–191. [Google Scholar] [CrossRef]
  25. Azevedo, J.A.; Madeira, J.J.E.R.S.; Martins, E.d.Q.V.; Pires, F.M.A. A Shortest Paths Ranking Algorithm. In Proceedings of the AIRO’90, Conference on Models and Methods for Decision Support, Sorrento, Italy, 3–5 October 1990; pp. 1001–1011. [Google Scholar]
  26. Azevedo, J.; Costa, M.E.O.S.; Madeira, J.J.E.R.S.; Martins, E.Q.V. An Algorithm for the Ranking of Shortest Paths. Eur. J. Oper. Res. 1993, 69, 97–106. [Google Scholar] [CrossRef]
  27. Martins, E.d.Q.V.; Pascoal, M.M.B.; Santos, J.L.E. Dos A New Improvement for a K Shortest Paths Algorithm. Investig. Oper. 2001, 21, 47–60. [Google Scholar]
  28. Xu, W.; He, S.; Song, R.; Chaudhry, S.S. Finding the K Shortest Paths in a Schedule-Based Transit Network. Comput. Oper. Res. 2012, 39, 1812–1826. [Google Scholar] [CrossRef]
  29. Jeon, I.; Nam, H.; Jun, C. Improved Public Transit Routing Algorithm for Finding the Shortest K-Path. Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci.-ISPRS Arch. 2018, 42, 255–264. [Google Scholar] [CrossRef]
  30. Ivanov, R. An Algorithm for On-the-Fly K Shortest Paths Finding in Multi-Storey Buildings Using a Hierarchical Topology Model. Int. J. Geogr. Inf. Sci. 2018, 32, 2362–2385. [Google Scholar] [CrossRef]
  31. Pollack, M. The Kth Best Route Through a Network. Oper. Res. 1961, 9, 578–580. [Google Scholar] [CrossRef]
  32. Clarke, S.; Krikorian, A.; Rausen, J. Computing the N Best Loopless Paths in a Network. J. SIAM 1963, 11, 1096–1102. [Google Scholar] [CrossRef]
  33. Leo, J. Time-Varying K Shortest Paths Algorithm. Available online: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=c39f7ff4e09c5b49573c5db9c3a2b044083d0e51 (accessed on 7 April 2020).
  34. Martins, E.d.Q.V.; Pascoal, M.M.B.; Santos, J.L.E. Dos Deviation Algorithms for Ranking Shortest Paths. Int. J. Found. Comput. Sci. 1999, 10, 247–261. [Google Scholar] [CrossRef]
  35. Hershberger, J.; Maxel, M.; Suri, S. Finding the k Shortest Simple Paths: A New Algorithm and Its Implementation. ACM Trans. Algorithms 2007, 3, 45-es. [Google Scholar] [CrossRef]
  36. Al Zoobi, A.; Coudert, D.; Nisse, N. Finding the k Shortest Simple Paths: Time and Space Trade-Offs. ACM J. Exp. Algorithmics 2023, 28, 1–23. [Google Scholar] [CrossRef]
  37. Kadivar, M. A New O (M+ Kn Log d) Algorithm to Find the k Shortest Paths in Acyclic Digraphs. Trans. Comb. 2016, 5, 23–31. [Google Scholar]
  38. de las Casas, P.M.; Sedeño-Noda, A.; Borndörfer, R.; Huneshagen, M. K-Shortest Simple Paths Using Biobjective Path Search. arXiv 2023, arXiv:2309.10377. [Google Scholar]
  39. Yu, Z.; Yu, X.; Koudas, N.; Chen, Y.; Liu, Y. A Distributed Solution for Efficient K Shortest Paths Computation Over Dynamic Road Networks. IEEE Trans. Knowl. Data Eng. 2024, 36, 2759–2773. [Google Scholar] [CrossRef]
  40. Feng, W.; Chen, S.; Liu, H.; Ji, Y. PeeK: A Prune-Centric Approach for K Shortest Path Computation. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, Denver, CO, USA, 12–17 November 2023; ACM: New York, NY, USA, 2023; pp. 1–14. [Google Scholar]
  41. Chang, L.; Lin, X.; Qin, L.; Yu, J.X.; Pei, J. Efficiently Computing Top-K Shortest Path Join. In Proceedings of the EDBT 2015—18th International Conference on Extending Database Technology, Brussels, Belgium, 23–27 March 2015; pp. 133–144. [Google Scholar] [CrossRef]
  42. Gao, J.; Yu, J.; Qiu, H.; Jiang, X.; Wang, T.; Yang, D. Holistic Top-k Simple Shortest Path Join in Graphs. IEEE Trans. Knowl. Data Eng. 2012, 24, 665–677. [Google Scholar] [CrossRef]
  43. Liang, Q.; Wu, W.; Yang, Y.; Zhang, R.; Peng, Y.; Xu, M. Multi-Player Tracking for Multi-View Sports Videos with Improved K-Shortest Path Algorithm. Appl. Sci. 2020, 10, 864. [Google Scholar] [CrossRef]
  44. Kontogiannis, S.; Paraskevopoulos, A.; Zaroliagis, C. Time-Dependent Alternative Route Planning: Theory and Practice. Algorithms 2021, 14, 220. [Google Scholar] [CrossRef]
  45. Jäntschi, L. Graph Theory. 1. Fragmentation of Structural Graphs. Leonardo Electron. J. Pract. Technol. 2002, 1, 19–36. [Google Scholar]
  46. Bellman, R. On a Routing Problem. Q. Appl. Math. 1958, 16, 87–90. [Google Scholar] [CrossRef]
  47. Yamane, Y.; Kitajima, H. A New K-Shortest Path Search Approach Based on Graph Reduction. arXiv 2019, arXiv:1908.06460. [Google Scholar]
  48. Williams, J.W.J. Algorithm 232: Heapsort. Commun. ACM 1964, 7, 347–348. [Google Scholar]
  49. Transportation Networks for Research Core Team. Transportation Networks for Research. Available online: https://github.com/bstabler/TransportationNetworks (accessed on 28 September 2019).
  50. Storchi, G.; Dell’Olmo, P.; Gentili, M. 9th DIMACS Implementation Challenge—Shortest Paths. Available online: http://users.diag.uniroma1.it/challenge9/data/rome/rome99.gr (accessed on 9 April 2020).
  51. Al Zoobi, A.; Coudert, D.; Nisse, N. Space and Time Trade-Off for the k Shortest Simple Paths Problem. Leibniz Int. Proc. Inform. LIPIcs 2020, 160, 13. [Google Scholar] [CrossRef]
  52. Spearman, C. The Proof and Measurement of Association between Two Things. Am. J. Psychol. 1904, 15, 72. [Google Scholar] [CrossRef]
  53. Kendall, M.G. The Treatment of Ties in Ranking Problems. Biometrika 1945, 33, 239–251. [Google Scholar] [CrossRef] [PubMed]
Figure 1. A graphical representation of the proposed two-level organization for the temporary node labels.
Figure 1. A graphical representation of the proposed two-level organization for the temporary node labels.
Algorithms 17 00325 g001
Figure 2. Computational performance of the heuristic with different data structure combinations. (a) Anaheim network. (b) Barcelona network. (c) Rome network. (d) Hessen network. (e) Austin network.
Figure 2. Computational performance of the heuristic with different data structure combinations. (a) Anaheim network. (b) Barcelona network. (c) Rome network. (d) Hessen network. (e) Austin network.
Algorithms 17 00325 g002
Figure 3. The computational time of KSSP algorithms from a single origin to multiple destinations. (a) Anaheim network. (b) Barcelona network. (c) Rome network. Note: Y and NC algorithms exceeded the running time threshold from k = 500 and k = 1500, respectively. (d) Hessen network. Note: Y, NC, and SB algorithms exceeded the running time threshold from k = 100, k = 1000, and k = 100, respectively. (e) Austin network. Note: Y, NC, and SB algorithms exceeded the running time threshold from k = 100, k = 500, and k = 1000, respectively.
Figure 3. The computational time of KSSP algorithms from a single origin to multiple destinations. (a) Anaheim network. (b) Barcelona network. (c) Rome network. Note: Y and NC algorithms exceeded the running time threshold from k = 500 and k = 1500, respectively. (d) Hessen network. Note: Y, NC, and SB algorithms exceeded the running time threshold from k = 100, k = 1000, and k = 100, respectively. (e) Austin network. Note: Y, NC, and SB algorithms exceeded the running time threshold from k = 100, k = 500, and k = 1000, respectively.
Algorithms 17 00325 g003aAlgorithms 17 00325 g003b
Figure 4. Solution quality of the KSSP_LL_Heap heuristic from a single origin to multiple destinations.
Figure 4. Solution quality of the KSSP_LL_Heap heuristic from a single origin to multiple destinations.
Algorithms 17 00325 g004
Figure 5. The tradeoff between the computational time and solution quality of KSSP_LL_Heap. (a) Anaheim network. (b) Barcelona network. (c) Rome network. (d) Hessen network. (e) Austin network.
Figure 5. The tradeoff between the computational time and solution quality of KSSP_LL_Heap. (a) Anaheim network. (b) Barcelona network. (c) Rome network. (d) Hessen network. (e) Austin network.
Algorithms 17 00325 g005
Figure 6. Sensitivity of k-Gravity to k on the Eastern Massachusetts network.
Figure 6. Sensitivity of k-Gravity to k on the Eastern Massachusetts network.
Algorithms 17 00325 g006
Figure 7. Distribution of the difference in edge ranking for different values of k compared against k = 50,000.
Figure 7. Distribution of the difference in edge ranking for different values of k compared against k = 50,000.
Algorithms 17 00325 g007
Table 1. Termination conditions of the label-setting algorithm for the multi-destination KSSP problems.
Table 1. Termination conditions of the label-setting algorithm for the multi-destination KSSP problems.
Problem VariantTermination ConditionRemark
KSSP-OA T is or p i k   i N   \   s No more temporary labels to process or at least k permanent labels to every destination are found
KSSP-OM T is or p i k   i D No more temporary labels to process or at least k permanent labels to each destination i in D are found
CCSSP-OA T is or d u , 3 p u > α No more temporary labels to process or the cost of the permanent label in the latest iteration to some node u exceeds α
Table 2. Comparison of the worst-case time complexities for the multi-destination KSSP problem under different network structures.
Table 2. Comparison of the worst-case time complexities for the multi-destination KSSP problem under different network structures.
Network DensityLabel-Setting AlgorithmCurrent State-of-the-Art Algorithm
k = α k k = O ( n 2 )
Dense, m = O n 2 O n 4 O ( n 5 ) O n 5
Sparse, m = O n O n 3 O ( n 4 ) O n 4 log n
Note: α is some constant value, and k is assumed to be O n . Yen’s is the state-of-the-art algorithm for dense networks, whereas Gotthilf and Lewenstein’s has the best reported complexity on sparse networks with positive costs.
Table 3. Computational performance of the proposed solutions with the temporary labels stored in a sorted list.
Table 3. Computational performance of the proposed solutions with the temporary labels stored in a sorted list.
NetworkAverage Running Time for Algorithm 1 (s)Average Running Time for the Heuristic (Algorithm 3) (s)
k = 100k = 500k = 1000k = 1500k = 2000k = 100k = 500k = 1000k = 1500k = 2000
Anaheim4.32 × 102 *8.90 × 102 *1.13 × 103 *1.30 × 103 *1.38 × 103 *3.75 × 10−18.883.38 × 1017.46 × 1011.31 × 102
Barcelona9.86 × 102 *1.28 × 103 *1.44 × 103 *1.57 × 103 *1.60 × 103 *2.275.56 × 1012.17 × 1025.42 × 1029.91 × 102 *
Rome1.52 × 103 *1.66 × 103 *1.70 × 103 *1.74 × 103 *1.74 × 103 *1.19 × 1012.70 × 1021.08 × 103 *1.46 × 103 *1.63 × 103 *
Hessen1.57 × 103 *1.62 × 103 *1.64 × 103 *1.66 × 103 *1.68 × 103 *5.791.34 × 1025.25 × 1021.19 × 103 *1.51 × 103 *
Austin1.47 × 103 *1.58 × 103 *1.64 × 103 *1.67 × 103 *1.70 × 103 *3.37 × 1016.59 × 102 *1.13 × 103 *1.35 × 103 *1.47 × 103 *
* A lower bound for the average running time as some instances exceeding the running time threshold were terminated.
Table 4. Computational performance for obtaining the edge gravity metric.
Table 4. Computational performance for obtaining the edge gravity metric.
Network n m k Total Paths FoundMaximum Path LengthCPU Time Reported by Helander and McAllister (s)CPU Time for Y
(s)
CPU Time for KSSP_LL_Heap (s)
Granovetter ’73 example A104241614,79693.17 × 10−21.33 × 10−12.39 × 10−2
Granovetter ’73 example B258217,4802,130,51024124.3194.676.51
Sioux Falls247647871,717,46423🗴56.554.87
Eastern Massachusetts742585000 *5,316,35418🗴1417.0810.15
Eastern Massachusetts7425810,000 *10,633,36820🗴3912.5221.53
* Paths enumerated for the k-Gravity computation. 🗴 These networks were not used by [14].
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Udhayasekar, S.V.; Srinivasan, K.K.; Kumar, P.; Chilukuri, B.R. Label-Setting Algorithm for Multi-Destination K Simple Shortest Paths Problem and Application. Algorithms 2024, 17, 325. https://doi.org/10.3390/a17080325

AMA Style

Udhayasekar SV, Srinivasan KK, Kumar P, Chilukuri BR. Label-Setting Algorithm for Multi-Destination K Simple Shortest Paths Problem and Application. Algorithms. 2024; 17(8):325. https://doi.org/10.3390/a17080325

Chicago/Turabian Style

Udhayasekar, Sethu Vinayagam, Karthik K. Srinivasan, Pramesh Kumar, and Bhargava Rama Chilukuri. 2024. "Label-Setting Algorithm for Multi-Destination K Simple Shortest Paths Problem and Application" Algorithms 17, no. 8: 325. https://doi.org/10.3390/a17080325

APA Style

Udhayasekar, S. V., Srinivasan, K. K., Kumar, P., & Chilukuri, B. R. (2024). Label-Setting Algorithm for Multi-Destination K Simple Shortest Paths Problem and Application. Algorithms, 17(8), 325. https://doi.org/10.3390/a17080325

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop