SYSTEM AND METHOD FOR MANAGING TRANSPORTATION
Technical Field
This application concerns transportation management systems which control point-to-point travel costs in non-fifo dynamic networks. More particularly, the application relates to improving efficiency in transporting goods, freight, materials, food, perishables and/or personal vehicular traffic based, at least in part, on computing departure times and travel paths that account for dynamic variations in travel cost, where travel cost can be a function of many variable factors and where the systems and methods that compute the departure times and travel costs interact with a database that stores detailed road condition histories.
Cross-Reference to Related Application This application claims priority to U.S. Provisional Application entitled
"Applications of Estimate-Prune (EP) Algorithm that access Granular, Empirical Datasets For Point to Point Travel Cost Minimization in Non-FIFO Dynamic Networks," serial number 60/433,733, filed December 16, 2002, which is incorporated herein by reference in its entirety. The present application further claims priority to U.S. Provisional Application entitled "Estimation-Pruning (EP) Algorithm for Point-to-Point Travel Cost Minimization in a Non-FIFO Dynamic Network," serial number 60/463,202, filed April 16, 2003, which is also incorporated herein by reference in its entirety.
Background
The problem of finding the best route from a source to a destination in a weighted network has received a great deal of attention in the past few decades. Commercially available tools exist that allow a user to specify a source and a destination and receive a route between the points. If these tools perform any optimization, they generally focus on optimizing the route travel time. But travel time may not be the only, or the most significant consideration in managing travel. Furthermore, the tools may not acquire up-to-date data concerning route existence, condition and/or driver preferences.
Transportation is the backbone of a modern economy. Efficient transportation is highly valuable since it facilitates lowering expenses, reducing pollution, and utilizing expensive transportation assets so that they are more often moving goods and services and less often traveling empty or inefficiently. Efficient transportation concerns minimizing travel cost, where travel cost may involve more than simply travel time. Many systems and methods have been developed to move goods and people efficiently from point to point. Such methods include systems that enable vehicles involved in transportation to be tracked and monitored. For example, U.S. 5,428,546 (Shah, et al.) issued June 27, 1995 describes a system for tracking vehicle locations and displaying such locations via visual monitoring devices. Shah and similar systems enable a remote user to track vehicles in real time but are largely focused on the problem of theft recovery.
There are also systems for managing traffic information. For example, U.S. 5,465,289 (Kennedy) issued November 7, 1995, describes a method for providing vehicle traffic information using cellular telephone technology. U.S. 5,299,132 (Wortham) issued March 29, 1994 facilitates locating vehicles through cellular telephone technology. U.S. 5,317,323 (Kennedy et al.) issued May 31, 1994 describes a vehicle locating system utilizing Global Positioning Satellite System (GPS) and cellular telephones. U.S. 5,396,429 (Hanchett) issued March 7, 1995, employs roadway sensors and cameras for monitoring traffic flow. Other systems facilitate monitoring vehicle security with respect to theft and tampering, as described for example in U.S. 5,218,367 (Sheffer et al.) issued June 8, 1993. U.S 6,304,816 (Berstis) issued October 16, 2001 describes a method and apparatus for automatic collection of data from vehicles that facilitates inferring current traffic conditions. These systems deal with identifying vehicle location and in some cases providing information concerning traffic flow.
The transportation industry and the computer routing community have long been interested in transportation efficiency, whether it be goods or data packets. Thus, research like that of Dijkstra has addressed the "shortest path problem". See, for example, Implementing Dijkstra' s Shortest Path Algorithm in Java, http://renaud.waldura.com/doc/java/dijkstra.html. hi 1959, Dijkstra produced the Dijkstra algorithm, which reduces the processing involved in exhaustively searching a travel network by identifying all possible paths in close proximity to the origin as a way of limiting the search set of paths during route generation. This research has
been extended to more efficient algorithms, like the A* algorithm. See, for example, A Formal Basis For The Heuristic Determination Of Minimum Cost Paths, Hart et al, IEEE Trans. Syst. Sci. Cybern., vol. SSC-4, no. 2, pp. 100-107, 1968. The A* algorithm assumes that a search knows the location of both the source and the destination. The A* algorithm then searches from both the source and the destination points while maintaining Dijkstra' s close proximity bias.
Other work has addressed the problem of computing travel costs in first in first out (FIFO) dynamic networks. For example, Adaptations of the A* Algorithm for the Computation of Fastest Paths in Deterministic Discrete-Time Dynamic Networks, Chabini and Lan, IEEE Transactions of Intelligent Transportation Systems, Vol. 3,
No. 1, March 2002, addresses extending the A* algorithm to shortest path problems in dynamic networks where arc travel times are time dependent. However, such work has generally been limited to FIFO networks.
The FIFO concept asserts the simplifying assumption that the first vehicle to leave is always better off. In the FIFO model, if Fred is racing Gladys to the destination and Fred arrives at intermediate node X before Gladys, then Fred will necessarily get to the destination before Gladys in every instance. Those who have traveled in and around major cities understand immediately the flaws of this assumption. Once this assumption is employed, Dreyfus noted, the complexity of solving for a time-expanded network collapses back to the complexity of solving for a static network.
The reach of current Geographic Information System ("GIS") software functionality is extended by introducing the construction of and accessing of a database containing automatically gathered detailed road condition histories and then using a set of routing algorithms, such as an Estimation-Pruning ("EP") algorithm, for example, to optimize large, time-expanded networks with non-sequential (non-FIFO) characteristics in conjunction with the database(s).
Humans have always sought to explore the world and to record the history of those travels so that future trips might be made more efficiently and safely. Even the earliest governments recognized the economic and social benefits that explorers can bring to their kingdoms and as such mapping and cartography projects were state funded for centuries.
In recent times, such study has come to be called GIS. Modern GIS began in 1960, when the U.S. Census Bureau conducted its first road census. Shortly after, in
1965, Rand McNally founded MapQuest with the mission of providing motorists with directions to gas stations. The next 20 years were largely spent on making sure road maps were accurate. h 1980 Geographic data Technologies ("GDT") was launched with the objective of cross-referencing road data with street addresses and zip codes thus launching the next era of GIS. In the next 15 years an ever growing set of companies worked to ensure the road data was up to date and they were further characterize to include vital information like, number of lanes, one way streets, local traffic rules, etc. Still in 1995, maps were still something for the glove box. That changed when the United States Census Bureau ("USCB") launched Topographically Integrated Geographic Encoding and Reference ("TIGER") System as a proof of concept. The next year the world changed again when Yahoo! Licensed MapQuest maps and made them available for free on their web site. The late 1990s witnessed the introduction of many map viewing and manipulation tools. Computerized mapping became a promising new technology and major players began to put stakes down including Microsoft, TeleAtlas, and AOL/Time Warner.
Still, the promise of more efficient and safer routes, which has long been the underpinning of cartography and GIS, has yet to be realized. A recent DOT study indicated that while the popular maps have reduced the amount of time associated with a trip, reductions came from the amount of time it takes to plan a trip. The routes themselves were either equal to or worse than the routes generated by manual methods.
Summary of the Invention The following presents a simplified summary of apparatus, systems and methods associated with managing travel to facilitate providing a basic understanding of these items. This summary is not an extensive overview and is not intended to identify key or critical elements of the methods, systems, apparatus or to delineate the scope of these items. This summary provides a conceptual introduction in a simplified form as a prelude to the more detailed description that is presented later.
According to a first aspect of the present invention, a method for establishing a lowest cost travel route is disclosed. The method includes identifying one or more factors to consider in computing a lowest cost travel route and accessing a data store that stores data associated with the one or more factors to consider in computing a
lowest cost. The method also includes acquiring one or more values for the one or more factors to consider in computing a lowest cost travel route and computing a lowest cost travel route using an estimation-pruning algorithm based, at least in part, on the one or more values. The method further includes displaying the lowest cost travel route on a display.
Certain illustrative example apparatus, systems and methods are described herein in connection with the following description and the annexed drawings. These examples are indicative, however, of but a few of the various ways in which the principles of the apparatus, systems and methods may be employed and thus are intended to be inclusive of equivalents. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings.
Brief Description of the Drawings Comprehension of the invention is facilitated by reading the following detailed description, in conjunction with the associated drawings, in which: Figure 1 is a diagram of an example network;
Figure 2 is a time-expanded diagram of the movement through the example network of Figure 1; Figure 3 is a diagram of an example network having plurality of nodes;
Figure 4 is a diagram illustrating travel costs associated with travel through five nodes of an example network;
Figure 5 is a diagram illustrating a selected route and an eliminated route; Figure 6 is a bar chart illustrating the travel costs associated with various example algorithms; Figure 7 is a
Detailed Description
Travel distance is not always the best, or even preferred, trip factor to be optimized. In some instances, a user may desire to optimize travel cost based on factors like safety, distance, standard deviation, avoidance of speed traps, and other considerations. For example, when lake effect snow is falling in Buffalo, a trip that bends thirty miles south of Buffalo before returning to the New York State Turnpike
may be preferred over a shorter route that travels through the location of the lake effect snow.
The cost of each link in a network can be computed according to a weighted combination of factors specified by the user. The problem gets more complicated when dealing with a dynamic network. A dynamic network is a network in which the link travel costs are time dependent. When the defined travel cost does not have the FIFO property (defined below), computing minimum travel cost is even more difficult. This application concerns applications of an EP algorithm that finds a cluster of routes in a network that have the best bound on their travel cost, and which access data from a database that stores historical route data (e.g., likelihood of accidents, likelihood of lake effect snow).
This application concerns an EP algorithm for finding the best path (with minimum cost) from a source to a destination in a dynamic network that does not necessarily obey the FIFO property. The EP algorithm consists of two steps. The first step is the forward or the Estimation step in which a bound on the traveling cost of each possible path is calculated. The second step is the backward or the Pruning step in which the paths that are unlikely to produce the best route are eliminated. The resulting network is then expanded in time and is converted to a static network, which is used to find the best route.
Non-Fifo Dynamic Networks And Time Expansion:
Let G=(V,E) be a directed network, where V={1,2,...,N} is the set of nodes and E={1,2,...,M} is the set of directed links. The cost of traveling from node "i" to node "j" in a dynamic network is a function of time and is represented as j(t). Assume that Cy(t) is a discrete function of time and stays constant for periods of Δt. Furthermore, assume that there is at most one link from node i to node j, although this is not required and is only assumed for simplicity of this presentation. In addition, the time it takes to travel from node "i" to node "j" in a dynamic network is also a function of time and is represented as Ty(t). The parameter T^(t) is not necessarily the same as j(t) since the traveling cost could be a function of traveling time and other factors.
Referring to Figure 1, there is illustrated a simple example network 100 having three nodes A (110), B (120) and C (130). Assume that the user can leave
node A between times tl and t2 = tl + 3 * Δt and would like to reach node C with the minimum total traveling cost.
Depending on when the user departs from node A, the cost of going from node A to node B could be CAB^I), C"AB(tl+Δt), CAB(tl+2*Δt) or CAB(tl+3*Δt). Similarly, the cost of going from node A to node C depends on when the user departs from node A. The cost of going from node B to node C depends on when the user arrives at node B. For instance, if the user leaves node A at time tl + Δt, she will get to node B at time tl+Δt+TAB(tl+Δt) and the cost of going from B to C would be CBC(tl+Δt+TAB(tl+Δt)). In the process of finding the best route with minimum cost, there are benefits to considering all possibilities. To do this, one can time expand the dynamic network by replicating each node to convert it to a static network. Figure 2 shows the corresponding time expanded network of Figure 1.
In this case, node A has been replicated four times to account for the fact that the user can leave during four different time intervals. Note that in each case, the user can arrive at node C at two different time slots (depending on which path is chosen). Therefore, if the user wants to leave node C, the time-expanded version of Figure 1 would have 4X2=8 different replications. It is apparent from this simple example that the technique of time expansion can exponentially increase the size of the network, and in real life scenarios this leads to intractable problems that cannot be solved in real time.
Intelligent algorithms have been developed to deal with such problems. Most of these techniques, however, use the assumption that the network has the FIFO (First-In-First-Out) property. This property states that if path 1 enters link L with a smaller total cost compared to the total cost of path 2, then path 1 also leaves link L with a smaller total cost. This assumption is reasonable if the traveling cost is the same as the traveling time (hence the name FIFO). As mentioned above, this is not generally the case. A good example would be when one is searching for the safest route as opposed to the fastest route. The safest route may avoid bridges that tend to ice, and be substantially slower than the "fastest" route. However, if the bridge is in fact iced up, then the route over the iced bridge may be substantially slower than predicted, and the safest route may also be the fast route.
The EP algorithm estimates an upper bound and a lower bound on the total traveling cost of going from the source to the destination through all possible paths
before the time expansion process (the Estimation step), and then eliminates the paths that are unlikely to have the minimum cost (the Pruning step). The output of the EP algorithm is a small number of candidate paths, which can be expanded in time in a tractable manner. One or more of these candidate paths can then be selected as a lowest travel-cost route which is displayed for a driver and/or manager to facilitate planning a trip and/or managing a set of transportation assets. Furthermore, during a trip, based on real-time data acquired from the environment through which the transportation asset is passing, an on-board processor can dynamically recompute the lowest travel-cost route and display updates to the driver. Traffic events that occur after determining initial routing may result in adjusting the route. For example, a bridge closure on a route may require a notification that an alternate route is desirable. An adjustment can be transmitted to a vehicle for display on its moving map screen. The adjustment may be accompanied, for example, by an audible or visual reminder or by spoken instruction. Furthermore, the bridge closure may be noted in the historical and predictive data base to facilitate computing more optimal routes during the time of the traffic event on the bridge.
The systems and methods described herein facilitate managing commercial delivery, merchandise delivery, document delivery, parcel delivery, freight delivery, material delivery, food delivery, perishable delivery and the like. However, the systems and methods can also be employed in personal and business ground transportation.
The systems and methods facilitate planning shipping hazardous materials like flammable fuel, explosives, hazardous wastes (chemical, biological, nuclear, and the like). For example, the systems and methods can be programmed to query for location information at specific time intervals, and to recompute a route based on the updated information.
The systems and methods may interact with a system that analyzes traffic data over time and which includes a detailed model of traffic at various points in time. The system may make traffic estimates and predictions based on this model, and apply recent and real-time traffic data to adjust predictions of traffic behavior and thus dynamically update a route substantially in real-time. The following pseudo-code illustrates portions of one example EP algorithm.
The Estimation (Forward) Step:
Define the following parameters: Cfmm(i): The lower bound on the cost of traveling from source to node i
Cfmaχ(i): The upper bound on the cost of traveling from source to node i
Tmin(i): The lower bound on the time of arrival at node i Tmax(i) : The upper bound on the time of arrival at node i
This section locates the above parameters for nodes until the destination node is reached. Consider the simple example of Figure 1 again. Assume that Cfmin(A) and Cfmax(A) are known. We also know that Train(A)=tl and Tmax(A)=t2= tl+3*Δt. The systems and methods can thus estimate the same parameters for node B as follows: Cfmin(B) = Cfmi„(A)+min{ CABAI*): Tmin(A)< tι*< Tmax(A)}
Cfmax(B) = Cfmax(A)+max{ CAB(t2*): Tmin(A)< t2*< Tmax(A)}
Tfmin(B) = Tmin(A)+min{ TAB^S*): Tmin(A)< t3*< Tmax(A)}
Tfmax(B) = Tmax(A)+max{ TAB^*): Tmin(A)< t4*< Tmax(A)}
The bounds on the cost and the arrival time may never be achieved, but they are absolute bounds and are not exceeded. This example indicates that after initialization at the source node, the search can proceed node to node towards the destination and calculate the cost and arrival time bounds on each node. If more than one branch enters a particular node, the minimum of the lower bounds and the maximum of the upper bounds are recorded (the latter is due to the non-FIFO property). This process continues until the destination node is reached. At tins point, the systems and methods can compute the bounds on cost for entering the destination node through the last link. If k links enter the destination node at the end, there will be k bounds on the cost and arrival time for each link. Now the algorithm can traverse the network backwards and prune the possible paths that have unpromising bounds on their traveling cost.
The Pruning (Backward) Step:
So far, in the forward step, the systems and methods have been keeping the minimum of the lower bounds and the maximum of the upper bounds. In the backward step, the systems and methods will keep the minimum of the lower bounds and the minimum of the upper bounds. The following pseudo-code further illustrates this process. Define:
Cbmin(i): The lower bound on the cost of traveling from node i to the destination
Cbmax(i): The upper bound on the cost of traveling from node i to the destination
These parameters can be updated from node to node in a similar way as in the forward step. Consider the situation in Figure 3, where the destination node D can be reached from any of the k nodes.
For each node entering the destination node, the systems and methods can calculate:
C
max l-'Ima l,.
"•
" Dπ-aχ(lJ
Where, Cm[n is the lower bound on the cost of going from source to destination through node "i", and C'max is the upper bound on the cost of going from source to destination through node "i". Figure 4 shows a possible outcome of what these bounds may look like for k=5 nodes entering the destination.
The function of the pruning step should now be clear. Compare the bounds of node 4 and node 1. Since C1 max< C4 min, it is better to get to D through node 1 as opposed to node 4. This is the best case when the intervals within the bounds of different nodes do not overlap. In the basic EP algorithm presented in the next section, the pruning step always chooses at most two nodes in each stage. These two nodes are the nodes corresponding the smallest mimmum and the smallest maximum (which may happen to correspond to the same node). All other nodes are discarded. In the example of Figure 4, only nodes 1 and 2 are selected, and this assures us that
1 9 the final route will have a cost bounded by C min and C max. The algorithm can be extended to a more generic version of the EP algorithm that allows selecting the best 2p nodes at each pruning stage. By default, p=l .
The following pseudo code further illustrates one example implementation of the EP algorithm.
//Definitions:
@N: List of all the nodes in the network (provided)
@Q: List of all the nodes to be processed by the forward step
S: Source node
D: Destination node
Tmin(i): Lower bound on the time of arrival at node i Tmax(i): Upper bound on the time of arrival at node i Cfmin(i): Lower bound on the cost of traveling from source to node i Cfm--χ(i): Upper bound on the cost of traveling from source to node i
Cbmin(i): Lower bound on the cost of traveling from node i to the destination Cbmaχ(i): Upper bound on the cost of traveling from node i to the destination C min: Lower bound on the cost of going from source to destination through node i C'max. Upper bound on the cost of going from source to destination through node i j(t): Cost of traveling from node "i" to node "j" at time t (provided) Tjj(t): Time of traveling from node "i" to node "j" at time t (provided) @Adj[i]: List of nodes that can be directly linked to from node i (provided) @Flist[i]: List of nodes entering node i collected in the forward step @Blist[i]: List of nodes from @Adj[i] kept in the backward step
//Initialization: @Q = @N
For all i in @N: Tmin(i)= oo Tmax(i) = 0 Cfmin(i) = oo
Cfmax(i) = 0 Cbmin(i) = oo Cbmax(i) = oo
Tmin(S)= tl (entered by user) Tmax(S) = t2 (entered by user) Cfmi„(S) = 0 Cfmax(S) = 0 Cbmin(D) = 0 Cbmax(D) = 0
@Flist[i] = NULL
@Blist[i] = NULL
// Forward (Estimation) step: while D is in @Q, i = node with smallest Cfmin(i) from @Q remove i from @Q break if i = D for each node j in intersection of @Adj[i] and @Q add node i to @Flist[j] if Tmin(j) > Tmin(i)+min{ Tfl(t*): Tmin(i)< t*< Tmax(i)}
TminG) = Tmin(i)+min{ Tij(t*): Tmin(i)< t*< Tmax(i)} if Tmax(j) < Tmax(i)+max{ Tfi(t*): Tmin(i)< t*< Tmax(i)}
Tmax(j) = Tmax(i)+max{ Tij(t*): Tmin(i)< t*< Tmax(i)} if Cfmin(j) > Cfmin(i)+min{ j(t*): Tmin(i)< t*< Tmax(i)} C- Q) = Cfmin(i)+min{ j(t*): Tmin(i)< t*< Tmax(i)} if Cfmax(i) < Cfraax(i)+max{ Qj(t*): Tmin(i)< t*< Tmax(i)}
CfπaxO') = Cfmax(i)+niax{ j(t*): TIϊlin(i)< t*< Tmax(i)}
// Backward (Pruning) step: @Current=NULL @Next=D while @Next != NULL
©Current = @Next @Next=NULL for each node j in @Current
Cj min =min{ Cfmin(i)+ min{ Qj(t*): Tmin(i)< t*< Tmax(i)}+Cbmin(j)} i in @Flist[j]
MING) =argmin{ Cfmin(i)+ min{ Cij(t*): Tmin(i)< t*< Tmaχ(i)}+Cbmin(j)} i in @Flist[j]
Cj max =min{ Cfmax(i)+ max{ j(t*): Tmin(i)< t*< Tmaχ(i)}+Cbmaχ(j)} i in @Flist[j]
MAXO) =argmin{ Cfmax(i)+ max{ Cij(t*): Tmin(i)< t*< Tmax(i)}+CbmaxG)}
i in @Flist[j] n=argmin{ Cj min } j in @Current m=MIN(n) if Cbmin(m) > Cbmin(n)+min{ C^ *): Tmin(m)< t*< Tmax(m)}
Cbmin(m) = Cbmin(n)-l-min{ C^t*): Tmin( )< t*< Tmax(m)} if Cbmax(m) > Cbmax(n)+max{ Cπ-n(t*): Tmin(m)< t*< Tmax(m)}
Cbmax(m) = Cbmaχ(n)+max{ Cmn(t*): Tmin(m)< t*< Tmax(m)}
If m != S add m to @Next
n=argmin{ CJ max } j in ©Current m=MAX(n) if Cbmin(m) > Cbmin(n)-r-min{ C^t*): Tmin(m)< t*< Tmax(m)}
Cbmin(m) = Cbmin(n)+min{ C^t*): Tmin(m)< t*< Tmax(m)} if Cbmax(m) > Cbmax(n)+max{ C^t*): Trnin(m)< t*< Tmax(m)}
Cbmax(m) = Cbmax(n)+max{ (^.(t*): Tmin(m)< t*< Tmax(m)}
If m != S AND m not already in @Next add m to @Next
Complexity Analysis The forward step in the EP algorithm has the same complexity as the Dijkstra algorithm, 0(N2) [13]. The number of pruning iterations is at lest equal to the number of nodes on the best path from the source to the destination, hi the worst case, when the number of nodes in F linearly depends on N (as opposed to a constant), the prumng step could take at most 0(N2). However, in typical networks the pruning step converges a lot faster than 0(N2).
Run Time Analysis
The loop in the forward step runs at most N times until the destination is removed from the @Q list. Each link is processed at most once and therefore the
forward step runs in linear time O(M). The backward step runs at most in O(NΛ2) time if the number of nodes in the @Flist is a fraction of N. If the number of nodes in @Flist is a constant, the backward step runs in O(N).
The backward step could eliminate possible routes that are likely to produce the best path. An example of this situation is shown in Figure 5. An extension of the EP algorithm could take the parameter P as the input, and always selects the best 2P nodes in each stage of the backward step (the factor of 2 is for the Min and Max criteria). This parameter is a tuning parameter that introduces a tradeoff between the running time and the accuracy.
Simulation Results
The EP algorithms discussed herein have been implemented in Java for the purpose of concept testing and comparison with other methods. The primary performance benchmark in the following simulation results is the Dijkstra algorithm adopted to compute optimal costs for static approximations of a dynamic network. The first approximation, referred to as MINDA, uses minimum cost across all the time bins as the link cost. The second approximation, referred to it ΆS AVGDA, uses the average cost across all the time bins as the link cost. After running MINDA and A VGDA, the actual dynamic cost of their output route is calculated by traversing the dynamic network along these routes. In addition, the absolute minimum cost route for the given dynamic network is computed by exhaustive search.
All algorithms were tested and compared on randomly generated networks with different setups. The network variables are: number of nodes, number of links leaving each node, average travel time and cost on each link, standard deviation for time and cost of each link, number of time bins, and the neighborhood size. The neighborhood parameter was introduced to model the node clusters in the real road networks (e.g., an urban area is heavily connected within itself, but different areas are sparsely connected between each other). Higher time and cost values were also introduced for certain time bins in order to simulate time characteristics in the real world (e.g. , rush hour conditions on the highways).
A numerical comparison was performed on a sample network with 1000 nodes, 3 links leaving each node, 100 node neighborhood, 24 time slots (hourly model), and uniformly distributed times and costs with some additional rush hour
penalties at specified time bins. Obtained results are presented in Table I and Figure 6.
Table I
The EP algorithm achieves significantly better results than the Dijkstra algorithms. For realistic road network of this simulation with rush hour traffic patterns, EP outperforms both Dijkstra approximations by 35-40%.
The EP routing cost in Table I is very close to the exhaustive search optimal routing cost even with pruning parameter ) = 1 and asp is increased the EP cost rapidly converges to the optimal cost point.
Optimization algorithmic history and resulting process As road information became more available, a parallel academic effort developed to generate computer algorithms that could use this information for navigation. When the USCB began publishing road segment data, Label-Setting (LS) algorithms were used as a way link together a path between a stated Origin (O) and Destination (D) node pair. The most popular LS algorithm is the Dijkstra algorithm. Dijkstra' s optimization routine considered all possible node paths around the Origin node in constructing a path.
Then in 1968, Hart, Nielsson and Raphael published their seminal work "A Formal Basis for the Heuristic Determination of Minimum Cost Paths" where they introduced the A* algorithm as the admissible and optimal for shortest path problems. In this paper, and several that built upon it in the next ten years, it was shown that the
A* algorithm searches less than 8.3% of the area that Dykstra searches with superior route time results.
Still, the processing time required to generate optimal maps remained a stubborn computer science problem. Thus, transportation assets continued to be less efficient than possible.
In one example of the systems and methods described herein, generating optimal maps has been divided into three communicating, co-operating processes:
1. Generating a set of feasible, valid routes
2. "Costing" the routes 3. Stopping the search once a cost (lower) threshold has been breached
Generating feasible routes is computationally intensive. The Dykstra and A* algorithms attempt to reduce the time required to do those tasks. Efforts have been made to reduce the time required to generate the path through the use of experts (Bander and White '91) and previously calculated optimal paths (Bander and White '98), but those improvements were only shown to work on static networks where road speeds do not change.
When "costing" a route, each road segment is assigned a cost. These costs are added up and the route with the resulting lowest cost wins. Early algorithms assigned cost based on distance, a static measure of a road segment. Most people, however, are more concerned with reducing the time they spend in their car rather than the distance traveled. So road speeds were introduced to route finding systems and methods. Initially road speeds were fairly static as well. Each road was assigned to one of, for example, 12 classes, and each class was associated with a single road speed (e.g. 50 mph for highways, 20 mph for side streets). In practice, however, road speeds exhibit more variation than this system allowed. So the concept of rush hour/non-rush hour speeds was introduced, and the number of speeds considered by the system doubled.
Still, this was not an accurate reflection of reality. For example, such a system does not differentiate for morning versus evening rush hour, nor does it account for direction traveled on the road, or even which roads within the class are more likely to become congested during the rush hour and/or other events.
The lack of consideration of wide variations in road speeds by tightly discrete time periods has its origin in two artifacts. First, there was no practical way to gather and record that data. Second, the computer science issues involved with optimizing in consideration of such a set of consideration was several orders of magnitude more
advanced than was being used at the time. Thus, transportation networks were frequently traversed using routes that did not minimize travel cost.
Cook and Halsey first proposed the concept of a time expanded network in 1966, but the concept sat largely unexplored until 1991 when Ziliaskopoulos and Mahmassani extended the Belman-Ford algorithm to a time-expanded network. These concepts were expanded recently by Chabini and Lan (2002) who have "observed that the vector of optimal shortest path costs can be constructed in decreasing order of time." The resulting algorithm, known as the DOT algorithm, has been proven to be an efficient algorithm for the worst case time complexity, meaning if there is no compression during the time expansion part of the problem, DOT will come up with the best solution for all possible departure times.
These algorithms rely on a critical simplifying assumption: they all assume that if you leave the origin earlier you will always be better off. This assumption has been described as the FIFO (first-in, first-out) assumption in the literature. FIFO does hold for distance optimization as well as static road-speed, time optimization, but it cannot be used to optimize on road safety considerations where it may be true that a delayed trip will be a safer trip (e.g., waiting until after the roads are salted). It also cannot be used to model situations where some drivers travel across the same roads faster than others (e.g., car pool lane, speeder), where a driver can choose to drive faster on some days than others, or for optimization based on the standard deviation of the trip.
Another optimization concerns creating a lower bound for the route's total cost. Once this lower bound has been breached, the search for paths stops. Chabini and Lan (2002) introduce the concept of a dynamically generated lower bound. It was shown that the modified form of A* using the dynamically generated lower bound produces superior results in terms of travel times and required processing time. Furthermore, the size of the improvement increases dramatically as the size of the geography being considered expands.
A series of road tests using routes generated from a free map service were undertaken. A passenger vehicle was equipped with a GPS unit that transmitted speed, heading, and location data for every 10 seconds that the vehicle was moving. The experimenter then drove on various routes between a location in Oakland and the Stanford University campus during morning rash hour. The travel times reported
were between 30% and 80% higher than the travel times predicted by the map service. The route suggested by the map service did not change by time of day.
Thus, the systems and methods described herein consider road speed by time of day when generating routes. In one example, the systems and methods interact with a GPS based vehicle system(s) that automatically gathers and transmits real-time data into a scalable database that can be accessed when computing a mimmum travel cost route. The database can include data that has been systematically gathered concerning precise road and trip history data. The data is cross referenced to facilitate enhancing explanatory power using, for example, weather conditions, vehicle profile, driver profile, emergency conditions, and so on. The database can also provide a predictive layer of data for use in time expanded optimization systems.
Furthermore, the EP algorithm can acquire data from a set of stochastic models that translate historical observations into expected road conditions. Thus, the systems and methods herein facilitate considering non-sequential (e.g. non-FIFO) events, such as the incidence of accidents, standard deviation, and the preponderance of different drivers traveling over the same road at different speeds.
Referring now to Figure 7, there is illustrated one example system which may employ the present invention. The system includes, among others, the following components: a. GPS. Global Positioning Satellites shower the earth with precise time stamps.
When three or more satellites are within range those signals can be triangulated to calculate precise speed, location, heading and altitude observations. b. Hardware tracking/communication unit. There are a variety of tracking devices employed. The systems and methods may employ, for example, a passive device requiring no driver interaction, where the device features a GPS receiver, wireless transponder, memory cache and ARM processor attached to the vehicle's 12 volt power supply. Additionally, the systems and methods can harvest data from a wide variety of tracking vendors, including, but not limited to tracking systems are offered by Qualcomm, @Road, Aether,
PeopleNet and Sapias. c. Wireless, communication methods. Making the database accumulation process feasible is facilitated by communicating large sets of data back to an Operations Centers. The systems and methods are wireless-agnostic, meaning
they utilize the best wireless solution at the time. For example, the systems and methods may employed CDPD, Microburst (from Aeris.net) and 802.11, GPRS, satellite and other types of the WiFi. d. Low-Orbit Satellite Technology (LOST). Additional road knowledge can be gathered using low orbit visually-based satellites. By comparing images at discrete time intervals, road speeds are calculated. This facilitates having more complete data, identifying road predictive road patterns that may indicate upcoming events (e.g. accident prediction), the ability to track other road characteristics (e.g. the presence of an emergency vehicle) and the ability to gather data without attaching devices to individual vehicles. e. The Uber-base. Raw observation data is then stored in AQUI's large database dubbed the Uber-base. The raw observations include, but are not limited to, latitude/longitude, vehicle identity, speed, heading, altitude and timestamp. f. Advanced Uber-base characterization. Once an observation is recorded, the systems and methods further characterize it by acquiring cross-reference information that is useful in explaining how the observation occurred. Initial data sources to be characterized include, but are not limited to, weather, nearby accidents and nearby construction. Other considerations such as holidays and sporting events will also be considered as the data warrants. g. Translation to road segments. In one example, on some regular schedule, the raw latitude/longitude data can be translated to road segment data for the purposes of updating the stochastic model. Map vendors describe the roads using defined "road segments" or "links." The two broad classes of links are intersections and road segments between intersections. North America has about 30 million links. Links are pieced together to form a path in the algorithm routing process. h. Stochastic modeling. The stochastic model considers the history of road conditions to generate predictions of what speeds and other cost elements are • expected to be under the conditions projected for the roads in the planning period. i. Creation of the Persista-base. The real time demands of a responsive routing system require a highly available simplified database describing the conditions of each road segment under the possible conditions expected to be
encountered during the planning process. The Persista-base availability is maintained by segmenting it into logical geographic modules. j. Post-FIFO, time expanded algorithm, EP algorithm. Described above.
Input/Output Methods.
Example systems and methods described herein have a variety of ways to deliver route information to an end user. One example uses web-based using PCs. Other examples include, but are not limited to, in- vehicle displays, in- vehicle voice commands, and server-resident application. Thus, the systems and methods herein facilitate developing preference profiles and computing optimal routes where drivers can choose to optimize routes based on a weighting of efficiency, distance, safety, standard deviation, avoidance of speed traps, and other considerations. The optimized route can interact with data concerning a subset of road condition data in real time that has proven to have significant and far- reaching impact (so-called "Flashpoint" data) using satellite and other technologies, which facilitates the re-processing of expected navigation paths based on the flashpoint data and the communication of updated navigation suggestions to drivers in real time.
Conventional optimization processes have included: generating a set of feasible, valid routes; costing the routes; and once a cost (lower) threshold has been breached, stop the search. Example systems and methods described herein include: 1. Gathering empirical data, both historical and real time 2. Characterizing the data set
3. Generating feasible routes (old #1)
4. Ensuring route is properly sequenced for maximum calibration
5. Determining optimization criteria of end user
6. Costing the route (old #2) 7. Establishing and executing stop criteria (old #3); and
8. Displaying the minimum travel cost route
The systems and methods may include a closed loop system for gathering empirical data. One example unit has a GPS receiver and a wireless transponder to communicate the relevant information back to our database. The example device has a
processor on board as well as storage. The systems and methods can harvest data from a wide variety of tracking vendors (e.g., Qualcomm, @Road, Aether, PeopleNet and Sapias). Additionally, an example system may gather road condition data using satellites. Under this scenario, the systems and methods periodically access satellite images of major roads. Image processing techniques are then employed to detect how the traffic is moving in an observed location. Based on the frequency of these images, and the distance traveled by the detected traffic, the systems and methods can calculate the speed at that time and store the data in a database, which can thus be accessed by the EP algorithm to facilitate computing and/or recomputing a minimum travel-cost route.
The systems and methods also characterize the gathered data. Observations have a longitude and latitude. That data can be cross referenced to weather databases to determine the type of weather that particular stretch of road is/was subject to during an observation. Likewise the data is cross referenced to construction and accident databases to determine whether those were also influencing the traffic patterns at that time. Thus, the EP algorithm can consider substantially real-time data in computing a minimum travel-cost route for a dynamic non-FIFO network.
The systems and methods ensure that the routes are properly sequenced for maximum road calibration. The predicted road speeds during the time the vehicle is predicted to be at the location specified are employed in adjusting the route as necessary. This step incorporates stochastic models and optimization routines that incorporate tomorrow's projected routes as well as the weather forecast and road construction plans.
The systems and methods then determine the factors employed in computing a travel cost. For example, the systems and methods can consider the relative importance to the end user of travel time, safety and standard deviation of trip. This facilitates costing the routes.
The systems and methods also set the dynamic lower bound to determine when an acceptable route has been reached. Once an acceptable route or routes have been reached, these route(s) can be displayed to a driver or transportation manager, who can then select a route and initiate a travel action.
Although the invention has been described in terms of specific embodiments and applications, persons skilled in the art can, in light of this teaching, generate additional embodiments without exceeding the scope or departing from the spirit of
the claimed invention. Accordingly, it is to be understood that the drawings and description in this disclosure are proffered to facilitate comprehension of the. invention, and should not be construed to limit the scope thereof.