A New Shortest Path Algorithm based on Heuristic ...

0 downloads 0 Views 291KB Size Report
of the beeline AB, when we want to search for the shortest path. Then we start to think about a new direction restricted algorithm. Firstly, we consider using a line, ...
A New Shortest Path Algorithm based on Heuristic Strategy Chen Xi, Fei Qi and Li Wei Institute of System Engineering, Huazhong University of Science and Technology, Wuhan 430074, Peoples R China [email protected] This paper outlines a number of different algorithms Abstract - The paper presents a new dynamic direction restricted based on Dijkstra algorithm and presents a new dynamic algorithm based on the Dijkstra algorithm, direction restricted direction restricted algorithm based on the Dijkstra algorithm algorithm and area restricted algorithm for computing shortestfor computing shortest path. A brief discussion of the algorithm performance on realistic data is given, and the path from one node to another node in traffic networks. This simulation and modeling results are presented. new algorithm can be combined with many other used heuristic This paper is organized as follows. In Section 2, the algorithms. This new algorithm has been implemented in main idea of Dijkstra shortest path finding algorithm is introduced. In Section 3, these main shortest-path Finding practice. The implementation performance of that new Algorithms based on heuristic strategy are discussed. In algorithm is compared to the Dijkstra algorithm, the A* Section 4, we propose a new dynamic direction restricted algorithm obtained by extending the Dijkstra algorithm. algorithm, and so on. The results of comparison show that the Section5 presents the results from an experimental study of new algorithm is efficient not only by itself but also by combining computer implementations of the new algorithm. Section 6 with other algorithms. For a network containing 5000 nodes and gives the conclusion of this paper. 10000 arcs, the dynamic direction restricted algorithm led to almost a saving ratio of 50 in terms of both number of nodes selected and computation times, compared with the Dijkstra algorithm. Index Terms - Dijkstra algorithm, shortest path, heuristic strategy, the dynamic direction restricted algorithm

I. INTRODUCTION The computation of shortest path in traffic networks is at the heart of the computational needs of transportation applications involving networks equipped with information technologies. For instance, in the context of the Supply Chain applications, the computation of shortest path is a fundamental component in logistics system and in the development of solution algorithms for large-scale network flow models; such models are useful for supporting effective Supply Chain decision-making. In such applications, there is usually a need to find a large number of shortest paths in networks. Currently, there are many methods to solute the computation of shortest path. The most classical algorithm is Dijkstra algorithm. The Dijkstra algorithm for large-scale network needs large memory and much more computation time, and the efficiency of algorithm can affect the whole system’s performance, so the reform and implementation of the algorithm becomes a research topic in the field of computation science.

II. DIJKSTRA SHORTEST-PATH FINDING ALGORITHM The Dijkstra algorithm [1]-[3], is a classical optimal Label-Setting (LS) algorithm to solve the one-to-one shortest path problem in static networks. It is well-known in the literature that the Dijkstra algorithm can find an optimal path. This algorithm searches for the minimum-cost path among all paths in order, beginning from the origin node, the search region expands concentrically. The graph-search strategy of this algorithm is all-directions searching strategy, which is called greedy searching strategy in artificial intelligence (AI), and is also the primary heuristic strategy. The shortest path problem is one of the most fundamental and the most commonly encountered problems. It is modeled as finding shortest path between two nodes in a weighted and directed network. The network G = (N, A), consists of a finite set of nodes, N, and a finite set of arcs, A. All arcs are directed, so bi-directional roads are represented with 2 arcs. We define cost [i , j]≥0 as the real length of the arc A between node i and node j. If the node i doesn’t adjoin node j ,the value of cost[i , j] is ∞. We define an assistant vector Dist (or Distance), and then Dist[i] means the total length of shortest path from origin node to current node i (N[i]). S[j] is a flag (label) which means node j(N[i]) is whether searched by the algorithm or not, and the default value is ‘FALSE’. The algorithm is shown below. Step 0: Mark the origin node i(N[i]).

Step 1: Select node j (N[j]), whose label S[j] is ‘FALSE’, make sure the dist [j] is minimum. Mark the label S[j] as ‘TRUE’. Step 2: Calculate the movement cost (dist [k]) between the origin node and each node which is connected to the N[j] and whose label S[k] is ‘FALSE’. Modify these relevant assistant vector dist[k]. If dist[j]+cost[j, k]

Suggest Documents