METHOD FOR PREPROCESSING A SET OF UNSCHEDULED LINES IN A MULTIMODAL TRANSPORT NETWORK OF PRE-CONFIRMED STOPS AND FOR CALCULATING AT LEAST ONE JOURNEY FROM A DEPARTURE POINT TO AN ARRIVAL POINT

DE602019081730T2Active Publication Date: 2026-02-25NAVER CORP SEONGNAM-SI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602019081730
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2019-05-29
Publication Date
2026-02-25
Estimated Expiration
2039-05-29

AI Technical Summary

Technical Problem

Existing journey planners struggle to efficiently compute itineraries that combine scheduled and non-scheduled transportation modes in multimodal networks, as current algorithms like the Trip-Based Public Transit Routing algorithm do not account for non-scheduled modes such as bike-sharing or on-demand buses, leading to inefficient and time-consuming searches.

Method used

A method that preprocesses non-scheduled lines within a multimodal transportation network by simulating schedules for these modes and integrating them with scheduled lines, pruning unnecessary transfers to optimize the search for itineraries that include both types of transportation.

Benefits of technology

This approach significantly reduces exploration time and ensures optimal itineraries are found efficiently, incorporating non-scheduled modes like bike-sharing and on-demand buses, enhancing the versatility and convenience of journey planning.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

FIELD OF THE INVENTION

[0001] The field of this invention is that of computation of itineraries for assisting transportation needs.

[0002] More particularly, the invention relates to a method for preprocessing a set of non-scheduled lines of transportation with predetermined stations in a multimodal transportation network with scheduled lines of transportation, and a method for computing itineraries where the computed itineraries include non-scheduled lines and scheduled lines of transportation.BACKGROUND OF THE INVENTION

[0003] A journey planner (also called trip planner) is a solver used to determine an optimal itinerary from a departure location (the origin) to an arrival location (the destination), using one or more transport modes, in particular public transportation modes (e.g., subway, tram, bus, etc.). A journey planner is said to be "multimodal" when covering several transportation modes and allowing intermodal connections, i.e. transfers from a mode to another). Searches may be optimized on different criteria, for example fastest, shortest, least changes, and / or cheapest. They may be constrained, for example, to leave or arrive at a certain time, to avoid certain waypoints, etc.

[0004] Public transport modes generally operate according to published schedules; given that public transport services only depart at specific times (unlike private modes of transportation such as driving, walking, or cycling, which may leave at any time), a journey planner must therefore not only find a path to a destination, but seek to optimize it in this time-dependent setting. US 2015 / 371157 A1 discloses obtaining a travel itinerary for a user, the itinerary identifying a trip, including a scheduled flight to a destination.

[0005] US 2010 / 280748 A1 relates to route planning in travel and transport logistics, especially to multi-modal route planning in travel and transport logistics.

[0006] One of the most performant algorithms used to this end is the "Trip-Based Public Transit Routing" algorithm ("Trip-Based Public Transit Routing Algorithm" or "TB algorithm"), which is a method based on iterations, similar to breadth-first search in a graph, where one iteration corresponds to taking a trip. It is disclosed in the document Sacha Witt. Trip-based public transit routing. In N. Bansal and I. Finocchi, editors, ESA 2015, volume 9294 of Lecture Notes in Computer Science, Berlin, Heidelberg, 2015. Springer.

[0007] The TB algorithm is an algorithm for computing all Pareto paths for two criteria in multimodal networks restricted to transit and walking between stations, considering an origin, a destination and a start time. The two criteria considered are: Min arrival time (i.e. the earliest arrival time considering the start time); Min transfer number (i.e. the minimum number of connections, in other words the changes of public transport mode, either within the same network - for instance from a subway line to another - or intermodally) with Max departure time (i.e. the latest possible departure time after the start time) as a secondary criterion used to break ties.

[0008] Further profile queries are possible, where all the optimal paths must be found for a given starting time range.

[0009] An earliest arrival time query consists in a breadth-first search like exploration in a time-independent graph where the trips are vertices and the feasible transfers the arcs (i.e. which explores all of the neighbor trips on the graph at the present depth prior to moving on to the trips at the next depth level). So, at each iteration, one additional trip is taken in each solution to try and get to destination.

[0010] The TB algorithm is based on the preprocessing and pruning of the feasible transfers between trips. The aim is to build for each trip a neighborhood of reachable trips in such way that for any optimal path, the set of preprocessed neighbors will contain the transition between one trip and its neighbor in the optimal path.

[0011] Indeed, although the resulting method would be correct, it is not advisable to use the complete set of feasible transfers between trips during the search phase, as it would be large and the useless arcs will impact the exploration time.

[0012] For instance, if you consider all the feasible transfers between one trip and a different line (totally ordered set of trips with the same stop sequence), only the earliest trip (minimum trip regarding the line order) will be relevant for the above defined Pareto queries.

[0013] That is why it is important to prune the set of feasible transfers while keeping all the transfers that can belong to an optimal path.

[0014] As explained, the current TB algorithm is restricted to transit and walking between stations, and does not allow combination with non-scheduled modes of transportations such as bike or car-sharing.

[0015] However, mixed itineraries, using at the same time scheduled and non-scheduled transportation modes, can prove very efficient. For example, using on-demand buses to reach a train station is very efficient in rural area.

[0016] In the example of bike sharing, it has been proposed for example in the document Luis Ulloa, Vassilissa Lehoux-Lebacque, and Frédéric Roulland. Trip planning within a multimodal urban mobility. IET Intelligent Transport Systems, 12(2):8792, 2018. to have, either bike-sharing not combined with other modes, at the beginning or the end of a multimodal itinerary, or part of a transfer composed of the mode sequence walking, biking, walking. In this sequence, there is usually no penalty associated with taking the bicycle, while most people will consider as inconvenient the process of going to a station, taking the bicycle, deposing it back to a station and walking back to the network. It would thus be preferable to consider the bicycle part as a trip, as far as convenience of the itinerary is concerned, and the walking parts as the transfer parts, and more generally to enable a trip using a non-scheduled transportation mode at any part of the itinerary.

[0017] There is consequently a need for a method to efficiently compute relevant and diverse itineraries comprising indifferently scheduled lines and non-scheduled lines of transportation within a multi-modal network.SUMMARY OF THE INVENTION

[0018] For these purposes, the present invention provides according to a first aspect a method as defined by appended independent claim 1.

[0019] Preferred but non limiting features of the present invention are defined in the dependent claims.

[0020] The invention also relates to a computer program product comprising code instructions to execute a method according to the first aspect for computing at least one itinerary from a departure location to an arrival location, when said program is executed on a computer; and a computer-readable medium, on which is stored a computer program product comprising code instructions for executing a method according to the first aspect for computing at least one itinerary from a departure location to an arrival location.BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The above and other objects, features and advantages of this invention will be apparent in the following detailed description of an illustrative embodiment thereof, which is to be read in connection with the accompanying drawings wherein: figure 1 illustrates an example of architecture in which the methods according to the invention are performed; figure 2 represents an example of configurations of trips and transfers; figure 3 sets forth a method for preprocessing a set of non-scheduled lines within a multimodal transportation network of predetermined stations and for computing at least one itinerary; figure 4 sets forth an initialization phase for an earliest arrival query algorithm; figure 5 sets forth procedures for adding a trip from a scheduled line or a non-scheduled line to a queue as candidate trips; and figure 6 and figure 7 set forth an earliest arrival query algorithm. DETAILED DESCRIPTION OF A PREFERRED EMBODIMENTArchitecture

[0022] The present invention proposes a method for preprocessing a set of lines without a schedule within a multimodal transportation network of predetermined stations (and possibly scheduled lines in a known fashion), and a method for computing at least one itinerary from a departure location to an arrival location, able to use these lines without a schedule.

[0023] More precisely, in addition to its normal function of reducing a set of feasible transfers between scheduled lines, the present preprocessing integrates the lines without a schedule similarly as lines with a schedule by generating transfers from scheduled lines to lines without a schedule.

[0024] Said multimodal transportation network is preferably a network comprising both scheduled and non-scheduled transportation modes. It is to be noted that a plurality of transportation modes is involved, i.e. at least two of them.

[0025] The scheduled transportation modes are typically public transportation modes. Examples of scheduled public transportation modes include bus, metro, tramway, train, water shuttle, carpooling, etc. By scheduled, it is meant that they follow a line of a predetermined sequence of stations, of which timetables are known, i.e. a "regular" line.

[0026] Non-scheduled transportation modes include for example on-demand bus, ride-hailing, or even bike sharing (wherein the users can simply take a bike for going from a station to another without any restriction). By "non-scheduled", it is meant that these modes have still stations, but do not have a predetermined schedule, i.e. they can be activated at the user demand at any time of a given range. Even if it is less apparent than for scheduled transportation modes, the non-scheduled transportation modes may still be modelled by lines having a sequence of stations, and as it will be explained later, a set of time intervals during which they are available.

[0027] By "station", or "stop", it is meant a facility at a given location wherein at least one of said transportation modes of the multimodal transportation network regularly stops to load or unload passengers, for example a bus station, a metro station, a train station, etc.

[0028] A "displacement" within the multimodal transport network is defined as a sequence of trips each taken from a station of the multimodal transportation network to another.

