Professional Documents
Culture Documents
February 3, 2021.
Digital Object Identifier 10.1109/ACCESS.2021.3053169
ABSTRACT Vehicle path planning is a key issue for car navigation systems. When path planning,
considering the time spent at intersections is more in line with the actual situation, so it is of practical
significance to study the path planning problem take account intersection attributes. In this article, we study
the problem in a deterministic network, taking the minimization of travel time from the origin to the
destination as the optimization goal. For this purpose, we construct a mathematical model for the problem.
This paper proposes a reverse labeling Dijkstra algorithm (RLDA) based on traditional Dijkstra algorithm
to solve the problem, it is proved that the correctness of the RLDA algorithm theoretically, and analyze that
the RLDA algorithm has a lower polynomial time complexity. Finally, we selected the actual road network
as the simulation experiment object to verify the effectiveness of the algorithm searching for the optimal
path. And select 10 groups of networks of different sizes and conduct extensive experiments to compare the
convergence efficiency and calculation speed between RLDA and PSO, GA, ACO, NNA, OPABRL. The
statistical results show that the convergence rate of the RLDA algorithm is better than that of ACO, NNA,
and GA. When the number of network nodes is less than 350, the algorithm has the smallest running time.
INDEX TERMS Path planning, intersection attribute, reverse labeling Dijkstra algorithm, deterministic
network.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
VOLUME 9, 2021 19761
D.-D. Zhu, J.-Q. Sun: New Algorithm Based on Dijkstra for Vehicle Path Planning Considering Intersection Attribute
in order to form an industry to promote Japan’s economic Section V will perform a large number of experiments on
development. In the past few years, nearly ten thousand the algorithm (RLDA) proposed in this paper and other five
in-car navigation systems have been applied in the market. commonly used algorithms. Section VI will summarize the
ITS applications in Japan are mainly in traffic information work of this paper.
provision, electronic toll collection, public transportation,
commercial vehicle management, and emergency vehicle pri- II. RELATED WORKS
ority [6]. The progress of ITS application in Europe lies The optimization algorithms studied and applied in DRGS
between Japan and the United States. Due to the decentralized mainly include traditional graph theory shortest path algo-
investment of European governments and the inconsistency rithm and intelligent optimization algorithm [10]. The former
of the needs of various countries, it is difficult to establish a includes: Dijkstra [11], [12], A∗ algorithm [13], Floyd algo-
unified traffic information service system throughout Europe. rithm [14], and hierarchical heuristic search algorithm, etc.;
However, in the development of advanced travel information the latter includes: genetic algorithm, ant colony algorithm,
systems (ATIS), advanced vehicle control systems (AVCS), neural network algorithm, particle swarm optimization algo-
advanced commercial vehicle operating systems (ACVOS), rithm and simulated annealing algorithm, machine learning
and advanced electronic toll collection systems (AETCS), algorithm, etc..
the prospects are very attractive [7]. The shortest path problem (SP) is a classic algorithm prob-
The Dynamic Route Guidance System (DRGS) is an lem in graph theory research, which aims to find the shortest
important branch and one of the key technologies of the path between two nodes in a graph (composed of nodes
ITS [8]. It uses modern technologies such as Global Posi- and paths). Many practical problems can be transformed
tioning System (GPS), computers and communications to into shortest path problems [15]. Dijkstra algorithm was first
obtain a large number of timely and accurate traffic network proposed in 1959 to solve the shortest path problem. Dijkstra
data, and plans the corresponding optimal route for drivers to algorithm is a common algorithm for solving single source
choose. The route optimization algorithm is the key technol- shortest path problems. It uses an adjacency matrix stor-
ogy of DRGS. The optimization algorithm can improve the age structure to store the relationship between vertices and
efficiency of the route guidance system to meet the real-time vertices, and traverses all vertices one by one. The time
traffic environment. In the massive and rapidly changing complexity of the algorithm is O n2 [16]. In order to solve
traffic information, whether the dynamic guidance can be the problem of poor availability of the traditional Dijk-
completed in time after the traffic information is updated in stra algorithm in expressway emergency evacuation planning
the traffic system, and whether the effective information can paths, Liu et al. considered the characteristics of nodes and
be quickly extracted and efficiently fed back to the pedestrian sections in the expressway network with traffic capacity
is crucial [9]. Therefore, optimization algorithms become the and conditional restrictions, and improved the dijkstra algo-
key to solving the problem. rithm [17]. A∗ algorithm is also an earlier traditional shortest
In the existing research on the path planning of the car path optimization algorithm, which was first put forward
navigation, usually only consider the time spent on the arc, by Raphael et al. in 1968 [18]. The A∗ algorithm is the
and the time spent at the node is usually attributed to the most effective direct search method for solving the shortest
corresponding arc or ignored. In the urban road network, path in a static road network, it is also a common heuristic
there are a large number of intersections and road sections. algorithm for many other problems. The A∗ algorithm is a
The length of the road section between two intersections complete algorithm, its advantage lies in its ability to capture
is usually short. In addition, due to the influence of traffic the solution completely, but its disadvantage is that the algo-
lights and traffic rules, the time spent at the intersection rithm is more complex. Therefore, the improved A∗ algorithm
may be longer than pass through a road segment, the time has been extensively studied. For the robot path planning
it takes for vehicles to go straight, turn right, turn left or problem, Song et al. proposed a hybrid algorithm of particle
U-turn through the intersection also varies, so the time spent swarm optimization algorithm (PSO) and A∗ algorithm to
at the intersection can no longer be ignored. Therefore, when obtain the solution [19].
planning a route for vehicles in urban traffic, it is necessary to The application research of intelligent optimization algo-
consider both the time spent passing through the road section rithm in solving the shortest path problem has also received
and the intersection [27]. extensive attention from researchers. Liu et al. improved
In this paper, we focus on the path planning problem of the machine learning algorithm to solve the path planning
car navigation systems considering intersection attributes, problem of intelligent driving vehicles with restricted road
taking the minimum total travel time as the optimization goal, sections [4]. Ant colony optimization (ACO) has the char-
a reverse labeling dijkstra algorithm (RLDA) is proposed acteristics of parallelism, robustness, and positive feedback,
to solve this problem. The rest of this paper is organized and has been widely used to solve combinatorial optimiza-
as follows: In section II, we will provide a survey of the tion problems, such as the famous traveling salesman prob-
relevant literature. In Section III, we will give a detailed lem (TSP), secondary allocation problems (QAP), job shop
description of the issues discussed, the mathematical mod- scheduling problems (JSP) and many other complex combi-
els. And present our optimization algorithm in Section IV. natorial optimization problems. Due to the huge number of
P− (i) = {j|(i, j) ∈ E : The predecessor nodes collection of from the starting node jk+1 to destination node jk+s in
node i(i ∈ V). the directed graph. Then there must exist another sub-path
P− − −
n (i) : The subset of P (i), for ∀h ∈ Pn (i), arc (h, i) is not (jk+1 , jk+2 , j0 k+3 , . . . , j0 k+q−1 , j0 k+q ) that satisfies:
labeled B.
= {L(i, j)|i, j ∈ V, (i, j) ∈ E : The collection of each β(jk+1 , jk+2 , j0k+3 , . . . , j0k+q−1 , j0k+q )
arc attribute values, where, L(i, j) is the attribute value of the < β(jk+1 , jk+2 , jk+3 , . . . , jk+s−1 , jk+s ) (2)
arc segment (i, j), i.e., the time it takes for a vehicle to pass
through road where:
segment (i, j).
8 = 3 (i, j, k) | j ∈ V, i ∈ P− (j) , k ∈ S+ (j) : Node
β(jk+1 , jk+2 , j0k+3 , . . . , j0k+q−1 , j0k+q )
attribute values collection in the directed graph, where Xq−1
3(i, j, k) is the attribute value of node j (weight or time cost), = [L(j0k+t , j0k+t+1 ) + 3(j0k+t , j0k+t+1 , j0k+t+2 )]
t=1
it represents the time it takes for the vehicle to travel from
(3)
road segment (i, j) to road segment (j, k) at intersection j.
Assuming that D is a certain intersection in the road net- where j0k+1 is the beginning of road segment (jk+1 , jk+2 ),
work, find the path {j0 , j1 , j2 , · · · , jn−1 , jn } (j0 = S and j0k+2 is the beginning of road segment (jk+2 , j0k+3 ), j0k+q is the
jn = D) with the smallest sum of attribute values from any beginning of road segment (j0k+q , jk+s+1 ), and node j0k+q+1 is
other intersection S to D in the network. That is, the path with the beginning of road segment (jk+s+1 , jk+s+2 ); and:
the smallest sum of the time spent by the vehicle traveling
on the road segment and the time spent passing through the β(jk+1 , jk+2 , jk+3 , . . . , jk+s )
intersection, which is called the shortest path problem in Xs−1
= [L(jk+t , jk+t+1 ) + 3(jk+t , jk+t+1 , jk+t+2 )]
deterministic network considering the intersection attributes. t=1
There are the following assumptions: (4)
• When the vehicle travels along the path j0 , j1 , j2 , · · · ,
where jk+1 is the beginning of road segment (jk+1 , jk+2 ), jk+s
jn−1 , jn , the vehicle departs from intersection jk or the
is the beginning of road segment (jk+s , jk+s+1 ). Therefore,
vehicle arrives at intersection jk means that the vehicle
we have:
is at the starting node of road segment (jk , jk+1 ).
• When the vehicle arrives at the destination node β (j0 , j0 , j0 . . . , jk ) + β jk+1 , jk+2 , j0k+3 , j0k+4 , . . . , j0k+s
D, we assume that vehicle passes the road segment + β (jk+s+1 , jk+s+2 . . . , jn ) < β (j0 , j0 , j0 . . . , jk )
(jn−1 , jn ) and, through the node jn = D, arrives at
the starting node of the road segment (jn , jn+1 ), where + β (jk+1 , jk+2 , jk+3 , jk+4 . . . , jk+s )
jn+1 = D, (jn , jn+1 ) = (D, D) is a virtual road segment, + β(jk+s+1 , jk+s+2, . . . , jn ) (5)
and 3 (jn−1 , D, D) = 0.
This is incompatible with the assumption that path
The mathematical model of the problem can be described
(j0 , j1 , j2 , j3 . . . , jn−1 , jn ) is the shortest path from the starting
as follows, where 0 (S, D) is the minimum travel time from
node j0 = S to the destination node jn = D in the directed
starting node S to the destination D.
graph, so the assumption does not hold. Therefore, theorem
0 (S, D) 1 is correct.
Xn Theorem 2: There is optimal substructure for the optimal
= min [L(jk−1 , jk ) + 3(jk−1 , jk , jk+1 )]
(j0 ,··· ,jn−1 ,jn ) k=1 solution of the shortest path problem in the time-invariant
(1) network considering intersection attributes.
Theorem 3: There is repeated sub-problems for the
D. ANALYSIS OF MATHEMATICAL MODEL shortest-path problem in the time-invariant network consid-
Theorem 1: Assume the path (j0 , j1 , j2 , j3 . . . , jn−1 , jn ) is ering intersection attributes, so recursive algorithms can be
the optimal solution of the shortest path problem in used to solve the problem.
the time-invariant network from the starting node j0 =
S to the destination node jn = D considering the IV. RLDA ALGORITHM DESIGN
attributes of the intersection, it is easy to obtain that Based on the previous analysis, we can use the dynamic
any sub-path (jk+1 , jk+2 , jk+3 , . . . , jk+l−1 , jk+l ) of the path programming method to design the solving algorithm. Next,
(j0 , j1 , j2 , j3 . . . , jn−1 , jn ) is the optimal path from node jk+1 we will introduce the basic formulas involved in the algo-
to node jk+l . In other words, in the time-invariant network, rithm.
there is an optimal substructure for the optimal solution of the
shortest path problem that considering the time consumption A. BASIC FORMULA
of the intersection. 0(j, k, l) is the minimum travel time starting from the first
Proof: We use the cut-and-paste method to prove node j of the road segment (j, k) and passing through this
the correctness of the theorem. Suppose the sub-path segment, then through intersection k and the segment (k, l)
(jk+1 , jk+2 , jk+3 , . . . , jk+s−1 , jk+s ) is not the shortest path to the end point D. Then, there is the following recursion
formula:
0 (j, k, l) = min {L (j, k) + 3 (j, k, l) + 0 (k, l, m)} (6)
m∈S+ (l)
where
0 (j, D, D) = L (j, D) , ∀j ∈ P− (D) (7)
FIGURE 2. Case 1.
From the above analysis and Theorem 1 and Theorem 2,
there are the following equations:
0(j, D) = min 0(j, k, l)} (8)
m∈S+ (j),l∈S+ (k)
attribute value collection , and destination D: Obtain the shortest time from the starting node S to the
Step0. Initialization: EB = Ø, EG = Ø, VG = {w|w ∈ D; for end point D.
any j ∈ V, let Sn+ (j) = S+ (j), P− −
n (j) = P (j); n = 1.
Step6. Construct the optimal path from the start node
Step 1. If EB = E, jump to Step 5; or else, jump to Step 2. S to the end node D by 5ρ (j, w),
Step 2. Select one node w ∈ VG . If S+ n (w) = ∅, jump to 5ψ (S) = argmin{µ(s, k)}, and γ ((j, w)) END.
Step 3; Else if S+ n (w) 6 = ∅, that is, at least one node k∈S+ (s)
k ∈ S+ (w), make (w, k) ∈E / B [it means the arc (w, k) is
The steps for building BFS-tree in the above subroutine
not marked by B], do:
(step 2.1 to step 2.2) as follows:
Step 2.1 Let w be the root node, take the arc segment
Step0. BEGIN. EY = {(w, w)}.
that do not have the B label as the search target,
Step1. If EY = Ø jump to Step 3; Else if, EY 6= Ø, take arc
build a BFS-tree. Select the arcs (j, k) that satisfy
(k, l) ∈ EY , when S+ +
n (l) 6 = Ø, take out m ∈ Sn (l) in
k ∈ S+ n (j) and not in the tree [that is, arcs (j, k) turn, insert arc segments (l, m) into the stack EG , and
don’t have B or G label], and put them into the
record F(l, m) = (k, l) [ means that the sub-arc of the
constructed BFS-tree, and insert such arcs into
arc (k, l) on the BFS-tree is (l, m), until S+ n (j) = Ø.
the stack EG in order, remove the node k from
Jump to Step 2.
the collection S+ n (j), until the search process no Step2. Delete (k, l) from EY , jump to Step 1.
longer able to find an arc segment that doesn’t
Step3. Output stack EG . END.
have B or G label.
Step2.2 Take arcs (j, k) from the stack EG in turn, put
D. MODULAR PSEUDOCODE OF RLDA ALGORITHM
each node from the node set P− n (k) − VG into the
queue VG (the node is labeled G), and for each The operation of the proposed RLDA algorithm mainly
arc (j, k), calculate: include: build the breadth-first search tree (BFS-tree), queue,
and stack. The BFS algorithm is one of the basic graph
ρ (j, k) = min {L (j, k) + 3 (j, k, l) +ρ (k, l)} search algorithms and the prototype of many important graph
l∈S+ (k) search algorithms. Dijkstra algorithm adopted the similar
and record idea to BFS. It is a blind search method that systematically
checks all nodes in the graph to find the optimal solution.
5ρ (j, k) Stacks and queues are widely used in program design, they
= argmin {L (j, k) + 3 (j, k, l) + ρ (k, l)} are both linear data structures, stack obeys the rule ‘‘last
l∈S+ (k) in first out’’ [Insert(L, m+1, y), Delete(L, m)], and queue
γ ((j, k)) obeys the rule ‘‘first in first out’’ rule [Insert (L, m+1, y),
//Remove j from the predecessor node collection of E. THEORETICAL ANALYSIS OF RLDA ALGORITHM
node m 1) CORRECTNESS OF RLDA ALGORITHM
15 End Proposition 1: Before the nth iteration of reverse label Dijk-
stra algorithm (RLDA), if a certain node w already in the
queue VG , then in the nth iteration, it is impossible for the
Delete (L, 1)]. According to the above operations with differ- node w to be put into the queue VG again.
ent characteristics, we can decompose the RLDA algorithm Proof: From the above execution process of the algorithm,
into four modules that can be called mutually: build BFS-tree the proposition is obviously correct.
operation (Module 1), stacking and popping operation for Proposition 2: If a certain nodej in the queue VG (j ∈ VG )
arcs (Module 2), enqueue and dequeue operation for nodes is removed from the queue VG in the nth iteration, there must
(Module 3), optimal solution output operation (Module 4). be Sn+ (i) = Ø after the n-th iteration of the RLDA algorithm,
Pseudo code corresponding to each module shown in the so for any m-th iteration (m>n), it is impossible for the node
Algorithm 1 to 4. j to be put into the queue VG .
There is mutual calling relationship between the four mod- Proof: In the n-th iteration, assume one node j that in the
ules, we use Algorithm 5 to describe. It can be seen that each queue VG is removed from the queue VG , it can be known
module has interface connected with other modules. After from the above perform process of RADA algorithm, when
the Step2 and Step3 finished, S+ n (i) must be empty (Sn (i) =
initialization, according to EB = E or EB 6 = E respectively +
perform module 1 or module 4. Module 2 follows module Ø), then before the m-th (m>n) iteration performed, Sn (i) =
+
1 means that Module 2 is performed after Module 1 finished. Ø is also established. However, in the m-th iteration, before
In the same way, Module 3 follows Module 2. After Module a certain node j is put into the queue VG , S+ n (i) 6 = Ø must
3 has been executed, according to whether EB = E or EB 6= be established, which contradicts with S+ n (i) = Ø. So it is
E, the algorithm decides to go to the next iteration or to exit impossible for the node j to be put into the queue VG , and the
the program after executing Module 4. proposition 2 is set up.
Algorithm 4: Optimal Path Output(Module4) Proposition 2, there are two possibilities: node k is in the
1 Output ( ) queue VG or is out of the queue VG and has never entered into
2 ψ (S, D) = min {ρ (S, k)}; VG . Assuming the latter holds, since the arc (l, m) has been
k∈S+ (S) marked by B, when the arc (l, m) is inserted into EB , the node
//Got the minimum time from starting node S to target k must be inserted into the queue VG , which is contradictory,
node D. so the hypothesis does not hold. Therefore, proposition 3 is
3 5ψ (S) = argmin {ρ (S, k)}; proved.
k∈S+ (S)
// Got the subsequent node of S on the minimum time Theorem 4: In the iterative process of the RLDA algorithm,
path from the starting node S to the target node D. for any node j ∈ V, it enters and exits the queue VG at most
4 5ρ (j, w) = argmin {L (j, w) + 3 (j, w, x) + ρ (w, x)}; once, so the number of iterations of the algorithm does not
x∈S+ (w) exceed |V| times at most.
// Got the subsequent arc (w, x) of arc (j, w) on the Proposition 4: The proposed reverse labeling Dijkstra
minimum time path from arc (j, w) to the target node D. algorithm (RLDA) has cycle invariance: before the start of
5 γ ((j, w)) =(w, 5ρ (j, w)); the n-th iteration, if all the arcs in the set EB have label B,
// Record the subsequent arc of arc (j, w) on the optimal then all the arcs in EB still have label B before the start of the
path from starting node S to target node D as (n+1)-th iteration.
(w, 5ρ (j, w)). The theorem 5 can be derived by the above Theorem 4,
6 (S,5ρ (S) → γ ((S, 5ρ (S)) → Proposition 3, and Proposition 4.
γ (γ (((S, 5ρ (S))), · · · , (D, D); Theorem 5: When the algorithm is iterated at most |V|
// Output the optimal path from starting node S to target times, EB 6= E holds, that is, for any arc (j, k) ∈ E,
node D. the minimum travel time ρ (j, k) from the arc (j, k) to the
7 End target node D has been obtained.
Proposition 5: In the iterative process of the RLDA algo-
Algorithm 5: Call Relationship Among Modules rithm that does not exceed |V| times at most, for any (j, k) ∈
Initialization: G = (V, E, , 8), n = 1, EG = ∅, VG = E, it enters the built BFS-tree at most once, and therefore it
{w | w = D} , EB = ∅, for ∀j ∈ V, S+ n (j) =
enters and exits the set EG at most once.
S+ (j), P−n (j) = P− (j) Proof: If a certain arc segment (j, k) appears in the
Result:A Sequence λ := (S, j) , (j, k) , · · · , (D, D) BFS-tree in a certain iteration, after the iteration is completed,
Main procedure the arc segment (j, k) must already be marked by B (means
1 if EB 6 = E that (j, k) entered into EB ), and in each subsequent iteration,
2 for ∀w ∈ VR any arc (j, k) inserted into the BFS tree was not marked by B
n (w) = ∅
3 if S+ before it is inserted, it is impossible that arc (j, k) be inserted
4 perform Module3; into the BFS-tree again. Proposition 5 is corrected.
5 if EB 6 = E
6 perform Module1; 2) TIME COMPLEXITY OF RLDA ALGORITHM
7 else The previous analysis shows that RLDA algorithm has at
8 perform Module4; most |V| iterations, and the time complexity cost in the algo-
9 else rithm iteration process is mainly composed of three parts:
10 perform Module1; 1) The computational time complexity cost of all nodes
// build BFS-tree entering and leaving the queue VG .
11 perform Module2; 2) The computational time complexity cost of all arc seg-
12 perform Module3 ment entering and leaving the stack EG when building the
13 if EB 6 = E BFS tree.
14 perform Module1; 3) The computational time complexity cost to compute the
15 else least travel time ρ (j, k) through each arcs segment (j, k) to
16 perform Module4; the target node.
17 else perform Module4; Let:
18 End
N = max {|S+ (j)|, |P− (j)|} (16)
j
Proposition 3: When a certain iteration of the RLDA algo- Theorem 6: In the whole iterative process of the RLDA
rithm is completed, if EB 6 = E, then VG 6 = Ø must hold. algorithm, in the process of building the BFS-tree, the compu-
Proof: When a certain iteration of the RLDA algorithm tational time complexity cost of all nodes entering and leaving
is completed, if EB 6 = E, then there must exist a certain the queue VG and all arcs entering and leaving the collection
arc segment (k, l) that is not marked by B, and m ∈ S+ (l), stack EG is O( |V| +N · |E|).
n (k) = Ø and P (l) = Ø are also hold. From
(l, m) ∈ EB , S+ − Proof: The proof of the theorem consists of three steps.
Firstly, prove that the computational time complexity cost TABLE 1. Arc attribute value.
of all arc segments entering and leaving the stack EG is
O(N · |E|) in the entire iteration of the RLDA algorithm
when building the BFS-tree. Based on Proposition 5, each
arc (j, k) ∈ E in the directed graph entering and leaving the
stack EG at most one time. From the specific steps of the
RLDA algorithm, the time complexity cost for each arc to
enter the collection stack EG is O(1). Therefore, the total time
complexity cost for all arcs to enter the stack EG is O(|E|). To sum up, in the entire iterative process of the RLDA
For each arc segment (j, k) ∈ EG that already in the stack EG , algorithm, in the process of building the BFS-tree, the compu-
the process of it is deleted from the stack EG includes two tational time complexity cost of all nodes entering and leaving
operations: 1) Moving the one arc segment (j, k) from the the queue VG and all arcs entering and leaving the collection
stack EG to the set EB , the corresponding time complexity stack EG is O( |V| + N · |E|). Theorem 6 is correct.
cost is O(1); 2) Finding a node j in set P− n (k) and removing Theorem 7: In the iterative process of the RLDA algorithm,
the node j from P− n (k), the corresponding time complexity the time complexity cost required to computed the least time
cost is O(N). So the time complexity cost of all arc (j, k) from all arc segments ((j, k) ∈ E) in the directed graph to the
being deleted from the stack EG is O(N · |E|). To sum up, target node D is O(N · |E|).
the computational time complexity cost of all arc segments Proof: For any (j, k) ∈ E), when compute the minimum
entering and leaving the stack EG is O(N · |E|). time ρ (j, k) from arc (j, k) to the destination node D based
In the second step, we prove that the time complexity cost on the equation (10), the
of removing all the nodes j ∈ VG from the queue VG is equation
(17) need to be computed
|S+ (k) | times, and do S+ (k) − 1 times comparison. Each
O( |V|). From Theorem 4, that in the entire iteration of the computation of this formula requires 2 addition operations,
RLDA algorithm, in the entire iteration of the algorithm, for so computed the minimum time ρ (j, k) from an arc (j, k)
any node j ∈ V, the node j enters and exits the queue VG at to the destination, the cost of time complexity is O(N). So,
most one time. Based on the specific steps of the RLDA algo- compute the minimum time from all arcs to the target node,
rithm, the time complexity cost of each node being removed the required time complexity cost is O(N · |E|). Theorem 7 is
from the queue VG is O(1).So the time complexity cost for correct.
all nodes to be removed from the queue VG is O( |V|).
The third step is to prove that the time complexity cost for L (j, k) + 3 (j, k, l) + ρ (k, l) (17)
all nodes enter into the queue VG is O( |E|). For any node
j that enters and exits queue VG , it is either the predecessor From Theorem 6 and Theorem 7, the Theorem 8 can
node ((j ∈ P− n (w)) of a certain node w that will be deleted
obviously be obtained.
from the queue VG , or it is the predecessor node ((j ∈ P− n (l))
Theorem 8: The time complexity of the proposed RLDA
of the tail node l of the arc (k, l) in the BFS tree. (1) If it is algorithm in the deterministic network considering node
the former, when node j enters into the queue VG , all nodes attributes is O( |V| + N · |E|).
v ∈ P− n (w) and are not in queue VG will enter into the queue
The above theoretical analysis shows that the RLDA algo-
VG , that is starting from node w, find all arc segments (j, w) rithm proposed in this paper has lower time complexity.
(j ∈ P− / VG ), then all the starting node j of arc (j, w)
n (w), j ∈
will enter into the queue VG , so in the entire iteration of the F. COMPUTATIONAL EXAMPLE
algorithm, the corresponding time complexity in this case is In this section, we give a computational example to verify
O( |E|). (2) If it is the latter case, when node j enters into enter the algorithm proposed in this article. Use directed graph
into the queue VG , all nodes v ∈ P− n (l) and are not in queue (Figure 5) to represent the road network graph, which con-
VG will enter into the queue VG , that is starting from node l, tains 11 intersections and 18 directed arcs. The starting node
find all arc segments (j, l) (j ∈ P− n (l), j ∈/ VG ), then all the is S and the destination node is D. Travel time of each road
starting node j of arc (j, w) will enter into the queue VG , then segment As shown in Table 1 (arc attribute L (j, k)), the time
P−n (l) = Ø established. Therefore, in later iterations, if an spent on different turns at all intersections is shown in Table 2
arc segment (h, l) with the same tail node as the arc segment (node attribute 3 (i, j, k)). The goal is to find the minimum
(k, l) is found in EG , since P− n (l), there is no need to scan time path from intersection S to destination node D.
the previous founded arc (j, l) again; and it can be seen from When the node attribute (weight or time cost) is not consid-
Proposition 5 that in no more than |V| iterations of the RLDA ered, obtain the minimum time path from the start node S to
algorithm, for any arc (k, l) ∈ E, the arc (k, l) entering and the destination node D is S → A → I → J → D by Dijkstra
leaving the BFS tree at most once. So, for any node l ∈ V , arc algorithm, and the corresponding minimum time is 15.
n (l)) needs to be scanned at most once, and the
(j, l) (j ∈ P− When considering the node attribute, using the proposed
founded starting node j of the arc (j, l) enters into the queue RLDA algorithm proposed in this paper to compute the min-
VG . The corresponding time complexity in this case is also imum time path from node S to destination node D. Omit
O( |E|). the computation process, 9 iterations is 9 is required, the data
five algorithm. The parameter settings of each algorithm are 2) COMPARATIVE EXPERIMENT RESULTS AND ANALYSIS
shown in Table 4. Perform these simulation experiments on Experiment Result 1:Running the proposed RLDA algorithm,
the MATLAB platform (he simulation environment config- PSO algorithm, ACO algorithm, GA algorithm, OPABRL [4],
uration is the same as the previous first experiment). The and NNA, to find the optimal path between the same starting
comparative performance mainly verified by the simula- node and destination node in each scale network. Each algo-
tion experiment includes: (1) Algorithm convergence rate; rithm runs ten times, the average number of iterations, path
(2) Algorithm running time. length, running time used for statistical analysis of algorithm
We select 10 sets of networks with different numbers of performance are shown in Table 6.
nodes and arcs, as shown in Table 5. The connection between Experiment Result 2: For the convergence rate of the algo-
nodes in each set of networks is similar to Figure 7. Assuming rithms involved in the experiment, taking a network with
that each node has one or more other nodes connected to 100 nodes as an example, Figure 11-16 shows the aver-
it, no more than six nodes. Randomly select a node as the age convergence rate of each algorithm running ten times.
starting node as the starting node, each node is numbered The x-axis is the number of iterations, and the y-axis is
from near to far, and the node with the highest number as the the optimal path time change obtained during the operation
FIGURE 11. Convergence rate of RLDA (NODE_NUMBER = 100). FIGURE 13. Convergence rate of ACO (NODE_ NUMBER = 100).
FIGURE 12. Convergence rate of PSO (NODE_ NUMBER = 100. FIGURE 14. Convergence rate of GA (NODE_ NUMBER = 100).
of the algorithm that varies with the number of iterations. as the number of iterations increases, the optimal path of all
It can be found that all the compared algorithms have similar algorithms gradually stabilizes. In terms of the number of
convergence trends. Although the optimal path obtained by iterations to reach convergence, compared with other algo-
each algorithm fluctuates in the previous iteration process, rithms, the RLDA algorithm proposed in this paper is close
[3] B. Wei, ‘‘Modeling and simulation research on vehicular ad hoc networks [21] Z. Y. Shang, J. N. Gu, and J. P. Wang, ‘‘An improved simulated annealing
of intelligent transportation system based on Internet of Things,’’ Ph.D. algorithm for the capacitated vehicle routing problem,’’ Comput. Integr.
dissertation, Dept. Comput. Sci. Eng., Lanzhou Jiaotong Univ., Lanzhou, Manuf. Syst., vol. 7, no. 5, pp. 87–102, 2020.
Chin, 2017. [22] M. A. Mohammed, M. K. Abd Ghani, R. I. Hamed, S. A. Mostafa,
[4] X.-H. Liu, D.-G. Zhang, H.-R. Yan, Y.-Y. Cui, and L. Chen, ‘‘A new M. S. Ahmad, and D. A. Ibrahim, ‘‘Solving vehicle routing problem by
algorithm of the best path selection based on machine learning,’’ IEEE using improved genetic algorithm for optimal solution,’’ J. Comput. Sci.,
Access, vol. 7, pp. 126913–126928, 2019. vol. 21, pp. 255–262, Jul. 2017.
[5] H. Zhang and X. Lu, ‘‘Vehicle communication network in intelligent [23] W. Y. Zhi, ‘‘Improved GA with particle swarm’s evolutionary strategy for
transportation system based on Internet of Things,’’ Comput. Commun., solving constrained optimization problems,’’ Control Decis., vol. 16, no. 4,
vol. 160, pp. 799–806, Jul. 2020. pp. 135–147, 2012.
[6] Y. S. Chen, ‘‘Research on decision-making method of driving behavior in [24] Y. Kao, M.-H. Chen, and Y.-T. Huang, ‘‘A hybrid algorithm based on ACO
urban complex traffic situation of intelligent automobile,’’ Ph.D. disserta- and PSO for capacitated vehicle routing problems,’’ Math. Problems Eng.,
tion, Dept. Auto. Eng., Jilin Univ., Changchun, Chin, 2019. vol. 2012, pp. 1–17, Jan. 2012.
[7] F. Zong, M. Zeng, W. Zhong, and F. Lu, ‘‘Hybrid path selection mod- [25] Y. F. Ma, F. Yan, and K. Kang, ‘‘An improved particle swarm optimization
eling by considering habits and traffic conditions,’’ IEEE Access, vol. 7, for simultaneous pickup and delivery vehicle routing problems with time
pp. 43781–43794, 2019. windows under a fuzzy random environment,’’ Oper. Res. Manage. Sci.,
[8] F. Hong, ‘‘Research on comprehensive cognition of traffic vehicles and vol. 27, no. 12, pp. 73–83, 2018.
virtual test for intelligent vehicle,’’ Ph.D. dissertation, Dept. Auto. Eng., [26] J. Zhang, F. Yang, and X. Weng, ‘‘An evolutionary scatter search particle
Jilin Univ., Changchun, Chin, 2018. swarm optimization algorithm for the vehicle routing problem with time
[9] H. Geng, ‘‘Research on path optimization of distributed dynamic route windows,’’ IEEE Access, vol. 6, pp. 63468–63485, 2018.
guidance system of intelligent transportation system,’’ M.S. thesis, Dept. [27] S. H. Li, J. Q. Sun, and Z. Yang, ‘‘Key technologies of car navigation
Mech. Eng., Lanzhou Jiaotong Univ., Lanzhou, Chin, 2016. service recomendation system based on context awareness,’’ Proc. 31st
[10] P. Liu, ‘‘Research on modeling and optimization algorithm of dynamic China Control Conf., 2012, pp. 7298–7303.
route guidance system in intelligent transportation system,’’ Ph.D. disser- [28] P. A. Mohammad, H. A. Mohammad, and B. Mehdi, ‘‘Application of GA,
tation, Dept. Auto. Eng., Jilin Univ., Changchun, Chin, 2017. PSO, and ACO algorithms to path planning of autonomous underwater
[11] E. W. Dijkstra, ‘‘A note on two problems in connexion with graphs,’’ vehicles,’’ J. Mar. Sci. Appl., vol. 11, no. 3, pp. 492–496, 2012.
Numerische Math., vol. 1, no. 1, pp. 171–269, 1959.
[12] Y. L. Chen, L. Y. Zhuang, L. B. Zhu, X. J. Shao, and H. Wang, ‘‘Research
on path planning of parking system based on the improved Dijkstra algo-
rithm,’’ Modern Manuf. Eng., vol. 6, no. 7, pp. 63–67, 2017.
DAN-DAN ZHU was born in 1988. She is cur-
[13] Y. W. Liu and H. Q. Wu, ‘‘Path planning based on theoretical shortest
rently pursuing the Ph.D. degree with the Tianjin
distance variable weight A* algorithm,’’ Comput. Meas. Control, vol. 26,
no. 4, pp. 175–178, 2018. University of Technology, Tianjin, China. She is
[14] X. F. Zuo and W. J. Shen, ‘‘Improved algorithm about muti-shortest also a Researcher with the Tianjin University of
path problem based on floyd algorithm,’’ Comput. Sci., vol. 44, no. 5, Technology. Her research interests include path
pp. 232–267, 2017. planning and modeling and simulation of complex
[15] H. Kim, S.-H. Kim, M. Jeon, J. Kim, S. Song, and K.-J. Paik, ‘‘A study on systems.
path optimization method of an unmanned surface vehicle under environ-
mental loads using genetic algorithm,’’ Ocean Eng., vol. 142, pp. 616–624,
Sep. 2017.
[16] S. X. Wang and Z. X. Wu, ‘‘Improved Dijkstra shortest path algorithm and
its application,’’ Comput. Sci., vol. 39, no. 5, pp. 223–228, 2012.
[17] Y. L. Liu, Y. Li, J. L. Wu, and X. Meng, ‘‘Route planning of expressway
emergency evacuation based on improved Dijkstra algorithm,’’ Transp.
JUN-QING SUN was born in 1964. He received
Res., vol. 2, no. 6, pp. 54–66, 2016.
[18] P. Hart, N. Nilsson, and B. Raphael, ‘‘A formal basis for the heuristic
the Ph.D. degree from Nankai University,
determination of minimum cost paths,’’ IEEE Trans. Syst. Sci. Cybern., Tianjin, China. He is currently a Professor with the
vol. 4, no. 2, pp. 100–107, Jul. 1968. Tianjin Key Laboratory of Intelligence Computing
[19] Y. Song and Z. M. Wang, ‘‘Path planning simulation based on improved and Novel Software Technology, Tianjin Univer-
A* algorithm,’’ J. Changchun Univ. Technol., vol. 40, no. 2, pp. 138–141, sity of Technology. His research interests include
2019. the modeling and simulation of complex systems,
[20] Y. F. Ge, T. Chen, X. Y. Kong, and L. Q. Gao, ‘‘Application of improved optimization of supply chains and modern logis-
ant colony algorithm in car navigation,’’ Control Eng. China, vol. 23, no. 1, tics, service systems, and service computing.
pp. 133–137, 2016.