两种改进的最优路径规划算法
两种改进的最优路径规划算法
两种改进的最优路径规划算法
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
27 3 Vol.27 No.3<br />
2005 6 Journal of University of Science and Technology Beijing Jun. 2005<br />
<br />
1) 2) 1) 3) 4) 1)<br />
1)100083 2),063009<br />
3)063000 4)100102<br />
Dijkstra A*Dijkstra<br />
<br />
A*<br />
A*<br />
A*<br />
Dijkstra <br />
A*<br />
; ; Dijkstra ; A*<br />
TP 18; TP 273 + .23<br />
<br />
<br />
<br />
<br />
[1]<br />
<br />
<br />
<br />
Dijkstra <br />
[2] [3] <br />
Dijkstra [4] A*<br />
[5] A* [6] A*<br />
[7] <br />
[8]<br />
[9] Dijkstra<br />
A*<br />
1 Dijkstra <br />
1.1 Dijkstra <br />
<br />
u0 v <br />
Dijkstra <br />
u 0, v <br />
u0 [10,11]<br />
<br />
<br />
(1) d u 0 = 0 w u 0<br />
2004–08–10 2004–11–20<br />
(No.2001BA 605A-02)<br />
(1971 ) , , <br />
d w = u00 t u0 du0w<br />
()<br />
(2)wd w d w =<br />
d w , d t +l t,w<br />
l t, w t w <br />
() d w <br />
u0 w t w tw <br />
d w d s d s =<br />
d w w s d s /t w <br />
u0sd s<br />
tw s <br />
(3) v u0<br />
v t s (2)<br />
1.2 Dijkstra <br />
Dijkstra <br />
1<br />
Dijkstra 1 A <br />
<br />
y<br />
20<br />
G<br />
3.2<br />
18<br />
2. 9<br />
4.4 D<br />
K<br />
16 B<br />
3.5<br />
4.5<br />
3.2<br />
4.1 2<br />
14 4.2 E H<br />
A<br />
2.9<br />
3.4 N 2.8<br />
12<br />
5.6<br />
I<br />
2.2<br />
3.4<br />
3<br />
C<br />
L<br />
4.2 P<br />
4.2<br />
10<br />
5<br />
3.5<br />
M<br />
3 2. 2<br />
F 4<br />
J<br />
O<br />
2. 2<br />
8<br />
0 2 4 6 8 10 12 14<br />
x<br />
1 <br />
Fig.1 Map for simulation of optimum path planning
•368 • 2005 3<br />
Dijkstra <br />
1 <br />
1 A P <br />
A— C— F— J— M— O— P A P d A, P =<br />
18.3 A P A <br />
d w =<br />
min d w , d t +l t, w Dijkstra<br />
A P <br />
T P = 15+14+13+ +2 = 119<br />
1 Dijkstra A<br />
Table 1 Calculation process for an optimum path by use of Dijkstra's algorithm<br />
A B C D E F G H I J K L M N O P<br />
1 — 4.2 3.4<br />
2 — 4.2 3.4/A 9.0 6.9<br />
3 — 4.2/A — 8.6 8.3 6.9<br />
4 — — — 8.6 8.3 6.9/C 11.9 10.9<br />
5 — — — 8.5 8.3/8 — 10.3 11.2 10.9<br />
6 — — — 8.6/B — — 11.5 10.3 11.2 10.9<br />
7 — — — — — — 11.5 10.3/D 11.2 10.9 13.5 13.7<br />
8 — — — — — — 11.5 — 11.2 10.9/F 13.5 13.7 13.1<br />
9 — — — — — — 11.5 — 11.2/E — 13.5 13.7 13.1<br />
10 — — — — — — 11.5/D — — — 13.5 13.7 13.1<br />
11 — — — — — — — — — — 13.5 13.7 13.1/J 16.1<br />
12 — — — — — — — — — — 13.5/H 13.7 — 18.0 16.1<br />
13 — — — — — — — — — — — 13.7/H — 15.9 16.1<br />
14 — — — — — — — — — — — — — 15.9/L 16.1 18.7<br />
15 — — — — — — — — — — — — — — 16.1/M 18.3<br />
1.3 Dijkstra <br />
<br />
<br />
Dijkstra <br />
<br />
<br />
<br />
1.4 Dijkstra <br />
1 <br />
<br />
d w = d w , d t +l t, w w <br />
w <br />
t l t, w d t<br />
d w <br />
d w l t, w <br />
<br />
d w Dijkstra <br />
(2) d w ,<br />
l t, w <br />
d w = d w , d t +l t, w <br />
d w <br />
<br />
Dijkstra<br />
<br />
2 Dijkstra 1 <br />
A <br />
Dijkstra 1 <br />
Dijkstra <br />
Dijkstra A P <br />
T * P = 47Dijkstra <br />
(<br />
)<br />
1.5 <br />
Dijkstra <br />
C <br />
5 <br />
16 24 32 <br />
55 43 75 <br />
62 111 78 <br />
139 2 <br />
2 <br />
Dijkstra Dijkstra <br />
<br />
()
Vol.27 No.3 •369 •<br />
<br />
Dijkstra <br />
<br />
2 Dijkstra Dijkstra <br />
Table 2 Computing overhead of the improved Dijkstra's and traditional<br />
Djkstra's algorithm<br />
Dijkstra Dijkstra <br />
16 119 47 (39.5%)<br />
32 465 134 (28.8%)<br />
43 861 234 (27.2%)<br />
62 1 830 441 (24.1%)<br />
78 2 926 540 (18.5%)<br />
<br />
<br />
2 A*<br />
2.1 A*<br />
A*<br />
<br />
[12] A*<br />
<br />
f n =g n +h n<br />
g n u0n <br />
h n nv <br />
h n h * n (h * n <br />
)<br />
2.2 A*<br />
A*<br />
(1)<br />
<br />
(2)<br />
<br />
<br />
<br />
(3) (2) <br />
<br />
2.3 A*<br />
A*<br />
<br />
<br />
<br />
<br />
Dijkstra <br />
<br />
A*<br />
<br />
<br />
<br />
[13]<br />
<br />
<br />
3 A*1 A N<br />
<br />
f n =g n +h n <br />
g n A <br />
h n N <br />
A*Dijkstra <br />
<br />
Node(x y) A(0 13) B(3 16) C(3<br />
11)<br />
A*A <br />
N A— C— E— H— L— N <br />
A, N = 16.6<br />
1 Dijkstra <br />
A— B— E— H— L— N 15.9 A*<br />
<br />
A*<br />
<br />
2.4 A*<br />
<br />
<br />
<br />
A*<br />
A*<br />
<br />
<br />
A*<br />
<br />
4 A*1 A <br />
N <br />
(1) A*A— C— E— H— L<br />
— N 16.6<br />
(2) C <br />
A— B— E— H— L— N 15.9<br />
(3) E <br />
A— C— F— I— L— N 17.1<br />
(4) H <br />
A— C— E— I— L— N 17.2<br />
(5) L <br />
A— C— E— H— K— N 18.7
•370 • 2005 3<br />
5 <br />
A— B— E— H— L— N 15.9 <br />
A*<br />
1 Dijkstra <br />
<br />
2.5 <br />
A* <br />
C <br />
78 (1 77 <br />
) <br />
A*77 <br />
45 A*<br />
77 68 <br />
8 <br />
A*1 <br />
A*A*<br />
A*<br />
<br />
3 <br />
Dijkstra A*<br />
<br />
(1)Dijkstra <br />
<br />
(2)A*<br />
(Dijkstra ) <br />
<br />
<br />
[1] <br />
2000, 18(4) 327<br />
[2] <br />
1998, 15(2) 23<br />
[3] <br />
2002, 24(2) 35<br />
[4] Dijkstra <br />
2001, 38(3) 307<br />
[5] A* <br />
1998, 31(6) 24<br />
[6] A*<br />
2004, 24 (5): 19<br />
[7] A* <br />
2000, 16(3) 21<br />
[8] Frank Blischke and Bernd Hessing Dynamic Route Guidence<br />
Different Approaches to the System Concepts Soc Automatic<br />
Eng Inc, 1998<br />
[9] ,,,. <br />
. , 2003(1): 12<br />
[10] ..2000<br />
(2) 22<br />
[11] Lee J. Calculation of the shortest path sbyoptimal decomposition<br />
IEEE Trans Syst Man Cybern 1982(3): 410<br />
[12] A* .<br />
, 2003 13(5) 335<br />
[13] <br />
. , 2003 23(1) 16<br />
Two improved optimum path planning algorithms<br />
LI Qing 1) , Song Dingli 2) , ZHANG Shuangjiang 1) , LI Zhe 3) , LIU Jianguang 4) , WANG Zhiliang 1)<br />
1) Information Engineering School, University of Science and Technology Beijing, Beijing 100083, China<br />
2) Hebei Polytechnic University, Tangshan 063009, China<br />
3) Freight Section of Traffic Bureau Tangshan , Tangshan 063000, China<br />
4) Gulf Science and Technology Corporation, Beijing 100102, China<br />
ABSTRACT An improved Dijkstra's and an improved A* algorithm were proposed based on the analysis of their<br />
drawbacks. In the traditional Dijkstra's algorithm, the distance between two unconnected nodes is infinite and some<br />
relative calculations are useless. The improved Dijkstra's algorithm proposed that the connection between nodes<br />
should be tested at first so that it can decrease the computing overhead to a great extent. When the traditional A* algorithm<br />
is used in practice, its efficiency is not satisfied. The improved A* algorithm includes such steps as the following:<br />
firstly, the original optimum path should be planned by the traditional A* algorithm; secondly the nodes in<br />
the original optimum path; should be blocked in turn and the traditional A* algorithm is used again in order to look<br />
for another new optimum path. finally, these new optimum paths should be compared with the original one so that<br />
the final optimum path can be selected. Simulation results show that the improved Dijkstra's algorithm can enhance<br />
the calculation efficiency and the improved A* algorithm can find the more optimum path.<br />
KEY WORDS optimum path search; intelligent vehicle guidance and location; Dijkstra's algorithm; A* algorithm