System and method for efficient routing on a network in the presence of multiple-edge restrictions and other constraints
First Claim
1. A method for determining an overall driving route for a vehicle traveling between a starting location of the vehicle and a destination location of the vehicle in a geographical area, the geographical area comprising a plurality of geographical locations and a plurality of geographical roadways, wherein each geographical roadway connects two geographical locations in the geographical area, the method comprising:
- by a computer system comprising computer hardware;
accessing a model from a computer accessible storage repository, the model representing the geographical area in which the vehicle is traveling, the model comprising a plurality of nodes representing the geographical locations in the geographical area and a plurality of edges representing the geographical roadways of the geographical area;
accessing a start node of the plurality of nodes, the start node representing the starting location of the vehicle;
accessing a destination node of the plurality of nodes, the destination node representing the destination location where the vehicle is to travel;
searching successive nodes from the start node to identify a route from the start node to the destination node, the successive nodes being connected by successive edges of the plurality of edges;
determining whether a selected edge of the successive edges is part of a multi-edge constraint that cannot be traversed by said searching;
in response to determining that the selected edge is part of a multi-edge constraint, subdividing the model into two or more universes, wherein each of the universes comprises a subset of the plurality of nodes, wherein said subdividing the model into two or more universes comprises assigning a first one of the two or more universes to one of the successive nodes that is a start or continuation of the multi-edge constraint or that is a neighbor of a node at the start of the multi-edge constraint;
separately identifying universe driving routes within the two or more universes, wherein the universe driving routes each comprise an ordered subset of the plurality of edges; and
combining at least some of the universe driving routes to produce an overall driving route from the start node to the destination node.
9 Assignments
0 Petitions
Accused Products
Abstract
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 intersection(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.
20 Citations
9 Claims
-
1. A method for determining an overall driving route for a vehicle traveling between a starting location of the vehicle and a destination location of the vehicle in a geographical area, the geographical area comprising a plurality of geographical locations and a plurality of geographical roadways, wherein each geographical roadway connects two geographical locations in the geographical area, the method comprising:
by a computer system comprising computer hardware; accessing a model from a computer accessible storage repository, the model representing the geographical area in which the vehicle is traveling, the model comprising a plurality of nodes representing the geographical locations in the geographical area and a plurality of edges representing the geographical roadways of the geographical area; accessing a start node of the plurality of nodes, the start node representing the starting location of the vehicle; accessing a destination node of the plurality of nodes, the destination node representing the destination location where the vehicle is to travel; searching successive nodes from the start node to identify a route from the start node to the destination node, the successive nodes being connected by successive edges of the plurality of edges; determining whether a selected edge of the successive edges is part of a multi-edge constraint that cannot be traversed by said searching; in response to determining that the selected edge is part of a multi-edge constraint, subdividing the model into two or more universes, wherein each of the universes comprises a subset of the plurality of nodes, wherein said subdividing the model into two or more universes comprises assigning a first one of the two or more universes to one of the successive nodes that is a start or continuation of the multi-edge constraint or that is a neighbor of a node at the start of the multi-edge constraint; separately identifying universe driving routes within the two or more universes, wherein the universe driving routes each comprise an ordered subset of the plurality of edges; and combining at least some of the universe driving routes to produce an overall driving route from the start node to the destination node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
Specification