Contraction Hierarchy Search for Multi-Destination Path Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing navigation systems face inefficiencies in computing multi-destination navigation paths, particularly in terms of time and resource consumption, due to the need for sequential processing of individual destination paths, which leads to excessive memory loading and computational overhead.
Innovation Solution
A multi-destination backward search mechanism is employed, utilizing a contraction hierarchy to prioritize nodes and perform path computations in a batch manner, reducing the need for repeated memory loading by relaxing nodes once their path costs are computed, thereby optimizing memory usage and computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If sequential per-destination path search is used, then individual destination paths can be computed, but memory loading operations increase and processing speed decreases
Solution Approach 1:
The patent combines multiple individual destination searches into a single multi-destination backward search. Instead of performing separate Dijkstra searches for each destination, the system performs one unified search that computes paths to multiple destinations simultaneously, sharing common computational work and reducing redundant memory loading operations.
Solution Approach 2:
The patent pre-computes and stores contraction hierarchies during an offline phase, organizing the graph into hierarchical levels and pre-calculating shortcut edges. This preliminary action enables the online multi-destination search to efficiently prune the search space and avoid reloading graph data repeatedly during query time.
2Productivity
If multiple individual destination searches are performed, then complete path information is obtained, but computational overhead increases
Solution Approach 1:
The patent merges N individual Dijkstra searches into a single multi-destination backward search. The algorithm maintains a single priority queue and processes nodes once, computing distances to all destinations simultaneously. This reduces the computational complexity from O(N(E+V log V)) to O(E+V log V), eliminating redundant processing of the same graph structures.
Solution Approach 2:
The multi-destination backward search algorithm serves multiple functions simultaneously: it computes shortest paths to all destinations, identifies the nearest destination for each node, and builds a navigation graph for turn-by-turn directions. This universal approach replaces multiple specialized single-destination searches with one algorithm that accomplishes all tasks.
3Loss of time
If repeated memory loading is performed for each destination search, then complete path data is available, but time consumption increases
Solution Approach 1:
The patent performs preliminary computation and storage of contraction hierarchies offline, pre-organizing the graph into hierarchical levels (0 to L) and pre-calculating shortcut edges between nodes at different levels. This preliminary action ensures that during online queries, the system can efficiently prune the search space using pre-computed distance bounds and shortcut edges, avoiding repeated loading of the entire graph data for each destination search.
Data Source
AI summary
A system described herein may efficiently perform a multi-destination backward search, which may be a part of performing a bidirectional search in a node map that implements contraction hierarchy techniques. Lowest cost paths to each node reachable to each destination node of a set of destination nodes may be computed. A queue may be initialized with the set of destination nodes. For each particular node in the queue, the system may add higher priority neighbors of the particular node to the queue, identify costs of outgoing links from the particular node to the higher priority neighbors, compute lowest cost paths associated with the set of destination nodes based on the identified costs of outgoing links from the particular node to the higher priority neighbors and any previously computed lowest cost paths associated with the set of destination nodes, and increment to a next node in the queue.