[0029] Mathematically, a "line" (scheduled or not) can be defined as a totally ordered set of trips with the same sequence of stations.

[0030] By "trip", it is meant a displacement using a single one of said transportation modes, such as a bus trip or bike trip, i.e. following a line. Generally, any displacement comprises between two successive trips a transfer (i.e. it can be seen as an alternation of trips and transfers).

[0031] By "transfer" it is meant a connection from a transportation mode to another, for example, a displacement between the station at which a trip terminates and the station at which a new trip initiates.

[0032] Such transfer is performed according to a "first transportation mode", which is none of the public transportation modes of the network, generally walking, but also possibly using portable or wearable assists, such as kick scooter or skate. The first transportation mode is a non-scheduled and station-free mode, which is freely usable by the user without any limitation. Typically, the first transportation mode is universal and does not require any vehicle (or at worst a "light" and transportable one such as a skate). Note that a transfer does not necessarily involve a displacement (a station can be common to two trips, possibly of the same transportation mode, for example two subways lines).

[0033] For the purpose of the following description, the first transportation mode will assumed to be walking, i.e. any displacement within the network is restricted to transit and walking between stations.

[0034] When an itinerary has to be computed within the network, the itinerary comprises successively: a beginning part from the departure location to an initial station of the multimodal transportation network of predetermined stations; a main part in the multimodal transportation network, (defined as an alternation of trips using a transportation mode of said multimodal transportation network, and of transfers using the first mode of transportation); and an end part from a final station of the multimodal transportation network to the arrival location.

[0035] Said departure and arrival locations are geographical locations, typically locations on a map as defined by an address, a point of interest, a station, coordinates, etc.

[0036] The beginning part and end part of the itinerary allow to "connect" the user to stations of the network. They could be "null" in particular if the departure / arrival location is an isolated station: then this station could be used as the initial / final station. Nevertheless, even in such case the user has the possibility to walk to another station.

[0037] The main part starts with an initial trip from an initial station which is the entry point of the multimodal transportation network for the present itinerary (the wording "source stop" can be found), and ends with a final trip on a target line up to a station which is the exit point of the multimodal transportation network (the wording "target stop" can be found).

[0038] The itineraries are preferably the optimal ones (or at least close to the optimal ones, i.e. approximations of the optimal ones) according to at least one criterion (e.g., an optimal itinerary may satisfy at least one criterion) such as the arrival time (which should be the earlier), the duration of the itinerary (which should be the lowest), the departure time (which should be the latest), the length of the itinerary (which should be the shortest), the number of transfers (which should be the lowest), the price (which should be the lowest), etc.

[0039] In the example of the Trip-Based Public Transit Routing Algorithm that is detailed in the following description, two criteria are co-considered: arrival time and transfer number. Departure time is used as a secondary criterion to break ties between otherwise equivalent solutions (same values on both arrival time and transfer number).

[0040] The beginning part and end part are performed according to the first transportation mode (i.e. walking) or possibly alternatively according to a second transportation mode, which could be any non-scheduled and station-free mode with a longer range than the first transportation mode (and still not one of the modes of said multimodal transportation network).

[0041] Said second transportation mode is typically taxi, but could be any equivalent transportation mode, in particular any private vehicle ride, such as a car ride (typically lift by a friend, park-and-ride, ride-hailing, etc.), a motorcycle ride, or even a helicopter ride. The skilled person may refer, for example, to patent application serial number EP 19305064.8 that discloses a method for computing an itinerary that integrates a second transportation mode such as taxi.

[0042] It is to be understood that both the first and / or second transportation modes are only restricted by the cartography, i.e. the existence of ways (in particular roads), accesses, etc. and are considered to be able to reach any location, by contrast with the modes of the multimodal transportation network which rely on a predetermined list of stations.

[0043] To sum up, any considered itinerary starts with a beginning part bringing the user from the departure location to an initial station, then the user travels in a main part into the network using various scheduled public transportation modes and non-scheduled modes (the multimodal transportation network) and walking (the first transportation mode) for transfers, up to a final station, for finishing the itinerary with the end part bringing the user from the final station to the arrival location.

[0044] The above-mentioned methods are implemented within an architecture such as illustrated in Figure 1, by means of a server 1 and / or a client 2 (e.g., mobile computer 2a and mobile phone 2b).

[0045] Each of these devices 1, 2 are typically connected thanks to an extended network 20 such as the Internet for data exchange. Each one comprises data processing means 11, 21 of processor type, and optionally storage means 12, 22 such as a computer memory e.g. a hard disk, respectively.

[0046] More precisely, on one hand the server 1 performs the preprocessing of the set of transfers, and on the other hand the user generally owns a client device 2, for inputting a request for itineraries (for example, for an earliest arrival time query, are inputted the departure location, the arrival location, and a departure time) using an interface 23. The request may be either directly processed by the client 2, or transmitted to the server 1 for being processed there. The present methods will not be limited to any specific implementation.

