Next Article in Journal
Some Higher-Degree Lacunary Fractional Splines in the Approximation of Fractional Differential Equations
Previous Article in Journal
Lorentz Symmetry Group, Retardation and Energy Transformations in a Relativistic Engine
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Efficient Shortest Path Algorithm: Multi-Destinations in an Indoor Environment

1
Faculty of Information Science and Technology, Multimedia University, Melaka 75450, Malaysia
2
Faculty of Engineering and Technology, Multimedia University, Melaka 75450, Malaysia
3
Faculty of Engineering, Multimedia University, Cyberjaya 63100, Malaysia
*
Authors to whom correspondence should be addressed.
Symmetry 2021, 13(3), 421; https://doi.org/10.3390/sym13030421
Submission received: 28 December 2020 / Revised: 23 January 2021 / Accepted: 31 January 2021 / Published: 5 March 2021
(This article belongs to the Section Computer)

Abstract

:
The shortest path-searching with the minimal weight for multiple destinations is a crucial need in an indoor applications, especially in supermarkets, warehouses, libraries, etc. However, when it is used for multiple item searches, its weight becomes higher as it searches only the shortest path between the single sources to each destination item separately. If the conventional Dijkstra algorithm is modified to multi-destination mode then the weight is decreased, but the output path is not considered as the real shortest path among multiple destinations items. Our proposed algorithm is more efficient for finding the shortest path among multiple destination items with minimum weight, compared to the single source single destination and modified multi-destinations of Dijkstra’s algorithm. In this research, our proposed method has been validated by real-world data as well as by simulated random solutions. Our advancement is more applicable in indoor environment applications based on multiple items or destinations searching.

1. Introduction

