Method for obtaining urban shortest path based on network weight transformation and two-stage method and application thereof
Patent Information
- Application Number
- CN202211174408.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-26
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2042-09-26
AI Technical Summary
[0003]现阶段的城市路网中,各种等级道路交通条件千差万别,交通条件的不同,严重影响了对道路的耗时与路程的估计,现阶段的导航产品在导航过程中往往无法有效处理这一问题,从而导致走回头路等问题,无法充分利用道路信息的价值,道路的交通条件的不确定性也影响了现有导航算法对交叉口坐标的利用,从而降低了导航效率
1、实际城市路网中的交叉口节点包含坐标信息,而现有的技术如dijkstra算法在寻找最短路中没有有效地运用坐标信息,本发明基于交叉口节点坐标信息在最短路搜索中通过每个交叉口的相互位置关系,实现了方向诱导,提高了路网数据的利用率。
Smart Images

Figure CN115564103B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of navigation optimization of existing urban road networks, specifically a method for obtaining the shortest path of urban road networks based on network right-of-way optimization and a two-stage method, and its application. Background Technology
[0002] With social development and economic boom, internet navigation technology has become increasingly mature. Users only need to input their origin and destination into the navigation software to obtain automatically planned routes. However, in recent years, the number of private cars has increased year by year, making it difficult for road resources to meet the huge traffic demand. Traffic infrastructure construction and management are relatively lagging behind, resulting in serious waste of traffic resources and significant room for improvement in travel efficiency. With the continuous development and maturation of positioning technology, network technology, and shortest path algorithms, the foundation for the development of navigation software is already quite mature.
[0003] In the current urban road network, the traffic conditions of roads of various grades vary greatly. The differences in traffic conditions seriously affect the estimation of travel time and distance. Current navigation products often cannot effectively handle this problem during the navigation process, resulting in problems such as backtracking and failing to fully utilize the value of road information. The uncertainty of road traffic conditions also affects the use of intersection coordinates by existing navigation algorithms, thereby reducing navigation efficiency. Summary of the Invention
[0004] This invention aims to address the shortcomings of existing technologies by proposing a method and application for obtaining the shortest path in urban road networks based on network weight transformation and a two-stage method. This method aims to reduce the path search range, improve navigation efficiency, and quickly provide drivers with the shortest path that better reflects actual road conditions.
[0005] To achieve the above-mentioned objectives, the present invention adopts the following technical solution: The present invention provides a method for obtaining the shortest path in an urban road network based on network weight transformation and a two-stage method, characterized by the following steps: Step 1: Define parameters and initialize: Obtaining real-time road network data yields the raw network of urban roads. ,in, Represents the set of intersections. , Indicates the first There are several intersections, with coordinates as follows: , For the urban road network The total number of intersections in the area; Let represent the set of directed road segments between intersections, and ,in, Indicates the first Intersection With the Intersection The directed road segments between, if the first Intersection To the Intersection There are directed road segments. Then the first Intersection For the first Intersection The neighboring intersection, causing a directional section of road The distance weight is the first Intersection To the Intersection Euclidean distance between If the first Intersection To the Intersection There are no directed road segments between them. Then let ; make Indicates the starting intersection of the user's journey. This indicates the intersection where the user wants to reach their destination. Indicates the intersection currently being explored, and , , ; According to the directional road segment Distance weight The new distance weights are obtained. ;in, For the first Intersection To the end intersection Shortest distance estimation, For the first Intersection To the end intersection Shortest distance estimate; Representing the Intersection To the end intersection The degree of ambiguity in the shortest distance estimation. Thus, a new network with updated distance weights is obtained. ; Define a new network In the middle, the first Intersection Current shortest distance The starting point is the intersection. To the Intersection The shortest path length between, if This means that the starting intersection has been found. To the Intersection The current shortest distance is found; otherwise, the starting intersection has not been found. To the Intersection Find the current shortest distance; thus obtaining the current shortest distance set. ; the starting point intersection To the end intersection Current shortest distance As the upper limit of the shortest distance ; The starting point intersection Reach the final intersection The first traversed in the path Intersection The preceding intersection is denoted as the front-drive intersection. Thus, the set of preceding intersections is obtained. ; definition A queue used to store the intersections that are explored first during the iteration process; definition A queue used to store intersections that are delayed in exploration during the iteration process; definition A queue used to store the intersections that have been explored during the iteration process; Step 2: Data Initialization and Preprocessing Set blur level Set to a fixed value; initialize. ;initialization Initialize the starting intersection Current shortest distance Current shortest distance upper bound Initialize the priority exploration queue for intersections. Delay exploring the intersection queue Explored intersection queues ; Step 3: Find the upper bound of the current shortest distance: Step 3.1: Determine if an initial solution has been obtained: If the starting point is an intersection To the end intersection Current shortest distance Not updated, and priority is given to exploring intersection queues. and delayed exploration of intersection queues If empty, proceed to step 5; If the starting point is an intersection To the end intersection Current shortest distance Not updated, and priority is given to exploring intersection queues. Or postpone exploring the intersection queue If not empty, proceed to step 3.2; If the starting point is an intersection To the end intersection Current shortest distance Updated, and intersection queues are now being explored first. and delayed exploration of intersection queues If empty, proceed to step 5; If the starting point is an intersection To the end intersection Current shortest distance Updated, and intersection queues are now being explored first. Empty, and delay the exploration of the intersection queue. If not empty, proceed to step 4.1; Step 3.2: Relaxation operation: Step 3.2.1: If If not empty, then retrieve. The first element in the team This makes the current exploration node for ,renew for The backslash "\" indicates a delete operation. Otherwise, take it out. The first element in the team This makes the current exploration node for ,renew for ; Step 3.2.2: Traverse to satisfy Neighbor intersection ,like Then update the first Intersection Current shortest distance ,Will Assign to , set the Intersection Front-wheel drive intersection for If the traversal is successful, proceed to step 3.2.3; otherwise, return to step 3.2.2 and continue traversing until the traversal is complete, then proceed to step 3.1. Step 3.2.3: When At that time, if Then the first Intersection Add to priority exploration queue for intersections The tail of the line, and the first Intersection Add to the queue of explored intersections ; like and , will the Intersection Add to priority exploration queue for intersections The head of the team; Otherwise, return to step 3.2.2 and continue the traversal; when At that time, if Then the first Intersection Add to delayed exploration crossroads queue The tail of the line; if the first Intersection , will the Intersection Add to the queue of explored intersections Otherwise, return to step 3.2.2 and continue the traversal; in, Represents the starting point intersection To the current exploration intersection The current shortest distance, Representing the new network China is currently exploring the intersection To the Intersection Distance weights; Represents the current exploration crossroads To the end intersection Shortest distance estimate; Step 4: Find the shortest path: Step 4.1: Reinitialize: The exploration of the intersection queue will be postponed. Assign to the priority exploration crossroads queue and initialize the delayed exploration crossroads queue. ; Step 4.2: Determine if the optimal solution has been obtained: If priority is given to exploring intersection queues Or postpone exploring the intersection queue If yes, proceed to step 4.3; otherwise, proceed to step 5. Step 4.3: Perform relaxation operation using the upper bound: Step 4.3.1: If If not empty, then retrieve. The tail element in the queue This makes the current exploration node for ,renew for ; Otherwise, take it out. The tail element in the queue This makes the current exploration node for ,renew for ; Step 4.3.2: Traverse to satisfy Neighbor intersection ,like Then update the first Intersection Current shortest distance ,Will Assign to , set the Intersection Front-wheel drive intersection for ;like If the iteration is complete, proceed to step 4.3.3; otherwise, return to step 4.3.2. Continue this process until the iteration is complete, then proceed to step 4.2. Step 4.3.3: If and Then the first Intersection Add to priority exploration queue for intersections The head of the team; like and Then the first Intersection Add to delayed exploration crossroads queue The head of the queue and the queues that have been explored Otherwise, proceed directly to step 4.3.4; like Return to step 4.3.2 and continue the traversal; Step 4.3.4: If the first Intersection It is the final intersection and Then Assign to the upper bound If the iteration fails, return to step 4.3.2 to continue the iteration; otherwise, proceed directly to step 4.3.2. Step 5: Output the optimal solution: like This indicates that there is no intersection starting from the starting point. Reach the final intersection The path; otherwise, Assign to and output the intersection from the starting point. To the end intersection shortest distance and from Start passing Continuously back to Thus, the intersection node from the starting point is obtained. To the final intersection node The shortest path.
[0006] The present invention provides an electronic device, comprising a memory and a processor, wherein the memory is used to store a program that supports the processor in executing the urban road network shortest path acquisition method, and the processor is configured to execute the program stored in the memory.
[0007] The present invention discloses a computer-readable storage medium storing a computer program, characterized in that the computer program, when executed by a processor, performs the steps of the method for obtaining the shortest path of the urban road network.
[0008] Compared with the prior art, the beneficial effects of the present invention are as follows: 1. The intersection nodes in the actual urban road network contain coordinate information. However, existing technologies such as Dijkstra's algorithm do not effectively utilize coordinate information in finding the shortest path. This invention, based on the coordinate information of intersection nodes, realizes directional guidance in the shortest path search by the mutual positional relationship of each intersection, thereby improving the utilization rate of road network data.
[0009] 2. This invention incorporates a dynamic upper bound into urban road network navigation to narrow the search range and introduces fuzziness to reflect the inaccuracy of the shortest distance estimation. By using a dual queue to guide the exploration direction, it not only solves the problem of the A* algorithm being greatly affected by fuzziness, but also solves the global and blind nature of the Dijkstra algorithm during search, thereby improving navigation efficiency and accelerating path planning speed.
[0010] 3. In actual traffic networks, congestion exists, and the shortest distance between two intersection nodes cannot be accurately represented by the Euclidean distance between the two intersections. In this case, the search range of the A* algorithm increases significantly, and its efficiency decreases significantly. However, the new method proposed in this invention focuses on the transformation of road segment weights and dynamic upper bounds. Even when the estimation is inaccurate during congestion, the upper bound can still be obtained quickly, and intersections outside the upper bound range are excluded. Therefore, it is less affected, thus effectively reducing the impact of congestion on path planning efficiency and has a wide range of applications.
[0011] 4. This invention employs segment weight transformation when finding the initial shortest path. After performing an equivalent transformation on the weight network, the length of the preceding road is reduced and the length of the following road is extended, further narrowing the exploration range. This fully leverages the advantages of the label correction method for fast search and is extremely suitable for urban road networks with complex road structures and a large number of intersection nodes. In navigation of complex urban road networks, it can greatly reduce path planning time, better serve people, and promote efficient traffic operation. Attached Figure Description
[0012] Figure 1 This is an overall flowchart of the present invention; Figure 2 The road network used in the calculation example of this invention; Figure 3 In the first stage of this invention's example, the graph is searched and updated with the first node as the current node. Figure 4 In the first stage of this invention's example, the graph is searched and updated with the sixth node as the current node. Figure 5 In the second stage of this invention's example, the graph is searched and updated with the seventh node as the current node. Figure 6 In the second stage of this invention's example, the graph is searched and updated with the fifth node as the current node. Figure 7 In the second stage of this invention's example, the graph is searched and updated with the second node as the current node. Figure 8 This is the second stage of the algorithmic example of the present invention, in which the third node is used as the current node to search and update the graph; Figure 9 This is a schematic diagram illustrating the search process and search range of the A* algorithm in the prior art; Figure 10 This is a schematic diagram illustrating the new network search range in the example of this invention. Detailed Implementation
[0013] In this embodiment, as Figure 1As shown, a method for obtaining the shortest path in urban road networks based on network weight optimization and a two-stage approach considers the varying impacts of traffic facilities and congestion on traffic conditions in urban road networks. This method incorporates fuzziness into urban road network navigation and utilizes shortest distance estimation. The first stage quickly obtains the upper bound, and the second stage uses and updates the upper bound to reduce the search range. Specifically, the method includes the following steps: Step 1: Define parameters and initialize: Obtaining real-time road network data yields the raw network of urban roads. ,in, Represents the set of intersections. , Indicates the first There are several intersections, with coordinates as follows: , For the urban road network The total number of intersections in the area; Let represent the set of directed road segments between intersections, and ,in, Indicates the first Intersection With the Intersection The directed road segments between, if the first Intersection To the Intersection There are directed road segments. Then the first Intersection For the first Intersection The neighboring intersection, causing a directional section of road The distance weight is the first Intersection To the Intersection Euclidean distance between If the first Intersection To the Intersection There are no directed road segments between them. Then let In this embodiment, the road network used is as follows: Figure 2 As shown in Table 1, the coordinates of the intersection are as follows; Table 1. Intersection Coordinates
[0014] make Indicates the starting intersection of the user's journey. This indicates the intersection where the user wants to reach their destination. Indicates the intersection currently being explored, and , , In this embodiment, , ; According to the directional road segment Distance weight The new distance weights are obtained. ;in, For the first Intersection To the end intersection Shortest distance estimation, For the first Intersection To the end intersection The shortest distance estimate is obtained by using Euclidean distance in this example. The constant represents the th element in the original network. Intersection To the end intersection The degree of ambiguity in the shortest distance estimation. The closer to The more accurate the estimate, the better. The closer to The more vague the estimate, the better. Equivalent to not performing intersection checks To the end intersection Shortest distance estimation, In this example Thus, a new network with updated distance weights is obtained. The weights of the original network segments and the weights of the new network segments are shown in Table 2. Table 2. Weights of original network segments and weights of new network segments
[0015] Define a new network In the middle, the first Intersection Current shortest distance The starting point is the intersection. To the Intersection The shortest path length between, if This means that the starting intersection has been found. To the Intersection The current shortest distance is found; otherwise, the starting intersection has not been found. To the Intersection Find the current shortest distance; thus obtaining the current shortest distance set. ; the starting point intersection To the end intersection Current shortest distance As the upper limit of the shortest distance ; The starting point intersection Reach the final intersection The first traversed in the path Intersection The preceding intersection is denoted as the front-drive intersection. Thus, the set of preceding intersections is obtained. ; definition A queue used to store the intersections that are explored first during the iteration process; definition A queue used to store intersections that are delayed in exploration during the iteration process; definition A queue used to store the intersections that have been explored during the iteration process; Step 2: Data Initialization and Preprocessing Set blur level Set to a fixed value; initialize. ;initialization Initialize the starting intersection Current shortest distance Current shortest distance upper bound Initialize the priority exploration queue for intersections. Delay exploring the intersection queue Explored intersection queues ; Step 3: Find the upper bound of the current shortest distance: Step 3.1: Determine if an initial solution has been obtained: If the starting point is an intersection To the end intersection Current shortest distance Not updated, and priority is given to exploring intersection queues. and delayed exploration of intersection queues If empty, proceed to step 5; If the starting point is an intersection To the end intersection Current shortest distance Not updated, and priority is given to exploring intersection queues. Or postpone exploring the intersection queue If not empty, proceed to step 3.2; If the starting point is an intersection To the end intersection Current shortest distance Updated, and intersection queues are now being explored first. and delayed exploration of intersection queues If empty, proceed to step 5; If the starting point is an intersection To the end intersection Current shortest distance Updated, and intersection queues are now being explored first. Empty, and delay the exploration of the intersection queue. If not empty, proceed to step 4.1; like Figure 4 As shown, the final step of the first stage in this embodiment is the starting intersection. To the end intersection Current shortest distance Update, and prioritize exploring intersection queues. Empty, and delay the exploration of the intersection queue. Non-empty, upper bound of shortest distance Entering the second stage; Step 3.2: Relaxation operation: Step 3.2.1: If If not empty, then retrieve. The first element in the team This makes the current exploration node for ,renew for The backslash "\" indicates a delete operation. Otherwise, take it out. The first element in the team This makes the current exploration node for ,renew for ; Step 3.2.2: Traverse to satisfy Neighbor intersection ,like Then update the first Intersection Current shortest distance ,Will Assign to , set the Intersection Front-wheel drive intersection for If the traversal is successful, proceed to step 3.2.3; otherwise, return to step 3.2.2 and continue traversing until the traversal is complete, then proceed to step 3.1. Step 3.2.3: When At that time, if Then the first Intersection Add to priority exploration queue for intersections The tail of the line, and the first Intersection Add to the queue of explored intersections ; like and , will the Intersection Add to priority exploration queue for intersections The head of the team; Otherwise, return to step 3.2.2 and continue iterating; when the... Intersection Belongs to the already explored intersection queue Add the intersection to the priority exploration queue. The leader of the queue allows already explored intersections to be explored first, reducing the number of relaxations and quickly obtaining the upper bound; when At that time, if Then the first Intersection Add to delayed exploration crossroads queue Find the tail of the queue; otherwise, return to step 3.2.2 and continue traversing. Will satisfy The Intersection Add to priority exploration queue for intersections It can give way to the current exploration intersection Prioritize exploring the intersection ahead to meet the requirements. The Intersection Add to delayed exploration crossroads queue This allows the current exploration intersection to be given way. The exploration of the intersection behind is delayed to provide directional guidance; If the first Intersection , will the Intersection Add to the queue of explored intersections Otherwise, return to step 3.2.2 and continue the traversal; in, Represents the starting point intersection To the current exploration intersection The current shortest distance, Representing the new network China is currently exploring the intersection To the Intersection Distance weights; Represents the current exploration crossroads To the end intersection Shortest distance estimate; by For example, its current shortest distance traversal Neighbor intersection ,by For example, its current shortest distance In the new network, road sections Distance weight ,because ,renew The current shortest distance and front-wheel drive intersection, , ,because ,and ,Will Add to priority exploration queue Continue traversing the tail of the queue; In this embodiment, when They are respectively equal to The update steps are the same, and the update processes for the current shortest distance, preceding intersection, priority exploration queue, delayed exploration queue, and already explored queue for each intersection node are as follows: Figure 3 , Figure 4 As shown; Step 4: Find the shortest path: Step 4.1: Reinitialize: The exploration of the intersection queue will be postponed. Assign to the priority exploration crossroads queue and initialize the delayed exploration crossroads queue. ; In this example, the intersection queue is explored later. The exploration of the intersection queue will be postponed. Assign to the priority exploration crossroads queue And initialize the delayed exploration crossroad queue. back, , ; Step 4.2: Determine if the optimal solution has been obtained: If priority is given to exploring intersection queues Or postpone exploring the intersection queue If yes, proceed to step 4.3; otherwise, proceed to step 5. Step 4.3: Perform relaxation operation using the upper bound: Step 4.3.1: If If not empty, then retrieve. The tail element in the queue This makes the current exploration node for ,renew for ; Otherwise, take it out. The tail element in the queue This makes the current exploration node for ,renew for ; Step 4.3.2: Traverse to satisfy Neighbor intersection ,like Then update the first Intersection Current shortest distance ,Will Assign to , set the Intersection Front-wheel drive intersection for ,like If the iteration is complete, proceed to step 4.3.3; otherwise, return to step 4.3.2 and continue iterating. Once the iteration is complete, proceed to step 4.2. Step 4.3.3: If and Then the first Intersection Add to priority exploration queue for intersections The head of the team; like and Then the first Intersection Add to delayed exploration crossroads queue The head of the queue and the queues that have been explored Otherwise, proceed directly to step 4.3.4; Step 4.3.4: If the first Intersection It is the final intersection and Then Assign to the upper bound If the iteration fails, return to step 4.3.2 to continue the iteration; otherwise, proceed directly to step 4.3.2. In this embodiment, when They are respectively equal to At that time, the update process for the current shortest distance, preceding intersection, priority exploration queue, delayed exploration queue, and already explored queue of each intersection node is as follows: Figure 5 , Figure 6 , Figure 7 , Figure 8 As shown; where, for example Figure 8 As shown, the current exploration node is At that time, traverse back, and If the value is empty, find the shortest path and proceed to step five. Step 5: Output the optimal solution: like This indicates that there is no intersection starting from the starting point. Reach the final intersection The path; otherwise, Assign to and output the intersection from the starting point. To the end intersection shortest distance and from Start passing Continuously back to Thus, the intersection node from the starting point is obtained. To the final intersection node The shortest path.
[0016] In this embodiment, arrive The shortest path is The shortest distance is 2.8284.
[0017] like Figure 9 As shown, the existing A* algorithm, when searching for the shortest path, continuously expands an elliptical search range closer to the endpoint intersection until the endpoint intersection is found; while the new network search range of this application is as follows: Figure 10 As shown, compared to the original network, the network weight transformation can effectively reduce the search range and quickly obtain the upper bound, thereby speeding up the search process and improving navigation efficiency.
[0018] In this embodiment, an electronic device includes a memory and a processor. The memory stores a program that supports the processor in executing the method for obtaining the shortest path of the urban road network. The processor is configured to execute the program stored in the memory.
[0019] In this embodiment, a computer-readable storage medium stores a computer program, which, when executed by a processor, performs the steps of the method for obtaining the shortest path of the urban road network.
Claims
1. A method for obtaining the shortest path in an urban road network based on network weight transformation and a two-stage method, characterized in that, The procedure is as follows: Step 1: Define parameters and initialize: Obtaining real-time road network data yields the raw network of urban roads. ,in, Represents the set of intersections. , Indicates the first There are several intersections, with coordinates as follows: , For the urban road network The total number of intersections in the area; Let represent the set of directed road segments between intersections, and ,in, Indicates the first Intersection With the Intersection The directed road segments between, if the first Intersection To the Intersection There are directed road segments. Then the first Intersection For the first Intersection The neighboring intersection, causing a directional section of road The distance weight is the first Intersection To the Intersection Euclidean distance between If the first Intersection To the Intersection There are no directed road segments between them. Then let ; make Indicates the starting intersection of the user's journey. This indicates the intersection where the user wants to reach their destination. Indicates the intersection currently being explored, and , , ; According to the directional road segment Distance weight The new distance weights are obtained. ;in, For the first Intersection To the end intersection Shortest distance estimation, For the first Intersection To the end intersection Shortest distance estimate; Representing the Intersection To the end intersection The degree of ambiguity in the shortest distance estimation. Thus, a new network with updated distance weights is obtained. ; Define a new network In the middle, the first Intersection Current shortest distance The starting point is the intersection. To the Intersection The shortest path length between, if This means that the starting intersection has been found. To the Intersection The current shortest distance is found; otherwise, the starting intersection has not been found. To the Intersection Find the current shortest distance; thus obtaining the current shortest distance set. ; the starting point intersection To the end intersection Current shortest distance As the upper limit of the shortest distance ; The starting point intersection Reach the final intersection The first traversed in the path Intersection The preceding intersection is denoted as the front-wheel drive intersection. Thus, the set of preceding intersections is obtained. ; definition A queue used to store the intersections that are explored first during the iteration process; definition A queue used to store intersections that are delayed in exploration during the iteration process; definition A queue used to store the intersections that have been explored during the iteration process; Step 2: Data Initialization and Preprocessing Set blur level Set to a fixed value; initialize ;initialization Initialize the starting intersection Current shortest distance Current shortest distance upper bound Initialize the priority exploration queue for intersections. Delay exploring the intersection queue Explored intersection queues ; Step 3: Find the upper bound of the current shortest distance: Step 3.1: Determine if an initial solution has been obtained: If the starting point is an intersection To the end intersection Current shortest distance Not updated, and priority is given to exploring intersection queues. and delayed exploration of intersection queues If empty, proceed to step 5; If the starting point is an intersection To the end intersection Current shortest distance Not updated, and priority is given to exploring intersection queues. Or postpone exploring the intersection queue If not empty, proceed to step 3.2; If the starting point is an intersection To the end intersection Current shortest distance Updated, and intersection queues are now being explored first. and delayed exploration of intersection queues If empty, proceed to step 5; If the starting point is an intersection To the end intersection Current shortest distance Updated, and intersection queues are now being explored first. Empty, and delay the exploration of the intersection queue. If not empty, proceed to step 4.1; Step 3.2: Relaxation operation: Step 3.2.1: If If not empty, then retrieve. The first element in the team This makes the current exploration node for ,renew for The backslash "\" indicates a delete operation; Otherwise, take it out. The first element in the team This makes the current exploration node for ,renew for ; Step 3.2.2: Traverse to satisfy Neighbor intersection ,like Then update the first Intersection Current shortest distance ,Will Assign to , set the Intersection Front-wheel drive intersection for If the traversal is successful, proceed to step 3.2.3; otherwise, return to step 3.2.2 and continue traversing until the traversal is complete, then proceed to step 3.
1. Step 3.2.3: When At that time, if Then the first Intersection Add to priority exploration queue for intersections The tail of the line, and the first Intersection Add to the queue of explored intersections ; like and , will the Intersection Add to priority exploration queue for intersections Find the head of the queue; otherwise, return to step 3.2.2 and continue traversing. when At that time, if Then the first Intersection Add to delayed exploration crossroads queue The tail of the line; if the first Intersection , will the Intersection Add to the queue of explored intersections Otherwise, return to step 3.2.2 and continue the traversal; in, Represents the starting point intersection To the current exploration intersection The current shortest distance, Representing the new network China is currently exploring the intersection To the Intersection Distance weights; Represents the current exploration crossroads To the end intersection Shortest distance estimate; Step 4: Find the shortest path: Step 4.1: Reinitialize: The exploration of the intersection queue will be postponed. Assign to the priority exploration crossroads queue and initialize the delayed exploration crossroads queue. ; Step 4.2: Determine if the optimal solution has been obtained: If priority is given to exploring intersection queues Or postpone exploring the intersection queue If yes, proceed to step 4.3; otherwise, proceed to step 5. Step 4.3: Perform relaxation operation using the upper bound: Step 4.3.1: If If not empty, then retrieve. The tail element in the queue This makes the current exploration node for ,renew for ; Otherwise, take it out. The tail element in the queue This makes the current exploration node for ,renew for ; Step 4.3.2: Traverse to satisfy Neighbor intersection ,like Then update the first Intersection Current shortest distance ,Will Assign to , set the Intersection Front-wheel drive intersection for ;like If the iteration is complete, proceed to step 4.3.3; otherwise, return to step 4.3.
2. Continue this process until the iteration is complete, then proceed to step 4.
2. Step 4.3.3: If and Then the first Intersection Add to priority exploration queue for intersections The head of the team; like and Then the first Intersection Add to delayed exploration crossroads queue The head of the queue and the queues that have been explored Otherwise, proceed directly to step 4.3.4; like Return to step 4.3.2 and continue the traversal; Step 4.3.4: If the first Intersection It is the final intersection and Then Assign to the upper bound If the iteration fails, return to step 4.3.2 to continue the iteration; otherwise, proceed directly to step 4.3.
2. Step 5: Output the optimal solution: like This indicates that there is no intersection starting from the starting point. Reach the final intersection The path; otherwise, Assign to and output the intersection from the starting point. To the end intersection shortest distance and from Start passing Continuously back to Thus, the intersection node from the starting point is obtained. To the final intersection node The shortest path.
2. An electronic device, comprising a memory and a processor, characterized in that, The memory is used to store a program that supports the processor in executing the urban road network shortest path acquisition method of claim 1, and the processor is configured to execute the program stored in the memory.
3. A computer-readable storage medium storing a computer program, characterized in that, The computer program, when run by the processor, executes the steps of the method for obtaining the shortest path of the urban road network as described in claim 1.
Citation Information
Patent Citations
Urban road network shortest path acquisition method based on directivity induction
CN112435498A
Urban road network multi-source shortest path acquisition method based on common calculation
CN113781817A