WO2008053240A1 - Method of and apparatus for generating routes - Google Patents

Method of and apparatus for generating routes Download PDF

Info

Publication number
WO2008053240A1
WO2008053240A1 PCT/GB2007/050558 GB2007050558W WO2008053240A1 WO 2008053240 A1 WO2008053240 A1 WO 2008053240A1 GB 2007050558 W GB2007050558 W GB 2007050558W WO 2008053240 A1 WO2008053240 A1 WO 2008053240A1
Authority
WO
WIPO (PCT)
Prior art keywords
routes
route
destination
source
cost
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/GB2007/050558
Other languages
English (en)
French (fr)
Inventor
Alan Henry Jones
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cotares Ltd
Original Assignee
Cotares Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cotares Ltd filed Critical Cotares Ltd
Priority to US12/445,238 priority Critical patent/US8249810B2/en
Priority to JP2009535133A priority patent/JP5448827B2/ja
Priority to EP07804462.5A priority patent/EP2084493B1/en
Publication of WO2008053240A1 publication Critical patent/WO2008053240A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/106Map spot or coordinate position indicators; Map reading aids using electronic means
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags or using precalculated routes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Definitions

  • the present invention relates to a method of and an apparatus for generating a plurality of diverse routes in a weighted directed graph.
  • reverse routes means routes which share the same links over less than a predetermined proportion of their lengths, typically over less than 85% of their lengths.
  • An edge connects two vertices u and v; v is said to be adjacent u.
  • each edge has a sense of direction from u to v and is written as an ordered pair ⁇ u,v> or u->v.
  • an edge has no sense of direction and is written as an unordered pair ⁇ u,v ⁇ or u ⁇ ->v.
  • An undirected graph can be represented by a directed graph if every undirected edge ⁇ u,v ⁇ is represented by two directed edges ⁇ u,v> and ⁇ v,u>.
  • Both directed and undirected graphs may be weighted.
  • a weight is attached to each edge. This may be used, for example, to represent the distance between two cities, the driving time, the cost of the journey, the resistance of an electrical path or some other quantity associated with the edge.
  • the weight is sometimes called the length or cost of the edge, particularly when the graph represents a map of some kind.
  • the weight or length of a path or a cycle is the sum of the weights or lengths of its component edges.
  • the methods described in this application are generally applicable to any domain where the costs can be described by a weighted directed graph, and where there are no cycles of negative cost in the graph.
  • Road route planners are designed to find the optimum route from source A to destination B. They define this as the single route with the minimum cost, where the cost function is a simple weighted sum of times, junction delays, distances, financial costs, type of road of the links that make up the route.
  • shortest-path The methods are often called "shortest-path” where this is understood to mean shortest in the sum of the costs, whatever they represent, not necessarily in metres.
  • shortest-path For a given cost function and road graph, there exists a lowest cost going from A to B, and this be found by using well known algorithms such as Dijkstra's algorithm. In a degenerate case, there may be a plurality of routes which share this globally lowest cost but the algorithms will find just one of them. Dijkstra's algorithm actually finds the optimum route from A to all nodes, but variations on it are designed to terminate early and to explore preferentially in the direction of B. The main constraint on the graph is that there should be no cycles with a negative overall cost, which is simple enough to satisfy for a road network where all the costs are positive.
  • EP 1 335 315 discloses a technique for planning multiple non-diverse paths in a weighted non-directed graph.
  • Dijkstra's algorithm is used twice; once for providing a routing tree from a start to all nodes of the graph and once for providing a routing tree specifically from a goal to all nodes. The weights from both trees are then summed to obtain the weight of going from the start to the goal via every node of the graph. Routes are tested for the ability to be topologically transformed into each other in the presence of obstacles so as to find topologically different paths. Such a technique is particularly suitable for robotic guidance.
  • Yen's algorithm is not useful for finding good alternative routes, as the Kth shortest paths will simply be minor variations on the most optimum route. It works by repeatedly running Dijkstra's algorithm on a graph where edges and nodes are prohibited, by effectively setting their cost to infinity. In a road network, this is a non- starter for finding truly diverse routes as there is no way of knowing if the prohibited node or link is vital to one of the good alternative routes.
  • Suurballe's algorithm and others are designed to find edge- or node-disjoint paths. These are unhelpful for finding good alternative routes because some road segments may be shared between several of the diverse alternative routes that we would like to find, which are therefore not disjoint. They work by running Dijkstra's algorithm to find a primary route, then altering all of the link costs, and running Dijkstra's algorithm again to find a backup route. For road route finding, we may not need such a mathematically rigorous definition of the K routes.
  • US patent 6199009 discloses a technique for computing several routes based on the different preference settings (quickest, shortest, combination) and allowing the user to select between them.
  • the problem with this approach is that in most cases the routes will be similar or even identical to each other (e.g. the shortest route may also be the quickest), and a radically different route that is perhaps 5% longer will just not be shown.
  • Known systems guide the driver along one selected route without showing any en-route alternatives. Of course, if the driver strays from the selected route, then many commercial systems will recompute a new route, and US patent 5675492 shows how to precompute some alternatives and even display them. These will almost always be a short diversion back onto the earlier selected route, and are not interpreted as a choice for a completely different route.
  • a method of generating a plurality of diverse routes from a source to a destination in a weighted directed graph comprising the steps of: generating a source routeing tree from the source to a first set of points of the graph; generating a destination routeing tree from a second set of points of the graph to the destination; and combining the source and destination trees to form the routes.
  • the first set may comprise all of the points of the graph.
  • the second set may comprise all of the points of the graph.
  • the first and second sets may comprise points of the graph adjacent both the source and the destination.
  • the first and second sets may comprise the same points.
  • the graph may comprise a set of links, each of which has a first priority of use, and a second set of links, each of which has a second priority of use greater than the first priority.
  • the first set of points may comprise points interconnected by the links of the first or second set in a first region of the graph containing the source and points interconnected by the links of the second set but not of the first set in a second region of the graph outside the first region.
  • the second set of points may comprise points interconnected by the links of the first or second set in a third region of the graph containing the destination and points interconnected by the links of the second set but not of the first set in a fourth region of the graph outside the third region.
  • the source and destination trees may be minimum cost trees.
  • the combining step may comprise selecting each sub-route common to and traversed in the same direction by the source and destination trees.
  • the source and destination trees may include back-pointers and the sub-routes may be selected by finding sequences of adjacent points which are pointed to by back-pointers of both the source and destination trees.
  • the points of the source and destination trees may be associated with costs and the sub-routes may be selected by finding sequences of adjacent points for which the sums of the costs from the source and destination trees are the same.
  • the combining step may further comprise extending each sub-route as necessary to the source and destination along the source and destination trees to form one of the routes.
  • the method may further comprise assigning a measure of goodness to each route.
  • the measure may be a function of the length of the sub-route and the length of the route.
  • the measure may be a function of the difference between the length of the sub-route and the length of the route.
  • the method may comprise selecting at least one via point which is not on any sub-route or extended sub-route, calculating from the source and destination trees a minimum cost route from the source via the at least one via point to the destination, and comparing the or each calculated cost with the same sum of the costs for at least one of the selected sub-routes.
  • the method may comprise forming the difference between the or each calculated cost and the same sum for the selected sub-route.
  • the method may comprise deselecting the or each via point for which the difference between the calculated cost and the same sum is greater than a threshold.
  • the method may further comprise selecting only some of the routes in accordance with the measure of goodness.
  • the method may comprise selecting the N routes of highest measure of goodness, where N is a positive integer.
  • the measure may comprise selecting at least some of the routes whose measures of goodness are greater than a threshold.
  • the method may comprise storing at least one of the routeing trees.
  • the graph may comprise links associated with costs.
  • the cost of traversing each of at least some of the links may vary with a parameter of traversal.
  • the cost of traversing each of the least some of the links may vary with the time of traversal.
  • the first of the generating steps to be performed may include calculating and storing the costs of the links for the prevailing transversal parameter values and the stored costs may be used during the second of the generating steps to be performed.
  • the destination tree generating step may be performed before the source tree generating step.
  • the routes may be ordered in accordance with at least one property of each route.
  • the property may be the measure of goodness.
  • the graph may represent a road network and the routes may be road routes.
  • the graph may represent an integrated circuit or a printed circuit and the routes may be interconnections.
  • the graph may represent a wiring installation and the routes may be wiring interconnections.
  • the method may further comprise choosing the order of placement of the interconnections in accordance with the number of selected routes and/or the measure of goodness.
  • the interconnections with the lowest number of selected routes may be placed first.
  • the graph may represent a communications network and the routes may be communication paths.
  • the network may be an internet.
  • a method of navigation including generating road routes by a method according to the first aspect of the invention.
  • the method may comprise presenting information about the road routes to a user.
  • the method may comprise presenting information about a choice of routes from a point from which a plurality of the routes diverge when the user approaches the point.
  • the information may be displayed in a form representing a road sign.
  • the method may comprise offering guidance to a user along a selected one of the routes.
  • the method may comprise offering guidance, when the user leaves the selected route, to the sub-route of the selected route.
  • a computer program for performing a method according to the first or second aspect of the invention.
  • a computer-readable medium carrying a program according to the third aspect of the invention.
  • a computer programmed to perform a program according to the third aspect of the invention.
  • a computer containing a program according to the third aspect of the invention.
  • an apparatus arranged to perform a method according to the first or second aspect of the invention.
  • Figure 1 illustrates a small hypothetical road network
  • Figure 2 illustrates a source routeing tree generated by a method constituting an embodiment of the invention
  • Figure 3 illustrates a destination routeing tree generated by the method
  • Figure 4 illustrates the result of combining the routeing trees of Figures 2 and 3;
  • Figure 5 illustrates the sub-routes or plateaux derived from Figure 4.
  • Figure 6 illustrates an example of a route derived from Figure 4.
  • Figure 7 illustrates a source routeing tree generated by the same or a similar method constituting an embodiment of the invention
  • Figure 8 illustrates a destination routeing tree generated by the method
  • Figure 9 illustrates the result of combining the routeing trees of Figures 7 and 8;
  • Figure 10 illustrates the diverse routes generated by the method with ranking in accordance with a goodness factor;
  • Figure 11 illustrates a source routeing tree found by the same or a similar method for a very simple graph
  • Figure 12 illustrates a destination tree for the same graph
  • Figure 13 illustrates the diverse routes generated by combining the routeing trees of Figures 11 and 12;
  • Figure 14 illustrates an example of information display for displaying information about the generated routes to a user
  • Figure 15 illustrates a navigation display which may be presented to a user
  • Figure 16 illustrates how a road junction may be analysed within the method
  • Figure 17 is a block schematic diagram of an apparatus constituting an embodiment of the invention.
  • Figure 18 illustrates priority roads in a small hypothetical road network
  • Figure 19 illustrates a source routing tree generated by a modified method constituting an embodiment of the invention
  • Figure 20 illustrates a destination routing tree generated by the modified method
  • Figure 21 illustrates the sub-routes or plateaux derived from combining the trees of Figures 19 and 20; and Figure 22 illustrates the diverse routes derived from the sub-routes of Figure 21.
  • the first step is to compute the minimum cost tree from the source node to all other nodes. This is typically performed using a variant of Dijkstra's Algorithm or the A*
  • each road segment we have annotated the distance from the source to that end using the shortest path. From each end of each road segment, there is exactly one outgoing arrowhead that shows the way back towards the source using the shortest path. We call this a back pointer. Note that for a source tree it will be in the opposite direction to the direction of travel. These are computed and stored as a necessary part of the Dijkstra's or A* Algorithm.
  • the shortest path from the source to the node marked as the destination can be traced backwards by following the arrowheads back through the nodes whose distances are 282, 245, 207, 197, 130, 85, 25, 14 and finally, 0.
  • This is the shortest path route from source to destination, and would be traced in just this way by Dijkstra's or the A* Algorithms.
  • the second step is to compute the minimum cost tree to the destination node from all other nodes. This is just a variant of the previous algorithm and the output is shown as Figure 3. This time, the annotations give the distance to the destination node along the shortest path, and the arrowheads, again exactly one from the end of each road, show the way forward to the destination using the shortest path.
  • the shortest path to the destination from the node at the top left with distance 234 is found by following the arrowheads through the adjacent nodes whose distances are 225, 215, 174, 113, 103, 65, 28, and 0.
  • This tree also encodes the globally shortest path, which is found by following the arrowheads from the source node through to the destination node, and will always be identical to the one found from Figure 2.
  • each node we begin by giving each node a single bit that indicates that we have visited it, initially 0 for not-visited. We then scan over every node in turn, the order does not matter. If it is marked as visited (1), we move on to the next node in the scan. If the node is marked as not- visited (0), then we change that to 1 to indicate that we have visited it. For each such newly-marked node, call it node Q, we begin a list of adjacent nodes in the chain by adding just a reference to that node Q.
  • a plateau is formed when the source and destination trees traverse a chain of road segments in the same directions. This indicates that the chain is both useful for getting away from the source, and for getting towards the destination. This is a powerful indication that the chain may be useful for getting from the source to the destination.
  • Such chains tend to use the best roads in their vicinity, and are aligned to help in getting from source to destination. On a real road network with millions of nodes, there are many thousands of such chains, many of them very short.
  • a useful plateau for getting from source to destination will tend to be longer than those that are less useful, as it indicates a long stretch of route that is fast and well-aligned compared to others in its vicinity. Thus we are looking for a larger value of L.
  • a useful plateau for getting from source to destination will tend to be part of a route that is not too long, as we are not interested in long plateaux if they are found at a great distance from both source and destination. Thus we are looking for a smaller value of SP + L + PD.
  • the optimum route has a goodness G of 99
  • routes where the route outside the plateau is about the same as the optimum route have a value of G around 1 (there are usually thousands of these, they are all the minor variations on the globally optimum route)
  • worse routes have a value less than 1, which can go rapidly negative.
  • G For presentation to the user, we can use the values of G as a threshold, and a value of G>50 gives good results. If they wish to see more routes, we can always keep more, down to some lower threshold, say G>10. Typically, this will be accomplished by the user asking for more alternatives, or altering the threshold value for G. This should not be necessary for the average user.
  • G > 50 In testing on the complete Great Britain road network, from Cambridge to Canterbury, there is only one route with G > 50. This uses motorways for almost the entire length, namely the Mi l, M25 and M2. For purposes of investigation, we relaxed the threshold, but the routes with G ⁇ 50 were not at all appealing because those motorways are so well aligned and bounded by poor roads in London to the West and the sea to the East.
  • the function that is used to find the minimum cost route can be much more complex that simply the distance travelled. In most situations, it is in fact dominated by the time taken, but may also be influenced, for example, by type of road, familiarity to the driver, financial costs, safety record in ways that are already known. We would typically use the best available time-independent cost function in the computation of the plateaux. It is simply a matter of labelling the roads with the appropriate cost instead of the distance, and the rest of the algorithm including the thresholding remains the same.
  • Time dependent information could be used in the computation of the plateaux, but care would have to be taken that only one cost is associated with each road segment. Otherwise the source and destination trees might have different costs for the same segment, which would prevent us from identifying the chains using the Combined Cost (CC) values.
  • CC Combined Cost
  • An alternative method for handling time-dependent information is to compute the good alternative routes using the time-independent parts of the cost, and then compute the time-dependent factors for presentation to the user.
  • Time dependent factors include the extra time taken due to congestion, variable toll costs and time-varying road charges.
  • a user can see how the good geographical routes have been affected by the time-varying factors, and decide for themselves if a journey at another time might be more appropriate, or which route they would still like to select. For example, a driver's usual route may have become five minutes slower than the optimum due to congestion, but if they were given the choice, they may well wish to choose their usual route anyway. On another day, they might make the choice another way.
  • the computer will never know enough to make this decision correctly under all circumstances, and so the driver should be informed about the realistic choices with the computer having done the hard work of estimating the distances, times, costs etc. of each choice.
  • the table shows that with a threshold of G > 50, we would only recommend the routes generated from the plateaux with Combined Costs (CC) of 310, 332 and 335. Note that these happen to be the lowest values of the combined costs in the table, but that need not always be the case. Also note that all these routes have a cost that is within 10% of the globally optimum route, so other factors known only to the driver may easily outweigh the little extra distances involved, and they will be glad to have seen them all.
  • CC Combined Costs
  • the first step is to compute the tree containing the best (minimum-cost) routes from Cambridge to all other points. This is shown in Figure 7.
  • the tree has been simplified for printing, showing only its major branches, as the leaves of the full tree would fill the land almost completely at this scale.
  • Methods for computing such trees are well-known in the art, and include the Dijkstra and A* Algorithms.
  • the second step is to compute the tree containing the best (minimum-cost) routes to Manchester from all other points. This is shown in Figure 8.
  • the third step is to find roads that are traversed in the same direction in both trees, that is, away from Cambridge in Figure 7, and towards Manchester in Figure 8. Such roads are not simply the overlap of the two trees, as the direction of traversal is important.
  • the resulting roads are shown in Figure 9.
  • the fourth step begins by selecting the chains of roads from Figure 9 that are the longest, and generating complete routes from each by linking their endpoints back to Cambridge using the source tree of Figure 7, and back to Manchester using the destination tree of Figure 8.
  • the routes are then ranked according to their goodness (the cost of the overlapping chain minus the cost of the entire route), and in this case, we have chosen to display the top five, numbered from 0 to 4 in order of goodness.
  • the final step in this embodiment is to display relevant information to the user, such as that shown in Table 1.
  • the routes generated from these chains are locally optimal, they are not globally optimal. There is, in general, only one globally optimal route, which is the one found by single routers such as Dijkstra's algorithm. The next most optimal route will usually be a minor variation upon the first, with only a tiny increase in cost. For example, on a three hour road journey that begins and ends in cities, there will be potentially hundreds of small deviations through side roads that add mere minutes to the computed journey time. All of their permutations will generate millions of routes with journey times up to, say three hours and ten minutes. Only after that might we see the first journey that used a very different route between the cities, and takes an extra 12 minutes.
  • Dijkstra's algorithm In some implementations of known single routers (shortest single path from A to B), it may be desirable to use a variation of Dijkstra's algorithm. These use special heuristics to explore the nodes or edges in a better order, or to terminate earlier, or to explore major roads only, or to explore outwards from source and destination simultaneously. They do this in order to run faster or to use less memory. It should be understood that our method of combining RTs to find plateaux is independent of how the RTs were computed, so if these variations are appropriate, then our method can be applied to them to yield diverse alternative routes while taking advantage of their better running time or memory use characteristics. Cost Function
  • the cost function that is used to compute the best diverse alternative routes can incorporate any of the known factors. It may be sensitive to both time and duration, can incorporate real-time or historical traffic information, can take into account user preferences, and can use financial information such as road pricing.
  • Another problem with known route planners is that the user may wonder why some other route was not recommended. By showing them the alternative routes along with their characteristics, it is easy for the user to see how their alternative route compares to the best, and to make an appropriate choice. For example, the usual route may be subject to unusually high congestion, or an alternative route may have become preferable because of the construction of a bypass.
  • a route planning tool we could highlight the different routes using different colours, and present a text box with relevant details about each route such as time, cost etc.
  • An example of such a text box for the Cambridge to Manchester routes described hereinbefore is shown in Figure 14. Selecting a route on the map could highlight the relevant line in the text box, and selecting a line in the text box could highlight the relevant route on the map. In this way, a user could make their choice of route with as much information as we can give.
  • Destination Link We begin with the Source Link, which is found at the beginning of every Choice Route. If the next link on every Choice Route is the same, then we move on to that. If the next link is different on different routes, then we have reached a choice point, and follow each route separately as if we had just begun again at the source link. We finish when each route arrives at the Destination Link. We can either compute all of the Choice points as we begin the journey, or we can compute them as we go, always keeping at least one known in advance.
  • junctions For road networks for example, we may represent junctions as nodes in the graph, and road links between them as edges in the graph.
  • costs of traversing the roads for example the distance and average time taken to traverse a length of road between junctions
  • costs to the edges For represent the costs of passing through a junction, for example the time taken to proceed straight on, or to turn left or right, we can assign costs to a node that are dependent on the edge used to reach the node, and the edge used to leave that node.
  • each edge is uni-directional, so a stretch of two-way road is represented by two edges, one for each direction of travel, and these strictly form the nodes of the graph. This allows us to encode different delays for each direction of travel, which may be important at times of congestion.
  • each edge a Link.
  • each Link has a set of pointers to the next Links that can be reached from it in the graph. These are called the NextLinks.
  • NextLink pointers are strictly the edges of the graph. Associated with each such pointer are the costs (in time, distance, financial cost etc.) of moving from the original Link to the next one. Our implementation chooses to use the time taken to move from the midpoint of one Link edge to the midpoint of another (NextLinkTime), but others may choose to use the beginning of the Links, or their ends, it makes no difference to the outcome.
  • NextLinkTime the time taken to move from the midpoint of one Link edge to the midpoint of another
  • NextLinkTime the time taken to move from the midpoint of one Link edge to the midpoint of another
  • each Link For computing optimum routes to a particular destination Link rather than from a source Link, we give each Link a set of PrevLinks, which encode the costs of entering that Link from all possible predecessor Links, that is, the segments of road from which it can be entered. There is some redundancy here, as every Prevlink has a corresponding NextLink, so we use more memory than some representations, but we have a lower running time.
  • Figure 16 shows a picture of a road junction, where the side road is one-way towards the junction.
  • the section of road marked A is represented by two links, marked 1 and 3, as it is a two-way road.
  • road segment B is represented by two links, 2 and 4.
  • Road segment C is only represented by one link, 5, as it is a one-way road towards the junction.
  • NextLink (arrow) emanating from link 1, which points to link 2.
  • NextLink emanating from link 4 which points to link 3.
  • Vehicles travelling on road segment C towards the junction can turn onto either segment A or segment B travelling away from the junction, so the corresponding link 5 has two NextLinks emanating from it, pointing to links 2 and 3.
  • An important factor here is that the NextLinks can be enumerated from the link from which they emanate, not from the links that they point towards.
  • the PrevLinks are the inverse of the NextLinks, and are again enumerated from the link that they emanate from. They indicate the links from which vehicles may enter this link. For example, vehicles may enter road segment A at this junction from either road segment B or C, so link 3 has PrevLinks that point to link 4 and to link 5.
  • This link data is stored as a set of files, one for each type of information, that can easily be mapped into memory for efficient access.
  • Each link is given a simple integer ID, length 32 bits, from 0 upwards, which is then used as an offset into various files.
  • linkID 435 as an example.
  • the length of link 435 will be found at the 435 th 16-bit word of file LinkDistance, encoded as the length in metres in 16 bits.
  • the links that can be reached from link 435, its NextLinks have 32-bit linkIDs in a file called NextLinks.
  • the 435 th 32-bit word in file NextLinklndex gives the offset in the file NextLinks where the linkIDs of the next links will be found, contiguously.
  • nLinks nNextLinks.
  • INT32 Contains the number of links (nLinks) and the number of next-links (nNextLinks), and prev-links (nPrevLinks) and maybe other top level information about how the files were generated etc. So far, all three fields are INT32.
  • a link is defined by its link index, an integer between 0 and nLinks- 1, which indexes all of the arrays contained in files whose length is a multiple of [nLinks].
  • PrevLink encodes the routeing tree for destination routeing.
  • the routeing algorithm that we use (a version of Dijkstra's algorithm) to construct the min-cost routes from a given link to all other links (the Source Routeing Tree) is as follows:
  • TTBacklndexl contains the back pointers for tree 1.
  • n is 0 and 1.
  • file lengths are given in square brackets after the file name:
  • TTBackIndex ⁇ n> [nLinks]: INT32: The link that was used to get to this link at lowest cost, for tree ⁇ n>. Works for Next or Prev (source or destination) trees.
  • the link that led us to linkB along the optimum route is found at offset 678,123 in the file TTBacklndexO.
  • this link had ID 1,456,789.
  • the link that led us to this one along the optimum route is found at offset 1,456,789 in the file TTBacklndexO.
  • the routeing algorithm that we use (a version of Dijkstra's algorithm) to construct the min-cost routes from all links to a given link (the Destination Routeing Tree) is as follows:
  • TTBacklndexl file For example, suppose that linkA had ID 238,345. The link that linkA preceded along the optimum route is found at offset 238,345 in the file TTBacklndexl. Suppose this link had ID 1,432,876. The link this one preceded along the optimum route is found at offset 1,432,876 in the file TTBacklndexl. We keep repeating this until the link ID extracted from the file matches the linkID of the destination link linkB. Then we have extracted all of the link IDs of the optimum (shortest) path in forward order. This is a common way of extracting the shortest path once Dijkstra's algorithm has terminated.
  • this path will be identical to the one extracted from the Source Routeing Tree in the section above. It does not matter if Dijkstra's algorithm is run from the source node outwards or the destination node inwards, it will always find the single shortest path route from linkA to linkB. However, the Routeing trees that are a by-product of Dijkstra's algorithm are very different. The only route that they share completely in common is the global shortest-path route.
  • the cost at offset ⁇ linkC> in the file TTMinCostl is the cost of the minimum cost route from linkC to the destination linkB.
  • the cost at offset ⁇ linkC> in the file TTMinCostO is the cost of the minimum cost route from the source link linkA to linkC. If we add these two quantities together, we have found the cost of the minimum cost route from linkA via linkC to linkB.
  • the chains are identified by the cost of going from linkA to linkB on mincost routes via any of the links in the chain being the same cost. For this reason, we call such a chain a plateau, as the sum of the costs is constant along the links that it is composed of.
  • next two subsections give alternative methods for finding the links that are part of plateaux, which may have different advantages according to the properties of the cost function, and the memory and processor architecture on which the methods are implemented. It will also be apparent that these methods can be adapted to different graph representations, means of storing the flags, and properties of the cost functions.
  • TCFlags01[nLinks] A series of INT8's used as flags when combining RTs denoted by O and 1.
  • n goodness values where n is greater than the number that we could possibly want to display to the user, say 100.
  • the goodness could be computed in any way, using any of the properties of routes such as length, financial cost, types of road, distance from source or destination.
  • raw goodness is the negative of the cost of the route involving the plateau that is not part of the plateau, divided by the cost of the globally mincost route (GMCost).
  • This raw goodness will have a value of zero for the globally minimum cost route, as there is zero cost outside the plateau.
  • goodness 100 - (99 aw - 8 °° )
  • the set of diverse alternative routes should include all those that we knew about as good routes from our own experiences, or at least minor variations on them (as the routeing database does not perfectly reflect the user's view of costs, but is roughly correct over the longer stretches).
  • the set of diverse alternative routes should include each of the best single routes computed by other route planners such as (for Great Britain) Microsoft AutoRoute, ALK CoPilot, Medion Navigator, ISYS Personal Navigator.
  • the trees can be saved by keeping the files in which their costs and back pointers have been computed, or if an alternative implementation has been used, then new file formats could be defined for the storage of this information. If storage is at a premium, then strictly only one of either the back pointers or the costs need to be stored, as a scan through the routeing database can be used to reconstruct the other without the need to run a full routeing algorithm again.
  • a conventional router will run something similar to Dijkstra's algorithm to find the best route, where the link costs have been altered to reflect the latest time-dependent information, and where they are sensitive to the time that the links are expected to be traversed.
  • the choice routes computed under the restricted cost function may no longer include the globally optimum route under the full cost criteria.
  • time-dependent optimal routes are likely to involve more minor roads, along which there are no traffic sensors or reports. These roads appear to be free-flowing, where in reality they may be clogged, so the chosen routes may not be optimum after all.
  • the RTs using the basic cost function do not have to be re-computed when the other cost factors are varied.
  • a good desktop interface should allow the user to sort the alternative routes by time, distance, financial cost, type of road, number of turns etc. as they explore their options. This does not necessarily require any recomputations, as those factors can be computed and stored along with the alternative routes when they are first generated.
  • the Choice Routes do not have to be used singly. If we have journey information in the form of Origins and Destinations of journeys, we can use the choice routes to allocate traffic to all of the links used in those routes in proportion to the goodness of the routes.
  • Methods of this type may also be applied to the routeing of wires, conductors or cables, for example in buildings, aircraft, printed circuit boards and integrated circuits.
  • finding a route for a wire there are a few differences from the case for road routes, particularly the routeing of wiring nets, and the additional variable of placement order.
  • this technique does not replace the known techniques, as we may still have to rip-up and re-route some nets, but we will sort the unplaced nets by the amount of choice available, always placing those with the least choice first, which should speed up the time to find a solution, and more importantly, will improve the final result by keeping the wiring nets shorter overall, or not requiring such wide routeing channels.
  • Figure 17 shows an example of a navigation apparatus in the form of a computer 10 with a program memory 11 , such as a ROM, flash memory, a hard disk drive and/or an optical disk drive, installed in a vehicle such as an automobile.
  • a program memory 11 such as a ROM, flash memory, a hard disk drive and/or an optical disk drive
  • a vehicle such as an automobile.
  • a program memory 11 such as a ROM, flash memory, a hard disk drive and/or an optical disk drive
  • a vehicle such as an automobile.
  • a program memory 11 such as a ROM, flash memory, a hard disk drive and/or an optical disk drive
  • a vehicle such as an automobile.
  • such an apparatus is not limited to use in vehicles and may be attached to or installed in other objects.
  • such an apparatus may be installed in a cellular or mobile telephone, for example of the type which receives information about its geographical location and about the current time.
  • the vehicle comprises vehicle electronics 12, which monitor and control many of the systems on board the vehicle.
  • the computer 10 is thus able to receive information about various aspects of the current state of the vehicle.
  • the vehicle is further provided with a GPS receiver 13 for determining the location of the vehicle and the current time from signals received from the GPS via an aerial 14. This information is also supplied to the vehicle electronics 12, for example so as to provide the function of a satellite navigation or "Sat Nav" system.
  • the computer 10 is also provided with an output device 15 for providing a human- perceivable output.
  • the output device 15 is illustrated in the form of a display, for example forming part of the Sat Nav system or of an in- vehicle entertainment system, but may alternatively or additionally comprise an audio output device such as a loudspeaker.
  • a common means of making route computations faster is to restrict the search to a subset of roads that are generally faster or more useful when sufficiently far from the origin or destination of the journey.
  • priority roads and the subset is arranged to also include junctions, slip roads etc. to ensure that they are fully connected.
  • This method has two advantages over trying to compute a source or destination tree with slower roads used at both source and destination. Firstly, we reduce the computation overheads from two slow road type searches in each tree to just one for each tree, so choice routing becomes more efficient and closer to the costs of just running a conventional router. Secondly, the decision on when to switch from slow roads to a faster road type is much easier when moving away from the origin in the source tree, or away from the destination in the destination tree. This is because we can notice how many roads of the higher types we have encountered and use that as part of the switching criteria. This can easily be done several times for a hierarchy of faster road types.
  • a conventional router would have higher overheads when moving towards the destination in the source tree, because of the occasional difficult case where slower road types must be used for the last 30 miles, but which is not known in advance. Thus, the conventional router would switch at this worst case distance all of the time. For the common cases though, where slower road types might only be necessary for the last 5 miles, switching to slower road types at 30 miles distance is very wasteful.
  • time dependent information such as the average road speeds for each five minute period of each day
  • junctions at which one or more choices diverge we can also compute the junctions at which one or more choices diverge. As described hereinbefore, we can present these choices along with information about their properties to the driver well in advance of the junction so that the driver can simply choose which way they want to go and drive along it. If the driver has requested route guidance, how should that work at the choice point? Presentation of the choices as a road sign is a good substitute for the usual junction diagram with one exit highlighted, and the audio guidance could similarly offer two or more options as this is being done well in advance of the junction.
  • the driver could now choose a route that they wished to be guided on by selecting one of the routes, by some conventional interface such as a button, touchscreen, or by voice command.
  • some conventional interface such as a button, touchscreen, or by voice command.
  • a conventional guidance system would recompute the optimal route from the current position to the destination and resume guidance along that. Our problem is that this new optimal route may not be the chosen choice route, so the driver would find themselves not being guided along the way that they had chosen. Once the driver was far enough along the chosen route that they were on the plateau, then we know that the optimal route to the destination is indeed the choice route itself but, until the route reaches the plateau section, there will in general be a more optimal route that does not use the plateau. This then gives us one possible solution.
  • any of the conventional solutions can be used. For example, if the driver strays from the route that we are guiding them along and the newly computed optimal route to the via becomes one that moves away from the final destination for some distance (or cost), as known from the destination tree, then we can cancel the guidance to the via as if it had been reached and continue guidance from the next choice point after that via or the beginning of the plateau on the route with the highest goodness, whichever would have been reached first.
  • An example of this is where we want to look for good stopping places on a journey.
  • we can find all points of interest perhaps restaurants, toilet facilities, petrol stations, rest areas) that lie within some distance from it as the crow flies.
  • One technique is to compute the perpendicular distance to each link on the route to find the minimum perpendicular distance, and another is to compute the straight-line distance to each junction on the route to find a lower bound on the driving distance.
  • the trees can also contain the cumulative time, distance, safety or other factors, in addition to the cost function that they are minimising, and then these can be used in the thresholding. For example, we may find all those restaurants that do not add more than ten minutes to our estimated driving time. To do this without using the combined tree would involve running a routing algorithm twice for each node found by the proximity search, which would complicate the code, take an uncomfortably long time, and consume precious CPU and memory resources.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Tourism & Hospitality (AREA)
  • Mathematical Physics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Navigation (AREA)
PCT/GB2007/050558 2006-10-30 2007-09-18 Method of and apparatus for generating routes Ceased WO2008053240A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/445,238 US8249810B2 (en) 2006-10-30 2007-09-18 Method of and apparatus for generating routes
JP2009535133A JP5448827B2 (ja) 2006-10-30 2007-09-18 ルートを生成するための方法および装置
EP07804462.5A EP2084493B1 (en) 2006-10-30 2007-09-18 Method of and apparatus for generating routes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0621508A GB2443472A (en) 2006-10-30 2006-10-30 Method of generating routes
GB0621508.1 2006-10-30

Publications (1)

Publication Number Publication Date
WO2008053240A1 true WO2008053240A1 (en) 2008-05-08

Family

ID=37546166

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2007/050558 Ceased WO2008053240A1 (en) 2006-10-30 2007-09-18 Method of and apparatus for generating routes

Country Status (5)

Country Link
US (1) US8249810B2 (enExample)
EP (1) EP2084493B1 (enExample)
JP (1) JP5448827B2 (enExample)
GB (1) GB2443472A (enExample)
WO (1) WO2008053240A1 (enExample)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008275621A (ja) * 2007-05-04 2008-11-13 Harman Becker Automotive Systems Gmbh ルート決定方法およびデバイス
WO2009092812A1 (fr) * 2008-01-24 2009-07-30 Mediamobile Estimation de plus court chemin dépendant du temps dans un réseau routier
CN102176283A (zh) * 2011-01-07 2011-09-07 重庆大学 一种简化交通路网模型及基于此模型的导航方法
CN105205247A (zh) * 2015-09-16 2015-12-30 中山大学 一种基于树结构的仿真路网数据管理方法
US9459106B2 (en) 2012-06-29 2016-10-04 Tomtom Development Germany Gmbh Generating alternative routes
US20190339090A1 (en) * 2002-04-10 2019-11-07 Bluestone Ventures, Inc. Method and System for Dynamic Estimation and Predictive Route Generation
US10859385B2 (en) 2013-09-09 2020-12-08 Tomtom Navigation B.V. Methods and systems for generating alternative routes

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8649975B2 (en) * 2002-08-29 2014-02-11 Mapquest, Inc. Automated route determination
US8761022B2 (en) * 2007-12-26 2014-06-24 Rockstar Consortium Us Lp Tie-breaking in shortest path determination
US7911944B2 (en) * 2007-12-26 2011-03-22 Nortel Networks Limited Tie-breaking in shortest path determination
BRPI0822735A2 (pt) * 2008-06-25 2017-08-22 Tomtom Int Bv Aparelho de navegação e método de detecção de que uma instalação de estacionamento está sendo procurada
EP2306396A4 (en) * 2008-06-27 2011-08-10 Navitime Japan Co Ltd ROUTE SEARCH AND ROUTE SEARCH METHOD
US8818707B2 (en) * 2008-06-30 2014-08-26 Tomtom International B.V. Method of resolving a location from encoded data representative thereof
DE102009014978A1 (de) * 2008-10-10 2010-04-29 Eads Deutschland Gmbh Rechenzeiteffiziente Routenbestimmung entlang mehrerer vorgegebener Wegpunkte mit dazwischenliegenden gegebenen Verbindungsstrecken
WO2010074668A1 (en) * 2008-12-22 2010-07-01 Tele Atlas North America, Inc. Methods, devices and map databases for green routing
WO2010081538A2 (en) * 2009-01-14 2010-07-22 Tomtom International B.V. Navigation device & method
CN102859323A (zh) 2009-11-24 2013-01-02 特洛吉斯有限公司 基于能源利用的车辆路线选择
EP2556337A1 (en) 2010-04-09 2013-02-13 Tomtom North America, Inc. A method of resolving a location from data representative thereof
EP2375364A1 (en) * 2010-04-12 2011-10-12 Karlsruher Institut für Technologie Method and system for time-dependent routing
US8583363B2 (en) * 2010-05-26 2013-11-12 Microsoft Corporation Determining alternative routes
CN107197492A (zh) 2010-10-01 2017-09-22 交互数字专利控股公司 用于协调不连续接收drx的方法
CN103429989B (zh) 2010-12-30 2017-10-20 泰为信息科技公司 具有受限资源路线规划最佳化器的导航系统及其操作方法
US8538677B2 (en) 2010-12-30 2013-09-17 Telenav, Inc. Navigation system with constrained resource route planning mechanism and method of operation thereof
EP2918973B1 (en) * 2010-12-31 2023-01-18 TomTom Navigation B.V. Non-uniform weighting factor as route algorithm input
GB201100403D0 (en) 2011-01-11 2011-02-23 Totom Dev Germany Gmbh An efficient location referencing method
JP5715840B2 (ja) * 2011-02-04 2015-05-13 本田技研工業株式会社 軌道計画方法、軌道制御方法、軌道計画システム及び軌道計画・制御システム
US8494770B2 (en) 2011-03-15 2013-07-23 Qualcomm Incorporated Method and system for generating savings routes with a portable computing device
US8818712B2 (en) * 2011-03-28 2014-08-26 Raytheon Company Maritime path determination
US8566030B1 (en) * 2011-05-03 2013-10-22 University Of Southern California Efficient K-nearest neighbor search in time-dependent spatial networks
US8954266B2 (en) * 2011-06-28 2015-02-10 Microsoft Technology Licensing, Llc Providing routes through information collection and retrieval
US20130054141A1 (en) * 2011-08-29 2013-02-28 Princeton Satellite Systems Weighted Path Selection for Mapping Route Selection
US8706413B2 (en) * 2011-10-17 2014-04-22 Qualcomm Incorporated Determining a likelihood of a directional transition at a junction in an encoded routability graph description
US8731811B2 (en) * 2011-10-20 2014-05-20 Honeywell International Inc. Methods and systems for displaying a taxi clearance
GB2497981B (en) * 2011-12-23 2013-11-13 Charles Linfield Davies Generating travel time data
GB201200700D0 (en) * 2012-01-17 2012-02-29 Rolls Royce Plc Vehicle energy and power management method and system
US20130191190A1 (en) * 2012-01-20 2013-07-25 Xerox Corporation Method and system for motivating and optimizing usage of high occupancy vehicle/high occupancy toll lane by displaying time based cost metrics
EP2631594B1 (en) * 2012-02-22 2015-09-09 Harman Becker Automotive Systems GmbH Navigation system and method for navigation
CA2871734A1 (en) * 2012-05-18 2013-11-21 Regents Of The University Of Minnesota Conveyance planning using dartboard network
US9638537B2 (en) 2012-06-21 2017-05-02 Cellepathy Inc. Interface selection in navigation guidance systems
CA2877453A1 (en) 2012-06-21 2013-12-27 Cellepathy Ltd. Device context determination
US9772196B2 (en) 2013-08-23 2017-09-26 Cellepathy Inc. Dynamic navigation instructions
CN108007468A (zh) * 2012-06-29 2018-05-08 株式会社电装 导航装置及导航程序产品
US9958272B2 (en) * 2012-08-10 2018-05-01 Telogis, Inc. Real-time computation of vehicle service routes
US9552372B2 (en) 2012-10-08 2017-01-24 International Business Machines Corporation Mapping infrastructure layout between non-corresponding datasets
EP2757504B1 (en) * 2013-01-17 2022-06-01 Google LLC Route planning
JP6140312B2 (ja) * 2013-04-11 2017-05-31 エルジー エレクトロニクス インコーポレイティド 複数の経由地を含む最適経路伝達方法及びこのための装置
DE102013008383B4 (de) * 2013-05-08 2023-01-19 Elektrobit Automotive Gmbh Korridorbasierte Routenberechnung
US9273970B2 (en) 2013-05-14 2016-03-01 Google Inc. Systems and methods for generating a plurality of trip patterns
US9057612B1 (en) * 2013-05-15 2015-06-16 Google Inc. Systems and methods for unified directions
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
JP6232913B2 (ja) 2013-10-11 2017-11-22 富士通株式会社 平面グラフ生成装置、プログラム、及び方法
US20150228096A1 (en) * 2014-02-12 2015-08-13 International Business Machines Corporation Directed graph visualization
US10169837B2 (en) 2014-03-17 2019-01-01 Allstate Insureance Company Mobile food order in advance systems
US9413707B2 (en) 2014-04-11 2016-08-09 ACR Development, Inc. Automated user task management
US8942727B1 (en) 2014-04-11 2015-01-27 ACR Development, Inc. User Location Tracking
US9620022B2 (en) * 2014-06-10 2017-04-11 Sikorsky Aircraft Corporation Aircraft motion planning method
TW201614195A (en) * 2014-10-02 2016-04-16 Inst Information Industry Route planning system, route planning method and traffic information update method
JP6492560B2 (ja) * 2014-11-11 2019-04-03 富士通株式会社 情報提示方法、情報提示装置、及びプログラム
US20160148136A1 (en) * 2014-11-24 2016-05-26 Boyi Ni Multiple sequential planning and allocation of time-divisible resources
US10144505B2 (en) * 2015-05-18 2018-12-04 The Boeing Company Aircraft flight control using a required time of arrival index
EP3133550A1 (en) 2015-08-20 2017-02-22 Tata Consultancy Services Limited Methods and systems for planning evacuation paths
US10740702B2 (en) * 2016-01-08 2020-08-11 Oracle International Corporation Method, system, and non-transitory computer-readable medium for reducing computation time in one-to-many path searching using heuristics and limited boundary adjustment
CN105681431A (zh) * 2016-01-26 2016-06-15 深圳市德传技术有限公司 一种基于位置的空闲充电桩查找方法
US10895461B2 (en) * 2016-03-15 2021-01-19 Ford Global Technologies, Llc Multi-day, multi-person, and multi-modal trip planning system
CN106094834A (zh) * 2016-07-19 2016-11-09 芜湖哈特机器人产业技术研究院有限公司 基于已知环境下的移动机器人路径规划方法
US10060753B2 (en) 2016-08-17 2018-08-28 Apple Inc. On-demand shortcut computation for routing
US10018476B2 (en) 2016-08-17 2018-07-10 Apple Inc. Live traffic routing
US20180054706A1 (en) * 2016-08-19 2018-02-22 Abl Ip Holding Llc System for auto-commissioning of luminaires and asset tracking
US10410416B2 (en) * 2016-08-25 2019-09-10 Futurewei Technologies, Inc. Collective navigation for virtual reality devices
US10215578B2 (en) * 2016-08-29 2019-02-26 International Business Machines Corporation System, method and computer program product for path computing based on unpleasant data
US10515390B2 (en) 2016-11-21 2019-12-24 Nio Usa, Inc. Method and system for data optimization
US10101170B2 (en) * 2017-01-09 2018-10-16 International Business Machines Corporation Predicting an impact of a moving phenomenon on a travelling vehicle
US10989549B2 (en) * 2017-01-27 2021-04-27 International Business Machines Corporation Route recommendation in map service
US10274329B2 (en) * 2017-04-04 2019-04-30 Here Global B.V. Method and apparatus for providing a minimum overlapping alternative path
US10942525B2 (en) 2017-05-09 2021-03-09 Uatc, Llc Navigational constraints for autonomous vehicles
US11288612B2 (en) 2017-05-23 2022-03-29 Uatc, Llc Generalized risk routing for human drivers
US11282009B2 (en) 2017-05-23 2022-03-22 Uatc, Llc Fleet utilization efficiency for on-demand transportation services
US10789835B2 (en) 2017-05-23 2020-09-29 Uatc, Llc Fractional risk performance evaluation for autonomous vehicles
US10884902B2 (en) 2017-05-23 2021-01-05 Uatc, Llc Software version verification for autonomous vehicles
EP4303793A3 (en) * 2017-05-23 2024-05-01 Uatc, Llc Path segment risk regression system for on-demand transportation services
US11282016B2 (en) 2017-05-23 2022-03-22 Uatc, Llc Individualized risk vehicle matching for an on-demand transportation service
US10697789B2 (en) * 2017-05-23 2020-06-30 Uatc, Llc Individualized risk routing for human drivers
US10262471B2 (en) 2017-05-23 2019-04-16 Uber Technologies, Inc. Autonomous vehicle degradation level monitoring
US10501091B2 (en) 2017-05-23 2019-12-10 Uber Technologies, Inc. Software version and mode switching for autonomous vehicles
US10762447B2 (en) 2017-05-23 2020-09-01 Uatc, Llc Vehicle selection for on-demand transportation services
US10489721B2 (en) 2017-05-23 2019-11-26 Uatc, Llc Path segment risk regression system for on-demand transportation services
US11080806B2 (en) 2017-05-23 2021-08-03 Uber Technologies, Inc. Non-trip risk matching and routing for on-demand transportation services
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
US11238409B2 (en) 2017-09-29 2022-02-01 Oracle International Corporation Techniques for extraction and valuation of proficiencies for gap detection and remediation
US11099021B2 (en) * 2017-10-11 2021-08-24 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for routing a vehicle
US20190113350A1 (en) * 2017-10-12 2019-04-18 Mitac International Corp. Route-planning method and navigational system of converting route description into machine-readable predefined route
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
US10670414B2 (en) * 2017-10-20 2020-06-02 Paypal, Inc. Load balancing for map application route selection and output
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US11300416B2 (en) 2017-11-22 2022-04-12 Uber Technologies, Inc. Dynamic route recommendation and progress monitoring for service providers
US10559211B2 (en) 2017-11-27 2020-02-11 Uber Technologies, Inc. Real-time service provider progress monitoring
US20190186939A1 (en) * 2017-12-20 2019-06-20 Nio Usa, Inc. Intelligent trip prediction in autonomous vehicles
US11580612B2 (en) * 2018-03-23 2023-02-14 Walmart Apollo, Llc Systems and methods for transportation staffing
US11125574B2 (en) * 2018-04-25 2021-09-21 Here Global B.V. Navigation optimized for unexpected traffic events
JP7149327B2 (ja) * 2018-05-23 2022-10-06 株式会社 ミックウェア 情報処理システム
US11287816B2 (en) 2018-06-11 2022-03-29 Uatc, Llc Navigational constraints for autonomous vehicles
US20200097879A1 (en) * 2018-09-25 2020-03-26 Oracle International Corporation Techniques for automatic opportunity evaluation and action recommendation engine
US11467803B2 (en) 2019-09-13 2022-10-11 Oracle International Corporation Identifying regulator and driver signals in data systems
US11367034B2 (en) 2018-09-27 2022-06-21 Oracle International Corporation Techniques for data-driven correlation of metrics
DE102018125625B4 (de) * 2018-10-16 2023-01-05 Bayerische Motoren Werke Aktiengesellschaft Bestimmen von Alternativrouten
JP2020085518A (ja) * 2018-11-19 2020-06-04 トヨタ自動車株式会社 自動運転装置
CN109861387B (zh) * 2018-12-13 2021-02-09 杭州申昊科技股份有限公司 一种变电站智能巡检系统
CL2018003851A1 (es) * 2018-12-28 2020-07-24 Univ Técnica Federico Santa Maria Un método de enrutamiento de menor costo para redes ópticas dinámicas wdm con restricciones de continuidad de longitudes de onda
EP3683742A1 (en) * 2019-01-18 2020-07-22 Naver Corporation Method for computing at least one itinerary from a departure location to an arrival location
CN111489004B (zh) * 2019-01-28 2023-05-26 阿里巴巴集团控股有限公司 一种路网预测树扩展方法、装置、电子设备及存储介质
EP3745331A1 (en) 2019-05-29 2020-12-02 Naver Corporation Methods for preprocessing a set of non-scheduled lines within a multimodal transportation network of predetermined stations and for computing at least one itinerary from a departure location to an arrival location
EP3745329A1 (en) 2019-05-29 2020-12-02 Naver Corporation Methods for computing itineraries in a multimodal transportation network
US11482111B2 (en) 2019-07-17 2022-10-25 Uber Technologies, Inc. Computing timing intervals for vehicles through directional route corridors
CN110543728B (zh) * 2019-09-05 2023-03-21 大连理工大学 一种城市交通路网关键路口发现方法
US11544068B2 (en) * 2019-09-26 2023-01-03 Visier Solutions, Inc. Systems and methods for generating a pipeline of stages for a process
JP6937856B2 (ja) * 2020-02-13 2021-09-22 本田技研工業株式会社 運転支援装置および車両
US11768078B2 (en) 2020-04-21 2023-09-26 Naver Corporation Method for computing an itinerary from a departure location to an arrival location
CN112199454B (zh) * 2020-06-30 2022-12-13 武汉烽火众智数字技术有限责任公司 一种基于有向图的管控车辆拦截点设置方法及装置
CN111784248B (zh) * 2020-07-01 2023-04-07 深圳市检验检疫科学研究院 物流溯源方法
CN111947676B (zh) * 2020-08-11 2021-04-30 上海寻梦信息技术有限公司 快递路径规划方法、装置、电子设备以及存储介质
CN114078283B (zh) * 2020-08-12 2024-05-28 腾讯科技(深圳)有限公司 数据查询方法、装置、设备及计算机可读存储介质
US12123725B2 (en) 2020-08-21 2024-10-22 Naver Corporation Method for computing a personalized itinerary from a departure location to an arrival location
US12288470B2 (en) 2020-11-24 2025-04-29 Boom Technology, Inc. Real time sonic boom warning system
CN112721948A (zh) * 2021-01-11 2021-04-30 成都语动未来科技有限公司 基于预测和搜索框架的自动驾驶汽车变道调度的实现方法
US11287274B1 (en) 2021-07-20 2022-03-29 iMercatus Holdings LLC Systems and methods to improve memory management for route optimization algorithms
CN113715845A (zh) * 2021-09-07 2021-11-30 北京百度网讯科技有限公司 一种自动驾驶方法、装置及电子设备
US12158349B2 (en) 2021-09-23 2024-12-03 At&T Intellectual Property I, L.P. Vehicular traffic flow optimization
WO2023081293A1 (en) * 2021-11-03 2023-05-11 Boom Technology, Inc. Smart routing for aircraft flight planning and associated systems and methods
US12299608B2 (en) 2022-04-29 2025-05-13 Uber Technologies, Inc. Generation of navigational route networks
JP7647709B2 (ja) * 2022-08-09 2025-03-18 トヨタ自動車株式会社 観光プラン提供システム及び観光プラン提供方法
CN115700641A (zh) * 2022-11-04 2023-02-07 地平线(上海)人工智能技术有限公司 最短路径的确定方法、装置、电子设备和存储介质
CN116147652A (zh) * 2023-02-23 2023-05-23 智道网联科技(北京)有限公司 导航路线计算方法、系统、设备及存储介质
CN116182888A (zh) * 2023-02-23 2023-05-30 智道网联科技(北京)有限公司 多导航路线的生成方法、装置、电子设备以及存储介质
CN116703364B (zh) * 2023-08-02 2024-01-16 杭州宇谷科技股份有限公司 基于最优化算法的运维工单生成方法和系统
US20250078181A1 (en) * 2023-09-01 2025-03-06 Th2Connect, Llc System and method for generating and updating an interactive travel itinerary
CN119578723A (zh) * 2025-02-08 2025-03-07 交通运输部科学研究院 农村公路连通路径计算方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675492A (en) 1991-06-05 1997-10-07 Tsuyuki; Toshio Dynamic, multiple-route navigation apparatus and method for guiding a moving object
US6377551B1 (en) 1998-08-17 2002-04-23 Nortel Networks Limited QoS based route determination method for communications networks
US6401234B1 (en) 1999-12-17 2002-06-04 International Business Machines Corporation Method and system for re-routing interconnects within an integrated circuit design having blockages and bays
US20040039520A1 (en) 1998-03-25 2004-02-26 Asta Khavakh Method and system for route calculation in a navigation application

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5938720A (en) * 1995-02-09 1999-08-17 Visteon Technologies, Llc Route generation in a vehicle navigation system
US7020781B1 (en) * 2000-05-03 2006-03-28 Hewlett-Packard Development Company, L.P. Digital content distribution systems
JP2003233768A (ja) * 2002-02-12 2003-08-22 Univ Tokyo 複数経路探索のためのデュアルダイキストラ法
US7546338B2 (en) * 2002-02-25 2009-06-09 Ascentive Llc Method and system for screening remote site connections and filtering data based on a community trust assessment
JP4400104B2 (ja) * 2003-06-18 2010-01-20 株式会社エクォス・リサーチ 最短時間経路探索方法
JP3810398B2 (ja) * 2003-09-12 2006-08-16 松下電器産業株式会社 経路選出方法およびシステム
WO2005116851A2 (en) * 2004-05-25 2005-12-08 Postini, Inc. Electronic message source information reputation system
US8266676B2 (en) * 2004-11-29 2012-09-11 Harris Corporation Method to verify the integrity of components on a trusted platform using integrity database services
US20060230039A1 (en) * 2005-01-25 2006-10-12 Markmonitor, Inc. Online identity tracking
WO2006094271A2 (en) * 2005-03-02 2006-09-08 Markmonitor, Inc. Distribution of trust data
US7562304B2 (en) * 2005-05-03 2009-07-14 Mcafee, Inc. Indicating website reputations during website manipulation of user information
US8725811B2 (en) * 2005-12-29 2014-05-13 Microsoft Corporation Message organization and spam filtering based on user interaction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675492A (en) 1991-06-05 1997-10-07 Tsuyuki; Toshio Dynamic, multiple-route navigation apparatus and method for guiding a moving object
US20040039520A1 (en) 1998-03-25 2004-02-26 Asta Khavakh Method and system for route calculation in a navigation application
US6377551B1 (en) 1998-08-17 2002-04-23 Nortel Networks Limited QoS based route determination method for communications networks
US6401234B1 (en) 1999-12-17 2002-06-04 International Business Machines Corporation Method and system for re-routing interconnects within an integrated circuit design having blockages and bays

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190339090A1 (en) * 2002-04-10 2019-11-07 Bluestone Ventures, Inc. Method and System for Dynamic Estimation and Predictive Route Generation
US10551208B2 (en) * 2002-04-10 2020-02-04 Bluestone Ventures, Inc. Method and system for dynamic estimation and predictive route generation
JP2008275621A (ja) * 2007-05-04 2008-11-13 Harman Becker Automotive Systems Gmbh ルート決定方法およびデバイス
WO2009092812A1 (fr) * 2008-01-24 2009-07-30 Mediamobile Estimation de plus court chemin dépendant du temps dans un réseau routier
CN102176283A (zh) * 2011-01-07 2011-09-07 重庆大学 一种简化交通路网模型及基于此模型的导航方法
US9459106B2 (en) 2012-06-29 2016-10-04 Tomtom Development Germany Gmbh Generating alternative routes
US10859385B2 (en) 2013-09-09 2020-12-08 Tomtom Navigation B.V. Methods and systems for generating alternative routes
CN105205247A (zh) * 2015-09-16 2015-12-30 中山大学 一种基于树结构的仿真路网数据管理方法

Also Published As

Publication number Publication date
US8249810B2 (en) 2012-08-21
JP2010508531A (ja) 2010-03-18
GB0621508D0 (en) 2006-12-06
US20100036606A1 (en) 2010-02-11
JP5448827B2 (ja) 2014-03-19
GB2443472A (en) 2008-05-07
EP2084493A1 (en) 2009-08-05
EP2084493B1 (en) 2013-09-11

Similar Documents

Publication Publication Date Title
EP2084493B1 (en) Method of and apparatus for generating routes
JP2010508531A5 (enExample)
US8165800B2 (en) Apparatus for and method of providing data to an external application
CN101936744B (zh) 路径引导服务器装置、导航装置、路径引导系统及方法
US9791284B2 (en) Point of interest search along a route with return
CN105339761B (zh) 用于提供行进信息的方法和设备
US9291463B2 (en) Method of verifying or deriving attribute information of a digital transport network database using interpolation and probe traces
US8566030B1 (en) Efficient K-nearest neighbor search in time-dependent spatial networks
US7848880B2 (en) Traffic information adaptive to a user's travel
US8620586B2 (en) Navigation based on popular user-defined paths
CN1969169B (zh) 导向线路搜索设备以及导向线路搜索方法
US20190114909A1 (en) Method and Apparatus for Identifying Congestion Bottlenecks
US6885937B1 (en) Shortcut generator
CN107228677A (zh) 偏航识别方法和装置
JP4603950B2 (ja) ナビゲーションシステム、poi探索方法、情報配信サーバおよび携帯端末
TW202217242A (zh) 用於供地理區域中的車輛判定導航輪廓之方法及裝置
Gavalas et al. An efficient heuristic for the vacation planning problem
CN104697543B (zh) 一种融合个性偏好因子的路径探索方法
Kaparias et al. ICNavS: a tool for reliable dynamic route guidance
Gentile et al. Time-dependent shortest hyperpaths for dynamic routing on transit networks
WO2012089277A1 (en) Manuevre analysis, direction of traffic flow and detection of grade separated crossings for network generation in a digital map
EP1787087A1 (en) Apparatus for and method of providing data to an external application
Vedernikov Optimal route planning for hitchhiking.
Xu Scalable ride-sharing through geometric algorithms and multi-hop matching
Shahid Path Recommendation for Road Networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07804462

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2009535133

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007804462

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12445238

Country of ref document: US