[0047] Figure 2 illustrates an example multimodal transportation network 200 with three scheduled lines; namely, bus line 202, tram line 204 and metro line 206, each representing a different mode of transportation in the multimodal transportation network 200, and each line having the possibility of trips t 1 , t 2 and t 3 , respectively. In addition, the multimodal transportation network 200 includes non-scheduled bike-sharing line 208, with bike sharing stations 209, and having the possibility of trip t 4 . When looking into transfers from trip t 1 to trip t 2 , it is possible to transfer to trip t 3 (using metro line 206) or to trip t 4 (using bike-sharing line 208) at station p then transfer to trip t 2 at station u (when using metro line 206) or station p (when using bike-sharing line 208). Accordingly, a user may thus want to know of the possibility of transferring from trip t 1 to trip t 2 by way of trip t 4 instead of trip t 3 depending on the departure window (i.e., the time interval during which a trip on the non-scheduled line can depart from).

[0048] Figure 3 sets forth a method for preprocessing at step 304 a set of non-scheduled lines within a multimodal transportation network of predetermined stations received at step 302 and for computing at step 306 at least one itinerary for output at 308. In one embodiment, the itinerary output at step 308 includes trips on non-scheduled lines and scheduled lines of transportation (e.g., as shown in Figure 2, transferring from trip t 1 to trip t 2 , on scheduled lines of transportation, by way of trip t 4 , on a non-scheduled line of transportation via stations p and q).Preprocessing a set of non-scheduled lines

[0049] Considering a set T of all the feasible transfers between scheduled lines, the aim of the preprocessing is, as previously explained, to prune this set T so as to output a subset T' in order to highly reduce the exploration time when computing an itinerary on this basis, while granting optimal results to queries. Note that the set of trips is not modified, so that the preprocessing corresponds to a simplification of the graph so as to remove arcs (transfers) between vertices (trips).

[0050] As previously explained, the present preprocessing at step 304 also proposes to integrate at steps 310 and 312 non-scheduled lines by generating a further set T̂ of the feasible transfers from scheduled lines to non-scheduled lines (i.e. without a schedule).

[0051] Note that the preprocessing at step 314 may comprise further pruning of this set of feasible transfers between scheduled lines and non-scheduled lines. For non-scheduled lines where we need to stop at all the stations of the lines, the same pruning based on the arrival times at the reached stations as the one of the scheduled lines can be performed at step 314. The idea is that once the earliest trip has been identified (see below), earliest arrival time at all reachable stations can be updated as for regular scheduled trips. As a consequence, for more efficiency of the pruning, pruning of the sets of transfers, from trip of scheduled lines to trip of scheduled line and from trips of scheduled line to trips of non-scheduled lines, are performed in a single step for each origin trip from a scheduled line.

[0052] All the lines of a set L of the non-scheduled lines are defined by a sequence of stations p → l = p l 1 , p l 2 , … (as the regular lines). Furthermore, for each non-scheduled line of said set of non-scheduled lines, for each station of the sequence of stations defining the line, a time interval during which a trip can depart from said station (forming a set of time intervals during which the line is available) is associated to the station at step 310. The union of the time intervals of the line l at its i th< station p l i is denoted I(l, i).

[0053] A possible way to define those time intervals is to define one for the first station p l 1 and then translate it to the other stations of the line by the duration to reach them. It can be the case for on-demand buses if the bus will pass by all the stations when activated. Another possibility is to use the same time interval for all stations. It can be the case for non-scheduled lines defined for bike sharing stations or for taxi-like transportation between two points where the time-intervals represent the service availability period, for instance from 9am to 6pm.

[0054] Note that it is possible to consider several time intervals per line and station, for example a service that would be available from 8am to 12pm and then from 2pm to 5pm. In that case, I(l, i) is a union of intervals.

[0055] To manipulate non-scheduled lines in the same way as scheduled lines, the present preprocessing method proposes to simulate a schedule so as to be able to define any trip of line / that departs at a station p l i at a given time τ ∈ I(l, i). It is reminded that for a regular scheduled line, a set of trips is given, and thus the schedule is a predetermined timetable of, for each trip t of the line, the corresponding departure time τ dep (t, i) and / or arrival time τ arr (t, i) at each i th< station p t i on the trip t. In other words, the schedule is entirely set.

[0056] Thus, it might be surprising to speak of schedules for a non-scheduled line, wherein a trip may occur anytime, but it has to be understood that what is intended here is simply to be able to express the departure / arrival times at each station for a given trip to be defined, and not to constitute a timetable. More precisely, said schedule is function of the time τ at which a trip departs from the station p l i . In some settings, this station might be the first station of the line (i.e. i = 0), wherever the trip has been required, or in other settings, it might be the first station at which the line has been activated.

