US20120253856A1 - System and method for itinerary planning - Google Patents
System and method for itinerary planning Download PDFInfo
- Publication number
- US20120253856A1 US20120253856A1 US13/432,819 US201213432819A US2012253856A1 US 20120253856 A1 US20120253856 A1 US 20120253856A1 US 201213432819 A US201213432819 A US 201213432819A US 2012253856 A1 US2012253856 A1 US 2012253856A1
- Authority
- US
- United States
- Prior art keywords
- network segment
- itinerary
- continuing
- destination
- origin
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
- G06Q10/025—Coordination of plural reservations, e.g. plural trip segments, transportation combined with accommodation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags or using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3423—Multimodal routing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Definitions
- the present invention relates to the field of transportation.
- it relates to a system and method for itinerary planning.
- the travel network typically is a street network or a public transportation network, but, in some cases, can incorporate two or more travel means to enable a comprehensive solution to be provided.
- the travel network consists of a set of paths, or network segments, that are terminated at both ends by nodes. For example, both metropolitan trains and transit buses travel along fixed routes that have scheduled stops therealong. Nodes can be used to represent the stops and network segments model the travel of the trains and buses between the stops. Nodes are often defined to denote points where interchange between various travel means can occur.
- network nodes may be used to not only represent physical locations, but also can be used to represent locations at particular times. This information can be important in determining estimated travel times, whether interchanges at nodes are possible and, if so, how long may have to be waited, etc. It can be undesirable to plan arrival at an intersection of a first bus route being traveled, for example, to change to a second bus route when the last bus for the day will have already departed from that location.
- Itinerary-planning requests typically include a departure location (referred to as an “origin”), a destination, and a desired departure time.
- the itinerary-planning requests may also include a desired arrival time, possibly instead of the desired departure time.
- the travel network can be analyzed to identify itineraries that may be suitable and select the best one from them.
- the process of identifying suitable itineraries can be onerous.
- the finding of suitable itineraries can involve exploring a large number of relatively small local routes, only to later determine that many of these local routes are infeasible as part of a solution. This exploration, however, can expend significant processing resources. As a result, providing such service can be costly, hardware-wise. Further, the load placed on such systems can be erratic, leading to overprovisioning to provide responses within a desired time period most of the time.
- Such iterative solving can be expensive for long journeys, however, where the exploration of the travel network takes significantly more time.
- a method for itinerary planning comprising:
- the discarding can include:
- the distance can be a travel distance between the origin and the end point of the continuing network segment.
- the threshold can be constant or variable.
- the discarding can include discarding the continuing network segment if the continuing network segment is outside a region of the destination.
- the region can be defined by a distance threshold.
- a method for itinerary planning comprising:
- a system for itinerary planning comprising:
- a processor executing computer-executable instructions for analyzing said network segments and, in response to an itinerary-planning request specifying an origin and a destination, generating a build of network segments extending from said origin, identifying a continuing network segment extending from said build, discarding said continuing network segment if said continuing network segment is marked as a local network segment and is distant from said origin and from a destination, evaluating said continuing network segment if said network segment is proximate to one of said origin and said destination, determining at least one suitable itinerary for said itinerary-planning request, and outputting said at least one suitable itinerary.
- the processor can determine a distance between the origin and the end point of the continuing network segment, and discard the continuing network segment if the distance exceeds a threshold.
- the threshold can be constant or variable.
- the distance can be a travel distance between the origin and the end point of the continuing network segment.
- the processor can discard the continuing network segment if the continuing network segment is outside a region of said destination.
- the region can be defined by a distance threshold.
- FIG. 1 is a schematic diagram of a computer system for itinerary planning in accordance with an embodiment of the invention, and its operating environment;
- FIG. 2 is a block diagram of the computer system shown in FIG. 1 ;
- FIG. 3 shows illustrative network segments of a large travel network with a point of departure and a destination for a trip desired to be made by a user of the computer system of FIG. 1 ;
- FIG. 4 shows the travel network of FIG. 3 , with a perimeter drawn around the point of departure and around the region of the destination;
- FIGS. 5A and 5B show a flowchart of the general method of itinerary planning performed by the computer system of FIG. 1 ;
- FIG. 6 is a flowchart of the determination of whether a build including a continuing network segment is suitable in the method of FIGS. 5A and 5B .
- the invention relates to a system and method of itinerary planning. Given an itinerary-planning request that includes an origin (commonly referred to as a “point of departure”), a destination, a desired time of departure or arrival and various other constraints, one or more suitable travel itineraries is generated, if possible. Each solution is known as an itinerary.
- An itinerary can include some combination of public transportation, walking and road travel by private vehicle or taxi. Nodes are physical locations, such as intersections, bus stops and train stations. Network segments represent means for traveling between the nodes. A network segment is usually one of the following: a set of trips between consecutive stopping points, a walk transfer between vehicles, and the traversal of a street segment, either on foot or by private vehicle (for example, car or taxi).
- FIG. 1 shows a computer system 20 for itinerary planning in accordance with an embodiment of the invention, and its operating environment.
- the computer system 20 stores travel network data about various travel networks.
- the computer system 20 is coupled to a large communications network 24 , such as the Internet.
- the computer system 20 operates a web service for serving web pages in response to requests for the same.
- a personal computer 28 is also shown in communication with the communications network 24 and executes an operating system and a web browser for enabling a user to access content available through web servers.
- a mobile device 32 is additionally in communication with the communications network 24 via a number of intermediate cellular communications towers, servers and switches that are not shown. Like the personal computer 28 , the mobile device 32 executes an operating system and a web browser for enabling a user to access functionality and data available through web servers.
- FIG. 2 shows a number of components of the computer system 20 for itinerary planning of FIG. 1 .
- the computer system 20 has a number of components, including a central processing unit (“CPU”) 44 (also referred to simply as a “processor”), random access memory (“RAM”) 48 , an input/output interface 52 , a network interface 56 , non-volatile storage 60 , and a local bus 64 enabling the CPU 44 to communicate with the other components.
- the CPU 44 executes computer-executable instructions for an operating system and programs that provide the desired functionality.
- RAM 48 provides relatively-responsive volatile storage to the CPU 44 .
- the input/output interface 52 allows for input to be received from one or more devices, such as a keyboard, a mouse, etc., and enables the CPU 44 to present output to a user via a monitor, a speaker, etc.
- the network interface 56 permits communication with other systems for receiving itinerary-planning requests and for providing itinerary responses, in the form of web pages.
- Non-volatile storage 60 stores the computer-executable instructions. During operation of the computer system 20 , the computer-executable instructions for providing the operating system and the programs, and the data may be retrieved from the non-volatile storage 60 and placed in RAM 48 to facilitate execution.
- a travel network database 68 storing travel network data is maintained by the computer system 20 in non-volatile storage 60 .
- the computer system 20 executes computer-executable instructions in the form of itinerary-planning software stored in the non-volatile storage 60 .
- the itinerary-planning software generates itineraries for itinerary-planning requests that include some request parameters, such as, for example, the origin of the journey, the journey destination, the preferred time of departure and/or the preferred time of arrival, etc.
- the itineraries include one or more journey segments.
- the journey segments correspond to rides on transit vehicles such as buses and trains, walked passages, taxi rides, etc.
- the itinerary-planning software is able to generate one or more itineraries for travel from the origin to the destination.
- the generated itineraries can be generally optimized on one or more of time, cost, the amount of walking, the number of vehicle transfers, the timeliness of the arrival, the timeliness of the departure, the number of travel means changes (such as interchanges between buses), etc.
- the computer system 20 executes a web service for serving web pages in response to requests received from clients such as the personal computer 28 and the mobile device 32 .
- the travel network database 68 stores information about various public transportation networks and street networks.
- the various networks include a set of nodes connected via network segments. As there are often two or more means for traveling from one node to another, nodes can be connected by more than one network segment.
- the travel network data can include public transportation route and schedule information, road networks, gradients for street network segments, traffic volume information, etc. Public transportation routes can include, for example, intercity trains, buses, ferries, airplanes, and urban bus and train routes.
- the computer system 20 can receive an itinerary-planning request generated via a served request page, analyze the travel network data, generate one or more itineraries, and generate and serve one or more web pages that show the itineraries generated for the itinerary-planning request.
- network segments representing the travel of a vehicle in one direction between a set of stops along a fixed route are identified as belonging to the same pattern. This enables the computer system 20 to understand which network segments represent travel along the same route and which represent a change of vehicle. Schedule information for each pattern is also stored in the travel network database 68 .
- the travel network database 68 stores information about pattern-transfers.
- Pattern-transfers are connections between all inbound trip segments belonging to the same pattern and all outbound trip segments belonging to another pattern.
- An amount of walking may be involved. For various reasons, notably performance, transfers are pre-calculated during data preparation. There is also usually a transfer comfort time associated with each transfer. This ensures that there are no dangerously-tight connections in itineraries returned. The comfort time is in addition to the walk time required to make the transfer. The comfort time is set when transfers are created and has a typical value of 5 minutes.
- Network segments in the travel network data can mark network segments in the travel network data as trunk or local network segments via a network segment marking tool.
- Network segments are marked as trunk network segments based on their suitability for use in the middle of a long-distance journey.
- Network segments may be suitable for use in the middle of a long-distance journey for a variety of reasons. It is generally desirable to traverse the middle of a long-distance journey at a faster pace, either by faster travel speeds or by making less stops. As it can be undesirable to have to find alternative, slower routers while en route to a destination, reliability and capacity availability are two characteristics that may be desirable for trunk routes.
- the administrator preferably has knowledge of the travel network and is able to select network segments that have characteristics that are desirable for the middle of a long-distance journey. In doing so, the administrator may mark some or all of the network segments of a transit route as trunk network segments. In some cases, sections of a transit route can have characteristics that make them suitable for use in the middle of a long-distance journey, whereas other sections of the transit route may be unsuitable for the same. Further, what constitutes the middle of a long-distance journey may vary depending on the size and make-up of the travel network. Thus, a network segment marked as a trunk network segment in a small travel network may not be deemed a trunk network segment by an administrator for a larger travel network.
- the computer system 20 allows for the selection of itinerary solutions based on any one or more of a number of factors.
- itinerary planning is associated with finding solutions that have the shortest duration.
- time may not be the only concern for a typical traveler. Many travelers are willing to compromise on the optimization of time provided that the solutions offer some other benefit, such as fewer transfers.
- FIG. 3 shows exemplary network segments of a relatively-large travel network over which a user may wish to make a trip.
- a point of departure 104 shown on the left is in a first urban area.
- a destination 108 shown on the right resides in a separate urban area a significant distance away, perhaps even across the country. Note that while there are many more than the illustrated network segments in the two urban areas in which the point of departure 104 and the destination 108 reside and in between them, they are not shown.
- Traditional large itinerary-planning solutions would explore each network segment connected to the end of a build generated during the itinerary-generating process, regardless of the type of network segment that the network segments represent. With long trips, such solutions can require the exploration of a vast number of various builds in an effort to find a suitable solution. Generally in such circumstances, the solution found after exploring all routes involves travel over a trunk route between the area of the point of departure and the area of the destination.
- the method of the invention simplifies the process of locating such solutions by only considering trunk routes when selecting network segments outside the proximity of the point of departure and the destination.
- FIG. 4 shows the travel network of FIG. 3 with a first perimeter 112 drawn around the point of departure.
- This first perimeter 112 represents a boundary of a region of the travel network that may be traversed before exceeding a travel distance threshold. While the first perimeter 112 appears as generally circular, those skilled in the art will appreciate that the first perimeter 112 may vary in irregularity depending on the travel network and the threshold.
- a second perimeter 116 is shown drawn around the region in which the destination 108 resides. An external region 120 resides outside of the first perimeter 112 and the second perimeter 116 .
- network segments explored around the point of departure 104 are limited to those within a pre-defined travel distance of the point of departure 104 , after which only continuing network segments traveling over trunk routes are considered in the external region 120 .
- the builds continue to be generated using trunk routes in the external region 120 .
- FIGS. 5A and 5B illustrate the general method 200 of itinerary planning employed by the itinerary-planning software of the computer system 20 .
- the method commences with the initialization of two thresholds, Dmaxo and Dmaxd ( 202 ).
- Dmaxo defines a travel distance along the travel network from the origin within which local network segments may be explored during itinerary generation.
- Dmaxd defines the size of a region around the destination in which travel via local network segments is explored. When building toward the destination, a more crude approximation is required, since the distance along the travel network to the destination is not yet known. A square around the destination is used to approximate the destination zone.
- Dmaxd represents the distance from the destination to the sides of a square bounding the region and the destination.
- Dmaxo and Dmaxd are constants that are both set to the same fixed value for the generation of a single itinerary solution; e.g., 50 miles.
- an input queue is created for all network segments connected to the origin ( 204 ).
- the itinerary-planning software selects all network segments departing from the origin on or after the desired departure time from the travel network database 68 , and places them in a first queue referred to as an input queue. The order in which the selected network segments are placed in the input queue is not important.
- One of the builds is then removed for analysis from the input queue ( 208 ).
- builds are series of one or more connected network segments that form at least part of a potential solution.
- the builds in the input queue consist of one network segment each.
- the builds removed from the input queue are arbitrarily ordered.
- the itinerary-planning software determines if there are network segments in the travel network database 68 that continue from the end node of the removed build ( 212 ). The itinerary-planning software searches the travel network database 68 for all network segments that continue from the end node of the build removed from the input queue and places them in a continuing network segment processing queue.
- itinerary-planning software appends continuing network segments onto builds, it is aware of the timing points of preceding network segments and is able to identify the first trip of a pattern for the continuing network segments. All of this information regarding which particular trip along each network segment of a build of network segments representing at least a part of a solution is maintained by the itinerary-planning software.
- the suitability of the build including the continuing segment is determined ( 218 ). It is at this point that continuing network segments over local routes and builds that include them are permitted or excluded based on proximity to the point of departure and/or destination. As a result, only those portions of builds that are proximate the point of departure and/or the destination can traverse local routes. The intermediate portion, if any, can only employ trunk routes.
- FIG. 6 shows the general method 218 of determining whether a build is suitable.
- the method 218 commences with the determination of whether the continuing network segment selected at 216 is part of a local route ( 310 ). If the continuing network segment is part of a trunk route, the build is deemed suitable ( 320 ), after which the method 218 ends. If, instead, the continuing network segment is determined to be part of a local route at 310 , it is determined whether the “length” of the build is greater than Dmaxo ( 330 ). The “length” in this case refers to the travel distance from the point of departure to the end of the build including the continuing network segment.
- the build is deemed to be suitable at 320 , after which the method 218 ends. That is, if the continuing network segment travels over local routes and is proximate the point of departure, the build is deemed suitable. If the continuing network segment is found to traverse a local route at 310 and the length of the build is determined to exceed Dmaxo at 330 , it is then determined if the continuing network segment is in the region of the destination ( 340 ).
- the continuing network segment has a start point and an end point that are both within the region of the destination.
- the region of the destination is defined as a square of length (2 ⁇ Dmaxd) that is centered on the destination. If both the start point and the end point of the continuing network segment are in the region of the destination, the build terminating with the continuing network segment is deemed to be suitable at 320 , after which the method 218 ends. If, instead, either the start point or the end point of a continuing network segment are outside of the region of the destination, the build terminating with the particular continuing network segment is deemed unsuitable ( 350 ), after which the method 218 ends.
- the method 200 returns to 212 where it is determined if there are unexamined continuing network segments. If, instead, the build including the continuing network segment selected at 216 is deemed suitable, the itinerary-planning software determines if the continuing network segment has been previously considered for this particular itinerary plan ( 220 ). If the continuing network segment has not been considered before, the continuing network segment is examined to determine if it arrives at the destination ( 224 ). If it does, the total cost to arrive at the destination via the currently-analyzed build including the continuing network segment is noted ( 228 ), and the method returns to 212 to analyze other unanalyzed continuing network segments, if any.
- the itinerary-planning software determines if the total cost to arrive at the end of the continuing network segment via the currently-analyzed build is, in fact, the best cost to arrive at the end of the network segment ( 232 ). If the cost to arrive at the end of the continuing network segment via the currently-analyzed build is not the best found so far for that network segment, the method returns to 212 to analyze another unanalyzed continuing network segment, if any. If, instead, the cost to arrive at the end of the continuing network segment via the currently-analyzed build is the best found thus far, the currently-analyzed build, including the build removed from the input queue and the continuing network segment, is placed as an expansion in a second queue, referred to as an output queue ( 236 ). After placement of the expansion in the output queue, the method returns to 212 to analyze another unanalyzed continuing network segment, if any.
- the itinerary-planning software determines if the total cost to arrive at the end of the continuing network segment via the currently-analyzed build is the best cost to arrive at the end of that network segment ( 240 ). If it is not, that continuing network segment is discarded as an expansion of the build removed from the input queue, after which the method thereafter returns to 212 to analyze another unanalyzed continuing network segment, if any. If, however, the cost for arriving at the end of the continuing network segment via the currently-analyzed build is the best found thus far, the itinerary-planning software determines if the continuing network segment arrives at the destination ( 244 ).
- the itinerary-planning software notes the total cost ( 248 ), and the method returns to 212 to analyze another unanalyzed continuing network segment, if any. If the continuing network segment does not arrive at the destination, the itinerary-planning software determines if the total cost to arrive at the end of the particular network segment via the currently-analyzed build exceeds the best cost found thus far to arrive at the destination ( 252 ). If the cost to arrive at the end of the network segment via the currently-analyzed build exceeds the best cost found thus far to arrive at the destination, the method returns to 212 to analyze another unanalyzed continuing network segment, if any.
- the itinerary-planning software determines if the continuing network segment is already in the output queue ( 256 ). If the continuing network segment is already in the output queue, the method returns to 212 to analyze another unanalyzed continuing network segment, if any. If, however, the continuing network segment is not found in the output queue, the build removed from the input queue and the continuing network segment are “captured” and re-placed in the input queue as a build ( 260 ). Thereafter, the method returns to 212 to analyze another unanalyzed continuing network segment, if any.
- the itinerary-planning software determines if there are builds remaining in the input queue ( 264 ). If there are, the method returns to 208 , at which the itinerary-planning software removes another build from the input queue for analysis. If, however, there are no further builds in the input queue, the itinerary-planning software determines if there are builds in the output queue ( 268 ). If the output queue is not empty, the builds in the output queue are moved to the input queue ( 272 ). Thereafter, the method returns to 208 , with the itinerary-planning software removing a build from the input queue for further analysis. If the output queue is found to be empty at 268 , the method ends.
- the computer system 20 then outputs the itinerary to storage and prepares and serves a web page presenting the itinerary to the user.
- the itinerary-planning system finds a solution from the origin to the destination
- the origin may represent a network node close to the address specified by a user as a starting point
- the destination may represent a network node close to the address specified by the user as an end point for the desired trip.
- Dmaxo and Dmaxd can be set to different values. These values may also vary depending on the location of the origin and the destination, respectively.
- regions can be pre-defined and used for determining proximity for both the origin and the destination.
- the region of the destination in which travel over local network segments is permitted can be circular.
- the thresholds Dmaxo and Dmaxd may be varied in various circumstances. For example, where a person has expressed a desire to travel by bus, a mode deemed “local” by the administrator, the thresholds can be increased to enable consideration of travel from the origin to the destination completely by bus.
- the method may be performed repeatedly using different parameters and inputs in an effort to locate satisfactory alternative solutions.
- Computer-executable instructions for implementing the itinerary-planning software on a computer system could be provided separately from the computer system, for example, on a computer-readable medium (such as, for example, an optical disk, a hard disk, a USB drive or a media card) or by making them available for downloading over a communications network, such as the Internet.
- a computer-readable medium such as, for example, an optical disk, a hard disk, a USB drive or a media card
- While the computer system is shown as a single physical computer, it will be appreciated that the computer system can include two or more physical computers in communication with each other. Accordingly, while the embodiment shows the various components of the itinerary-planning software residing on the same physical computer, those skilled in the art will appreciate that the components can reside on separate physical computers.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Automation & Control Theory (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The present invention relates to a method and system for itinerary planning. The method commences with the receipt of an itinerary-planning request specifying an origin and a destination. A build of network segments extending from the origin is generated. A continuing network segment extending from the build is identified. The continuing network segment is discarded if the continuing network segment is marked as a local network segment and is distant from the origin and from the destination. The continuing network segment is evaluated if the network segment is proximate to one of the origin and the destination. At least one suitable itinerary is determined for the itinerary-planning request. The at least one suitable itinerary is outputted.
Description
- This application claims priority from U.S. Provisional Patent Application Ser. No. 61/468,393, filed on Mar. 28, 2011, U.S. Provisional Patent Application Ser. No. 61/468,400 filed on Mar. 28, 2011, U.S. Provisional Patent Application Ser. No. 61/490,100, filed on May 26, 2011, and U.S. Provisional Patent Application Ser. No. 61/490,105, filed on May 26, 2011, the contents of all of which are incorporated herein in their entirety by reference.
- The present invention relates to the field of transportation. In particular, it relates to a system and method for itinerary planning.
- Itinerary planning is generally known. Given a travel network, and a set of parameters that form an itinerary-planning request, an itinerary is generated that best satisfies the parameters. The travel network typically is a street network or a public transportation network, but, in some cases, can incorporate two or more travel means to enable a comprehensive solution to be provided. The travel network consists of a set of paths, or network segments, that are terminated at both ends by nodes. For example, both metropolitan trains and transit buses travel along fixed routes that have scheduled stops therealong. Nodes can be used to represent the stops and network segments model the travel of the trains and buses between the stops. Nodes are often defined to denote points where interchange between various travel means can occur.
- To further complicate things, when dealing with scheduled services such as bus and train services, network nodes may be used to not only represent physical locations, but also can be used to represent locations at particular times. This information can be important in determining estimated travel times, whether interchanges at nodes are possible and, if so, how long may have to be waited, etc. It can be undesirable to plan arrival at an intersection of a first bus route being traveled, for example, to change to a second bus route when the last bus for the day will have already departed from that location.
- Itinerary-planning requests typically include a departure location (referred to as an “origin”), a destination, and a desired departure time. The itinerary-planning requests may also include a desired arrival time, possibly instead of the desired departure time. Using the parameters provided in the itinerary-planning request, the travel network can be analyzed to identify itineraries that may be suitable and select the best one from them.
- Where the travel network is large, the process of identifying suitable itineraries can be onerous. The finding of suitable itineraries can involve exploring a large number of relatively small local routes, only to later determine that many of these local routes are infeasible as part of a solution. This exploration, however, can expend significant processing resources. As a result, providing such service can be costly, hardware-wise. Further, the load placed on such systems can be erratic, leading to overprovisioning to provide responses within a desired time period most of the time.
- In some cases, it may be desirable to iteratively generate one or more itineraries using different parameters to identify possible itinerary solutions for an itinerary request. Such iterative solving can be expensive for long journeys, however, where the exploration of the travel network takes significantly more time.
- It is therefore an object of this invention to provide a system and method for itinerary planning.
- According to an aspect of the invention, there is provided a method for itinerary planning, comprising:
- receiving an itinerary-planning request specifying an origin and a destination;
- generating a build of network segments extending from said origin;
- identifying a continuing network segment extending from said build; discarding said continuing network segment if said continuing network segment is marked as a local network segment and is distant from said origin and from said destination;
- evaluating said continuing network segment if said network segment is proximate to one of said origin and said destination;
- determining at least one suitable itinerary for said itinerary-planning request; and
- outputting said at least one suitable itinerary.
- The discarding can include:
- determining a distance between said origin and the end point of said continuing network segment; and
- discarding said continuing network segment if said distance exceeds a threshold.
- The distance can be a travel distance between the origin and the end point of the continuing network segment.
- The threshold can be constant or variable.
- The discarding can include discarding the continuing network segment if the continuing network segment is outside a region of the destination. The region can be defined by a distance threshold.
- According to another aspect of the invention, there is provided a method for itinerary planning, comprising:
- receiving an itinerary-planning request specifying an origin and a destination;
- generating a build of network segments extending from said origin;
- identifying a continuing network segment extending from said build;
- if said continuing network segment is distant from said origin and from a destination, evaluating said continuing network segment only if said continuing network segment is marked as a trunk network segment;
- determining at least one suitable itinerary for said itinerary-planning request; and
- outputting said at least one suitable itinerary.
- According to a further aspect of the invention, there is provided a system for itinerary planning, comprising:
- a database of network segments;
- a processor executing computer-executable instructions for analyzing said network segments and, in response to an itinerary-planning request specifying an origin and a destination, generating a build of network segments extending from said origin, identifying a continuing network segment extending from said build, discarding said continuing network segment if said continuing network segment is marked as a local network segment and is distant from said origin and from a destination, evaluating said continuing network segment if said network segment is proximate to one of said origin and said destination, determining at least one suitable itinerary for said itinerary-planning request, and outputting said at least one suitable itinerary.
- The processor can determine a distance between the origin and the end point of the continuing network segment, and discard the continuing network segment if the distance exceeds a threshold. The threshold can be constant or variable.
- The distance can be a travel distance between the origin and the end point of the continuing network segment.
- The processor can discard the continuing network segment if the continuing network segment is outside a region of said destination. The region can be defined by a distance threshold.
- Other and further advantages and features of the invention will be apparent to those skilled in the art from the following detailed description thereof, taken in conjunction with the accompanying drawings.
- The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which like numbers refer to like elements, wherein:
-
FIG. 1 is a schematic diagram of a computer system for itinerary planning in accordance with an embodiment of the invention, and its operating environment; -
FIG. 2 is a block diagram of the computer system shown inFIG. 1 ; -
FIG. 3 shows illustrative network segments of a large travel network with a point of departure and a destination for a trip desired to be made by a user of the computer system ofFIG. 1 ; -
FIG. 4 shows the travel network ofFIG. 3 , with a perimeter drawn around the point of departure and around the region of the destination; -
FIGS. 5A and 5B show a flowchart of the general method of itinerary planning performed by the computer system ofFIG. 1 ; and -
FIG. 6 is a flowchart of the determination of whether a build including a continuing network segment is suitable in the method ofFIGS. 5A and 5B . - The invention relates to a system and method of itinerary planning. Given an itinerary-planning request that includes an origin (commonly referred to as a “point of departure”), a destination, a desired time of departure or arrival and various other constraints, one or more suitable travel itineraries is generated, if possible. Each solution is known as an itinerary. An itinerary can include some combination of public transportation, walking and road travel by private vehicle or taxi. Nodes are physical locations, such as intersections, bus stops and train stations. Network segments represent means for traveling between the nodes. A network segment is usually one of the following: a set of trips between consecutive stopping points, a walk transfer between vehicles, and the traversal of a street segment, either on foot or by private vehicle (for example, car or taxi).
- It has been found that, by only considering network segments that traverse trunk routes during the generation of a series (or “build”) of connected network segments when proximate to neither the point of departure nor the destination, processing time can be reduced significantly for itineraries that span large distances in most circumstances. Further, solutions that incorporate unsuitable network segments in the middle of the solution (unsuitable due to reliability, limited capacity, unsafe interchanges, etc.) can be automatically excluded.
-
FIG. 1 shows acomputer system 20 for itinerary planning in accordance with an embodiment of the invention, and its operating environment. Thecomputer system 20 stores travel network data about various travel networks. Thecomputer system 20 is coupled to alarge communications network 24, such as the Internet. Thecomputer system 20 operates a web service for serving web pages in response to requests for the same. Apersonal computer 28 is also shown in communication with thecommunications network 24 and executes an operating system and a web browser for enabling a user to access content available through web servers. Amobile device 32 is additionally in communication with thecommunications network 24 via a number of intermediate cellular communications towers, servers and switches that are not shown. Like thepersonal computer 28, themobile device 32 executes an operating system and a web browser for enabling a user to access functionality and data available through web servers. -
FIG. 2 shows a number of components of thecomputer system 20 for itinerary planning ofFIG. 1 . As shown, thecomputer system 20 has a number of components, including a central processing unit (“CPU”) 44 (also referred to simply as a “processor”), random access memory (“RAM”) 48, an input/output interface 52, anetwork interface 56,non-volatile storage 60, and alocal bus 64 enabling theCPU 44 to communicate with the other components. TheCPU 44 executes computer-executable instructions for an operating system and programs that provide the desired functionality.RAM 48 provides relatively-responsive volatile storage to theCPU 44. The input/output interface 52 allows for input to be received from one or more devices, such as a keyboard, a mouse, etc., and enables theCPU 44 to present output to a user via a monitor, a speaker, etc. Thenetwork interface 56 permits communication with other systems for receiving itinerary-planning requests and for providing itinerary responses, in the form of web pages.Non-volatile storage 60 stores the computer-executable instructions. During operation of thecomputer system 20, the computer-executable instructions for providing the operating system and the programs, and the data may be retrieved from thenon-volatile storage 60 and placed inRAM 48 to facilitate execution. Atravel network database 68 storing travel network data is maintained by thecomputer system 20 innon-volatile storage 60. - The
computer system 20 executes computer-executable instructions in the form of itinerary-planning software stored in thenon-volatile storage 60. The itinerary-planning software generates itineraries for itinerary-planning requests that include some request parameters, such as, for example, the origin of the journey, the journey destination, the preferred time of departure and/or the preferred time of arrival, etc. The itineraries include one or more journey segments. The journey segments correspond to rides on transit vehicles such as buses and trains, walked passages, taxi rides, etc. - Using the travel network data stored in the
travel network database 68, the itinerary-planning software is able to generate one or more itineraries for travel from the origin to the destination. The generated itineraries can be generally optimized on one or more of time, cost, the amount of walking, the number of vehicle transfers, the timeliness of the arrival, the timeliness of the departure, the number of travel means changes (such as interchanges between buses), etc. In addition to the itinerary-planning software, thecomputer system 20 executes a web service for serving web pages in response to requests received from clients such as thepersonal computer 28 and themobile device 32. - The
travel network database 68 stores information about various public transportation networks and street networks. The various networks include a set of nodes connected via network segments. As there are often two or more means for traveling from one node to another, nodes can be connected by more than one network segment. The travel network data can include public transportation route and schedule information, road networks, gradients for street network segments, traffic volume information, etc. Public transportation routes can include, for example, intercity trains, buses, ferries, airplanes, and urban bus and train routes. Using the travel network data, thecomputer system 20 can receive an itinerary-planning request generated via a served request page, analyze the travel network data, generate one or more itineraries, and generate and serve one or more web pages that show the itineraries generated for the itinerary-planning request. - In the
travel network database 68, network segments representing the travel of a vehicle in one direction between a set of stops along a fixed route are identified as belonging to the same pattern. This enables thecomputer system 20 to understand which network segments represent travel along the same route and which represent a change of vehicle. Schedule information for each pattern is also stored in thetravel network database 68. - Further, the
travel network database 68 stores information about pattern-transfers. Pattern-transfers are connections between all inbound trip segments belonging to the same pattern and all outbound trip segments belonging to another pattern. An amount of walking may be involved. For various reasons, notably performance, transfers are pre-calculated during data preparation. There is also usually a transfer comfort time associated with each transfer. This ensures that there are no dangerously-tight connections in itineraries returned. The comfort time is in addition to the walk time required to make the transfer. The comfort time is set when transfers are created and has a typical value of 5 minutes. - Administrators can mark network segments in the travel network data as trunk or local network segments via a network segment marking tool. Network segments are marked as trunk network segments based on their suitability for use in the middle of a long-distance journey. Network segments may be suitable for use in the middle of a long-distance journey for a variety of reasons. It is generally desirable to traverse the middle of a long-distance journey at a faster pace, either by faster travel speeds or by making less stops. As it can be undesirable to have to find alternative, slower routers while en route to a destination, reliability and capacity availability are two characteristics that may be desirable for trunk routes. That is, once a person is en route to a destination and finds out that a leg of the itinerary is unavailable, either due to a lack of available capacity or due to a service outage, the person may have to spend significant additional time getting to the destination via an alternate route. The same can be true where a person is onboard a vehicle that undergoes a failure. Further, some interchanges may be excluded because they are deemed to be unsafe by the administrator. This could be a temporary or permanent arrangement due to poor street lighting, road safety issues, crowd segregation, or any reason known to the local authorities. By selecting more reliable network segments with a better chance of having available passenger capacity for the middle of a long-distance journey, the likelihood of encountering such issues, and suffering significant additional travel time, can be reduced.
- The administrator preferably has knowledge of the travel network and is able to select network segments that have characteristics that are desirable for the middle of a long-distance journey. In doing so, the administrator may mark some or all of the network segments of a transit route as trunk network segments. In some cases, sections of a transit route can have characteristics that make them suitable for use in the middle of a long-distance journey, whereas other sections of the transit route may be unsuitable for the same. Further, what constitutes the middle of a long-distance journey may vary depending on the size and make-up of the travel network. Thus, a network segment marked as a trunk network segment in a small travel network may not be deemed a trunk network segment by an administrator for a larger travel network.
- The
computer system 20 allows for the selection of itinerary solutions based on any one or more of a number of factors. Typically, itinerary planning is associated with finding solutions that have the shortest duration. However, time may not be the only concern for a typical traveler. Many travelers are willing to compromise on the optimization of time provided that the solutions offer some other benefit, such as fewer transfers. -
FIG. 3 shows exemplary network segments of a relatively-large travel network over which a user may wish to make a trip. A point ofdeparture 104 shown on the left is in a first urban area. Adestination 108 shown on the right resides in a separate urban area a significant distance away, perhaps even across the country. Note that while there are many more than the illustrated network segments in the two urban areas in which the point ofdeparture 104 and thedestination 108 reside and in between them, they are not shown. Traditional large itinerary-planning solutions would explore each network segment connected to the end of a build generated during the itinerary-generating process, regardless of the type of network segment that the network segments represent. With long trips, such solutions can require the exploration of a vast number of various builds in an effort to find a suitable solution. Generally in such circumstances, the solution found after exploring all routes involves travel over a trunk route between the area of the point of departure and the area of the destination. - The method of the invention simplifies the process of locating such solutions by only considering trunk routes when selecting network segments outside the proximity of the point of departure and the destination.
-
FIG. 4 shows the travel network ofFIG. 3 with afirst perimeter 112 drawn around the point of departure. Thisfirst perimeter 112 represents a boundary of a region of the travel network that may be traversed before exceeding a travel distance threshold. While thefirst perimeter 112 appears as generally circular, those skilled in the art will appreciate that thefirst perimeter 112 may vary in irregularity depending on the travel network and the threshold. In addition, asecond perimeter 116 is shown drawn around the region in which thedestination 108 resides. Anexternal region 120 resides outside of thefirst perimeter 112 and thesecond perimeter 116. In generating an itinerary, network segments explored around the point ofdeparture 104 are limited to those within a pre-defined travel distance of the point ofdeparture 104, after which only continuing network segments traveling over trunk routes are considered in theexternal region 120. Thus, the builds continue to be generated using trunk routes in theexternal region 120. Once the builds generated near the destination, local routes can be employed to extend the builds. - Using this approach, local network segments that are not proximate the point of
departure 104 or the destination 108 (i.e., that are in the external region 120) are not explored, thereby significantly reducing the number of builds that have to be generated before a suitable itinerary is found in many cases. -
FIGS. 5A and 5B illustrate thegeneral method 200 of itinerary planning employed by the itinerary-planning software of thecomputer system 20. - The method commences with the initialization of two thresholds, Dmaxo and Dmaxd (202). Dmaxo defines a travel distance along the travel network from the origin within which local network segments may be explored during itinerary generation. Dmaxd defines the size of a region around the destination in which travel via local network segments is explored. When building toward the destination, a more crude approximation is required, since the distance along the travel network to the destination is not yet known. A square around the destination is used to approximate the destination zone. Dmaxd represents the distance from the destination to the sides of a square bounding the region and the destination. Typically, Dmaxo and Dmaxd are constants that are both set to the same fixed value for the generation of a single itinerary solution; e.g., 50 miles.
- Upon initializing Dmaxo and Dmaxd, an input queue is created for all network segments connected to the origin (204). The itinerary-planning software selects all network segments departing from the origin on or after the desired departure time from the
travel network database 68, and places them in a first queue referred to as an input queue. The order in which the selected network segments are placed in the input queue is not important. - One of the builds is then removed for analysis from the input queue (208). As previously noted, builds are series of one or more connected network segments that form at least part of a potential solution. Immediately after 204, the builds in the input queue consist of one network segment each. As the builds are arbitrarily ordered in the input queue, the builds removed from the input queue are arbitrarily ordered. Upon removing the network segment from the input queue, the itinerary-planning software determines if there are network segments in the
travel network database 68 that continue from the end node of the removed build (212). The itinerary-planning software searches thetravel network database 68 for all network segments that continue from the end node of the build removed from the input queue and places them in a continuing network segment processing queue. As the itinerary-planning software appends continuing network segments onto builds, it is aware of the timing points of preceding network segments and is able to identify the first trip of a pattern for the continuing network segments. All of this information regarding which particular trip along each network segment of a build of network segments representing at least a part of a solution is maintained by the itinerary-planning software. - If there are any network segments that continue from the end node of the removed network segment, one is selected from the continuing network segment processing queue (216).
- Upon the selection of a continuing segment, the suitability of the build including the continuing segment is determined (218). It is at this point that continuing network segments over local routes and builds that include them are permitted or excluded based on proximity to the point of departure and/or destination. As a result, only those portions of builds that are proximate the point of departure and/or the destination can traverse local routes. The intermediate portion, if any, can only employ trunk routes.
-
FIG. 6 shows thegeneral method 218 of determining whether a build is suitable. Themethod 218 commences with the determination of whether the continuing network segment selected at 216 is part of a local route (310). If the continuing network segment is part of a trunk route, the build is deemed suitable (320), after which themethod 218 ends. If, instead, the continuing network segment is determined to be part of a local route at 310, it is determined whether the “length” of the build is greater than Dmaxo (330). The “length” in this case refers to the travel distance from the point of departure to the end of the build including the continuing network segment. As it is desirable to only explore builds continuing over local routes proximate the point of departure or destination, builds that end with continuing network segments using local routes outside of these areas are quickly located and discarded. If the length of the build is determined to be lesser than Dmaxo at 330, then the build is deemed to be suitable at 320, after which themethod 218 ends. That is, if the continuing network segment travels over local routes and is proximate the point of departure, the build is deemed suitable. If the continuing network segment is found to traverse a local route at 310 and the length of the build is determined to exceed Dmaxo at 330, it is then determined if the continuing network segment is in the region of the destination (340). Here, it is determined if the continuing network segment has a start point and an end point that are both within the region of the destination. Again, the region of the destination is defined as a square of length (2×Dmaxd) that is centered on the destination. If both the start point and the end point of the continuing network segment are in the region of the destination, the build terminating with the continuing network segment is deemed to be suitable at 320, after which themethod 218 ends. If, instead, either the start point or the end point of a continuing network segment are outside of the region of the destination, the build terminating with the particular continuing network segment is deemed unsuitable (350), after which themethod 218 ends. - Returning again to
FIGS. 5A and 5B , if the build including the continuing network segment selected at 216 is deemed unsuitable, themethod 200 returns to 212 where it is determined if there are unexamined continuing network segments. If, instead, the build including the continuing network segment selected at 216 is deemed suitable, the itinerary-planning software determines if the continuing network segment has been previously considered for this particular itinerary plan (220). If the continuing network segment has not been considered before, the continuing network segment is examined to determine if it arrives at the destination (224). If it does, the total cost to arrive at the destination via the currently-analyzed build including the continuing network segment is noted (228), and the method returns to 212 to analyze other unanalyzed continuing network segments, if any. If the continuing network segment does not arrive at the destination, the itinerary-planning software determines if the total cost to arrive at the end of the continuing network segment via the currently-analyzed build is, in fact, the best cost to arrive at the end of the network segment (232). If the cost to arrive at the end of the continuing network segment via the currently-analyzed build is not the best found so far for that network segment, the method returns to 212 to analyze another unanalyzed continuing network segment, if any. If, instead, the cost to arrive at the end of the continuing network segment via the currently-analyzed build is the best found thus far, the currently-analyzed build, including the build removed from the input queue and the continuing network segment, is placed as an expansion in a second queue, referred to as an output queue (236). After placement of the expansion in the output queue, the method returns to 212 to analyze another unanalyzed continuing network segment, if any. - If, instead, at 220, the itinerary-planning software determines that the continuing network segment has previously been considered, the itinerary-planning software determines if the total cost to arrive at the end of the continuing network segment via the currently-analyzed build is the best cost to arrive at the end of that network segment (240). If it is not, that continuing network segment is discarded as an expansion of the build removed from the input queue, after which the method thereafter returns to 212 to analyze another unanalyzed continuing network segment, if any. If, however, the cost for arriving at the end of the continuing network segment via the currently-analyzed build is the best found thus far, the itinerary-planning software determines if the continuing network segment arrives at the destination (244). If it does, the itinerary-planning software notes the total cost (248), and the method returns to 212 to analyze another unanalyzed continuing network segment, if any. If the continuing network segment does not arrive at the destination, the itinerary-planning software determines if the total cost to arrive at the end of the particular network segment via the currently-analyzed build exceeds the best cost found thus far to arrive at the destination (252). If the cost to arrive at the end of the network segment via the currently-analyzed build exceeds the best cost found thus far to arrive at the destination, the method returns to 212 to analyze another unanalyzed continuing network segment, if any. If, however, the cost to arrive at the end of the continuing network segment via the currently-analyzed build is, in fact, lower than the best cost found thus far to arrive at the destination, the itinerary-planning software determines if the continuing network segment is already in the output queue (256). If the continuing network segment is already in the output queue, the method returns to 212 to analyze another unanalyzed continuing network segment, if any. If, however, the continuing network segment is not found in the output queue, the build removed from the input queue and the continuing network segment are “captured” and re-placed in the input queue as a build (260). Thereafter, the method returns to 212 to analyze another unanalyzed continuing network segment, if any.
- Once the itinerary-planning software determines that there are no further unanalyzed continuing network segments at 212, the itinerary-planning software determines if there are builds remaining in the input queue (264). If there are, the method returns to 208, at which the itinerary-planning software removes another build from the input queue for analysis. If, however, there are no further builds in the input queue, the itinerary-planning software determines if there are builds in the output queue (268). If the output queue is not empty, the builds in the output queue are moved to the input queue (272). Thereafter, the method returns to 208, with the itinerary-planning software removing a build from the input queue for further analysis. If the output queue is found to be empty at 268, the method ends.
- The
computer system 20 then outputs the itinerary to storage and prepares and serves a web page presenting the itinerary to the user. - In cases where the distance between the origin and the destination is slightly more than Dmaxo, it may be the case that one or more builds of that length arrive in the region of the destination and, as a result, itinerary solutions may be found that traverse local routes only.
- While, in the described embodiment, the itinerary-planning system finds a solution from the origin to the destination, those skilled in the art will appreciate that the origin may represent a network node close to the address specified by a user as a starting point, and that the destination may represent a network node close to the address specified by the user as an end point for the desired trip.
- Other means of defining proximity to the origin and/or the destination will occur to those skilled in the art. For example, Dmaxo and Dmaxd can be set to different values. These values may also vary depending on the location of the origin and the destination, respectively. In another example, regions can be pre-defined and used for determining proximity for both the origin and the destination. In a further example, the region of the destination in which travel over local network segments is permitted can be circular.
- The thresholds Dmaxo and Dmaxd may be varied in various circumstances. For example, where a person has expressed a desire to travel by bus, a mode deemed “local” by the administrator, the thresholds can be increased to enable consideration of travel from the origin to the destination completely by bus.
- The method may be performed repeatedly using different parameters and inputs in an effort to locate satisfactory alternative solutions.
- Computer-executable instructions for implementing the itinerary-planning software on a computer system could be provided separately from the computer system, for example, on a computer-readable medium (such as, for example, an optical disk, a hard disk, a USB drive or a media card) or by making them available for downloading over a communications network, such as the Internet.
- While the computer system is shown as a single physical computer, it will be appreciated that the computer system can include two or more physical computers in communication with each other. Accordingly, while the embodiment shows the various components of the itinerary-planning software residing on the same physical computer, those skilled in the art will appreciate that the components can reside on separate physical computers.
- This concludes the description of the presently preferred embodiments of the invention. The foregoing description has been presented for the purpose of illustration and is not intended to be exhaustive or to limit the invention to the precise form disclosed. It is intended the scope of the invention be limited not by this description but by the claims that follow.
Claims (16)
1. A method for itinerary planning, comprising:
receiving an itinerary-planning request specifying an origin and a destination;
generating a build of network segments extending from said origin;
identifying a continuing network segment extending from said build;
discarding said continuing network segment if said continuing network segment is marked as a local network segment and is distant from said origin and from said destination;
evaluating said continuing network segment if said network segment is proximate to one of said origin and said destination;
determining at least one suitable itinerary for said itinerary-planning request; and
outputting said at least one suitable itinerary.
2. The method of claim 1 , wherein said discarding comprises:
determining a distance between said origin and the end point of said continuing network segment; and
discarding said continuing network segment if said distance exceeds a threshold.
3. The method of claim 1 , wherein said distance is a travel distance between said origin and the end point of said continuing network segment.
4. The method of claim 2 , wherein said threshold is constant.
5. The method of claim 2 , wherein said threshold is variable.
6. The method of claim 1 , wherein said discarding comprises:
discarding said continuing network segment if said continuing network segment is outside a region of said destination.
7. The method of claim 6 , wherein said region is defined by a distance threshold.
8. A method for itinerary planning, comprising:
receiving an itinerary-planning request specifying an origin and a destination;
generating a build of network segments extending from said origin;
identifying a continuing network segment extending from said build;
if said continuing network segment is distant from said origin and from a destination, evaluating said continuing network segment only if said continuing network segment is marked as a trunk network segment;
determining at least one suitable itinerary for said itinerary-planning request; and
outputting said at least one suitable itinerary.
9. A system for itinerary planning, comprising:
a database of network segments;
a processor executing computer-executable instructions for analyzing said network segments and, in response to an itinerary-planning request specifying an origin and a destination, generating a build of network segments extending from said origin, identifying a continuing network segment extending from said build, discarding said continuing network segment if said continuing network segment is marked as a local network segment and is distant from said origin and from a destination, evaluating said continuing network segment if said network segment is proximate to one of said origin and said destination, determining at least one suitable itinerary for said itinerary-planning request, and outputting said at least one suitable itinerary.
10. The system of claim 9 , wherein said processor determines a distance between said origin and the end point of said continuing network segment, and discards said continuing network segment if said distance exceeds a threshold.
11. The system of claim 9 , wherein said distance is a travel distance between said origin and the end point of said continuing network segment.
12. The system of claim 10 , wherein said threshold is constant.
13. The system of claim 10 , wherein said threshold is variable.
14. The system of claim 9 , wherein said processor discards said continuing network segment if said continuing network segment is outside a region of said destination.
15. The system of claim 14 , wherein said region is defined by a distance threshold.
16. The system of claim 9 , further comprising a marking tool for enabling the marking of said network segments as local or trunk network segments.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/432,819 US20120253856A1 (en) | 2011-03-28 | 2012-03-28 | System and method for itinerary planning |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161468400P | 2011-03-28 | 2011-03-28 | |
| US201161468393P | 2011-03-28 | 2011-03-28 | |
| US201161490100P | 2011-05-26 | 2011-05-26 | |
| US201161490105P | 2011-05-26 | 2011-05-26 | |
| US13/432,819 US20120253856A1 (en) | 2011-03-28 | 2012-03-28 | System and method for itinerary planning |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20120253856A1 true US20120253856A1 (en) | 2012-10-04 |
Family
ID=46889578
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/006,615 Abandoned US20140012611A1 (en) | 2011-03-28 | 2012-03-27 | Method and system for generating viable pattern-transfers for an itinerary -planning system |
| US14/006,420 Abandoned US20140012610A1 (en) | 2011-03-28 | 2012-03-27 | System and method for itinerary planning |
| US13/432,812 Active 2032-07-02 US9946978B2 (en) | 2011-03-28 | 2012-03-28 | System and method for itinerary planning |
| US13/432,819 Abandoned US20120253856A1 (en) | 2011-03-28 | 2012-03-28 | System and method for itinerary planning |
Family Applications Before (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/006,615 Abandoned US20140012611A1 (en) | 2011-03-28 | 2012-03-27 | Method and system for generating viable pattern-transfers for an itinerary -planning system |
| US14/006,420 Abandoned US20140012610A1 (en) | 2011-03-28 | 2012-03-27 | System and method for itinerary planning |
| US13/432,812 Active 2032-07-02 US9946978B2 (en) | 2011-03-28 | 2012-03-28 | System and method for itinerary planning |
Country Status (5)
| Country | Link |
|---|---|
| US (4) | US20140012611A1 (en) |
| EP (2) | EP2691739A4 (en) |
| AU (1) | AU2012234696B2 (en) |
| CA (4) | CA2772725C (en) |
| WO (2) | WO2012129687A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020154670A1 (en) * | 2019-01-25 | 2020-07-30 | Uatc, Llc | Vehicle routing with local and general routes |
| CN115731734A (en) * | 2022-11-09 | 2023-03-03 | 支付宝(杭州)信息技术有限公司 | Method and system for travel route planning based on traffic trip volume data processing |
| CN116466697A (en) * | 2022-01-11 | 2023-07-21 | 动态Ad有限责任公司 | Method, system and storage medium for delivery vehicle |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10687166B2 (en) | 2004-09-30 | 2020-06-16 | Uber Technologies, Inc. | Obtaining user assistance |
| US10514816B2 (en) | 2004-12-01 | 2019-12-24 | Uber Technologies, Inc. | Enhanced user assistance |
| US10445799B2 (en) | 2004-09-30 | 2019-10-15 | Uber Technologies, Inc. | Supply-chain side assistance |
| US8358976B2 (en) | 2006-03-24 | 2013-01-22 | The Invention Science Fund I, Llc | Wireless device with an aggregate user interface for controlling other devices |
| GB2499795A (en) * | 2012-02-28 | 2013-09-04 | Ibm | Routing in a network, based on travel and waiting time |
| US20150170229A1 (en) * | 2013-05-14 | 2015-06-18 | Google Inc. | Systems and Methods for Summarizing a Guidebook Result |
| US9057612B1 (en) * | 2013-05-15 | 2015-06-16 | Google Inc. | Systems and methods for unified directions |
| US20150032681A1 (en) * | 2013-07-23 | 2015-01-29 | International Business Machines Corporation | Guiding uses in optimization-based planning under uncertainty |
| US9552559B2 (en) | 2014-05-06 | 2017-01-24 | Elwha Llc | System and methods for verifying that one or more directives that direct transport of a second end user does not conflict with one or more obligations to transport a first end user |
| US11100434B2 (en) | 2014-05-06 | 2021-08-24 | Uber Technologies, Inc. | Real-time carpooling coordinating system and methods |
| US10458801B2 (en) | 2014-05-06 | 2019-10-29 | Uber Technologies, Inc. | Systems and methods for travel planning that calls for at least one transportation vehicle unit |
| US9483744B2 (en) | 2014-05-06 | 2016-11-01 | Elwha Llc | Real-time carpooling coordinating systems and methods |
| US9228841B2 (en) | 2014-06-02 | 2016-01-05 | Xerox Corporation | Methods and systems for determining routes in a navigation system |
| US10122583B2 (en) * | 2014-07-08 | 2018-11-06 | Oracle International Corporation | Aggregated network model with component network aggregation |
| US11100557B2 (en) | 2014-11-04 | 2021-08-24 | International Business Machines Corporation | Travel itinerary recommendation engine using inferred interests and sentiments |
| US10274330B2 (en) * | 2014-12-30 | 2019-04-30 | Here Global B.V. | Method and apparatus for providing a navigation route |
| US20170236223A1 (en) * | 2016-02-11 | 2017-08-17 | International Business Machines Corporation | Personalized travel planner that identifies surprising events and points of interest |
| US20180143027A1 (en) * | 2016-11-22 | 2018-05-24 | Microsoft Technology Licensing, Llc | Dynamic route planning for demand-based transport |
| CN107704957A (en) * | 2017-09-28 | 2018-02-16 | 京东方科技集团股份有限公司 | A kind of congested link passes through optimization method and device |
| 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 |
| EP3745329B1 (en) | 2019-05-29 | 2026-01-07 | Naver Corporation | Methods for computing itineraries in a multimodal transportation network |
| CN111489017B (en) * | 2020-03-26 | 2023-06-16 | 哈尔滨工业大学 | An optimization method for pick-up bus network based on strip-shaped passenger attraction area |
| US11747153B1 (en) | 2022-07-21 | 2023-09-05 | Travelshift ehf. | Apparatus and associated method for determining a travel itinerary |
Family Cites Families (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5604676A (en) | 1994-07-25 | 1997-02-18 | Lucent Technologies Inc. | System and method for coordinating personal transportation |
| JPH09297032A (en) * | 1996-05-02 | 1997-11-18 | Pioneer Electron Corp | Method and device for setting route |
| KR100279761B1 (en) * | 1996-12-09 | 2001-02-01 | 하기와라 가즈토시 | Route navigation device |
| US8332247B1 (en) * | 1997-06-12 | 2012-12-11 | G. William Bailey | Methods and systems for optimizing network travel costs |
| US6208934B1 (en) * | 1999-01-19 | 2001-03-27 | Navigation Technologies Corp. | Method and system for providing walking instructions with route guidance in a navigation program |
| EP1077362B1 (en) * | 1999-08-17 | 2004-05-26 | Toyota Jidosha Kabushiki Kaisha | Route guiding apparatus |
| US6587547B1 (en) * | 1999-09-13 | 2003-07-01 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time drilling via telephone |
| AU3638401A (en) | 1999-11-01 | 2001-05-14 | Ita Software, Inc. | Method and apparatus for providing availability of airline seats |
| GB0002985D0 (en) * | 2000-02-09 | 2000-03-29 | Travelfusion Limited | Integrated journey planner |
| US6654682B2 (en) * | 2000-03-23 | 2003-11-25 | Siemens Transportation Systems, Inc. | Transit planning system |
| US20020143587A1 (en) * | 2001-04-02 | 2002-10-03 | Microsoft Corporation | Optimized system and method for finding best fares |
| US20030023463A1 (en) * | 2001-04-16 | 2003-01-30 | Frank Dombroski | Method and system for automatically planning, booking, and calendaring travel arrangements |
| US7627870B1 (en) * | 2001-04-28 | 2009-12-01 | Cisco Technology, Inc. | Method and apparatus for a data structure comprising a hierarchy of queues or linked list data structures |
| US7305356B2 (en) * | 2001-05-25 | 2007-12-04 | Amadeus Americas, Inc. | Travel value index |
| US7472080B2 (en) * | 2003-10-24 | 2008-12-30 | Sachin Goel | Methods and associated systems for an airline to enhance customer experience and provide options on flights |
| EP1769437A4 (en) * | 2004-05-21 | 2010-02-03 | Sabre Inc | Systems, methods, and computer program products for searching and displaying low cost productavailability information for a given departure-return date combination or range of departure-return data combinations |
| CN1997875B (en) * | 2004-07-20 | 2010-12-15 | 株式会社日本耐美得 | Route search device, route search method, and program |
| GB0420097D0 (en) * | 2004-09-10 | 2004-10-13 | Cotares Ltd | Apparatus for and method of providing data to an external application |
| US7957871B1 (en) * | 2005-09-29 | 2011-06-07 | Hopstop.com, Inc. | Methods and apparatuses for navigation in urban environments |
| US8005695B2 (en) | 2006-01-18 | 2011-08-23 | Ita Software, Inc. | Bias of queries for multi-passenger multi-route travel planning |
| CA2554651A1 (en) * | 2006-07-31 | 2008-01-31 | Trapeze Software Inc. | System and method for optimizing a transit network |
| EP1921421A1 (en) | 2006-11-10 | 2008-05-14 | Harman Becker Automotive Systems GmbH | Method and device for providing travel time information |
| WO2008064186A2 (en) * | 2006-11-17 | 2008-05-29 | Quantenna Communications, Inc. | Mesh with nodes having multiple antennas |
| CN101652789A (en) | 2007-02-12 | 2010-02-17 | 肖恩·奥沙利文 | Shared transportation system and service network |
| US8000892B2 (en) * | 2007-06-12 | 2011-08-16 | Campus Destinations, Inc. | Pedestrian mapping system |
| US7885764B2 (en) | 2007-09-06 | 2011-02-08 | GM Global Technology Operations LLC | Method for adaptively constructing and revising road maps |
| US20090119001A1 (en) * | 2007-11-07 | 2009-05-07 | Public Routes. Com, Llc | Method and system for finding multimodal transit route directions based on user preferred transport modes |
| US20090125229A1 (en) * | 2007-11-14 | 2009-05-14 | Telmap, Ltd. | Corridor mapping with alternative routes |
| WO2009065638A1 (en) * | 2007-11-24 | 2009-05-28 | Routerank Ltd | Personalized real-time location-based travel management |
| US20090171899A1 (en) * | 2007-12-28 | 2009-07-02 | Yahoo! Inc. | One-stop travel search |
| DE102008062211A1 (en) * | 2008-12-13 | 2010-06-17 | Mühlbauer Ag | Method for manufacturing semiconductor component, involves applying electronic component on flexible carrier substrate, and determining reference point at flexible carrier substrate |
| DE102008062119A1 (en) | 2008-12-16 | 2010-06-17 | Navigon Ag | Method and device for navigation with alternative route list |
| US7979292B2 (en) * | 2008-12-17 | 2011-07-12 | International Business Machines Corporation | Travel fee rate setting based upon travel mode and convenience |
| US8862386B2 (en) * | 2009-04-15 | 2014-10-14 | The Boeing Company | System and method for journey planning, finding K shortest paths through a time/space network |
| US20100268450A1 (en) * | 2009-04-15 | 2010-10-21 | Eugene Stephen Evanitsky | Pedestrian navigation systemand method integrated with public transportation |
| US20100305984A1 (en) * | 2009-06-01 | 2010-12-02 | Scopia, LLC | Intermodal trip planner |
| TWI401610B (en) | 2009-07-03 | 2013-07-11 | Shih Pi Ta Technology Ltd | Dispatching system for car assignment apparatus and method thereof |
| US8417409B2 (en) * | 2009-11-11 | 2013-04-09 | Google Inc. | Transit routing system for public transportation trip planning |
| CA2726165A1 (en) | 2009-12-30 | 2011-06-30 | Trapeze Software Inc. | Method and system for planning paratransit runs |
| CN101950479B (en) | 2010-08-26 | 2012-02-08 | 张宇康 | Passenger travel-oriented intelligent urban public transport system and implementation method thereof |
| US8510315B2 (en) * | 2010-12-06 | 2013-08-13 | Microsoft Corporation | Prioritizing travel itineraries |
| US8442848B2 (en) | 2011-03-09 | 2013-05-14 | David Myr | Automatic optimal taxicab mobile location based dispatching system |
| US20120253878A1 (en) | 2011-03-29 | 2012-10-04 | Trapeze Software Inc. | Method and system for scheduling paratransit service |
-
2012
- 2012-03-26 CA CA2772725A patent/CA2772725C/en active Active
- 2012-03-27 CA CA2830578A patent/CA2830578C/en active Active
- 2012-03-27 EP EP20120763152 patent/EP2691739A4/en not_active Withdrawn
- 2012-03-27 AU AU2012234696A patent/AU2012234696B2/en active Active
- 2012-03-27 US US14/006,615 patent/US20140012611A1/en not_active Abandoned
- 2012-03-27 CA CA2806774A patent/CA2806774C/en active Active
- 2012-03-27 CA CA2772809A patent/CA2772809C/en active Active
- 2012-03-27 EP EP12764194.2A patent/EP2691740B1/en active Active
- 2012-03-27 WO PCT/CA2012/050187 patent/WO2012129687A1/en not_active Ceased
- 2012-03-27 WO PCT/CA2012/050188 patent/WO2012129688A1/en not_active Ceased
- 2012-03-27 US US14/006,420 patent/US20140012610A1/en not_active Abandoned
- 2012-03-28 US US13/432,812 patent/US9946978B2/en active Active
- 2012-03-28 US US13/432,819 patent/US20120253856A1/en not_active Abandoned
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020154670A1 (en) * | 2019-01-25 | 2020-07-30 | Uatc, Llc | Vehicle routing with local and general routes |
| US11435200B2 (en) | 2019-01-25 | 2022-09-06 | Uatc, Llc | Autonomous vehicle routing with local and general routes |
| US20220412755A1 (en) * | 2019-01-25 | 2022-12-29 | Uatc, Llc | Autonomous vehicle routing with local and general routes |
| US12305997B2 (en) | 2019-01-25 | 2025-05-20 | Aurora Operations, Inc. | Routing multiple autonomous vehicles using local and general route planning |
| EP4628847A3 (en) * | 2019-01-25 | 2025-12-10 | Aurora Operations, Inc. | Vehicle routing with local and general routes |
| CN116466697A (en) * | 2022-01-11 | 2023-07-21 | 动态Ad有限责任公司 | Method, system and storage medium for delivery vehicle |
| CN115731734A (en) * | 2022-11-09 | 2023-03-03 | 支付宝(杭州)信息技术有限公司 | Method and system for travel route planning based on traffic trip volume data processing |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2691740A1 (en) | 2014-02-05 |
| CA2830578C (en) | 2017-12-12 |
| EP2691739A4 (en) | 2014-10-15 |
| EP2691739A1 (en) | 2014-02-05 |
| US9946978B2 (en) | 2018-04-17 |
| CA2772725A1 (en) | 2012-09-28 |
| CA2806774C (en) | 2014-01-07 |
| US20120253657A1 (en) | 2012-10-04 |
| WO2012129687A1 (en) | 2012-10-04 |
| US20140012610A1 (en) | 2014-01-09 |
| EP2691740A4 (en) | 2014-10-22 |
| CA2772809C (en) | 2017-08-15 |
| WO2012129688A1 (en) | 2012-10-04 |
| AU2012234696A1 (en) | 2013-10-24 |
| CA2772809A1 (en) | 2012-09-28 |
| CA2830578A1 (en) | 2012-10-04 |
| CA2806774A1 (en) | 2012-10-04 |
| CA2772725C (en) | 2017-08-15 |
| AU2012234696B2 (en) | 2015-06-04 |
| US20140012611A1 (en) | 2014-01-09 |
| EP2691740B1 (en) | 2018-06-20 |
| NZ616351A (en) | 2015-05-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2772809C (en) | System and method for itinerary planning | |
| JP6613235B2 (en) | Method and system for obtaining a composite route | |
| US9255809B2 (en) | System and method for integrated trip planning based on fixed and flexible itinerary components | |
| JP7250713B2 (en) | How to calculate at least one itinerary from a departure location to an arrival location | |
| CN107545320B (en) | A method and system for urban rail transit passenger path planning based on graph theory | |
| Armant et al. | Minimizing the driving distance in ride sharing systems | |
| US9273970B2 (en) | Systems and methods for generating a plurality of trip patterns | |
| WO2016203385A1 (en) | Management of moving objects | |
| Varone et al. | Multi-modal transportation with public transport and ride-sharing-multi-modal transportation using a path-based method | |
| Hörl et al. | Traffic uncertainty in on-demand high-capacity ride-pooling | |
| CN112258270A (en) | Method and device for generating carpooling travel | |
| CN112304326A (en) | Travel route planning method, device and storage medium | |
| Yang et al. | Dual-hub connectivity: a case study on China Eastern Airlines in Shanghai | |
| Aissat et al. | A posteriori approach of real-time ridesharing problem with intermediate locations | |
| KR20120092361A (en) | Method and system to provide improved path search sevice | |
| Kolodziej et al. | HOW TO FIND THE BEST ROUTE? A COMPARISON OF ROUTE SEARCHING SERVICES | |
| Attanasi et al. | Hyperpath journey planner: a dynamic shortest pathfinder for multimodal transportation networks | |
| JP6588841B2 (en) | Route search system and program | |
| AU2014100355A4 (en) | System and method for itinerary planning | |
| CN120318053A (en) | A method and system for recommending carpooling points for inter-city online car-hailing | |
| Kuik | Multimodal Route Planning Algorithm for Encouraging the Usage of Different Means of Public Transportation | |
| NZ616351B2 (en) | System and method for itinerary planning |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: TRAPEZE GROUP (UK) LIMITED, UNITED KINGDOM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FRANCIS, MATTHEW DAVID;REEL/FRAME:028576/0419 Effective date: 20120327 Owner name: TRAPEZE SOFTWARE INC, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TRAPEZE GROUP (UK) LIMITED;REEL/FRAME:028576/0583 Effective date: 20120327 |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |