Dynamic Passenger Assignment for Major Railway Disruptions Considering Information Interventions
- 564 Downloads
Abstract
Passenger assignment models for major disruptions that require trains to be cancelled/short-turned in railway systems are rarely considered in literature, although these models could make a significant contribution to passenger-oriented disruption timetable design/rescheduling. This paper proposes a dynamic passenger assignment model, where the passengers who start travelling before, during and after the disruption are all considered. The model ensures that on-board passengers are given priority over waiting passengers, and waiting passengers are boarding under the first-come-first-serve rule. Moreover, the model allows information interventions by publishing information about service variations and train congestion at different locations with the aim of distributing passengers wisely to achieve less travel time increase due to the disruption. Discrete event simulation is adopted to implement the model, where loading/unloading procedures are realized and passengers re-plan their paths based on the information they receive. The model tracks individual travels, which helps to evaluate a disruption timetable in a passenger-oriented way.
Keywords
Major disruptions Railway systems Dynamic assignment Information intervention1 Introduction
Unexpected events affect railway operations in everyday life, which are either small service perturbations called disturbances or relatively large incidents called disruptions. During disturbances, train services will be delayed, but not cancelled/short- turned which however is necessary during disruptions. Due to the complexity of handling disruptions, contingency plans are designed beforehand for different disruption scenarios. When a disruption happens, the corresponding contingency plan is selected, and possibly modified by traffic controllers in terms of the specific condition (Ghaemi et al. 2017b). However, in either the design or modification procedure, passengers who should have been put first, are as yet not incorporated directly, because traffic controllers are unable to anticipate the passenger flows over the network. As a result, many alternatives for passenger reroutings are not considered, and thus passenger travel experiences during disruptions are usually less than satisfactory.
To support passenger-oriented train service adjustments, it is necessary to have a passenger assignment model that can anticipate the distribution of passengers. Based on the model, whether a timetable is passenger-friendly or not can be evaluated, and further how to adjust the timetable in a passenger-friendly way can be guided. Until now, passenger assignment models are mostly proposed for planning purposes or disturbance management (generally regarded as delay management), where services are considered to be reliable or with minor perturbations. When major disruptions like complete track blockages occur, multiple dispatching measures, e.g. retiming, reordering, cancelling and short-tuning trains, are commonly applied, which result in delayed trains, changed train orders, completely cancelled trains and short-turned trains (Ghaemi et al. 2017a). As a result, the train services available during disruptions are rather different from the ones on normal days, thus leading to rather different path options to passengers. For passenger assignment models during disruptions, it is necessary to formulate the major service variations properly and model passenger responses to such major service variations accurately. Therefore, this paper proposes a dynamic passenger assignment model taking major service variations, vehicle capacity, and time-dependent passenger all into account. A preliminary version of the model can be found in Zhu and Goverde (2017), which is improved by introducing a new network formulation and information interventions for altering passenger behaviour in this paper.
This paper considers passengers’ en-route travel decisions rather than passengers’ pre-trip travel decisions. This means that passengers are assumed to have planned paths in mind before they actually arrive at the origin stations, however, possibly they have to re-plan their paths due to major service variations, denied boardings or train congestion. Such an assumption is justified, since nowadays passengers can rely on various travel-planner applications or the official websites of operator companies to find their preferred paths. This is particularly true for passengers who have a clear travel purpose (e.g. commuters). Thus, once disruptions occur, passengers would make en-route travel decisions by comparing the alternative paths during disruptions with their planned paths.
Passenger attitudes towards path alternatives during disruptions could be different from the ones on normal days. For example, due to reduced operation frequency during disruptions, passengers may be willing to spend more waiting times at origin/transfer stations than usual. Considering this, a new method is proposed to formulate the network with less arcs, which ensures all paths that could be chosen by passengers to be fully covered. The formulated network is a directed acyclic graph (DAG) with passenger perceived times on arcs, based on which the optimal paths perceived by passengers can be searched using efficient shortest path algorithms.
Path alternatives can be different if passengers re-plan paths at different locations and times. This paper tracks the location of each passenger who starts travelling before, during, or after the disruption, and decides when and where he/she re-plans the path based on the information received. Information interventions are considered by delivering two kinds of information, service variations and train congestion, separately at different locations. Usually, the congestion effect is considered as the increase in travel times perceived by passengers (Cats et al. 2016; Larrain and Muñoz 2008). Instead, this paper aims to avoid travel time increase due to denied boarding, by using congestion information to affect passenger behavior in the following way. Imagine that a train is highly congested when departing from a stop, and there are still many passengers wishing to board this train at its next stop. It is possible that the train is unable to handle all these passengers. Thus, only some of them can board the train successfully, while the others have to be denied. If there must be some passengers being denied for boarding a train, avoiding them to choose the train may help them find better alternative paths compared to the ones they can find after being denied. Considering this situation, if a train is potentially unable to handle all passenger demand at its next stop, part of these passengers are notified with the congestion information in order to encourage them to choose another train, while the other part of these passengers are kept unaware of such information to ensure they will stay with their choice for this train.
Proposing a new schedule-based passenger assignment model during major disruptions.
Developing a new network formulation to formulate the timetable as a directed acyclic graph (DAG) with passenger perceived times on arcs.
Taking time-dependent passenger demand, service variations, and vehicle capacity constraints all into account.
Formulating passenger responses towards major service variations, like short-turned or cancelled trains.
Using information interventions to influence passenger behaviour.
Dealing with passengers who start travelling before, during and after the disruption.
The remainder of this paper is organized as follows. Section 2 gives an overview of the relevant work. Section 3 explains the network modelling approach. In Section 4, the proposed dynamic passenger assignment framework is shown, followed by the explanation of the main parts in the framework. Next, the time complexities of the proposed algorithms are analysed in Section 5. Finally in Section 6, a case study of a complete open track blockage in part of the Dutch railway network is performed.
2 Literature Review
Passenger assignment models for transit systems are typically classified into schedule-based and frequency-based (Gentile and Noekel 2016), differing in whether passengers make route choices in terms of the timetable that indicates the departure/arrival time of each train at each station. In general, frequency-based models are suitable for such transit systems where the operations are so frequent that passengers can be assumed to board the first train when waiting at a station. While in railway systems where the operation frequency is relatively low, schedule-based models are commonly used, like Binder et al. (2017a) and Rückert et al. (2017).
Some assignment models are proposed for planning purposes, for example, identifying the phenomenon of macroscopic congestion of a proposed transit system. In these models, services are assumed to be constant or affected by minor perturbations that do not require dispatching measures to be applied. For instance, Khani et al. (2015) propose three path searching algorithms to make the assignment model perform efficiently on large-scale transit networks, by assuming that the operation is reliable and vehicle capacity is infinite. With limited vehicle capacity considered, Poon et al. (2004), Hamdouch and Lawphongpanich (2008), and Binder et al. (2017a) explore the interactions between the supply and the demand over time, which differ in the used priority rules for passenger boardings while share the assumption of trains operating precisely on schedule. In practice, service variations cannot be fully avoided. Thus, Nuzzolo et al. (2001), Hamdouch et al. (2014), and Cats et al. (2016) take service variations into account, and describe the variations as irregularities of train dwell and running times that are thought to be relevant to the passenger loadings of the corresponding trains. The considered train delays do not need timetable rescheduling, which means that train orders remain unchanged and no trains are cancelled or short-turned.
When train delays cannot be absorbed completely by the time supplements reserved in the timetable, timetable rescheduling becomes necessary. A typical question under such a case is that whether a train should wait for a delayed feeder train or better depart on time (wait-depart decision). This problem is generally regarded as delay management, where the relevant work mainly focuses on the optimization and thus the formulation corresponding to the passenger assignment is usually simplified by some assumptions. For example, Schöbel (2001) assumes that once passengers miss a transfer connection, they would wait for a complete cycle time to catch the next connection. Kanai et al. (2011), Dollevoet et al. (2012), Sato et al. (2013), and Corman et al. (2017) consider the alternative choices that passengers might have, where the capacities of vehicles are assumed to be infinite. While most papers consider the train delays as known input to the optimization, Rückert et al. (2017) observe the train delays in real time, and predict the passenger flows due to any possible wait-depart decisions to help the dispatchers make informed decisions. In these papers, train orders can be changed, but no trains are delayed significantly or cancelled/short-turned, which however take place during disruptions.
A few papers consider the passenger assignment during disruptions. Cats and Jenelius (2014) focus on disruptions that result in trains delayed significantly. The considered case is that the tracks between two stations are totally blocked for 30 minutes, and trains queue at the station before the blocked tracks during the disruption period. When the disruption ends, all these trains are again allowed to continue the following operations, assuming that all on-board passengers in these delayed trains are unable to alight from the trains at the holding stations. For a long-duration disruption that lasts for one hour or even more, it is unlikely to hold trains at stations, but more likely to short-turn them. In such a case, on-board passengers must alight from the trains, since the trains can no longer reach their expected destinations. Binder et al. (2017b) formulate the passenger assignment as a multi-commodity problem and integrate it with the rescheduling together constituting a passenger-oriented timetable rescheduling model for disruptions. The considered demand is the passengers who start travelling during the disruption. An assumption is implicitly made that all passengers collaborate together to achieve the system optimum. In the real world, passengers may intend to reduce their personal inconvenience without considering and of course incapable of considering the impacts of their choices on the system optimum. Thus, treating passengers as rational actors is necessary, which can be implemented by introducing priority rules for passenger boardings.
The literature does not consider passengers’ en-route travel decisions during major disruptions for which cancelling/short-turning trains are necessary. This paper fills the gap by proposing a schedule-based passenger assignment model to formulate the changes of passenger responses from normal situations to during disruptions.
The model is based on three assumptions, which are also used in Cats and Jenelius (2014) and Binder et al. (2017b). First, at the beginning of a disruption, the exact disruption end time is known, which will not be extended or shortened. This assumption can be relaxed by embedding the proposed model into an iterative framework where at each iteration the disruption end time is updated and the model is performed again based on the renewed disruption information and the corresponding disruption timetable. The second assumption is that for the railway operators, the disruption timetable is available directly at the beginning of the disruption. This is possible when applying a real-time optimization model (e.g. Ghaemi et al. 2017a) to compute the disruption timetable. The third assumption is that the passenger demand during disruptions is the same as on normal days. This assumption is relaxed due to setting the maximum acceptable delay of the re-planned path. In the model, a passenger can drop the railways if the delay due to the re-planned path is not acceptable. Thus, although a passenger is assumed to come to the railway origin station as planned, he/she could immediately leave if the planned path is inapplicable and the minimal delay across the current alternative paths provided by the railways exceeds the maximum acceptable delay. Such an immediate leaving is actually equal to not coming to the railways.
3 Event-Activity Network
A transit assignment model depends on the network formulation that enables travel path generation for passengers. This paper proposes a new approach to formulate the train services as a weighted DAG based on which the optimal paths perceived by passengers can be quickly searched. The characteristics of railway timetables (e.g. overtakings) and the fact that passengers might choose unusual paths (e.g. the ones with long waiting/transfer times at stations) during disruptions, are all considered in the proposed network formulation. As events are used to represent nodes and activities are used to represent arcs, the formulated network is called an event-activity network. In the following, different kinds of events and activities that are necessary to formulate the network are introduced, as well as the passenger preferred weights on the activities.
3.1 Events
There are four types of events in the formulated network. They are arrival events, departure events, duplicate departure events and exit events, which constitute the sets E_{arr}, E_{dep}, E_{ddep} and E_{exit}, respectively. Therefore, the set of events is
Notation of event attributes
Symbol | Description |
---|---|
st_{e} | The station of event e |
tr_{e} | The train of event e |
π_{e} | The occurrence time of event e |
Attributes of different events
Event | Attributes |
---|---|
Arrival event: e ∈ E_{arr} | (st_{e}, tr_{e}, π_{e}) |
Departure event: e ∈ E_{dep} | (st_{e}, tr_{e}, π_{e}) |
Duplicate departure event: e ∈ E_{ddep} | (st_{e}, tr_{e}, π_{e}) |
Exit event: e ∈ E_{exit} | st_{e} |
3.2 Activities
There are five types of activities in the formulated network. They are running activities, dwell activities, wait activities, transfer activities and exit activities, which constitute the sets A_{run}, A_{dwell}, A_{wait}, A_{trans} and A_{exit}, respectively. In addition, A_{wait} consists of two sub-sets that are A_{ddW} and A_{adW}, which correspond to the wait activities between duplicate departure events and the wait activities between arrival events and duplicate departure events. Namely,
Running activities enable passengers travelling from one station to another:
Dwell activities enable passengers dwelling at the station in a train:
Wait activities and transfer activities together enable passengers waiting to board trains at origins or transferring from one train to another at other stations:
Here, Eq. 6 means that each duplicate departure event is linked to the next time-adjacent duplicate departure event that is at the same station but for another train. Similarly, Eq. 7 means that each arrival event is linked to the next time-adjacent duplicate departure event that is at the same station but for another train. Finally, Eq. 8 means that each duplicate departure event is linked to its original departure event.
Exit activities enable passengers to leave the railway system once arriving at the destinations:
3.3 Weights of Activities
Usually, paths are perceived differently by passengers due to the path attributes like waiting time at the origin (t_{origin}), in-vehicle time (t_{vehicle}), waiting time at a transfer station (t_{trans}), and number of transfers (n_{trans}). A utility function is used to quantify the utility of each path by giving different weights on the path attributes. In this paper, the utility of a path r is quantified as:
For each activity a = (e,e^{′}) ∈ A_{run} ∪ A_{dwell}, the weight of a is set as \(\beta _{1}(\pi _{e^{\prime }}-\pi _{e})\).
For each activity a = (e,e^{′}) ∈ A_{ddW} ∪ A_{adW}, the weight of a is set as \(\beta _{2}(\pi _{e^{\prime }}-\pi _{e})\).
For each passenger p, the weight of a transfer activity could be different depending on where the passenger started travelling. For an activity a = (e,e^{′}) ∈ A_{trans}, the weight of a is set as zero if st_{e} = o_{p} (o_{p} is the origin of p). Otherwise (i.e. st_{e}≠o_{p}), the weight of a is set as a fixed value β_{3}.
For each activity a ∈ A_{exit}, the weight of a is set to the same positive value, since it is not used to distinguish paths.
3.4 Searching the Optimal Path Perceived by Passengers
Let a passenger p have the attributes \((o_{p},d_{p},{t_{p}^{o}})\) referring to the origin, destination and actual arrival time at the origin, respectively. To search the optimal path perceived by p for the travel from o_{p} to d_{p}, a pair of source and sink nodes should be given. Here, the sink node v is defined as
With the assigned pair of source and sink node, the shortest path in utility can be searched, by performing a shortest path algorithm on the formulated event-activity network G, which by construction is actually a directed acyclic graph (DAG) with positive arc weights. Such a shortest path algorithm topologically sorts the nodes of DAG in passenger perceived times, thus making the predecessor node of an edge always appear before the successor node of the edge in a linear ordering (Cormen et al. 2009). Using the topological order, the shortest path is found in time complexity O(A + E).
Here, the optimal path perceived by a passenger p is represented by r_{p}, which is first searched by the shortest path algorithm and then processed by excluding the duplicate departure events and the exit event. In other words, r_{p} only consists of the events that directly serve the path. Based on r_{p}, the departure/arrival events of p are extracted further, which correspond to the boarding/alighting actions. Here, B_{p} represents the set of departure events that correspond to the boarding actions of p at origin and transfer stations (if any), and L_{p} represents the set of arrival events that correspond to the alighting actions at transfer stations (if any) and destination.
Note that the way of deciding the source node in Eq. 13 is only for the passengers who are at the origins before travelling (and have not been denied for boarding). For the passengers who have already started travelling within trains, at transfer stations, or at the stations where they are forced to get off due to cancelled services, the ways of choosing the source nodes for searching paths are different, which are explained in Section 4.3.4.
4 Dynamic Assignment Model
Part I assigns each passenger to a planned path based on the original timetable.
Part II decides which passengers are affected under the disruption timetable due to delayed/cancelled services, and also decides when these affected passengers would re-plan the paths considering different locations of publishing service variations.
Part III simulates passenger loading and unloading procedures and also the path re-plannings of passengers because of service variations, denied boardings, or train congestion.
Notation
Symbol | Description |
---|---|
\(E_{\text {train}}^{\text {plan}}\) | The set of original departure and arrival events (i.e. original event list) |
\(E_{\text {train}}^{\text {dis}}\) | The set of rescheduled departure and arrival events (i.e. updated event list) |
\(E_{\text {train}}^{\text {cancel}}\) | The set of cancelled departure/arrival events: \(E_{\text {train}}^{\text {cancel}} \subset E_{\text {train}}^{\text {plan}}~\text {and}~E_{\text {train}}^{\text {cancel}} \cap E_{\text {train}}^{\text {dis}}=\emptyset \). |
\(E_{\text {train}}^{\text {delay}}\) | The set of delayed departure/arrival events: \(E_{\text {train}}^{\text {delay}} \cap E_{\text {train}}^{\text {plan}} = E_{\text {train}}^{\text {delay}} \cap E_{\text {train}}^{\text {dis}}\), but they |
differ in the times of occurrences. | |
\(E_{\text {arr}}^{\text {dis}}\) | The set of rescheduled arrival events |
E_{congest} | The set of departure events that correspond to potential congested run activities |
P | The set of passengers who plan to travel by train |
P_{curr} | The set of passengers currently staying in the railways (either at stations or within trains) |
P_{drop} | The set of passengers who drop the railways |
P_{arr} | The set of passengers who arrive at the destinations by train |
P_{board} | The set of passengers who want to board the same train (local variable) |
P_{alight} | The set of passengers who want to alight from the same train (local variable) |
P_{replan} | The set of passengers who re-plan paths upon the same arrival event (local variable) |
o_{p} | The origin station of passenger p |
d_{p} | The destination station of passenger p |
\({t_{p}^{o}}\) | The arrival time of passenger p at the origin station |
\(r_{p}^{\text {plan}}\) | The planned path of passenger p from o_{p} to d_{p} |
\(r_{p}^{\text {dis}}\) | The re-planned path of passenger p from the station where p re-plans to d_{p} |
\(t_{p}^{\text {alight}}\) | The latest alighting time of passenger p, which is initialized with the value 0 |
\(\hat {t_{p}^{d}}\) | The planned destination arrival time of passenger p |
\({t_{p}^{d}}\) | The actual destination arrival time of passenger p |
\(B_{p}^{\text {plan}}\) | The set of departure events that correspond to the planned boarding actions of passenger p |
\(L_{p}^{\text {plan}}\) | The set of arrival events that correspond to the planned alighting actions of passenger p |
δ_{p} | The re-plan indication of passenger p, which indicates when and where p would re-plan the path |
λ_{p} | The number of times of passenger p being denied for boarding a train |
μ | A unique positive number that is used to indicate that a passenger would re-plan a |
path at the origin | |
st_{short} | The station where trains are short-turned or cancelled |
\(t_{\text {dis}}^{\text {start}}\) | Start time of a disruption |
FullInfo | The variable indicating the location of publishing train congestion information |
FullInfo=Train: publish train congestion information on trains only | |
FullInfo=None: publish train congestion information nowhere | |
ratio | The specified congestion ratio that triggers updating the corresponding congestion |
information of a train | |
η | Maximum passenger accepted destination delay |
4.1 Passenger Planned Path Assignment (Part I)
In part I, the original timetable is formulated as an event-activity network G_{plan} where the arrival events and departure events form the original ordered event list \(E_{\text {train}}^{\text {plan}}\). Passenger demand P is a given input, where each passenger p ∈ P is described with the attributes \((o_{p},d_{p},{t_{p}^{o}})\) that correspond to origin, destination and arrival time at the origin, respectively. The planned path \(r_{p}^{\text {plan}}\) of a passenger is searched by performing a shortest path algorithm on G_{plan} assuming that a passenger chooses the path with the minimum utility as shown in Eq. 10 to be the planned path.
4.2 Passenger Re-Plan Event Decision (Part II)
if \(r_{p}^{\text {plan}} \cap E_{\text {train}}^{\text {cancel}} \neq \emptyset \), then \(r_{p}^{\text {plan}}\) is a cancelled path either partially or completely;
if \(r_{p}^{\text {plan}} \cap E_{\text {train}}^{\text {cancel}} = \emptyset \) and \(r_{p}^{\text {plan}} \cap E_{\text {delay}} \neq \emptyset \), then \(r_{p}^{\text {plan}}\) is a delayed path.
The affected passengers re-plan their paths at different locations and times, which is influenced by two factors: where they are at the moment the disruption occurs and how the information of service variations are delivered to them. The main purpose of Part II is to decide when and where an affected passenger will take the re-plan action, considering his/her location and two ways of publishing service variations, either at stations only or at both stations and trains.
4.2.1 Information of Service Variations is Published at Stations Only
for a passenger p whose first planned boarding time at the origin is after the disruption start \(t_{\text {dis}}^{\text {start}}\), p re-plans at the origin (δ_{p} = μ),
for a passenger p whose first planned boarding time at the origin is before\(t_{\text {dis}}^{\text {start}}\) but the i th planned boarding (i ≥ 2 here) at a transfer station happens after\(t_{\text {dis}}^{\text {start}}\), p re-plans when arriving at the transfer station,
for a passenger p whose planned boarding time at the origin is before\(t_{\text {dis}}^{\text {start}}\) while p has no planned transfer or the planned transfers all happen before\(t_{\text {dis}}^{\text {start}}\), p will not re-plan (δ_{p} = ∅).
for a passenger p whose planned boarding time at the origin is after\(t_{\text {dis}}^{\text {start}}\), p re-plans at the origin,
- for a passenger p whose planned boarding time at the origin is before\(t_{\text {dis}}^{\text {start}}\) but the i th planned boarding (i ≥ 2 here) at a transfer station happens after\(t_{\text {dis}}^{\text {start}}\),
p re-plans when arriving at the transfer station, if the transfer station is upstream relative to the short-turn station,
p re-plans when being forced to get off from the train at the short-turn station, if the transfer station is downstream relative to the short-turn station,
for a passenger p whose planned boarding times at the origin is before\(t_{\text {dis}}^{\text {start}}\) while p has no planned transfer or the planned transfers all happen before\(t_{\text {dis}}^{\text {start}}\), p re-plans when being forced to get off from the train at the short-turn station.
4.2.2 Information of Service Variations is Published at Both Stations and Trains
for a passenger p whose planned boarding time at the origin is after the disruption start \(t_{\text {dis}}^{\text {start}}\), p re-plans at the origin,
- for a passenger p whose planned boarding time at the origin is before\(t_{\text {dis}}^{\text {start}}\), the type of the latest occurring event e^{′} of the current train tr when the disruption starts determines δ_{p}:
δ_{p} is set as e^{′}, if e^{′} is an arrival event,
δ_{p} is set as e^{″} of which (e^{′}, e^{″}) is a run activity, if e^{′} is a departure event.
4.3 Passenger Realized Path Confirmation (Part III)
In part III, the passengers’ arrivals at the origins, the loading and unloading procedures and the re-plan actions are all implemented by discrete event simulation. Publishing train congestion information on trains or not is considered to constrain some passengers’ re-planned path choices. Note that publishing train congestion information at stations makes no sense for limiting passenger awareness of such information (i.e. all passengers can get any information published at stations), while publishing train congestion information at trains can let the passengers who are at the origins be unaware of such information. Therefore, an adaptive event-activity network \(G_{\text {dis}}^{*}\) is introduced, which is initialized as G_{dis} and further updated during the assignment by excluding some run activities of which the corresponding train congestions reach a specified level ratio. Passengers make re-planned path choices based on either \(G_{\text {dis}}^{*}\) or G_{dis} depending on whether they are informed with congestion information. This is explained in detail in Section 4.3.4.
In the following, the main algorithm (i.e. Discrete event passenger assignment), together with the three supporting algorithms (i.e. UpdateDep, UpdateArr and RePlan) are introduced successively.
4.3.1 Discrete Event Passenger Assignment
In Algorithm 1, different sets are initialized, and the previous system clock time is set as 0 (lines 1-3). In line 4, each event in \(E_{\text {train}}^{\text {dis}}\) is iterated over to implement a passenger arrival at the origin, and the loading or unloading procedure. \(E_{\text {train}}^{\text {dis}}\) is a given input, of which the contained events are previously sorted in time-ascending order and then in alphabetical order regarding the event type (arrival or departure), to ensure that the assignment proceeds with time, and an arrival event occurs before a departure event if their time instants are the same. In lines 5-6, the first element from \(E_{\text {train}}^{\text {dis}}\) is chosen as the current event e to be executed, and the current system clock time is set as the occurence time of e. In the loop starting from line 7, each arrival of a passenger at the origin between the previous and the current system clock time is simulated. In line 8, the origin arrival passenger p is included to the set P_{curr} that contains all passengers who are currently staying in the railways. If p needs to re-plan at the origin, the function RePlan will be called to realize the re-plan action (lines 9-10). In line 11, p is excluded from P to avoid being included in P_{curr} again.
If the current event e is an arrival (line 18), the passengers who want to alight from the arriving train are defined by P_{alight} and the passengers who will re-plan paths when e occurs are defined by P_{replan} (line 19). If at least one of the two sets is not empty (line 20), the union P_{alight} ∪ P_{replan} is excluded from P_{curr} first (line 21) and then the function UpdateArr is called to implement the unloadings of passengers in P_{alight} and the re-plan actions of passengers in P_{replan} (line 22). In line 23, the updated P_{alight} ∪ P_{replan} is included to P_{curr} again. The reason of having lines 21 and 23 is that when executing UpdateArr, some passengers could be removed from P_{alight} to P_{arr} because they reach the destinations, and some passengers could be removed from P_{replan} to P_{drop} because they cannot find preferred re-planned paths and thus drop the railways. If train congestion information is published on trains (line 24), for each passenger who is dwelling at train tr_{e} and the next boarding train is highly congested as notified (lines 25-27), the passenger is given the chance of re-planning (line 28).
After finishing executing the current event, the previous system clock time is set to the current system clock time, and the current event is removed from the event list to be executed (lines 29-30).
4.3.2 Passenger Loading
In algorithm 2, if the available capacity \(cap_{tr_{e}}\) of a train tr_{e} is sufficient to cover all passengers P_{board} who want to board the train, \(cap_{tr_{e}}\) is updated accordingly (lines 1-2). Then, for each p ∈ P_{board}, the current event e is excluded from the set B_{p} that contains all departure events corresponding to the boarding actions of p (lines 3-4). If the available capacity of a train can only cover part of the passengers in P_{board} (line 5), \(cap_{tr_{e}}\) is updated accordingly (line 6) and then the passengers in P_{board} are sorted in ascending order according to their arriving times at the current stations (line 7). Here, \(t_{p}^{\text {alight}}\) refers to the latest alighting time of passenger p, of which the value is initialized with 0 when p arrives at the origin and further be updated when p alights from a train at another station. Line 7 ensures the loading rule of first-come-first-served. The first \(cap_{tr_{e}}\) passengers in P_{board} can board the train (lines 8-9), while the remainders are denied for boarding and RePlan is called for re-planning (line 10-12). If the available capacity of a train is zero, none of the passengers in P_{board} can board the train, but only re-plan paths (lines 13-16).
Furthermore, if train congestion information is published and the congestion ratio of the train tr_{e}, \(\left (1-cap_{tr_{e}}/cap^{\max }_{tr_{e}} \right )\), has reached the specified congestion level ratio, then the departure event e^{′} that corresponds to the next run activity a of tr_{e} is added to E_{congest} (lines 19-20), while a is excluded from the adaptive event activity network \(G_{\text {dis}}^{*}\) (line 21). Here, \(cap^{\max }_{tr_{e}}\) represents the maximum number of passengers that train tr_{e} can hold.
4.3.3 Passenger Unloading
In algorithm 3, for each passenger p who wants to alight from the train tr_{e}, the available capacity of the train is updated accordingly (lines 1-2), and event e is excluded from the set L_{p} that contains all arrival events corresponding to the alighting actions of p (line 3). After that, an empty L_{p} means that passenger p has reached the destination (line 4), thus the actual destination arrival time \({t_{p}^{d}}\) is updated and p is removed from P_{alight} to P_{arr} (lines 5-7). If L_{p} is not empty, the latest alighting time \(t_{p}^{\text {alight}}\) is updated (lines 8-9). For each passenger who will re-plan path when e occurs, RePlan is called (lines 10-11).
4.3.4 Passenger Re-Planning
If Z_{j} = Z_{1}, u is set as the duplicate departure event that is closest to the passenger’s arrival time at the origin: \({t_{p}^{o}}\).
If Z_{j} = Z_{2}, u is set as the duplicate departure event that is closest to the current departure event e at the station st_{e}.
If Z_{j} = Z_{3} ∪ Z_{4}, u is set as the current arrival event e.
Re-plan situations
Situation | Time and location |
---|---|
Z_{1}: re-plan before travelling due to service variations | When arriving at the origin station |
Z_{2}: re-plan during travelling due to denied boarding | When planning to board at any possible station |
Z_{3}: re-plan during travelling due to service variations | When arriving at the specified station |
Z_{4}: re-plan during travelling due to train congestion | When arriving at a station |
- If FullInfo=Train, then train congestion information is published at trains only. Thus, G is set as \(G_{\text {dis}}^{*}\),Passenger who satisfies either of the above conditions must have taken a train where he/she is notified with train congestion information.
if Z_{j} = Z_{2} and st_{e}≠o_{p}, which means passenger p re-plan paths due to denied boarding at the station that is not his/her origin, or
if Z_{j} ∈ {Z_{3}, Z_{4}}.
If FullInfo=none, then train congestion information is published nowhere. Thus, G is always set as G_{dis} whatever Z_{j} is.
In line 3, the optimal path r is searched through G, of which the destination arrival time is \({t_{r}^{d}}\) (line 4). Thus, the resulting delay of r is \(({t_{r}^{d}}-\hat {t_{p}^{d}})\) where \(\hat {t_{p}^{d}}\) is the planned destination arrival time of p.
If the delay is no longer than passenger’s maximum accepted delay η (line 5), r is chosen as the re-planned path (line 6), and the sets of events corresponding to the boardings and alightings are updated accordingly (line 7). Additionally for the re-plan situation of Z_{3} or Z_{4}, a passenger who does not plan to alight from the train tr_{e} might now want to get off due to the re-planned path (lines 8-9). In such a case, the available train capacity, the set of alighting events, and the latest alighting time are all updated accordingly (lines 10-12).
If the delay of r is longer than η (line 13), the passenger will drop the railway. Thus, the set P_{drop} and the set P_{board} (or P_{replan}) are all updated accordingly (lines 14-15).
5 Time Complexity
In RePlan, lines 1, 3 and 7 require non-constant time. Line 1 takes O (|E_{ddep}|) time, where E_{ddep} represents the set of duplicate departure events. Line 3 takes O (|A| + |E|) time, where A and E refer to the activities and events contained in the formulated event-activity network, respectively. Line 7 takes \(O\left (\left | r_{p}^{\text {dis}}\right | \right )\) time, where \(r_{p}^{\text {dis}}\) refers to the re-planned path of passenger p, which contains all events that p will pass through. Thus, the time complexity of Algorithm 4 is
In UpdateArr, the for loop from line 1 to line 9 takes O (|P_{alight}|) time, while the for loop from line 10 to line 11 takes O (|P_{replan}| ⋅(|A| + |E|)) time. Thus, the time complexity of Algorithm 3 is
In UpdateDep, line 7 takes O (|P_{board}|log |P_{board}|) time by using heapsort. Thus, lines 1-16 take O (|P_{board}|log |P_{board}|) + O (|P_{board}| ⋅(|A| + |E|)) time. Because log |P_{board}| ≪|A| + |E| and lines 17-21 take constant time, the time complexity of Algorithm 2 is
the for loop from line 7 to line 11 takes at most \(\sum \nolimits _{i = 1}^{N} {\left | {P_{{\text {ori}}}^{i}} \right |} \cdot \left ({\left | A \right | + \left | E \right |} \right )\) operations, where \(P^{i}_{\text {ori}}\) represents the set of passengers who arrive at the origins in the i th iteration. This is equal to O (|P|⋅(|A| + |E|)) time, where P represents the total passenger demand.
due to the calls of UpdateDep, lines 12 - 17 take at most \(\sum \nolimits _{i = 1}^{N} \left | {P_{{\text {board}}}^{i}} \right | \cdot \left ({\left | A \right | + \left | E \right |} \right )\) operations, where \(P^{i}_{\text {board}}\) represents the set of passengers who wish to board the train at the i th iteration. By defining m as the maximum number of boardings/alightings that a passenger may encounter, there must be \(\sum \nolimits _{i = 1}^{N} {\left | {P_{{\text {board}}}^{i}} \right |}=m{\left | P \right |}\). Because the maximum number of boardings/alightings corresponding to a passenger must be finite and relatively small, the time complexity is O(|P| ⋅ (|A| + |E|)).
due to the calls of UpdateArr, lines 18-23 take \(\sum \nolimits _{i = 1}^{N} {\left | {P_{{\text {alight}}}^{i}} \right |} + \left | {P_{{\text {replan}}}^{i}} \right | \cdot \left ({\left | A \right | + \left | E \right |} \right )\) operations, where \(P^{i}_{\text {alight}}\) (\(P^{i}_{\text {replan}}\)) represents the set of passengers who will alight from the train (re-plan paths) at the i th iteration. This is not larger than m |P| + |P| ⋅(|A| + |E|). Thus, lines 18-23 totally take O (|P| ⋅(|A| + |E|)) time.
lines 5-6 and lines 29-30 totally take O(N) time, where N is smaller than |E|.
If train congestion information is published, in each while iteration of Algorithm 1, the for loop from line 25 to line 28, at most take |P| operations in case P_{curr} = P and (P_{alight} ∪ P_{replan}) = ∅. In such a case, \(T_{Alg}^{1}\) becomes O (N ⋅|P|) + O (|P| ⋅(|A| + |E|)). As N < |A| + |E|, \(T_{Alg}^{1}\) is still O (|P| ⋅(|A| + |E|)), although train congestion information is published.
Notations used in proving the time complexity of Algorithm 1
Symbol | Description |
---|---|
\(P_{\text {ori}}^{i}\) | The set of passengers who arrive at the origins at the i th while iteration of Algorithm 1 |
\(P_{\text {board}}^{i}\) | The set of passengers who wish to board the train at the i th while iteration of Algorithm 1 |
\(P_{\text {alight}}^{i}\) | The set of passengers who will alight from the train at the i th while iteration of Algorithm 1 |
\(P_{\text {replan}}^{i}\) | The set of passengers who re-plan paths upon arrival event due to service variations at the i th |
while iteration of Algorithm 1 | |
m | The maximum number of boardings/alightings a passenger could encounter |
In summary, the time complexity of the proposed passenger assignment model is relevant to the size of the given passenger demand and the scale of the considered network. To reduce computational burden, one way is to group the passengers who share the same travel characteristics (e.g. the origins, the destinations, the arrival times at the origin, etc.). However, this is at the expense of assignment accuracy, since two passengers who have exactly the same travel characteristics could still be distributed to different trains if vehicle capacities are in short supply.
6 Case Study
6.1 Description
Passenger demand is generated for the period from 7:00 to 10:00, which contains the time frame before the disruption starts, during the disruption and after the disruption ends, since passengers who start travelling during these hours could be influenced by the disruption. The total number of passengers who travel in the considered network during the considered period is 7515.
Case study settings
ServiceInfo | FullInfo | ratio | η [min] |
---|---|---|---|
Station | Train | 0.8,0.9,or 1 | (\(\hat {t_{p}^{d}}-{t_{p}^{o}}\)) or 63 |
Station | None | – | (\(\hat {t_{p}^{d}}-{t_{p}^{o}}\)) or 63 |
Station & Train | Train | 0.8,0.9,or 1 | (\(\hat {t_{p}^{d}}-{t_{p}^{o}}\)) or 63 |
Station & Train | None | – | (\(\hat {t_{p}^{d}}-{t_{p}^{o}}\)) or 63 |
None | None | – | (\(\hat {t_{p}^{d}}-{t_{p}^{o}}\)) or 63 |
6.2 Results
Results of disruption scenarios between stations Hze and Mz
Scenario | η | ServiceInfo | FullInfo | ratio | # drop | # denied | Travel time |
---|---|---|---|---|---|---|---|
passengers | boardings | deviation | |||||
[min] | [min] | ||||||
1 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station | Train | 0.8 | 551 | 0 | 25243 |
2 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station | Train | 0.9 | 551 | 0 | 25243 |
3 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station | Train | 1 | 551 | 0 | 25243 |
4 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station | None | – | 551 | 0 | 25243 |
5 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station & Train | Train | 0.8 | 551 | 0 | 25187 |
6 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station & Train | Train | 0.9 | 551 | 0 | 25187 |
7 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station & Train | Train | 1 | 551 | 0 | 25187 |
8 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | Station & Train | None | – | 551 | 0 | 25187 |
9 | \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) | None | None | – | 565 | 0 | 28399 |
10 | 63 | Station | Train | 0.8 | 118 | 178 | 39758 |
11 | 63 | Station | Train | 0.9 | 113 | 193 | 40687 |
12 | 63 | Station | Train | 1 | 113 | 193 | 40693 |
13 | 63 | Station | None | – | 113 | 193 | 40693 |
14 | 63 | Station & Train | Train | 0.8 | 116 | 178 | 39707 |
15 | 63 | Station & Train | Train | 0.9 | 110 | 193 | 40590 |
16 | 63 | Station & Train | Train | 1 | 110 | 193 | 40595 |
17 | 63 | Station & Train | None | – | 110 | 193 | 40595 |
18 | 63 | None | None | – | 88 | 358 | 47234 |
\(\sum \limits _{p \in {P_{{\text {arr}}}}} {\left ({{t_{p}^{d}} - \hat {t_{p}^{d}}} \right )} + \sum \limits _{p \in {P_{{\text {drop}}}}} {\left ({\hat {t_{p}^{d}} - {t_{p}^{o}}} \right )} \), when η is set as \(\hat {t_{p}^{d}}-{t_{p}^{o}}\), or
\(\sum \limits _{p \in {P_{{\text {arr}}}}} {\left ({{t_{p}^{d}} - \hat {t_{p}^{d}}} \right )} + {63}\left | {{P_{{\text {drop}}}}} \right |\), when η is set as 63,
6.2.1 Influence of Maximum Accepted Delay: η
the provided disruption timetable leads to 565 passengers to whom the increased travel time in the railways is at least equal to the planned travel time, and
the limited vehicle capacities lead to more travel time increase when more passengers remain in the railways to reach the destinations.
If operators aim for a low travel time increase while satisfying passenger demand as much as possible, one way is to design a disruption timetable that provides faster services and ensures less denied boardings by adjusting the schedules to distribute passengers wisely. However, this is rather challenging, since many factors (e.g. passenger behaviour, vehicle capacities, infrastructure restrictions, etc.) need to be considered in the rescheduling. Thus, another way is proposed, information intervention, which is easier to be implemented in practice. Here, information intervention means that operators provide passengers at different locations with different information about service variations or train congestion.
6.2.2 Influence of Information Intervention
When η is set as \(\hat {t_{p}^{d}}-{t_{p}^{o}}\) or 63 min, compared to not updating passengers with any information (scenario 9 or 18), providing information for them (scenarios 1-8 or 10-17) helps to reduce the number of dropped passengers, the number of denied boardings, and/or the travel time increase. This indicates that it is helpful to update passengers with certain information during disruptions.
if vehicle capacities are not in short supply, publishing service variations at both stations and trains is able to reduce more travel time increase, compared to publishing service variations at stations only.
if vehicle capacities are in short supply, the performance of publishing train congestion on reducing travel time increase is influenced by the value of ratio.
6.2.3 Impacts on Passengers Who Start Travelling Before/During the Disruption
Figures 9 and 10 both show that passengers who start travelling before the disruption are delayed more seriously. Most individual delays are below 50 minutes in Fig. 9, while in Fig. 10, there are a lot of individual delays reaching 60 minutes. This indicates that most passengers’ planned travel times are below 50 minutes and it is hard for them to find the alternatives of less than 50 minutes delay under the current disruption timetable, while the congestion issue increases passenger delays further. To reduce passenger delays, one way is to improve the disruption timetable by providing passengers with better alternatives (i.e. less resulting delays), which could be done by incorporating passenger responses into timetable rescheduling. Additionally, it is found that there are 21 passengers in scenario 10 being delayed, not because of service variations (i.e. their planned paths are not cancelled/delayed) but due to denied boardings only. Under these circumstances, increasing vehicle capacities or providing alternatives outside the railways (e.g. shuttle buses), would be helpful to reduce passenger delays.
7 Conclusions and Future Research
In this paper, a dynamic passenger assignment model is proposed considering major disruptions that require trains to be cancelled or short-turned. Information interventions are introduced by delivering the information of service variations and the information of train congestion at different locations. By applying the model on part of the Dutch railway network where a complete track blockage is assumed during one morning peak hour, it is found that when vehicle capacities are always sufficient (i.e. no denied boarding), publishing service variations at both stations and trains helps to reduce the travel time increase due to the disruption, while additionally publishing train congestion does not make any sense. When vehicle capacities are in short supply (i.e. denied boardings exist), additionally publishing train congestion can reduce the travel time increase due to the disruption, of which the performance depends on how a train is defined as highly congested in order to proactively avoid some passengers boarding the next run of the train.
Although only one case is performed in this paper, more applications could be performed with the proposed model. For example, considering the fluctuation of day-to-day passenger demand and the frequency of disruptions, reasonable vehicle capacity reservations for improving the service resilience during disruptions can be proposed. Besides, the proposed assignment model will be applied on larger networks and combined with rescheduling models in the future, where passengers will be grouped to speed the computation.
Notes
Acknowledgements
The first author would like to thank the program of China Scholarship Council (No. 201507000056) for the financial support to her PhD research at Delft University of Technology, the Netherlands.
References
- Binder S, Maknoon Y, Bierlaire M (2017a) Exogenous priority rules for the capacitated passenger assignment problem. Transp Res B Methodol 105:19–42CrossRefGoogle Scholar
- Binder S, Maknoon Y, Bierlaire M (2017b) The multi-objective railway timetable rescheduling problem. Transport Res Part C Emerg Technol 78:78–94CrossRefGoogle Scholar
- Cats O, Jenelius E (2014) Dynamic vulnerability analysis of public transport networks: mitigation effects of real-time information. Netw Spat Econ 14(3-4):435–463CrossRefGoogle Scholar
- Cats O, West J, Eliasson J (2016) A dynamic stochastic model for evaluating congestion and crowding effects in transit systems. Transp Res B Methodol 89:43–57CrossRefGoogle Scholar
- Corman F, D’Ariano A, Marra AD, Pacciarelli D, Samà M (2017) Integrating train scheduling and delay management in real-time railway traffic control. Transport Res Part E Logist Transport Rev 105:213–239CrossRefGoogle Scholar
- Cormen TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms, 3rd. MIT Press, CambridgeGoogle Scholar
- de Keizer B, Geurs K, Haarsman G (2012) Interchanges In timetable design of railways: a closer look at customer resistance to interchange between trains. In: Proceedings of the European Transport Conference, Glasgow, pp 8–10Google Scholar
- Dollevoet T, Huisman D, Schmidt M, Schöbel A (2012) Delay management with rerouting of passengers. Transp Sci 46(1):74–89CrossRefGoogle Scholar
- Gentile G, Noekel K (2016) Modelling public transport passenger flows in the era of intelligent transport systems. Springer, ChamCrossRefGoogle Scholar
- Ghaemi N, Cats O, Goverde RMP (2017a) A microscopic model for optimal train short-turnings during complete blockages. Transp Res B Methodol 105:423–437CrossRefGoogle Scholar
- Ghaemi N, Cats O, Goverde RMP (2017b) Railway disruption management challenges and possible solution directions. Public Transport 9(1–2):343–364CrossRefGoogle Scholar
- Hamdouch Y, Lawphongpanich S (2008) Schedule-based transit assignment model with travel strategies and capacity constraints. Transp Res B Methodol 42(7):663–684CrossRefGoogle Scholar
- Hamdouch Y, Szeto W, Jiang Y (2014) A new schedule-based transit assignment model with travel strategies and supply uncertainties. Transp Res B Methodol 67:35–67CrossRefGoogle Scholar
- Kanai S, Shiina K, Harada S, Tomii N (2011) An optimal delay management algorithm from passengers’ viewpoints considering the whole railway network. J Rail Transp Plann Manage 1(1):25–37CrossRefGoogle Scholar
- Khani A, Hickman M, Noh H (2015) Trip-based path algorithms using the transit network hierarchy. Netw Spat Econ 15(3):635–653CrossRefGoogle Scholar
- Larrain H, Muñoz JC (2008) Public transit corridor assignment assuming congestion due to passenger boarding and alighting. Netw Spat Econ 8(2):241–256CrossRefGoogle Scholar
- Nuzzolo A, Russo F, Crisalli U (2001) A doubly dynamic schedule-based assignment model for transit networks. Transp Sci 35(3):268–285CrossRefGoogle Scholar
- Poon M, Wong S, Tong C (2004) A dynamic schedule-based model for congested transit networks. Transp Res B Methodol 38(4):343–368CrossRefGoogle Scholar
- Rückert R, Lemnian M, Blendinger C, Rechner S, Müller-Hannemann M (2017) PANDA: a software tool for improved train dispatching with focus on passenger flows. Public Transp 9(1-2):307–324CrossRefGoogle Scholar
- Sato K, Tamura K, Tomii N (2013) A MIP-based timetable rescheduling formulation and algorithm minimizing further inconvenience to passengers. J Rail Transp Plann Manage 3(3):38–53CrossRefGoogle Scholar
- Schöbel A (2001) A model for the delay management problem based on mixed-integer-programming. Electron Notes Theor Comput Sci 50(1):1–10CrossRefGoogle Scholar
- Wardman M (2004) Public transport values of time. Transp Policy 11(4):363–377CrossRefGoogle Scholar
- Zhu Y, Goverde RMP (2017) Dynamic passenger assignment during disruptions in railway systems. In: 5Th IEEE international conference on models and technologies for intelligent transportation systems (MT-ITS), Naples, 26-28 June 2017Google Scholar
Copyright information
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.