[0057] In a first embodiment, a schedule may be simulated by determining a travel time (possibly time-dependent), between the consecutive stations in p(l). Depending of the type of line considered, for example if the line, once activated, will actually pass by all the stations, this first solution might be more appropriate (as it needs less memory).

[0058] In a second embodiment, a schedule may be simulated by defining a travel time, possibly different for each line / and still possibly time-dependent, this time between any pair of stations (p, q) of the line l such that p = p l i and q = p l j with i < j. This solution is more general and covers the first one. It can be used to model transportation modes such as bike-sharing wherein the user generally does not pass by intermediate stations but just move between two stations. In that case, a line can be defined for each bike sharing station, starting at this station, and then passing by all the other reachable bike sharing stations, preferably in increasing travel time with said reachable station order. By reachable it is meant that the station is within a maximum travel time / distance from of the line and that a bike taken at the first station of the line can be left at this station. The other possibility is to create a line for any pair of stations i and j such that j is reachable from i.

[0059] Then, for a trip starting at τ ∈ I(l,i) at the i th< station of non-scheduled line l, the following schedule for the j th< station (with j>i) can be used: the arrival time at the j th< station p l j is expressed as a function of τ by the formula τ arr l i τ j = τ + Δ τ p l i → p l j , τ , wherein Δ τ p l i → p l j , τ is the duration, when taking a trip of l, for going from the i th< station p l i to the j th< station p l j of the line l leaving at time τ from station p l i ; the departure time at the j th< station p l j is expressed as a function of τ by the formula τ dep (l, i, τ, j) = τ arr (l, i, τ, j) + Δτ d (l, j, τ arr (l, i, τ, j)), wherein Δτ d (l, j, τ') is some optional delay between arrival and departure at time τ' at station p l j (note that it may not necessarily depend from the time and / or from the station).

[0060] The trip respecting such schedule is the earliest trip of line l starting after time τ, that is hereby denoted earliest(l, i, τ). In the case where τ doesn't belong to I(l, i), we can also define earliest(l, i, τ) by activating the trip at the first instant τ' of I(l, i) such that τ' ≥ τ if this instant exists. In that case, there is a waiting time of τ' - τ at station p l i . In an embodiment, a maximum value w is preferably set for this waiting time, and in that case, earliest(l, i, τ) will only be defined if τ' - τ ≤ w. Note that this bound could also be applied to the waiting time of transfers between schedule lines, which would prune the set of transfers between scheduled lines. Note that other waiting times might be considered and bounded.

[0061] In some cases, a boarding or alighting duration might be considered for the lines of L. For instance, if the line is a bike sharing ride, an additional duration might be needed to get the bicycle from the station or to put it back in place. We denote by τ bo (l) the duration necessary for boarding the line and τ al (l) the duration necessary for alighting.

[0062] It is to be noted that those boarding / alighting times could be also defined for regular schedule lines (for example time to get at the right place in the train or to get off with the luggage), so they may be considered for all lines. In an implementation, those values can also be defined by mode type instead of individual values for all lines.

[0063] Further, in step 312, a set T̂ of feasible transfers between a scheduled line and a non-scheduled line is generated. Note that this step may comprise the generation of the set T of feasible transfers between scheduled lines in a known fashion.

[0064] The transfers at step 312 concern transfers from one trip to another, i.e. performing the following actions: getting off the first trip at a given first station, then reaching a second station on another trip either by walking or waiting and then boarding this other trip.

[0065] When lines are scheduled, the computation is straightforward: for each station p t i of the current trip t, all the stations q that can be reached by walking (i.e. a transfer duration Δ τ fp p t i q exists, i.e. is defined) are identified, and it is checked whether a transfer can take place, in other words whether there is a trip t' of a non-scheduled line l having q as its j th< station. This is the case when τ arr i t + Δ τ fp p l i p l j ≤ τ dep j , t ′ . Note that a boarding time τ bo (l t' ) and / or an alighting time τ al (l t ) can be considered as explained.

[0066] In that case, only the earliest such a trip is added as a possible transfer, since taking another cannot yield to better solutions for the criteria arrival time or number of transfers.

