You are on page 1of 6

Proceedings of the 6th World Congress on Intelligent Control and Automation, June 21 - 23, 2006, Dalian, China

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 chenxiac@public.wh.hb.cn 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 algorithmGirection 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

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 doesnt 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]).

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 systems performance, so the reform and implementation of the algorithm becomes a research topic in the field of computation science.

1-4244-0332-4/06/$20.00 2006 IEEE

2531

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]<dist[k], then set dist[k]=dist[j]+cost[j, k]. Step 3: Repeat step 1 until the destination node is marked. III. SHORTEST-PATH FINDING ALGORITHM
BASED ON HEURISTIC STRATEGY

The Dijkstra algorithms core step is to select an unmarked node whose dist [k] is minimum. Traditionally, shortest path algorithms perform unidirectional searches by growing a shortest path tree outward from the source node to the destination node. When the tree has included the destination node in it, the shortest path is found. The process to grow next unmarked node needs to search every node connected to these marked nodes. So when the number of those nodes is large, the speed of computation is limited. Therefore, we need a natural and alternative heuristic strategy to reduce or limit the number of nodes traversed. There are many heuristic strategy algorithms, such as A*[4], Restricted Area Shortest Path algorithm [5], [6], Direction Restricted algorithm [7], and so on. Heuristic strategy is an important method to deal with shortest path problem. In artificial intelligence (AI), Heuristic strategy means practice experiences, it is human beings thought for searching shortest path. In fact, Heuristic strategy search path by humans knowledge. It selects an evaluation function and finds next extend node which has highest value of that function. The main advantage of heuristic strategy is that the search scale can be limited. Traditionally, Dijkstra shortest path algorithm performs unidirectional searches for growing shortest path tree away from the source node toward the destination node. When the tree has included the destination node in it, the shortest path is found. So the algorithm doesnt adopt the human beings thought, which forms in peoples evolution process. It ignores the networks spatial distributing characteristic. The A* algorithm is an efficient algorithm to solve the shortest path problem. Its faster than the classical Dijkstra algorithm. The A* algorithm was first proposed by [9] and further discussed and extended in [10], [11], [12]. Hart et al. [9] point out that the A* algorithm is an admissible and optimal algorithm. Xia bin et al. [13] pointed out that the A* algorithms frame is a graphics traversing search strategy, but it is different from many other algorithms for using heuristic function to estimate the degree of the distance between target node and any node. This heuristic function can guide the best choice of search direction. The main idea of the A* algorithm is to replace the sort order queue, the assistant vector dist [V], with new standards. The new standards is a function, f [V] = dist [V] + h [V], where dist [V] is the real cost (the shortest distance) from origin node to current node V, and h [V] is

heuristic value from origin node to current node V. we can prove in theory that if h [V] is lower than the real cost from origin node to destination node, the A* algorithm can calculate the shortest path as the Dijkstra algorithm does. If we propose a good heuristic function, the average efficiency of the A* algorithm will be better than the Dijkstra algorithm. Bander and White [14] presented algorithm IA* (interruptible A*). This algorithm makes use of information about a collection of nodes, obtained from experts, which are likely to be on the optimal or near optimal path from the origin node to a destination node. Lark et al. [15] presented algorithm AG that uses a heuristic set to guide the search. Such a heuristic set can represent natural language statements and bound information, such as Euclidean distance. Many shortest path algorithms based on the restricted searching area were presented in history, such as the restricted ellipse area algorithm and the restricted rectangle area algorithm. The shortest path algorithm based on the restricted ellipse searching area was first proposed by [6], and further applied and extended in [16],[17]. It is the core of the algorithm that searching scale can be reduced largely, because the set of search nodes is limited in the restricted ellipse searching area. But the algorithm, which needs a large amount of calculation for multiplication and extraction, still requires lots of computation time resource. The restricted ellipse searching areas algorithm represents more efficiency than the early shortest path algorithm based on deep-first searching algorithm, which consumes a large amount of resource to search and compute the subtree. However, if we adopt the improved Dijkstra algorithm based on quad-heap priority queue and inverse adjacent list by [4], for its more wonderful data structures and less computation time, the restricted ellipse searching areas algorithm cant show its good efficiency. The searching efficiency of that is not so much as better than the full direction searching algorithm without restricted searching area when the distance between origin node and destination node is ulterior. For increasing search range, the shortest path algorithm based on the restricted rectangle searching area will improve the reliability of one time search success. Yan and Liu [8] presented the restricted direction searching algorithm, which is a local optimization algorithm by limiting the searching direction. It applies human beings route searching thinking logic which means the shortest path is beeline between two nodes in geometry. But it is almost impossible that the beeline is a real exist routes, so they thought that the beeline between origin node and destination node presents the trend of searching shortest path and it is possible that a road following the lines direction maybe the shortest path. Although the complexity of these algorithms discussed in [8] is just a proportion to the number of nodes and the advantage of the algorithms computation complexity is apparent, the algorithm cant solve the question of abnormal distribution of the road net weight. The results getting from the algorithm are always the local optimize results.

2532

IV. THE DYNAMIC DIRECTION RESTRICTED ALGORITHM Combined with these algorithms above, we presented a new shortest path algorithm - dynamic direction restricted algorithm. This algorithm is based on restricted searching direction. People always think that the shortest-path is a set of roads which follow or point towards the direction of the beeline from original node and destination node. But sometimes this principle isnt right. As it is shown in Fig.1, the shortest path from node A to node B isnt the route set which includes arc 1, 2, 3, 4, 5, 6, 7, 8, but is the arc 9 and arc 10. So we must allow some arcs to departure from the beeline AB, even allow some arcs point towards the reverse direction 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, which is perpendicular to the given beeline AB as the searching areas boundary, to judge whether the new candidate arc follows or points toward the beeline AB to extend. This direction restricted condition is not enough, because the beginning arc, which belongs to the shortest path, maybe points toward the reverse direction of the beeline AB. Secondly, we prescribe that this direction restricted line must move along a distance PY from the original node A on the reverse direction of the beeline AB, such as the Fig.2 shows. So we can not only limit the number of searching nodes and debase the complexity of computation, but also solve the question of abnormal distribution of the road net weight partly. Comparing the value of the beeline ABs function, we can judge whether the new candidate arcs node locate at the direction restricted area easily. The extend node in direction restricted area can enter into the Dijkstra algorithms step 2 in Section 2, the other nodes enter into the step 3. It is obvious that this method can reduce the works of calculation.

Fig. 1 The shortest path from node A to node B

Fig. 2 The direction restricted line and the PY

This kind of direction restricted algorithm shows good efficiency while the original node locates at the center of networks. But when the original node locates at the edge of network, the algorithm will not be able to reduce the work of calculation commendably and continuously. Because the scope of searching for next node can only extend to the fixed direction, the number of the nodes selected by the algorithm can not be reduced largely. So the dynamic direction restricted algorithm is presented in this paper. In this algorithm, the direction restricted area isnt always determined by the beeline from the original node to the destination node, but by the beeline from the last extended node in the algorithm to the destination node. Thus the scale of searching isnt invariable, but changed by the process of searching. It can get rid of these nodes not being fitted for the search scope of direction restricted algorithm and can ensure that the efficiency of the algorithm is improved dynamically. On the other hand, for the maturity of the algorithm, these nodes not fitted for the condition of the dynamic direction restricted searching are not eliminated completely, but just not being used to next computation loop. When the n-1 time computation loop is ended and the shortest path is not found, these nodes can be reused again. So we can not only use the previous computation results, but also assure the success ratio of the algorithms searching. According to the above, the improved algorithm can be described below in the same condition as the classical Dijkstra algorithm. Step 1: Mark the origin node i(N[i]). Initialize the temporary variable Vtemp as the origin node. Compute the initial direction restricted searching beeline. Step 2: Select node j (N[j]), whose label S[j] is FALSE, make sure the dist [j] is minimum. Step 3: According to Vtemp, calculate the new direction restricted searching beeline. Judge whether the node j (N[j]) satisfy the condition of direction restricted. If yes, mark the label S[j] as TRUE, set Vtemp as the node j (N[j]), and go to step 4. If no, mark the label S[j] as MAYBE, and go to step 5. Step 4: 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]<dist[k], then set dist[k]=dist[j]+cost[j, k]. Step 5: go to step 2 until the destination node is marked or the n-1 time loop is ended. If the destination node isnt marked and none of the label S[j] is FALSE, set the label S[j] of those nodes whose label S[j] is MAYBE to FALSE , and go to step 2. It is very important that the choice of PY in the dynamic direction restricted algorithm. If the value of PY is small, the shortest path maybe will not be able to be found because of the question of abnormal distribution of the networks weight; if the value of PY is large, the efficiency of the algorithm cant be improved greatly for less of nodes being eliminated. In addition, the choice of PY needs to be adapted for the change of different road networks. We suppose that there are

2533