In computer science, finding the shortest path in the complex indoor environment is a fundamental issue [1]. The solution to this issue is to use a bi-directional graph or road network to find the path with the minimal summation of edge weights among all reachable paths from start to end nodes [2]. The bi-directional graph considered in this paper is either directed or undirected, finite, simple, as well as connected [3]. The definition of a single pair shortest path is a path that contains only one destination. In conventional problems, the distances among the nodes are ascertained. The goal of the conventional single-source SPP is to get the minimal cost path from the source node to the destination node. However, the fuzzy number technique can be utilized instead in precarious environments [4]. The problem arises when the graph contains more than one destination node [5]. The set of destination nodes is a subset of all network nodes and it becomes a multi-destination shortest path problem [6], which has many real-life applications, such as finding the shortest path among multi-destination items in supermarkets, warehouses, libraries, road networks [7], robotics industries [8], service compositions [9,10], and multicast routes [11]. The different techniques found in the literature are calculating either a multi-destination or single-pair shortest path to solve these issues [12]. A* is an ordinary BFS algorithm that depends on a heuristic function to demonstrate the search towards finding the shortest path from a source node to a destination node in a grid [13]. As of now, Dijkstra’s is a renowned path searching algorithm that is mainly used for searching the shortest path from a single source to a single destination introduced by Edsger W. Dijkstra in 1956. A typical single-source single-destination, Dijkstra’s algorithm, is used for single-pair shortest path problems [14]. It keeps up a set S of unraveled nodes, consisting of those hubs or nodes whose ultimate shortest path between the starting node verses has ascertained as well as labels t(i), conserving the upward bound of the smallest pathway distance among vs and vi [15]. The node vmV/S with the minimal t(i) is continually chosen by the algorithm, adding vm to S, as well as updating t(i) as the node vm [16]:
In the first step. Set t(vs) = 0 and t(vj) = wsj.
For other nodes S = {vs}, L = V/S
In the second step.
Chose a hub vm from L, t(vm) = m i n v j L t ( v j ) ,
if t(vm) = 1, then stop, else move to third step.
In the third step set.
S = S U{vm}, L = L\{vm}
if L = ø, then stop, else move to forth step.
In the fourth step.
For each vjL, update
t(vj) = min{t(vj),t(vm) + wmj
Move to first step.
In the above steps, V = {v1, v1, …, vn} is the set of nodes, S is the set of the source nodes, L is a list, and W = wij is the weight matrix. The above steps demonstrate the shortest path calculation following the steps of Dijkstra’s algorithm and the final output is expressed in Equation (1).
The Modified Dijkstra’s Multi-Source Multi-Destination (MDMSMD) algorithm is applied for the multi-destination shortest path problem [17]. For the single-source multi-destination problem, the conventional Dijkstra’s single-source single-destination (CDSSSD) algorithm can be used. Although, in this network, the starting point is one node and destinations are a set of multiple nodes as a source node (s) and multiple destination nodes (w, x, y, z) as shown in Figure 1. As a result, it is necessary to calculate the shortest path between s to w, s to x, s to y, and s to z.
From the sample road network Figure 1, the steps of CDSSSD in Figure 2 is displayed. Figure 2a is the first step that calculates the shortest path between s and w from all accessible paths. Figure 2b is the second step that calculates the shortest path between s and x. Figure 2c shows the third step that calculates the shortest path between s and y, Figure 2d also shows the shortest path between x and z. In Figure 2e, all the calculated shortest paths among s and the destination nodes w, x, y, and z [18]. Here, the possible number of shortest paths is four. However, the number of paths can be converted to a single path from a source to the last destination node of a set of destination nodes by applying the MDMSMD. For example, a source node is s and the destination nodes are w, x, y, and z as per Figure 1. Hence, the shortest paths are between s and w, s and x, s and y, and s and z. The path of MDMSMD is s → w → x → y → z and has been expressed in Figure 3. In Figure 3a–e are respectively shown the shortest path between s → w is 10, w → x is 9, x → y is 11, y → z is 8 and s → w → x → y → z is 38. The minimum summation of edge weights of MDMSMD is less than CDSSSD. The MDMSMD solved the multi-destination path problem, with some limitations [19]. The MDMSMD calculates the shortest path from each source to each destination node, the previous destination node is the next source node, and calculates the shortest path from the next source to the next destination node until the last destination node. This algorithm can only calculate the shortest path between one pair at a time [20], it cannot calculate the shortest path between a source node and a set of destination nodes at the same time.
The objective of this research is to develop an efficient algorithm for searching the smallest path between a given source and the multi-destination nodes. The name of this proposed algorithm is the efficient algorithm for multi-destination shortest path problem (EAMDSP)—it accentuates the searching area and enhances the algorithm performance. The new concept is based on considering the outcome of the edge weights of the input graph on searching speed to acquire the goal. Using this concept, the EAMDSP finds the nearest destination node among the multiple destination nodes from the source node. After getting the first nearest destination node, it becomes the next source node and again calculates the next nearest destination node among the remaining multiple destination nodes until the last or rest destination node. Finally, the shortest path between a source node and the last destination node that decreases the summation of weights is achieved, which enhances the speed of searching for the desired shortest path. The proposed algorithm acquires the benefits of simplicity as well as the effectiveness of the computations. The outcomes of this algorithm using a real dataset and the simulated random solution will show that the proposed algorithm is better than the existing algorithm.
In this article, the following aims are discussed: Section 2, for the multi-destination shortest path problem, the existing method and solution have been reviewed as well as discussed. We propose an algorithm for searching the multi-destination shortest path in indoor environments in Section 3. In Section 4, the performance of the proposed algorithm is compared to the existing method and the conclusion is in Section 5.

2. Related Work

Nowadays, many researchers are working on graphical solutions and pathfinding to resolve crucial application issues [21,22,23,24,25,26,27]. Dijkstra’s algorithm is used for finding the solution to the shortest path problem in multi-destination nodes [28]. The Fibonacci heap [29,30] has been utilized in the multi-destination Dijkstra’s algorithm and is considered an innovative improvement. Searching the shortest paths by the node combination method is introduced by Lu et al. [31] by continually integrating with the source node’s contiguous neighbors. However, multi-destination Dijkstra’s algorithm is faster than their method. A quicker strategy with a small number of positive integer weights is introduced by Orlin et al. [32]. Thorup [33,34] invents an effective algorithm to solve the limitation of the Orlin et al. method which is an integral edge weight in every direction, as well as an undirected graph. In reality, no method has been utilized as an input of both undirected and directed graphs [35]. The breadth-first search, as well as the Bellman-Ford algorithm, are proposed respectively in the literature, while the graph contains all equal edge positive/negative weights. Searching the shortest path via a topological sequence [16] in linear time is feasible for a directed graph. An algorithm is introduced by Xu et al. [36] to effectively give a solution to the issue, particularly for infrequent networks.
In an article by [37], calculating the path as a usual job, so for every application [38,39] accelerate procedures perform based on the kind of data. A multi-destination feature of Dijkstra’s algorithm is becoming compatible with recent applications [40,41]. By utilizing an amended version of multiple destinations, Dijkstra’s algorithm is able to solve the bi-objective multi-destination shortest path problem in the pathway network which is introduced by Ticha et al. [7]. Their searching technique at each repetition of a process is to choose some parts of the path for a non-dominated path to arrive at one of the destination nodes. In the field of time schedule networks, Jin et al. [42] modified the multi-destination method for searching for the shortest path. First, they developed a path calculation method, then added it to the modified algorithm. Mainly, the shortest path calculation depends on the network constraints on its edges. By considering both node weights and edge weights, the multi-destination Dijkstra’s method enhancement is proposed by Ananta et al. [43]. For the software-defined networks, this method transmits data packets to all destination nodes. The limitations of multi-destination Dijkstra’s algorithm have been discussed in Section 1. This section also discussed the related algorithms, but they have some limitations such as one is designed only for a directed graph or only works on positive edge weight and another contains both positive and negative edge weight. The proposed algorithm has been designed for removing their short-comings and can perform on a bi-directional graph or road network, as well as finding the shortest path from the starting node to the multiple destination nodes, as is required in indoor environments.

3. Algorithms

Algorithm 1 (CDSSSD) and Algorithm 2 (MDMSMD) are used as reference algorithms to compare the performance of our proposed Algorithm 3. The steps of CDSSSD, MDMSMD, and EAMDSP are provided in this section to demonstrate a clear overview.

3.1. Algorithm: CDSSSD

Algorithm 1 Input: Graph: G (V, E, W), source node: S, set of multiple destination nodes: T
Output: Paths from source to destination nodes
  • Declare: L
  •   For (i = 0; I < T.Length; i++)
  •     Declare: nodes_path
  •     n: = G.GetLength(0);
  •     distance: = new int[n];
  •     For (int k = 0; k < n; i++)
  •      distance[i]: = int.MaxValue;
  •     End For
  •     distance[S]: = 0;
  •     used: = new bool[n];
  •     Previous: = new int?[n];
  •     While (true)
  •      minDistance: = int.MaxValue;
  •      minNode: = 0;
  •      For (int m = 0; m < n; m++)
  •       If (!used[m] && minDistance > distance[m])
  •        minDistance: = distance[m];
  •        minNode: = m;
  •       End If
  •      End For
  •      If (minDistance == int.MaxValue)
  •       break;
  •      End If
  •      used[minNode]: = true;
  •      For (int l = 0; l < n; l++)
  •       If (G[minNode, l] > 0)
  •        shortestToMinNode: = distance[minNode];
  •        distanceToNextNode: = G[minNode, l];
  •        totalDistance: = shortestToMinNode + distanceToNextNode;
  •        If (totalDistance < distance[l])
  •         distance[l]: = totalDistance;
  •         previous[l]: = minNode;
  •        End If
  •       End If
  •      End For
  •     End While
  •     If (distance[T[i]] :== int.MaxValue)
  •      return null;
  •     End If
  •     currentNode: = T[i];
  •     While (currentNode ! = null)
  •      Add nodes_path->col: = currentNode.Value;
  •      currentNode: = previous[currentNode.Value];
  •     End While
  •     col1: = S;
  •     For(j = 0;j < nodes_path.Length;j++)
  •      Add L->col: = nodes_path[j]
  •      col1: = nodes_path[j];
  •     End For
  •   End For
  •  Return L;

3.2. Algorithm: MDMSMD

Algorithm 2 Input: Graph: G (V, E, W), source node: S, set of multiple destination nodes: T
Output: A path from source to destination nodes and shortest path among destination nodes
  • Declare: L
  •   For (i = 0;I < T.Length;i++)
  •     Declare: nodes_path
  •     n: = G.GetLength(0);
  •     distance: = new int[n];
  •     For (int k = 0; k < n; i++)
  •       distance[i]: = int.MaxValue;
  •     End For
  •     distance[S]: = 0;
  •     used: = new bool[n];
  •     Previous: = new int?[n];
  •     While (true)
  •       minDistance: = int.MaxValue;
  •       minNode: = 0;
  •       For (int m = 0; m < n; m++)
  •         If (!used[m] && minDistance > distance[m])
  •          minDistance: = distance[m];
  •          minNode: = m;
  •         End If
  •       End For
  •       If (minDistance == int.MaxValue)
  •         break;
  •       End If
  •       used[minNode]: = true;
  •       For (int l = 0; l < n; l++)
  •        If (G[minNode, l] > 0)
  •          shortestToMinNode: = distance[minNode];
  •          distanceToNextNode: = G[minNode, l];
  •          totalDistance: = shortestToMinNode + distanceToNextNode;
  •          If (totalDistance < distance[l])
  •           distance[l]: = totalDistance;
  •           previous[l]: = minNode;
  •          End If
  •         End If
  •       End For
  •     End While
  •     If (distance[T[i]] :== int.MaxValue)
  •       return null;
  •     End If
  •     currentNode: = T[i];
  •     While (currentNode ! = null)
  •       Add nodes_path->col: = currentNode.Value;
  •       currentNode: = previous[currentNode.Value];
  •     End While
  •     col1: = S;
  •     For(j = 0;j < nodes_path.Length;j++)
  •       Add L->col: = nodes_path[j]
  •       col1: = nodes_path[j];
  •     End For
  •     S: = T[i];
  •   End For
  •   Return L;

3.3. The Proposed EAMDSP

In algorithm 3, we consider that G = (V, E, W) is a graph containing N nodes (vertices), a set of edges, and a set of weights. The vertex set V has n = |V| collection of nodes, E contains m = |E| and is the collection of edges, as well as W, the collection of weights.
Let WeW be the weight of edge e = (u, v) ∈ E as uv for some u, vV.
The objective is to find a collection of shortest paths among vertices s ∈ V as an assigned origin node to the collection of multi-destination nodes di ∈ D ⊆ V, iI = {1, 2,..., |D|}. For instance, w p a t h ( s ,   d i ) = j | p a t h ( s ,   d i ) | w e j where the path(s, di) is the weight of path and pdi (iI) is the shortest path containing the minimal weight of w p a t h ( s ,   d i ) among all accessible paths from s to di. Here, if there is no path from s to di then δpdi = ∞ else δpdi = δpath(s,di) = min{wpath(s,di)}. Figure 1 explains the details of this scenario.
The proposed algorithm, EAMDSP, provides the shortest path from source node sV to all destination nodes or multi-destination nodes diTV, iI in the graph G = (V, E, W).
Firstly, find the nearest destination node from the set of destination nodes by calculating the shortest path among all possible paths using Dijkstra’s single source-single destination algorithm.
Secondly, the nearest destination node from the source node is identified by minimum visited nodes and a minimum sum of weights between the source and each destination node.
Thirdly, after getting the first nearest destination node, it is considered as the next source node and starts the calculation of the nearest destination node from the rest of the destination nodes. This procedure is repeated until the last rest destination node. Getting the visited nodes from the source to the first nearest node combines the visited nodes, and goes for the next sources and continues until the last shortest path. The minimum sum of weights also adds as the above-visited nodes. Finally, the path that is found from the source to the last destination is the shortest path between the source to multi-destination nodes with minimum visited nodes and the minimal sum of weights.
For instance, in Figure 1, the source node is s and destination nodes are sequentially w, x, y, and z. In Figure 4, the steps of EAMDSP have been demonstrated in Figure 1, with a sample bi-directional road network with weights and nodes. In step (a) of Figure 4, the sum of weights calculated from s to w is 10, s to x is 9, s to y is 15, and s to z is 12, and are found after calculating the shortest path among possible accessible paths.
First, each shortest path is s → x then x becomes the source node in the next step (b) of Figure 4. Similarly, the rest (w, y, z) are destination nodes, and again calculation on the sum of the weights from x to w is 9, x to y is 11, and x to z is 7. Secondly, the shortest path is x → z and combined with the minimum visited nodes between x → z. Furthermore, the previous minimum visited nodes between s > x are combined with the minimum sum of weights from s → x to x → z.
Now in step (c) of Figure 4, z is the source and w and y are destination nodes. Again, the calculation is done on the shortest path between z → y and z → w. The minimum sum of weights between z → y is eight and z → w is nine. the shortest path is z → y and combined with the minimum visited nodes between z > y. The previous minimum visited nodes between z > y are combined with the minimum sum of weights from s > x > z to z > y.
In step (d) of Figure 4, calculate the shortest path between y to w and get the sum of the weight values. Finally, the shortest path is s → x → z → y → w, and the total sum of weights is 33.
The MDMSMD working has been discussed in Section 1. The EAMDSP calculates the nearest destination node from the set of destination nodes that is the main difference from the MDMSMD. In the above example, the MDMSMD path will be s → w → x-y-z and the total sum of weight is 38. The CDSSSD total sum of weights is 46 from the above example. The number of total visited nodes and the sum of minimum weights of EAMDSP is less than the MDMSMD and the CDSSSD. As a result, EAMDSP is more efficient than MDMSMD and CDSSSD.
Algorithm 3. Raised algorithm: EAMDSP
 Input: Graph: G (V, E, W), source node: S, set of multiple destination nodes: T
 Output: A path from source to destination nodes and shortest path among destination nodes
  • Declare: L1, L2, L3
  •  While(T.Length>0)
  •   For ( I = 0;I < T.Length;i++)
  •     nodes_path: = singleSourceSingleDestinationAlgorithm(G,S,T[i])
  •     For(j = 0;j < nodes_path.Length;j++)
  •       length_path: = length_path + G[nodes_path [j], nodes_path[j + 1]]
  •       Add L2->col1: = nodes_path[j], L2->col2: = T[i]
  •     End For
  •     Add L1->col1: = T[i], L1->col2: = length_path
  •   End For
  •   L1 sorting according to length_path
  •   e_Dest_Node: = L1->col1
  •   For (m = 0; m < L2.Length; m++)
  •    IF L2[m]->col2== e_Dest_Node
  •     Add L3->col: = L2[m]->col1
  •    End IF
  •   End For
  •   S: = e_Dest_Node
  •   Remove the e_Dest_Node value from T
  •   L1: = new initialize
  •   L2: = new initialize
  •   End While
  •   Return L3;
In the above algorithm, the variables L1 and L2 are declared as a two-dimensional array and L3 is a one-dimensional array for data storage. The first “while” loop runs until the last destination nodes come. The first “for” loop runs until the number of destination nodes are exhausted. The single-source single-destination algorithm is called to find the shortest path for visiting nodes among the source nodes to each destination node. The second “for” loop runs until the total number of shortest paths finding is completed for visiting nodes. Then the total path length or weight is calculated among the shortest path of visited nodes. Store each visited node into col1 of L2 and each destination node into col2 of L2. After that, store each destination node into col1 of L1 and path length or weight from a source to each destination node into col2 of L1. Sorting L1 according to path length or weight (smallest to biggest). Top each destination node from L1 → col1 first index (the smallest distance). Another new “for” loop is started for looping until L2 length or several destination nodes are covered. IF condition L2 [m]—>col2 == e_Dest_Node, then store the visiting nodes from a source to a destination in L3. S: = e_Dest_Node, replace current destination node value to source node value like the previous destination node is the next source node. Remove each destination node value from D. Then, L1: = new initialize or empty and L2: = new initialize or empty. Finally return L3, where L3 contains the source to all destination visiting nodes with the shortest path.
In Figure 5, p h u is the shortest path and p h u is an alternative path s → u via hubs i and j. S is a set (shady zone) of all hubs whose ultimate smallest pathway from the source s has been ascertained.
Theorem 1.
(Exactness) The ultimate smallest path among destination nodes di ∈ D is constantly provided by EAMDSP, for example, di.t = δpath (s, sdi), i ∈ I. The penultimate set Ti contains several nodes, which are linked to the destination node di.
Proof. 
For each uV and tT assuming the algorithm found the label u.t, as well as the smallest path’s weight, is δpath(s,u) for su. It aims to prove u.t = δpath(s,u) where each vertex u returned at the end of the EAMDSP. □
Initial case, s.t = δpath(s,s) = 0, when S = {s} for every vS which considers v.t shows the real smallest path’s weight among s and v,
v.t = δpath(s,v)
In this algorithm, −1 is used for u as a subsequent vertex to set S via path p h u , therefore, u.t = δ p h u . It will prove this path to be the minimum distance,
u.t = δpath(s,u)
Assume the minimum distance s → u is the alternate path p h u instead of the path p h u . The cost of the path p h u is more than the cost of the path p h u
p h u   >   p h u   =   u . t
Equation (4) is explained in Figure 2, the path p h u , begins in S as well as at a few points omits S to arrive at the node u that is as of now not in S. Assume (m, n) is the 1st edge toward p h u that departs from S. Evidently, w p a t h ( s , m ) + w p a t h ( m , n ) < δ p h u . While m ∈ S, m.t is the cost of the minimum distance sm path by the inductive hypothesis, m.t = δ p a t h ( s , m ) w p a t h ( s , m ) , which implies m.t + w ( m , n ) δ p h u . The algorithm must update n.t while n is adjacent to m, which means n.t ≤ m.t + w ( m , n ) . The u must have the shortest value due to the algorithm picked u, in other words, u.t ≤ n.t. To sum up these disparities, we present the outcomes in Section 4.

4. Results and Discussion

In this section, the detailed simulation results of EAMDSP, CDSSSD, and MDMSMD will be presented. To evaluate the proposed EAMDSP simulation performance CDSSSD and MDMSMD simulation results on the same layout were used. The performance was evaluated concerning the number of nodes visited and the weight or cost. Two different scenarios, one was the car spare parts shop and another was the supermarket used for getting the comprehensive results. In the car spare parts shop scenario, the simulations were run in six unique phases as in four, six, eight, ten, twelve, and fifteen items searching layout. Three shortest path algorithms named CDSSSD, MDMSMD, and EAMDSP were used on both scenarios in different phases for getting a different result. The results comparisons are showed in the layout simulation, the summary table, and the graph.
Figure 6 shows the layout of a spare parts shop containing shelves (nodes) and road networks. The road network also consists of nodes. Every node has a unique number with longitude and latitude. The road network’s one node is connected to the neighbor node with edge and weight value. The product/item is placed on the shelve node. The shelf node is connected to the road network’s node with an edge and the edge has a weight value. When searching for a product, the product’s shelf node number is considered to be the destination node. The shortest path was calculated between the source point (starting point) and the destination node, using the minimum the total nodes visited and their minimum weight or cost.
Table 1 represents the input which is the randomly selected four items. These input items were used for the same simulation layout of three algorithms such as CDSSSD, MDMSMD, and proposed EAMDSP.
Figure 7a–c are car spare parts shop simulation result of EAMDSP, CDSSSD and MDMSMD respectively, which show the shortest path among four items. Table 2 shows the output summary data for the four-item search. EAMDSP for the shortest path between the above four items visited 93 nodes and had a total weight of 95. However, using CDSSSD and MDMSMD for the same items, the visited nodes were 124 and 120 and the total cost was 136 and 125, respectively. Therefore, the proposed EAMDSP is efficient for visited nodes and total weight. Finally, total visited nodes or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD. The detailed data for the four items are shown in Appendix A.
Table 3 represents the input value, which is six items randomly selected. These input items were used on the same simulation layout as the three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 8a–c are car spare parts shop simulation result of EAMDSP, CDSSSD and MDMSMD, respectively which show the shortest path among six items. Table 4 shows the output summary data for the six-item search. EAMDSP for the shortest path between the six items visited 129 nodes and the total weight was 131. However, when using CDSSSD and MDMSMD for the same items, the visited nodes were 220 and 175 and the total cost was 242 and 179, respectively. Therefore, EAMDSP is efficient in terms of visited nodes and total weight. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Table 5 represents the input values of the eight items. These input items were used for the same simulation layout using three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 9a–c are car spare parts shop simulation result of respectively EAMDSP, CDSSSD and MDMSMD which show the shortest path among eight items. Table 6 shows the output summary data for the eight items searched. When using EAMDSP for the shortest path between the above eight items, 119 nodes were visited, and the total weight or cost was 121. However, when using CDSSSD and MDMSMD for the same items, the visited nodes were 271 and 227 and the total cost was 297 and 239, respectively. So, EAMDSP is efficient for visited nodes and the total weight or cost. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Table 7 represents the input value of ten items. These input items were used for the same simulation layout of three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 10a–c are car spare parts shop simulation result of EAMDSP, CDSSSD and MDMSMD respectively, which show the shortest path among ten items. Table 8 shows the output summary data for the ten-item search. When using EAMDSP for the shortest path between the above 10 items, 164 nodes were visited and the total weight or cost was 170. However, when using CDSSSD and MDMSMD for the same items, the visited nodes were 377 and 227, and the total cost was 414 and 236, respectively. Therefore, EAMDSP is efficient for visited nodes and total weight or cost. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Table 9 represents the input value of twelve items. These input items were used for the same simulation layout of three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 11a–c are car spare parts shop simulation result of EAMDSP, CDSSSD and MDMSMD respectively, which show the shortest path among twelve items. Table 10 shows the output summary data for the twelve items searched. When using EAMDSP for the shortest path between the above twelve items, 213 nodes were visited and the total weight or cost was 220. However, when using CDSSSD and MDMSMD for the same items, the visited nodes were 378 and 315 and the total cost was 408 and 327, respectively. Therefore, EAMDSP is efficient for visited nodes and total weight or cost. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Table 11 represents the input values of the selected fifteen items. These input items were used for the same simulation layout of three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 12a–c are car spare parts shop simulation result of EAMDSP, CDSSSD and MDMSMD respectively, which show the shortest path among fifteen items. Table 12 shows the output summary data for the fifteen-item search. When using EAMDSP for the shortest path among the above fifteen items, 225 nodes were visited and the total weight or cost was 233. However, when using CDSSSD and MDMSMD for the same items, the visited nodes were 487 and 393 and the total cost was 525 and 409, respectively. Therefore, our proposed shortest path algorithm EAMDSP is efficient for visited nodes and total weight or cost. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Figure 13 shows the cost-wise comparison among EAMDSP, CDSSSD and MDMSMD as per Table 13.
Figure 14 shows the visited-wise comparison among EAMDSP, CDSSSD and MDMSMD as per Table 14.
In Figure 15, we present another scenario similar to a supermarket simulation scenario, the simulations were run in three unique phases as a five, eight, and eleven-item searching layout. Three shortest path algorithms CDSSSD, MDMSMD, and our proposed EAMDSP were used in this scenario’s different phases for getting the different results and comparing results shown in the layout simulation. Summary data is presented in tables and graphs.
Table 15 represents the input value, which was randomly selected for five items. These input items were used for the same simulation layout of three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 16a–c are supermarket simulation result of respectively EAMDSP, CDSSSD and MDMSMD which show the shortest path among five items. Table 16 shows the output summary data for the five-item search. When using EAMDSP for the shortest path between the above the five items, 45 nodes were visited and the total weight was 54. However, when using CDSSSD and MDMSMD for the same items, the visited nodes were 60 and 52 and the total cost was 84 and 69, respectively. Therefore, our proposed shortest path algorithm EAMDSP is efficient for visited nodes and total cost. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Table 17 represents the input values of the selected eight items. These input items were used for the same simulation layout of three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 17a–c are supermarket simulation result of respectively EAMDSP, CDSSSD and MDMSMD which show the shortest path among eight items. Table 18 shows the output summary data for the eight-item search. When using EAMDSP for the shortest path between the above eight items, 58 nodes were visited and the total weight was 67. However, when using CDSSSD and MDMSMD for the same items, visited nodes were 104 and 72 and the total cost was 150 and 95, respectively. Therefore, EAMDSP is efficient for visited nodes and total weight. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Table 19 represents the input values of the selected eleven items. These input items were used for the same simulation layout of three algorithms CDSSSD, MDMSMD, and EAMDSP.
Figure 18a–c are supermarket simulation result of respectively EAMDSP, CDSSSD and MDMSMD which show the shortest path among eleven items. Table 20 shows the output summary data for an eleven-item search. When using EAMDSP for the shortest path between the above eleven items, 78 nodes were visited and the total weight was 88. However, when using CDSSSD and MDMSMD for the same items the visited nodes were 124 and 101 and the total cost was 165 and 132 respectively. Therefore, EAMDSP is efficient for visited nodes and total weight. Finally, total visited nodes, or total cost can be expressed as EAMDSP < MDMSMD < CDSSSD.
Figure 19 shows the cost-wise comparison among EAMDSP, CDSSSD and MDMSMD as per Table 21.
Figure 20 shows the visited-wise comparison among EAMDSP, CDSSSD and MDMSMD as per Table 22.
Finally, based on Figure 13, Figure 14, Figure 19 and Figure 20, and Table 13, Table 14, Table 21 and Table 22 it is reported that the proposed EAMDSP demonstrates the outstanding performance on cost and number of visited nodes compared to CDSSSD and MDMSMD.

5. Conclusions

The proposed EAMDSP algorithm was developed and implemented in indoor applications and found to be more efficient for a multi-destination search. It can be used on any type of road network with multi-destinations for shortest path searching. In this paper, we evaluated the EAMDSP by comparing it with CDSSSD and MDMSMD using two different simulations of several items of searching. For a search with a large number of products, EAMDSP demonstrated an outstanding performance compared to CDSSSD and MDMSMD, based on the total visited nodes and weights. The output of these simulations based on visited nodes and the minimum sum of weights is presented in tables and graphs. This research can be a useful guide for indoor shortest-path researchers. In future work, we might extend the application of EAMDSP from an indoor to an outdoor environment.

Author Contributions

Conceptualization, M.A., F.H. and T.K.G.; methodology, M.A., F.H. and T.K.G.; validation, F.H. and T.K.G.; formal analysis, M.A. and F.H.; writing—original draft preparation, M.A. and F.H.; writing—review and editing, F.H., C.P.T. and S.S.; visualization, M.A.B. and S.A.; supervision, T.K.G. and S.S.; project administration, F.H.; funding acquisition, T.K.G., A.A. and H.-Y.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research is also funded by the “Indoor Internet of Things (IOT) Tracking Algorithm Development based on Radio Signal Characterization” and “Mobile IOT: Location Aware” project bearing grant no. [FRGS/1/2018/TK08/MMU/02/1] and [MMUE/180025].

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

Special thanks to MMU RMC for providing comprehensive financial assistance to this research.

Conflicts of Interest

The authors declare no conflict of interest. The funding sponsors had no role in the design of the study, in the collection, analyses, or interpretation of data, in the writing of the manuscript, or in the decision to publish the results.

Appendix A. Result Detail Data Tables

Table A1. Simulation detail data for car spare parts scenario using EAMDSP for four items search.
Table A1. Simulation detail data for car spare parts scenario using EAMDSP for four items search.
SL No.Visited NodeLongitudeLatitudeSource NodeDestination NodeWeightItem Name
1342102.272572.25284713423840 1st source
2208102.272572.2528593423842
3209102.272572.25285953423841
4210102.272572.25285993423841
5211102.272562.25286033423841
6212102.272562.25286073423841
7213102.272562.25286153423841
8214102.272562.25287573423842
9215102.272562.25287743423841
10232102.272562.25287983423841
11384102.272562.25288013423841Bumper1st destination
12232102.272562.25287983844721
13233102.272562.25288333844721
14234102.272562.25288683844721
15235102.272562.25289033844721
16236102.272562.25289113844721
17253102.272562.25289383844721
18254102.272562.25289713844721
19255102.272562.25290083844721
20256102.272562.25290423844721
21257102.272562.25290513844721
22274102.272562.25290773844721
23275102.272562.25291113844721
24276102.272562.25291483844721
25277102.272572.25291823844721
26278102.272572.25291923844721
27295102.272572.25292173844721
28296102.272572.25292523844721
29297102.272572.25292873844721
30298102.272572.25293233844721
31299102.272572.25293323844721
32300102.272572.25293283844721
33301102.272582.25293263844721
34472102.272582.2529283844721Antenna cable2nd destination
35301102.272582.25293264726831
36302102.272582.25293234726831
37303102.272582.2529324726831
38304102.272592.25293184726831
39305102.272592.25293154726831
40306102.272592.25293144726831
41307102.27262.25293114726831
42308102.27262.25293084726831
43309102.27262.25293064726831
44310102.27262.25293034726831
45311102.272612.25293014726831
46312102.272612.25292984726831
47313102.272612.25292954726831
48314102.272622.25292934726831
49315102.272622.25292914726831
50186102.272622.25292854726831
51185102.272622.2529314726831
52184102.272632.25293484726831
53183102.272632.25293864726831
54182102.272632.25294234726831
55181102.272632.25294354726831
56180102.272632.2529464726831
57179102.272632.25294954726831
58178102.272632.25295344726831
5922102.272632.25295854726831
6023102.272652.25295784726831
6124102.272662.25295694726832
6225102.272662.25295674726831
6326102.272672.25295674726831
6427102.272672.25295644726831
6528102.272672.25295634726831
6629102.272682.25295624726831
6730102.272682.25295594726831
6831102.272682.25295584726831
6932102.272692.25295574726831
7033102.272692.25295544726831
71683102.272692.25295014726831Bucket seat3rd destination
7233102.272692.25295546837131
7332102.272692.25295576837131
7431102.272682.25295586837131
7530102.272682.25295596837131
7629102.272682.25295626837131
7728102.272672.25295636837131
7827102.272672.25295646837131
7926102.272672.25295676837131
8025102.272662.25295676837131
8124102.272662.25295696837131
82164102.272662.25295156837131
83163102.272662.25294776837131
84162102.272662.2529446837131
85145102.272662.25294146837131
86146102.272662.25294116837131
87147102.272672.25294096837131
88148102.272672.25294076837131
89149102.272672.25294056837131
90150102.272672.25294046837131
91151102.272682.25294026837131
92152102.272682.252946837131
93713102.272682.25293516837131Adjusting mechanism (adjuster star wheel)4th destination
Total visited nodes = 93, total cost = 95.
Table A2. Simulation detail data for car spare parts Scenario using CDSSSD for four items search.
Table A2. Simulation detail data for car spare parts Scenario using CDSSSD for four items search.
SL No.Visited NodeLongitudeLatitudeSource NodeDestination NodeWeightItem Name
1342102.272572.25284713424720
2208102.272572.2528593424722
3209102.272572.25285953424721
4210102.272572.25285993424721
5211102.272562.25286033424721
6212102.272562.25286073424721
7213102.272562.25286153424721
8214102.272562.25287573424722
9215102.272562.25287743424721
10232102.272562.25287983424721
11233102.272562.25288333424721
12234102.272562.25288683424721
13235102.272562.25289033424721
14236102.272562.25289113424721
15253102.272562.25289383424721
16254102.272562.25289713424721
17255102.272562.25290083424721
18256102.272562.25290423424721
19257102.272562.25290513424721
20274102.272562.25290773424721
21275102.272562.25291113424721
22276102.272562.25291483424721
23277102.272572.25291823424721
24278102.272572.25291923424721
25295102.272572.25292173424721
26296102.272572.25292523424721
27297102.272572.25292873424721
28298102.272572.25293233424721
29299102.272572.25293323424721
30300102.272572.25293283424721
31301102.272582.25293263424721
32472102.272582.2529283424721Antenna cable
33342102.272572.25284713423840
34208102.272572.2528593423842
35209102.272572.25285953423841
36210102.272572.25285993423841
37211102.272562.25286033423841
38212102.272562.25286073423841
39213102.272562.25286153423841
40214102.272562.25287573423842
41215102.272562.25287743423841
42232102.272562.25287983423841
43384102.272562.25288013423841Bumper
44342102.272572.25284713427130
45208102.272572.2528593427132
46207102.272582.25285883427131
47206102.272582.25285833427131
48205102.272582.2528583427131
49204102.272592.25285753427131
50203102.272592.25285723427131
51202102.272592.25285673427131
52201102.272592.25285653427131
53200102.27262.2528563427131
54199102.27262.25285553427131
55198102.27262.25285533427131
56197102.272612.25285483427131
57196102.272612.25285433427131
58195102.272612.25287063427132
59194102.272622.25288473427132
60193102.272622.25289963427132
61192102.272622.25290863427131
62166102.272642.25290713427132
63165102.272652.25290573427132
64119102.272652.25291113427131
65120102.272652.25291383427131
66121102.272652.25291783427131
67122102.272652.25292163427131
68123102.272662.25292513427131
69124102.272662.25292653427131
70141102.272662.25292893427131
71142102.272662.25293253427131
72143102.272662.25293673427131
73144102.272662.252943427131
74145102.272662.25294143427131
75146102.272662.25294113427131
76147102.272672.25294093427131
77148102.272672.25294073427131
78149102.272672.25294053427131
79150102.272672.25294043427131
80151102.272682.25294023427131
81152102.272682.252943427131
82713102.272682.25293513427131Adjusting mechanism (adjuster star wheel)
83342102.272572.25284713426830
84208102.272572.2528593426832
85207102.272582.25285883426831
86206102.272582.25285833426831
87205102.272582.2528583426831
88204102.272592.25285753426831
89203102.272592.25285723426831
90202102.272592.25285673426831
91201102.272592.25285653426831
92200102.27262.2528563426831
93199102.27262.25285553426831
94198102.27262.25285533426831
95197102.272612.25285483426831
96196102.272612.25285433426831
97195102.272612.25287063426832
98194102.272622.25288473426832
99193102.272622.25289963426832
100192102.272622.25290863426831
101166102.272642.25290713426832
102167102.272642.25291533426831
103168102.272642.2529193426831
104169102.272642.25292263426831
105170102.272642.25292643426831
106171102.272642.25292983426831
107172102.272642.25293383426831
108173102.272642.25293763426831
109174102.272642.25294133426831
110175102.272642.25294513426831
111176102.272642.25294863426831
112177102.272642.25295243426831
11323102.272652.25295783426831
11424102.272662.25295693426832
11525102.272662.25295673426831
11626102.272672.25295673426831
11727102.272672.25295643426831
11828102.272672.25295633426831
11929102.272682.25295623426831
12030102.272682.25295593426831
12131102.272682.25295583426831
12232102.272692.25295573426831
12333102.272692.25295543426831
124683102.272692.25295013426831Bucket seat
Total visited nodes = 124, total cost = 136.
Table A3. Simulation detail data for car spare parts scenario using MDMSMD for four items search.
Table A3. Simulation detail data for car spare parts scenario using MDMSMD for four items search.
SL No.Visited NodeLongitudeLatitudeSource NodeDestination NodeWeightItem Name
1342102.272572.25284713424720 1st source
2208102.272572.2528593424722
3209102.272572.25285953424721
4210102.272572.25285993424721
5211102.272562.25286033424721
6212102.272562.25286073424721
7213102.272562.25286153424721
8214102.272562.25287573424722
9215102.272562.25287743424721
10232102.272562.25287983424721
11233102.272562.25288333424721
12234102.272562.25288683424721
13235102.272562.25289033424721
14236102.272562.25289113424721
15253102.272562.25289383424721
16254102.272562.25289713424721
17255102.272562.25290083424721
18256102.272562.25290423424721
19257102.272562.25290513424721
20274102.272562.25290773424721
21275102.272562.25291113424721
22276102.272562.25291483424721
23277102.272572.25291823424721
24278102.272572.25291923424721
25295102.272572.25292173424721
26296102.272572.25292523424721
27297102.272572.25292873424721
28298102.272572.25293233424721
29299102.272572.25293323424721
30300102.272572.25293283424721
31301102.272582.25293263424721
32472102.272582.2529283424721Antenna cable1st destination
33301102.272582.25293264723841
34300102.272572.25293284723841
35299102.272572.25293324723841
36298102.272572.25293234723841
37297102.272572.25292874723841
38296102.272572.25292524723841
39295102.272572.25292174723841
40278102.272572.25291924723841
41277102.272572.25291824723841
42276102.272562.25291484723841
43275102.272562.25291114723841
44274102.272562.25290774723841
45257102.272562.25290514723841
46256102.272562.25290424723841
47255102.272562.25290084723841
48254102.272562.25289714723841
49253102.272562.25289384723841
50236102.272562.25289114723841
51235102.272562.25289034723841
52234102.272562.25288684723841
53233102.272562.25288334723841
54232102.272562.25287984723841
55384102.272562.25288014723841Bumper2nd destination
56232102.272562.25287983847131
57215102.272562.25287743847131
58216102.272562.25287673847131
59217102.272572.25287643847131
60218102.272572.25287613847131
61219102.272572.25287553847131
62220102.272582.25287523847131
63221102.272582.25287493847131
64222102.272582.25287443847131
65223102.272592.25287413847131
66224102.272592.25287383847131
67225102.272592.25287353847131
68226102.272592.2528733847131
69227102.27262.25287273847131
70228102.27262.25287223847131
71229102.27262.25287183847131
72230102.272612.25287153847131
73231102.272612.25287123847131
74195102.272612.25287063847131
75194102.272622.25288473847132
76193102.272622.25289963847132
77192102.272622.25290863847131
78166102.272642.25290713847132
79165102.272652.25290573847132
80119102.272652.25291113847131
81120102.272652.25291383847131
82121102.272652.25291783847131
83122102.272652.25292163847131
84123102.272662.25292513847131
85124102.272662.25292653847131
86141102.272662.25292893847131
87142102.272662.25293253847131
88143102.272662.25293673847131
89144102.272662.252943847131
90145102.272662.25294143847131
91146102.272662.25294113847131
92147102.272672.25294093847131
93148102.272672.25294073847131
94149102.272672.25294053847131
95150102.272672.25294043847131
96151102.272682.25294023847131
97152102.272682.252943847131
98713102.272682.25293513847131Adjusting mechanism (adjuster star wheel)3rd destination
99152102.272682.252947136831
100151102.272682.25294027136831
101150102.272672.25294047136831
102149102.272672.25294057136831
103148102.272672.25294077136831
104147102.272672.25294097136831
105146102.272662.25294117136831
106145102.272662.25294147136831
107162102.272662.2529447136831
108163102.272662.25294777136831
109164102.272662.25295157136831
11024102.272662.25295697136831
11125102.272662.25295677136831
11226102.272672.25295677136831
11327102.272672.25295647136831
11428102.272672.25295637136831
11529102.272682.25295627136831
11630102.272682.25295597136831
11731102.272682.25295587136831
11832102.272692.25295577136831
11933102.272692.25295547136831
120683102.272692.25295017136831Bucket seat4th destination
Total visited nodes = 120, total cost = 125.

References

  1. Adamatzky, A. Shortest Path Solvers. From Software to Wetware; Springer: Berlin/Heidelberg, Germany, 2018; Volume 32. [Google Scholar]
  2. Papadopoulos, S.; Kompatsiaris, Y.; Vakali, A.; Spyridonos, P. Community detection in social media, performance and application considerations. J. Data Min. Knowl. Discov. 2012, 24, 515–554. [Google Scholar] [CrossRef]
  3. Kwon, Y.S.; Sohn, M.Y. Classification of Efficient Total Domination Sets of Circulant Graphs of Degree 5. Symmetry 2020, 12, 1944. [Google Scholar] [CrossRef]
  4. Yang, L.; Li, D.; Tan, R. Shortest Path Solution of Trapezoidal Fuzzy Neutrosophic Graph Based on Circle-Breaking Algorithm. Symmetry 2020, 12, 1360. [Google Scholar] [CrossRef]
  5. Kalaitzakis, A. Comparative Study of Community Detection Algorithms in Social Networks. Ph.D. Thesis, Technological Educational Institute of Crete, Heraklion, Greece, 1939. [Google Scholar]
  6. Bharath-Kumar, K.; Jaffe, J.M. Routing to Multiple Destinations in Computer Networks. IEEE Trans. Commun. 1983, 31, 343–351. [Google Scholar] [CrossRef]
  7. Ben Ticha, H.; Absi, N. A Solution Method for the Multi-Destination Bi-Objectives Shortest Path Problem; Elsevier: Amsterdam, The Netherlands, 2017. [Google Scholar] [CrossRef]
  8. Dong, Y.F.; Xia, H.M.; Zhou, Y.C. Disordered and Multiple Destinations Path Planning Methods for Mobile Robot in Dynamic Environment. J. Electr. Comput. Eng. 2016, 2016, 3620895. [Google Scholar] [CrossRef] [Green Version]
  9. Sepehrifar, M.K.; Zamanifar, K.; Sepehrifar, M.B. An Algorithm to Select the Optimal Composition of the Services. J. Theor. Appl. Inf. Technol. 2009, 8, 154–161. [Google Scholar]
  10. Wang, W.; Uehara, M.; Ozaki, H. Evaluation of navigation based on system optimal traffic assignment for connected cars. Int. J. Grid Util. Comput. 2020, 11, 525–532. [Google Scholar] [CrossRef]
  11. Burgaña, J.L. Design and evaluation of a link-state routing protocol for Internet-Wide Geocasting. Master’s Thesis, University of Twente, Enschede, The Netherlands, 2017. [Google Scholar]
  12. Sepehrifar, M.K.; Fanian, A.; Sepehrifar, B. Shortest Path Computation in a Network with Multiple Destinations. Arab. J. Sci. Eng. 2020, 45, 3223–3231. [Google Scholar] [CrossRef]
  13. Jubair, F.; Hawa, M. Exploiting Obstacle Geometry to Reduce Search Time in Grid-Based Pathfinding. Symmetry 2020, 12, 1186. [Google Scholar] [CrossRef]
  14. Rahman, M.S.; Ahmed, S. A survey on pairwise compatibility graphs. AKCE Int. J. Graphs Comb. 2020, 17, 788–795. [Google Scholar] [CrossRef]
  15. Easttom, W.; Adda, M. An enhanced view of incidence functions for applying graph theory to modeling network intrusions. WSEAS Trans. Inf. Sci. Appl. 2020, 15, 102–109. [Google Scholar]
  16. Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms; MIT Press: Cambridge, MA, USA, 2009. [Google Scholar]
  17. Arman, N.; Khamayseh, F. A Path-Compression Approach for Improving Shortest-Path Algorithms. Int. J. Electr. Comput. Eng. 2015, 5, 772–781. [Google Scholar] [CrossRef] [Green Version]
  18. Hakeem, A.; Gehani, N.; Ding, X.; Curtmola, R.; Borcea, C. Multi-destination vehicular route planning with parking and traffic constraints. In Proceedings of the 16th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services, Houston, TX, USA, 12–14 November 2019; pp. 298–307. [Google Scholar]
  19. Hu, W.-C.; Wu, H.-T.; Cho, H.-H.; Tseng, F.-H. Optimal Route Planning System for Logistics Vehicles Based on Artificial Intelligence. J. Internet Technol. 2020, 21, 757–764. [Google Scholar]
  20. Li, X.; Yin, H. Optimal Mobile Relays Positions and Resource Allocation for Multi-Relay Multi-Destination Wireless Networks. IEEE Access 2020, 8, 47993–48004. [Google Scholar] [CrossRef]
  21. Anđelić, M.; Živković, D. Efficient Algorithm for Generating Maximal L-Reflexive Trees. Symmetry 2020, 12, 809. [Google Scholar] [CrossRef]
  22. Zhang, H.; Zhang, Z. AOA-Based Three-Dimensional Positioning and Tracking Using the Factor Graph Technique. Symmetry 2020, 12, 1400. [Google Scholar] [CrossRef]
  23. Panić, B.; Kontrec, N.; Vujošević, M.; Panić, S. A Novel Approach for Determination of Reliability of Covering a Node from K Nodes. Symmetry 2020, 12, 1461. [Google Scholar] [CrossRef]
  24. Slamin, S.; Adiwijaya, N.O.; Hasan, M.A.; Dafik, D.; Wijaya, K. Local Super Antimagic Total Labeling for Vertex Coloring of Graphs. Symmetry 2020, 12, 1843. [Google Scholar] [CrossRef]
  25. Martínez, A.C.; García, S.C.; García, A.C.; Del Rio, A.M.G. On the Outer-Independent Roman Domination in Graphs. Symmetry 2020, 12, 1846. [Google Scholar] [CrossRef]
  26. Martínez, A.C.; Estrada-Moreno, A.; Rodríguez-Velázquez, J.A. Secure w-Domination in Graphs. Symmetry 2020, 12, 1948. [Google Scholar] [CrossRef]
  27. Lv, Y.; Liu, M.; Xiang, Y. Fast Searching Density Peak Clustering Algorithm Based on Shared Nearest Neighbor and Adaptive Clustering Center. Symmetry 2020, 12, 2014. [Google Scholar] [CrossRef]
  28. Balakrishnan, A.; Banciu, M.; Glowacka, K.; Mirchandani, P. Hierarchical approach for survivable network design. Eur. J. Oper. Res. 2013, 225, 223–235. [Google Scholar] [CrossRef]
  29. Fredman, M.L.; Tarjan, R.E. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 1987, 34, 596–615. [Google Scholar] [CrossRef]
  30. Qu, T.; Cai, Z. A Fast Isomap Algorithm Based on Fibonacci Heap. In International Conference in Swarm Intelligence; Springer: Cham, Switzerland, 2015; pp. 225–231. [Google Scholar]
  31. Lu, X.; Camitz, M. Finding the shortest paths by node combination. Appl. Math. Comput. 2011, 217, 6401–6408. [Google Scholar] [CrossRef]
  32. Orlin, J.B.; Madduri, K.; Subramani, K.; Williamson, M. A faster algorithm for the single source shortest path problem with few distinct positive lengths. J. Discret. Algorithms 2010, 8, 189–198. [Google Scholar] [CrossRef] [Green Version]
  33. Thorup, M. Undirected single-source shortest paths with positive integer weights in linear time. J. ACM 1999, 46, 362–394. [Google Scholar] [CrossRef]
  34. Thorup, M. On RAM Priority Queues. SIAM J. Comput. 2000, 30, 86–109. [Google Scholar] [CrossRef]
  35. MacCormick, J. What Can Be Computed? A Practical Guide to the Theory of Computation; Princeton University Press: Princeton, NJ, USA, 2018. [Google Scholar]
  36. Xu, M.; Liu, Y.; Huang, Q.; Zhang, Y.; Luan, G. An improved Dijkstra’s shortest path algorithm for sparse network. Appl. Math. Comput. 2007, 185, 247–254. [Google Scholar] [CrossRef]
  37. Holzer, M.; Schulz, F.; Wagner, D.; Willhalm, T. Combining speed-up techniques for shortest-path computations. ACM J. Exp. Algorithmics 2005, 10, 2–5. [Google Scholar] [CrossRef]
  38. Chen, Y.-Z.; Shen, S.-F.; Chen, T.; Yang, R. Path Optimization Study for Vehicles Evacuation based on Dijkstra Algorithm. Procedia Eng. 2014, 71, 159–165. [Google Scholar] [CrossRef] [Green Version]
  39. Madkour, A.; Aref, W.G.; Rehman, F.U.; Rahman, M.A.; Basalamah, S. A survey of shortest-path algorithms. arXiv 2017, arXiv:1705.02044. [Google Scholar]
  40. Okengwu, U.A.; Nwachukwu, E.O.; Osegi, E.N. Modified Dijkstra algorithm with invention hierarchies applied to a conic graph. arXiv 2015, arXiv:1503.02517. [Google Scholar]
  41. Hong, Y.; Li, D.; Wu, Q.; Xu, H. Priority-Oriented Route Network Planning for Evacuation in Constrained Space Scenarios. J. Optim. Theory Appl. 2019, 181, 279–297. [Google Scholar] [CrossRef]
  42. Jin, W.; Chen, S.; Jiang, H. Finding the K shortest paths in a time-schedule network with constraints on arcs. Comput. Oper. Res. 2013, 40, 2975–2982. [Google Scholar] [CrossRef]
  43. Ananta, M.T.; Jiang, J.-R.; Muslim, M.A. Multicasting with the extended Dijkstra’s shortest path algorithm for software defined networking. Int. J. Appl. Eng. Res. 2014, 9, 21017–21030. [Google Scholar]
Figure 1. Bi-directional road network.
Figure 1. Bi-directional road network.
Symmetry 13 00421 g001
Figure 2. CDSSSD.
Figure 2. CDSSSD.
Symmetry 13 00421 g002
Figure 3. MDMSMD.
Figure 3. MDMSMD.
Symmetry 13 00421 g003
Figure 4. Graphical representation of EAMDSP.
Figure 4. Graphical representation of EAMDSP.
Symmetry 13 00421 g004
Figure 5. Source and destination shortest pathfinding in graphical representation.
Figure 5. Source and destination shortest pathfinding in graphical representation.
Symmetry 13 00421 g005
Figure 6. Drawing layout in a car spare part shop with nodes.
Figure 6. Drawing layout in a car spare part shop with nodes.
Symmetry 13 00421 g006
Figure 7. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a four-item search (output scenario).
Figure 7. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a four-item search (output scenario).
Symmetry 13 00421 g007
Figure 8. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a six-item search (output scenario).
Figure 8. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a six-item search (output scenario).
Symmetry 13 00421 g008
Figure 9. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for an eight-item search (output scenario).
Figure 9. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for an eight-item search (output scenario).
Symmetry 13 00421 g009
Figure 10. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a ten-item search (output scenario).
Figure 10. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a ten-item search (output scenario).
Symmetry 13 00421 g010
Figure 11. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a twelve-item search (output scenario).
Figure 11. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a twelve-item search (output scenario).
Symmetry 13 00421 g011
Figure 12. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a fifteen-item search (output scenario).
Figure 12. Simulation on a car spare parts shop scenario using EAMDSP, CDSSSD, and MDMSMD for a fifteen-item search (output scenario).
Symmetry 13 00421 g012
Figure 13. Cost-wise comparison among EAMDSP, CDSSSD, and MDMSMD.
Figure 13. Cost-wise comparison among EAMDSP, CDSSSD, and MDMSMD.
Symmetry 13 00421 g013
Figure 14. Visited nodes-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Figure 14. Visited nodes-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Symmetry 13 00421 g014
Figure 15. Drawing layout in the supermarket with nodes.
Figure 15. Drawing layout in the supermarket with nodes.
Symmetry 13 00421 g015
Figure 16. Simulation on supermarket scenario using EAMDSP, CDSSSD, and MDMSMD for a five-item search (output scenario).
Figure 16. Simulation on supermarket scenario using EAMDSP, CDSSSD, and MDMSMD for a five-item search (output scenario).
Symmetry 13 00421 g016
Figure 17. Simulation on supermarket scenario using EAMDSP, CDSSSD, and MDMSMD for an eight-item search (output scenario).
Figure 17. Simulation on supermarket scenario using EAMDSP, CDSSSD, and MDMSMD for an eight-item search (output scenario).
Symmetry 13 00421 g017
Figure 18. Simulation on supermarket scenario using EAMDSP, CDSSSD, and MDMSMD for an eleven-item search (output scenario).
Figure 18. Simulation on supermarket scenario using EAMDSP, CDSSSD, and MDMSMD for an eleven-item search (output scenario).
Symmetry 13 00421 g018
Figure 19. Cost-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Figure 19. Cost-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Symmetry 13 00421 g019
Figure 20. Visited node-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Figure 20. Visited node-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Symmetry 13 00421 g020
Table 1. Selected four items and categories (input).
Table 1. Selected four items and categories (input).
ItemCategory
Antenna cableAudio/video devices
BumperBody components, including trim
Adjusting mechanism Braking system
Bucket seatCar seat
Table 2. Summary data of EAMDSP, CDSSSD, and MDMSMD for a four-item search.
Table 2. Summary data of EAMDSP, CDSSSD, and MDMSMD for a four-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP9395
2CDSSSD124136
3MDMSMD120125
Table 3. (Input) Selecting six items and category.
Table 3. (Input) Selecting six items and category.
ItemCategory
Antenna assemblyAudio/video devices
ABS steel pinBraking system
Back seatCar seat
Door switchElectrical switches
Distributor capEngine components and parts
Oil gasketEngine oil systems
Table 4. Summary data of EAMDSP, CDSSSD, and MDMSMD for a six-item search.
Table 4. Summary data of EAMDSP, CDSSSD, and MDMSMD for a six-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP129131
2CDSSSD220242
3MDMSMD175179
Table 5. (Input) Selecting eight items and category.
Table 5. (Input) Selecting eight items and category.
ItemCategory
Radio and media playerAudio/video devices
Cowl screenBody components, including trim
Adjusting mechanism (adjuster star wheel)Braking system
DashcamCameras
Bench seatCar seat
Central lockingDoors
Fan ditchElectrical switches
Engine compartment harnessWiring harnesses
Table 6. Summary data of EAMDSP, CDSSSD, and MDMSMD for an eight-item search.
Table 6. Summary data of EAMDSP, CDSSSD, and MDMSMD for an eight-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP119121
2CDSSSD271297
3MDMSMD227239
Table 7. (Input) Selecting ten items and category.
Table 7. (Input) Selecting ten items and category.
ItemCategory
Radiator core supportBody components
Brake padBraking system
Fan ditchElectrical switches
Camshaft followerEngine components and parts
PCV valveEngine components and parts
Oil suction filterEngine oil systems
Battery boxLow voltage electrical supply system
Alarm and sirenMiscellaneous
Wiring connectorMiscellaneous
GlowplugStarting system
Table 8. Summary data of EAMDSP, CDSSSD, and MDMSMD for a ten-item search.
Table 8. Summary data of EAMDSP, CDSSSD, and MDMSMD for a ten-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP164170
2CDSSSD377414
3MDMSMD227236
Table 9. (Input) Selecting twelve items and category.
Table 9. (Input) Selecting twelve items and category.
ItemCategory
TunerAudio/video devices
Fascia rear and supportBody components
Brake backing plateBraking system
Front seatCar seat
Front Right Outer door handleDoors
Ignition switchElectrical switches
Fuel gaugeGauges and meters
Ignition magnetoIgnition system
Side lightingLighting and signaling system
Coolant temperature sensorSensors
Sunroof glassWindows
Air conditioning harnessWiring harnesses
Table 10. Summary data of EAMDSP, CDSSSD, and MDMSMD for a twelve-item search.
Table 10. Summary data of EAMDSP, CDSSSD, and MDMSMD for a twelve-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP213220
2CDSSSD378408
3MDMSMD315327
Table 11. (Input) Selecting fifteen items and categories.
Table 11. (Input) Selecting fifteen items and categories.
ItemCategory
Front fascia and header panelBody components
Brake discBraking system
Brake booster hoseBraking system
Backup cameraCameras
HeadrestCar seat
Rear left side outer door handleDoors
Switch coverElectrical switches
Odometer Gauges and meters
DistributorIgnition system
Engine bay lightingLighting and signaling system
Shift improverMiscellaneous
Knock sensorSensors
Starter driveStarting system
Front left side door glassWindows
Floor harnessWiring harnesses
Table 12. Summary data of EAMDSP, CDSSSD, and MDMSMD for a fifteen-item search.
Table 12. Summary data of EAMDSP, CDSSSD, and MDMSMD for a fifteen-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP225233
2CDSSSD487525
3MDMSMD393409
Table 13. Total cost-wise comparison among EAMDSP, CDSSSD, and MDMSMD.
Table 13. Total cost-wise comparison among EAMDSP, CDSSSD, and MDMSMD.
SL No.Algorithm NameItems (4)Items (6)Items (8)Items (10)Items (12)Items (15)
1EAMDSP95131121170220233
2CDSSSD136242297414408525
3MDMSMD125179239236327409
Table 14. Total visited node-wise comparison among EAMDSP, CDSSSD, and MDMSMD.
Table 14. Total visited node-wise comparison among EAMDSP, CDSSSD, and MDMSMD.
SL No.Algorithm NameItems (4)Items (6)Items (8)Items (10)Items (12)Items (15)
1EAMDSP93129119164213225
2CDSSSD124220271377378487
3MDMSMD120175227227315393
Table 15. (Input) Selecting five items and categories.
Table 15. (Input) Selecting five items and categories.
ItemCategory
CoffeeBeverages
Dinner rollsBread/Bakery
VegetablesCanned/Jarred goods
Laundry detergentCleaners
YogurtDairy
Table 16. The output summary data of EAMDSP, CDSSSD, and MDMSMD for a five-item search.
Table 16. The output summary data of EAMDSP, CDSSSD, and MDMSMD for a five-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP4554
2CDSSSD6084
3MDMSMD5269
Table 17. (Input) Selecting eight items and categories.
Table 17. (Input) Selecting eight items and categories.
ItemCategory
SodaBeverages
Sandwich loavesBread/Bakery
VegetablesCanned/Jarred goods
Dishwashing liquidCleaners
EggsDairy
MixesDry/Baking goods
VegetablesFrozen foods
PorkMeat
Table 18. The output summary data of EAMDSP, CDSSSD, and MDMSMD for an eight-item search.
Table 18. The output summary data of EAMDSP, CDSSSD, and MDMSMD for an eight-item search.
SL No.Algorithm NameTotal Visited NodesTotal Cost
1EAMDSP5867
2CDSSSD104150
3MDMSMD7295
Table 19. (Input) Selecting eleven items and categories.
Table 19. (Input) Selecting eleven items and categories.
ItemCategory
JuiceBeverages
Dinner rollsBread/Bakery
Spaghetti sauceCanned/Jarred goods
Dishwashing detergentCleaners
CheesesDairy
FlourDry/Baking goods
Individual mealsFrozen foods
Lunch meatMeat
BatteriesOthers
Paper towelsPaper goods
ShampooPersonal cares
Table 20. Summary data of EAMDSP, CDSSSD, and MDMSMD for eleven items search.
Table 20. Summary data of EAMDSP, CDSSSD, and MDMSMD for eleven items search.
SL No.Algorithm NameTotal NodesTotal Cost
1EAMDSP7888
2CDSSSD124165
3MDMSMD101132
Table 21. Total cost-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Table 21. Total cost-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
SL No.Algorithm NameItems (5)Items (8)Items (11)
1EAMDSP546788
2CDSSSD84150165
3MDMSMD6995132
Table 22. Total visited node-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
Table 22. Total visited node-wise comparison between EAMDSP, CDSSSD, and MDMSMD.
SL No.Algorithm NameItems (5)Items (8)Items (11)
1EAMDSP455888
2CDSSSD60104124
3MDMSMD5278101
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

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. https://doi.org/10.3390/sym13030421

AMA Style

Asaduzzaman M, Geok TK, Hossain F, Sayeed S, Abdaziz A, Wong H-Y, Tso CP, Ahmed S, Bari MA. An Efficient Shortest Path Algorithm: Multi-Destinations in an Indoor Environment. Symmetry. 2021; 13(3):421. https://doi.org/10.3390/sym13030421

Chicago/Turabian Style

Asaduzzaman, Mina, Tan Kim Geok, Ferdous Hossain, Shohel Sayeed, Azlan Abdaziz, Hin-Yong Wong, C. P. Tso, Sharif Ahmed, and Md Ahsanul Bari. 2021. "An Efficient Shortest Path Algorithm: Multi-Destinations in an Indoor Environment" Symmetry 13, no. 3: 421. https://doi.org/10.3390/sym13030421

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