[0067] It is possible to proceed in a similar way for defining admissible transfers to trips of non-scheduled lines from trips of schedule lines. More precisely step 312 comprises, for each first station ( p l j ) of a non-scheduled line which is reachable from a second station of a scheduled line ( p t i ), adding to the set of feasible transfers between a scheduled line and a non-scheduled line, if there exists a trip on the scheduled line such that a departure time at said first station after transferring is compatible with the union of time intervals (I(l, j)) associated to the first station ( p l j ), the earliest transfer from said second station on said trip to the first station. By compatible, it is meant that earliest l , i , τ arr i t + Δ τ fp p t i p l j is defined. The corresponding transfer to be added can be noted ( p t i → p l j ,τ) with τ = τ dep (j, t') the departure time of the above defined earliest trip t' of l. In all equations, again a boarding time τ bo (l t' ) and / or an alighting time τ al (l t ) can be considered.

[0068] In the case of non-scheduled lines, trips can start at any moment in the time interval at any station. Although this interval could be discretized and all the possible trips generated (for example creating one trip every 10 seconds), this solution would greatly increase the number of trips as the number of possible transfers.

[0069] So it would not be advisable to generate all the possible non-scheduled trips and to consider all their admissible transfers for preprocessing.

[0070] Nonetheless, as explained some transfers may be pruned to make the search faster.

[0071] For non-scheduled lines, it is also possible to compute the feasibility at some point in the interval of transfers from one line to another depending on the availability of both lines. Being in a context of urban mobility, the intervals will certainly be wide (typically from 9.00 am to 5.00 pm) and hence the lines' intervals are likely to be compatible.

[0072] Alternatively, all the transfers to non-scheduled lines could be considered during the query phase without pruning them (i.e. without defining trips on the reached non-schedules lines).Method for computing itineraries

[0073] The invention provides a method for computing at least one itinerary from a departure location to an arrival location.

[0074] As already explained, each itinerary comprising a main part in a multimodal transportation network of predetermined stations, defined as a sequence of trips from a set of possible trips within the multimodal transportation network and transfers from a set of feasible transfers within the multimodal transportation network.

[0075] What is particular is that said itinerary may comprise a combination of trips using scheduled or non-scheduled transportation modes. Note that it is still possible that the computed itinerary only comprises trips on schedules lines if it is optimal (for instance, a subway will often be faster and possibly as convenient as bike-sharing, and if the subway stations are rightly placed there will be no need for bike-sharing). Nevertheless, the present method allows non-scheduled transportations.

[0076] To this end, the present method for computing an itinerary shown in figure 3 starts with steps 302 and 304, implemented by the data processor 11 of the server 1 of preprocessing said set of non-scheduled lines within the multimodal transportation network as discussed above, so as to obtain a set of transfers between scheduled lines and non-scheduled lines. In other words, step 306 receives as input from step 304 a set of all feasible transfers that comprises both transfers between scheduled lines and transfers between scheduled lines and non-scheduled lines. Note that, as already explained, the processing may comprise pruning transfers between scheduled lines and / or transfers between scheduled lines and non-scheduled lines.

[0077] As already explained, the TB algorithm (or any other suitable routing algorithm) starts with an initialization phase at step 316 where the set of lines L from which the destination can be reached and the set of the earliest trips that can be reached from the origin are computed. In other words, in step 316, performed by the data processor 11 of the server 1 and / or a data processor 21 of the client device 2, a set of possible initial trips is determined as a function of the departure location, and a set of possible final trips is determined as a function of the arrival location, in said multimodal transportation network. The set of possible final trips can be represented as all the trips belonging to a set of possible target lines as it is the case in the TB algorithm.

[0078] Said initialization phase can be performed in any known way, but it is to be noted that the lines without schedule can be scanned as the regular lines for determining the targets trips or lines from the arrival location. As explained, all possible trips could have been generated on the non-scheduled lines, but preferably, the trips are either generated during the preprocessing phase (for the neighbors of the scheduled lines) or on-the-fly during the search query. During the initialization phase, the origin trips from non-scheduled lines can be generated as a function departure location of the itinerary. The target trips of lines without a schedule are preferably represented by a target line set, to avoid generating many possible trips from those target lines. An initialization method is set forth in procedure INITIALIZATION 402 shown in figure 4, which includes calls to ENQUEUE_TRIP 502 and ENQUEUE_LINE 504 shown in figure 5.

[0079] In the known TB algorithm, for each number of transfers is defined a n-th queue Q n of trip segments reached after n transfers.

[0080] The 0-th queue Q 0 is normally initialized with trips that can be directly reached from the departure location (that is why the procedure INITIALIZATION 402 shown in figure 4 presents calls of a procedure ENQUEUE_TRIPS 502 shown in figure 5 having the third argument equal to 0), and all the others queues Q 1 , Q 2 , etc. are initially empty.

[0081] At each iteration, the procedure Earliest arrival query 602 shown in figure 6 scans the trips in the current queue. Each trip is scanned in turn. If it belongs to the target lines (i.e. constitutes a final trip), it is compared to the current solution set at 604. Then, the transfers from this trip are added to the queue of the next iteration at 608.

[0082] Figure 5 sets forth procedures 500 for adding trips from scheduled and non-scheduled lines. In procedure ENQUEUE_LINE 504 shown in figure 5 (which calls procedure UPDATE-R 506 shown in figure 5), the availability intervals and the minimum boarding duration are advantageously considered to propose the earliest schedule for that line, i.e. to generate and add to the queue the earliest trip.

[0083] For trips of scheduled lines, an index R(t) of the first reached station of trip t, i.e. the "point of entry", is typically used (see procedure ENQUEUE_TRIP 502 shown in Figure 5). For non-scheduled lines, this index R(t) is preferably duplicated into another index R̂(l) in such way that R̂(l) contains a set of pairs (i, τ) with the index of the station and a departure time of the trip at that station. In other words, each first reached station is associated to the corresponding departure time needed to define a trip of the non-scheduled line l.

[0084] The set R̂(l) is for making the search efficient: trips that are later than the one already taken are not inserted again in the queue.

[0085] This set R̂(l) implies an update procedure such that an element (i, τ) of R̂(l) is not "dominated" by any other element of R̂(l). By dominated, it is meant that the other element defines a trip with at least one of an earlier "entry point" on the line and an earlier earliest departure time, while the other element's "entry point" is at least as early as that of the element and its earliest departure time is at least as early as that of the element, so that there is no point in keeping said "dominated" element. In other words a pair (i, τ) is dominated by another pair (j, τ') if and only if i ≥ j Λ τ > τ dep (earliest(l, j, τ'), i), as τ = τ dep (earliest(l, i, τ), i). Hence, the maximum number of elements of the set R̂(l) is |p(l)|. A simple way to maintain the elements of R̂(l) is then to save for each station j of line l the earliest departure time of a trip of l at that station during the search. R̂(l) may then be considered as an array of length |p(l)|, whose values being the earliest departure times at each station of the line in a trip of line l reached during the search.

[0086] R̂(l, j) could thus denote the earliest departure time of l at its j th< station in the current search.

[0087] Note that since profile queries are an adaptation of earliest arrival time queries, it is possible to take them into account as already known even after the modifications.Query phase

[0088] In step 318 in figure 3, the suitable known routing optimization algorithm such a modified TB can be performed to produce at least one itinerary at step 318 based on the sets of initial trips and final lines, and said set of feasible transfers between scheduled lines and non-scheduled lines (the said set of feasible transfers between scheduled lines is naturally still used) for instance as illustrated by the algorithm 602 in figure 6 (which includes a call to procedure INITIALIZATION 402 in figure 4), where the detail 608 of steps 606 is shown in figure 7 (which includes calls to ENQUEUE_TRIP 502 and ENQUEUE_LINE 504 in figure 5). In each iteration, one additional trip is taken in each solution to try and get to a final trip as shown in figure 6 at 602 where an additional transfer is added from the queue. If the trip added is from a non-scheduled line, transfers to scheduled and non-scheduled lines from this trip are computed at step 700 in figure 7. If the added trip is from a scheduled line, its transfers have been precomputed at step 304 in figure 3 and can directly be added to the queue at step 702 in figure 7 using procedures ENQUEUE_TRIP 502 and ENQUEUE_LINE 504 in figure 5.

[0089] It can be seen that when considering a transfer between a scheduled line and a non-scheduled line at 608 in figure 7, the procedure ENQUEUE_LINE 504 in figure 5 is preferably again used so to as to generate a trip on the reached non-scheduled line and add the transfers from this trip to the queue of the next iteration.Computer program product

[0090] In other aspects, the invention concerns a computer program product comprising code instructions to execute a method (particularly on the data processor 11, 21 of the server 1 and the client 2, respectively) according to the first aspect of the invention for computing at least one itinerary from a departure location to an arrival location, and storage means readable by computer equipment (memory 12, 22 of the server 1 and the client 2, respectively) provided with this computer program product.Other types of itineraries

[0091] In an alternate embodiment, the preprocessed set of non-scheduled lines may be used for constructing availability time windows for non-schedule lines (e.g., for on-demand bus lines). Advantageously, such time windows constructed using a set of scheduled lines to transfer from may be organized for the non-scheduled line to be available only on periods where transfers to non-schedule lines from schedule lines are in the set of precomputed transfers or to avoid long waiting times between trips (e.g., when the service is not available for a long period after transferring to the station from the scheduled line of transportation), and evaluated for robustness in the event of delays so that missed transfers may be minimized (e.g. when the service close just before arrival at the station after transferring from the scheduled line of transportation). In another embodiment, the preprocessed set of non-scheduled lines may be used for managing transportation network resources (e.g., to assist in deciding whether additional vehicles are required when a line is delayed). In yet another embodiment, the preprocessed set of transfers from scheduled lines to non-scheduled lines could be used in determining the placement of the stations along scheduled lines and non-scheduled lines, in order to maximize one or several criteria such as but not limited to usefulness of the on-demand services (transfers to the non-schedule line must be in the set to possibly appear in any optimal itinerary).

Claims

1. A method for computing at least one itinerary from a departure location to an arrival location, each itinerary comprising a main part in a multimodal transportation network of predetermined stations having both a set of scheduled lines and a set of non-scheduled lines, a scheduled line being a sequence of stations with predetermined schedule, a non-scheduled line being a sequence of stations having no predetermined schedule, the main part being defined as a sequence of trips on lines of the sets of scheduled and non-scheduled lines and transfers from one line to another within the sets of scheduled and non-scheduled lines, wherein ; the method being characterized in that it comprises, the implementation by a data processor (11, 21) of a server (1) and / or a client device (2), of steps of: (A) for each non-scheduled line (l) of said set of non-scheduled lines, associating, to each station ( p l j ) of the non-scheduled line (l), at least one time interval (I(l, j)) during which a trip on the non-scheduled line (l) can depart from said station ( p l j ); (B) For each first station ( p l j ) of a non-scheduled line (l) which is reachable from a second station ( p t i ) of a scheduled line, adding to a set of feasible transfers between a scheduled line and a non-scheduled line, if there exists a trip (t) on the scheduled line such that a departure time at said first station ( p l j ) after transferring from the second station ( p t i ) is compatible with said at least one time interval (I(l, j)) associated to the first station ( p l j ), the earliest transfer from said second station ( p t i ) on said trip (t) to the first station ( p l j ); (C) Determining a set of possible initial trips as a function of the departure location, and a set of possible final trips as a function of the arrival location, in said multimodal transportation network; (D)Performing, a routing optimization algorithm so as to select, among the itineraries having a main part from an initial trip belonging to the set of possible initial trips to a final trip belonging to the set of possible final trips, at least one optimal itinerary according to at least one criterion comprising the earliest arrival time, when considering both trips on scheduled or non-scheduled lines and transfers between trips from the set of feasible transfer.

2. A method according to claim 1, wherein said step (B) further comprises generating a set of feasible transfers between scheduled lines, and pruning this set so as to obtain a reduced set of feasible transfers between scheduled lines.

3. A method according to any one of claims 1 to 2, wherein a departure time at said first station p l j after transferring from said second station p t i is considered to be compatible with said at least one time interval (I(l, j)) if there exists a instant τ ∈ I(l, j) such that the inequality τ arr i t + Δ τ fp p t i p l j ≤ τ is verified, wherein τarr(i, t) is the arrival time at the second station p t i on trip t, Δ τ fp p t i p l j is the transfer duration from the second station p t i on trip t to the first station p l j .

4. A method according to claim 3, wherein the earliest transfer from said second station p t i on said trip t to the first station p l j is the transfer to the first station p l j on the earliest trip t' of the non-scheduled line l which is the earliest instant τ ∈ I(l, j) such that τ ≥ τ arr i t + Δ τ fp p t i p t j .

5. A method according to claim 1 to 4, wherein for a transfer between trip t at index i and trip t' at index j to be valid, the waiting time associated with the transfer is bounded by a maximum value w, i.e. τ dep j , t ′ − τ arr i t + Δ τ fp p t i p t j ≤ w .

6. A method according to any one of claims 1 to 5, wherein a boarding time (τbo(lt')) and / or an alighting time (τal(lt)) are added respectively before the departure from the first station ( p l j ) and / or after the arrival at the second station ( p t i ).

7. A method according to any one of claims 1 to 6, wherein step (A) comprises defining a travel time between any pair of stations (p, q) of the non-scheduled line l such that p = p l i and q = p l j with i < j.

8. A method according to any one of claims 1 to 7, wherein said routing optimization algorithm computes all Pareto paths for the earliest arrival time and number of transfers or latest departure time and number of transfers in multimodal networks by taking one additional trip at each iteration based on the precomputed set of feasible transfers.

9. A method according to any one of claims 1 to 8, wherein, when considering transfer to a non-scheduled line at a station, proposing as a candidate trip the earliest compatible trip on said non-scheduled line from said station.

10. A method according to claim 9, wherein step (D) comprises building for said non-scheduled line (l) a set (R̂(l)) of pairs of an index of a station on the non-scheduled line and the earliest departure time of a trip from that station.

11. Computer program product comprising code instructions to execute a method according to one of claims 1 to 10, when said program is executed on a computer.

12. A computer-readable medium, on which is stored a computer program product comprising code instructions for executing a method according to any one of claims 1 to 10, when said program is executed on a computer.