Routing Algorithm Splitting for Multi-Edge Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing routing algorithms, such as Dijkstra's and A*, are ineffective in finding the quickest route in multi-edge constrained road networks, as they cannot account for restrictions dependent on previous edges, leading to suboptimal route calculations.
Innovation Solution
The method splits Dijkstra's algorithm into separate universes when encountering multi-edge constraints, allowing for efficient determination of the quickest route by merging or discarding universes when the intersection at the end of the constraint is found, and using multivariate cost functions to calculate optimal routes considering various factors like time, money, and distance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Dijkstra's algorithm or A* algorithm is used to solve the shortest path problem, then the quickest route can be found in graphs with independent edge weights, but the algorithms cannot handle multi-edge constraints where restrictions depend on previous edges
Solution Approach 1:
The algorithm segments the search space by creating multiple universes, where each universe represents a specific constraint state. When a multi-edge constraint is encountered, the algorithm splits the current universe into separate universes for each possible constraint outcome, allowing independent exploration of different constraint scenarios without interference.
Solution Approach 2:
The algorithm adds a constraint state dimension to the traditional graph search by introducing universe identifiers. Each node in the graph is augmented with universe information, transforming the search from a two-dimensional graph traversal to a multi-dimensional search that incorporates constraint history, enabling the algorithm to track and enforce multi-edge constraints.
2Productivity
If a breadth-first search with priority queue is used to solve the shortest path problem, then routes can be explored systematically, but the algorithm cannot allow visiting the same intersection twice even when it may be necessary to satisfy constraints
Solution Approach 1:
The algorithm segments the visited nodes tracking by universe, allowing the same physical intersection to be visited multiple times across different universes. Each universe maintains its own visited set, enabling the algorithm to explore routes that revisit intersections when necessary to satisfy multi-edge constraints while preventing redundant exploration within the same constraint context.
Solution Approach 2:
The universe identifier acts as an intermediary that mediates between the constraint requirements and the visited nodes tracking. By incorporating universe information into the visited tracking mechanism, the algorithm can distinguish between legitimate revisits (in different constraint contexts) and redundant revisits (in the same constraint context).
Data Source
AI summary
Embodiments provide systems and methods that find the quickest route between two locations on a graph with multi-edge constraints in a time and space efficient manner. In some embodiments, Dijkstra's algorithm is split into separate universes when a) a multiple-edge constraint is reached, and b) along each edge of a multi-edge constraint. In some embodiments, the split is performed for the purpose of finding the quickest (i.e. lowest weighted) route to the intersect ion(s) at the end of the constraints. These universes, in some embodiments, are merged or discarded when the intersection at the end of the constraint is found. Using these systems and methods, in some embodiments, the shortest path between two locations of a multi-edge constrained road network can be efficiently determined.