only two arcs, which are the longest arc A1 and the second longest arc A2, linked with the original node and the direction of each arc is the same as the direction of the beeline linked with the original node and the destination node. For preventing these tow arcs linked with the original node from being eliminated early, the value of PY can be set to the summation of the distance of A1 and the distance of A2. Certainly, it is almost impossible that the kind of extreme networks exists. If we do like this, the search scale of the direction restricted algorithm become wide. We know that the Euclidean distance is the beeline distance between two nodes, it must be less than or equal to the distance of arc. We can set the value of PY to the summation of the Euclidean distance of A1 and the Euclidean distance of A2. It can not only prevent these arcs linked with the original node from being eliminated early, but also keep the fitting search scale of the direction restricted algorithm. The dynamic direction restricted algorithm discussed above can also be combined with many other heuristic shortest path algorithms, such as A*, the restricted ellipse area algorithm and the restricted rectangle area algorithm, and so on. One instance out of those algorithms - the restricted rectangle area algorithm is discussed here. The restricted rectangle area can be determined by the four beelines: the first one is the restricted line discussed in this section above; the second one is a parallel of the first beeline and it must move along a distance PY from the destination node; the third beeline and the last one are respectively the parallels of the beeline AB from two sides. They have the same distance-PY away from the beeline AB. The last three beelines keep its status in the computation process of the algorithm, while the first beeline does not. It will be changed with the last extended node. Fig.3 shows the result and the restricted rectangle area of the new algorithm combined with the dynamic direction restricted algorithm and the restricted rectangle area algorithm. The first beeline in Fig.3 is one of the borderlines of the restricted rectangle area and it will move along the beeline AB in the algorithm later (As these broken lines show.

V. COMPUTER IMPLEMENTATION AND


EXPERIMENTAL EVALUATION

The dynamic direction restricted algorithm discussed in the previous section has been implemented for the purpose of computational test. Dijkstra algorithm was implemented for comparison purpose certainly. We refer to this implementation by DJ. The dynamic direction restricted algorithm was referred to as DD. Specially, the new algorithm discussed in this article can be combined with other shortest path finding algorithms such as the A* algorithm. So the A* algorithm was also implemented for comparison purposes. We refer to the A* algorithm by A*. We refer to the implementation combined with the A* algorithm and the DD algorithm as DA. Note that all these algorithms will be stopped as soon as the destination node is selected, at which time a shortest path from the origin node to the destination node has been determined. In each iteration of these algorithms, a node needs to be selected with the minimum label from the set of candidate nodes. This operation is implemented by using a binary heap data structure. In the literature, the performance of these algorithms above is usually characterized in terms of the number of nodes selected. The number of nodes selected, however, may, by itself, not reflect the overall efficiency of this algorithm. Therefore, below we report not only the number of nodes selected by these algorithms, but also their computation times. All algorithms are implemented using the C programming language and tested in a network containing 5000 nodes and 10000 links. A network generator that generates random networks was implemented using the C programming language. The user of this network generator inputs the size of the network (number of nodes, number of links). All computational times are obtained by running the codes on a PC, which is equipped with Windows 2000 Server OS, P4 2.0GHz CPU and 256M RAM. One actual implementation interface is shown in Fig.4. (The beeline on the top of Fig.4 is the searching areas boundary when this particular computation starts to search the first node. The searching areas boundary will be changed along with the computation process). To compare the result expediently, we choose ten OD pairs randomly with difference distance. Because the computation time of some of these algorithms is very fast, we need to implement every algorithm 10 times for every OD pair and get the total time of 10 times for comparison.

Fig. 3 The restricted rectangle area of the new algorithm Fig. 4 One actual implementation

2534

$Computer Implementation and Analysis


Firstly, we show the computational results of the number of nodes selected obtained using these four algorithms. Fig. 5 shows that, almost for every OD pair, the number of nodes selected increases by degrees on the order of DA, A*, DD, and DJ (the result of the seventh OD pair is different, because of abnormal distribution of the road net weight). The results mean that the number of nodes selected by DD, A* and DA is less than the number of nodes selected by DJ, and the number of nodes selected by DA which combined DD with A* can decrease the number of nodes selected much more. For the network with 5000 nodes and 10000 links, the average number of nodes selected by DJ is 2.04 times as much as the average number of nodes selected by DD, and the average number of nodes selected by A* is 2.41 times as much as the average number of nodes selected by DA.
Number of nodes selected

5000 4000 3000 2000 1000 0 1 2 3 4 5 6 7 8 9 10


A* DA DD DJ

OD pairs Fig. 5 The computational results of the number of nodes selected

Then the computation times of these four algorithms are compared in Fig. 6. As Fig. 5 indicates, for every OD pair, the computation time is just in proportion to the number of nodes of these algorithms. The computation time of DD, A* and DA is less than the computation time of DJ. For this test network, the average computation time of DJ is 1.78 times the average computation time of DD. The computation time of DA is also less than the computation time of A*. The average computation time of DA is 2.41 times the average computation time of A*.

400 350 300 250 200 150 100 50 0

A* DA DD DJ 1 2 3 4 5 6 7 8 9 10

OD pairs Fig. 6 The computation times of these four algorithms(10 times)

From these computational results summarized above, we know that the DD algorithm combined with other algorithm can be more efficient than the DD algorithm itself. %Algorithms Approximate Result Analysis The dynamic direction restricted algorithm presented in this article is very fast, but it can only solve the question of abnormal distribution of the networks weight partly. So these computational results sometimes are approximate results. In section 4, PY is presented to prevent the algorithm from finding an approximate result of route. We just need to compare the results of DD and DJ to analyze the approximate result of algorithm for every OD pair, because the computational result of DJ is a real result and that of DD may be an approximate result. To analyze algorithms approximate result accurately, we must compute all shortest path for every OD pairs in networks. Let us consider that the ratio of the sum length of one certain DJs result route set to the sum length of one certain DDs result route set is analysis standard, which is not greater than 1. To analyze algorithms approximate result clearly, one can define approximate degree (AD), which is the percentage of the total times of the ratio above is less than 1 to the total times of all OD pairs. As mentioned in Section 4, the choice of PY is very important for the computational result, so three types of the value of PY are selected. The first value of PY is the Euclidean distance of the longest arc in the network. We refer to this type of PY by (PY: Max). The second value of PY is the summation of the Euclidean distance of the longest arc and the Euclidean distance of the second Euclidean longest arc. We refer to this type of PY by (PY: Max+Max1). The last value of PY is two times the Euclidean distance of the longest arc. We refer to this type of PY by (PY: 2*Max). Below we analyze approximate result using the same test platform as that in this section. Fig 7 shows that ADs are nondecreasing functions of PY and the increase scale decreases step by step. The AD of (PY: Max) is 98.05%. The AD of (PY: Max+Max1) is 99.55%. The AD of (PY: 2*Max) is 99.81%. It seems that the AD increases with the length of PY, but at different rate. As indicated in section 4, it is the core of the DD algorithm to reduce the number of nodes selected by the algorithm. The longer the length of PY is, the higher the number of nodes selected by the algorithm increases. Under the conditions of three types of PY, the number of nodes selected by the DD algorithm is compared to solve the largest scale shortest path-finding problem (We try our best to choose a longest route for the test.). Table , shows that the rate of increase of PY is higher than the rate of the AD. The AD of (PY: Max+Max1) is 1.5% higher than The AD of (PY: Max), but the number of nodes selected increases 603 nodes. The AD of (PY: 2*Max) is 0.26% higher than The AD of (PY: Max+Max1), but the number of nodes selected increases 307 nodes. It is obvious that priority should be given to the AD and the number of nodes selected at the same time, so a conclusion can be drawn that the best choice of this type of PY is (PY: Max+Max1).

Computation times (ms)

2535

REFERENCES
Percent (%)

100 98 96
PY: M ax PY: M ax+ M ax1 PY: 2*M ax Fi g. 7 Al gor i t hm ' s appr oxi m at e r esul t anal ysi s

TABLE.I ALGORITHMS APPROXIMATE RESULT ANALYSIS Number Value of PY AD of nodes selected PYMax PY MaxMax1 PY2*Max 98.05% 99.55% 99.81% 2956 3559 3866 Increase rate of AD 0 1.50% 0.26% Increase of nodes selected 0 603 307

VI. CONCLUSION In this paper, a new shortest path finding algorithm based on heuristic strategy for computing shortest path between one origin node and one destination in traffic network is presented. It exploits the knowledge that the shortest path always follows or points toward the direction of a beeline from original node and destination node. Particularly, the new algorithm discussed in this article can be combined with other shortest path finding algorithms such as the A* algorithm. The new algorithm was implemented and its computational performance was experimentally evaluated and tested. The performance of the computer implementation of the dynamic direction restricted algorithm is compared to Dijkstra algorithm, A*, and so on. Results using a network containing 5000 nodes and 10000 links showed almost a saving ratio of 50, in terms of both number of nodes selected and computation times, comparing with the Dijkstra algorithm. The algorithm discussed in this article can also be optimized. For example, the computational times can be decreased with advanced data structures (quad-heap priority queue, or Fibonacci heap, etc). We will do further research in these fields in the future. ACKNOWLEDGMENT The authors are grateful to all participators for their valuable comments and suggestions that have lead to the improvements of this paper. The first author is also grateful to his superior for supporting this research.

[1] Lu Feng, Shortest Path Algorithms: Taxonomy and Advance in Research, Acta Geodaetica et Cartographica Sinica, vol.30, no. 8, pp. 269-275, 2001. (in Chinese). [2] Yan Weimin and Wu Weimin, Data Structure. Tsinghua University Press, 1997, pp.186-187. [3] Tang Wenwu, SHI Xiaodong and ZHU Dakui, The Calculation of the Shortest Path Using Modified Dijkstra Algorithm in GIS, Journal of Image and Graphics, vol.5(A), no.12, pp.1019-1023, 2000. (in Chinese) [4] Lu Feng, Lu Dongmei and Cui Weihong, Improved Dijkstra's Algorithm Based on Quad-heap Priority Queue and Inverse Adjacent Lists, Journal of Image and Graphics, vol.4(A),no.12, 1999. (in Chinese). [5] Fredman M L and Tarjan R E, Fibonacci Heaps and Their Uses in Improved Network Optimization Algorithms, Journal of the Association for Computing Machinery, vol.34, no.3, pp. 596-615, 1987. [6] Stig Nordbeck and Bengt Rstedt, Computer Cartography Shortest route Programs. Sweden: The Royal University of Lund,1969. [7] Lu Feng, Lu Dongmei and Cui Weihong, Time Shortest Path Algorithm for Restricted Searching Area in Transportation Networks, Journal of Image and Graphics, vol.4, no.10, 1999. (in Chinese). [8] Yan Hanbing and Liu Yingchun, A New Algorithm for Finding Shortcut in a City's Road Net Based on GIS Technology, Chinese Journal of Computers, vol.23, no.2, 2000. (in Chinese). [9] E.P.Hart, N. J. Nilsson, and B. Raphael, A Formal Basis for the Heuristic Determination of Minimum Cost Paths, IEEE Trans. Syst. Sci. Cybern., vol. 4, no. 2, pp. 100107, 1968. [10] J. N. Nilsson, Problem-Solving Methods in Artificial Intelligence. New York: McGraw Hill, 1971. [11] I. Pohl, Heuristic Search Viewed as Path Finding in a Graph, Artif. Intell.,vol. 1, pp. 193204, 1970. [12] J. Pearl, Heuristic Intelligent Search Strategies for Computer Problem Solving. Reading, MA: Addison-Wesley, 1984. [13] Xia Bing, Bao Yuanlv. Research on Shortest Path Problem of Vector Map. Microcomputer Development. 2001, Vol.5 (5) (in Chinese). [14] J. L. Bander and C. C. White, III, A New Route Optimization Algorithm for Rapid Decision Support, in Proc. SAE/IEEE-VTS VNIS, Detroit, MI, 1991, pp. 709728. [15] J. W. Lark, C. C. White, III, and K. Syverson, A Best-first Search Algorithm Guided by a Set-valued Heuristic, IEEE Trans. Syst., Man, Cybern., vol. 25, pp. 10971101, 1995. [16] Cui Weihong, Research on Spatial Data Structure. China Science and Technology Press. 1995 [17] Chen Xingxing and Cui Weihong, An Experimental Study of Rapid Reacting System of City, Remote Sensing of Environment China, vol.11, no.3, pp. 227-233, 1996. [18] Zhan F. B., Three Fastest Shortest Path Algorithms on Real Road Networks, Journal of Geographic Information and Decision Analysis, vol.1, no.1, pp.69-82, 1997. [19] Zhan F. B., NOON C.E., Shortest Path Algorithms: An Evaluation Using Real Road Networks, Transportation Science, vol.32, no.1 pp. 65-73, 1998. [20] Wang Chaorui, Graph Theory (Second Edition). Beijing Institute of Technology Press, 1997. [21] Hung M.S. and DivokyJJ.A., Computational Study of Efficient Shortest Path Algorithms, Computers and Operations Research, vol.15, pp. 567-576, 1988. [22] Bertsekas D.P., A Simple and Fast Label Correcting Algorithm for Shortest Paths, Networks, vol. 23, pp. 703-709, 1993. [23] Orda A. and Rom R., Shortest-path and Minimum-delay Algorithms in Networks with Time-dependent Edge-length, Journal of the Association for Computing Machinery, vol. 37,no. 3, pp. 607-625, 1990. [24] Cherkassky B.V., Goldberg A. V. and Radzik T., Shortest Paths Algorithms: Theory and Experimental Evaluation, Mathematical Programming, vol.73, pp. 129-174, 1996. [25] Fisher P.F., A Primer of Geographic Search Using Artificial Intelligence, Computers & Geosciences, vol.16, no.6,pp. 753-776, 1990.

2536

You might also like