3.1. Problem Description
An urban rail line with a set of stations, denoted by
is considered in this research. It has only one depot, connected to station
, for rolling stock staying, checking and repairing, as shown in
Figure 1. Both endpoint stations have one turn-round track for rolling stock turnaround and two main tracks for up-direction and down-direction trips respectively. However, all intermediate stations have only two main tracks, and only one rolling stock of the same direction can enter a station at a time.
Note that with only one turn-round track at each terminal station, only one rolling stock can turnaround at a time. In a way, this limitation in turnaround operations leads to using more rolling stock in general, thus increasing the total enterprise’s costs to operate the rail line. However, in this study we do not take into account the total number of rolling stock operated but we consider their total operating time.
The service time range of one day is delimited by the earliest time and the latest time, and is expressed by. It is divided into a set of time periods, expressed by. Each time period, for example time-period, has start time and end time
. Moreover, the start time of the first time period satisfies, the end time of the last time period satisfies, and the end time of one time period must be equal to the start time of the next period, namely. The length of a single time period can be adjusted according to passenger demand variations i.e., a more fluctuating demand requires shorter time periods.
We consider only two types of paths for operation trips. One path is from endpoint station
to endpoint station
, which we call the up-direction path. The other path is from endpoint station
to endpoint station
, which is called the down-direction path. Moreover, trips of each path stop at each visited station. Many candidate trips of both paths are initially generated according to a given minimum operation headway from the earliest time
to the latest time
. As shown in
Figure 2, the set of upstream-direction candidate trips traveling from station
to station
is denoted by
, while those of downstream-direction candidate trips travelling from station
to station
is denoted by
. Each candidate trip has specified its travel path, stops and initial timetable, of which the last one may be rescheduled in our proposed method. Note that candidate trips in these two sets are ordered by their departure times at origin station. Thus, candidate trip
or
operates earlier than trip
or
.
For every time period , the initial frequency of service is provided by a set of candidate trips. Providing a maximum travelling capacity, the initial set of candidate trips are generated with a minimum headway time between two consecutive trips. Each upstream trip or downstream trip must stop at every station in its path for a specific dwelling time , allowing the boarding and alighting of passengers.
Obviously, the pre-initialized candidate trips are the maximum number of possible provided trips under the rail capacity limitation. If the passenger demand in each time-period is enough to operate all candidate trips with minimum headway, then all candidate trips must be chosen to operate. However, in most cases, there are some time periods that do not have enough passenger demand, and thus some candidate trips should not be chosen to operate.
To summarize, our integrated problem aims to choose some candidate trips from two sets to operate according to the demands of time periods, and further reschedule them and optimize their rolling stock service. For a better understanding, in the next section we will first describe line planning, timetabling and rolling stock scheduling sub-problems based on given set of two candidate trips, and then declare our studied integrated problem considering them together.
Traditionally, the line planning sub-problem is to determine the origin, destination, itinerary and frequency of services. However, in this study we consider a layout that allows one single itinerary for each trip direction. Moreover, we only consider full-length services, therefore the origin and destination of each same-direction trip is the same as they begin from one terminal station and end at the other terminal station at the end of the service trip. Thus, we aim to solve this sub-problem by selecting some candidate trips from a generated set of candidate trips to provide sufficient frequency for each time period based on its passenger demand. For this matter, we introduce two binary variables:
As we know, the number of provided trip services cannot exceed the maximum, which depends on the minimum headway in each time period. As we initialize candidate trips based on the minimum headway, even when all candidate trips of one time period are chosen to operate, this requirement is still satisfied.
where
is the length of time period
, and
is the maximum headway between two consecutive trips to maintain quality of service.
After we get the provided trip services, we also have to determine their arrival times and departure times at each visited station, which is regarded as the timetabling sub-problem. Thus, we introduce four decision variables for upstream and downstream direction trip services, respectively.
Timetabling must make trip arrival and departure times satisfy many operation requirements, such as the minimum headway, travel time in each rail section and required dwell times at stations.
All trips must depart from stations after the earliest operation time
, and also must arrive at stations before the latest operation time
in one day. Thus, the departure and arrival times of trip services must fall between an operation time range
, namely,
Equation (3) ensures that if an up-direction trip service is selected, i.e.,, then its departure times and arrival times must fall between the start and end time of the operational day, namely and. Otherwise, its departure times and arrival times must be equal to 0. Similarly, Equation (4) makes sure each down-direction trip service satisfies this requirement.
The minimum travel time of a trip between two adjacent stations depend on the section’s mileage, rolling stock speed and whether it stops at stations. As we assume that all trips stop at each visited station, the trip’s minimum travel time in a section can be viewed as a fixed value. Thus, the time difference from entering into the section to its leaving from there cannot be lower than this minimum fixed travel time.
Note that as Equations (3) and (4) ensure that if a trip service has not been selected, then its arrival and departure times are 0, so for a non-chosen trip, Equations (5) and (6) automatically set its section travel time to 0.
For passengers having enough time boarding and alighting a rolling stock, a required minimum dwell time of a rolling stock at a given station is needed and it can be described as a function of the number of boarding and alighting passengers at a station,
where
is the average time required for the boarding and alighting of a passenger,
is the average reaction time of passengers to boarding and alighting operation,
and
are the number of passengers alighting from trip services
and
respectively to station
, and
and
are the number of passengers boarding to trip services
and
respectively from station
.
Thus, the trip’s actual dwell time, namely, the time difference between the departure time and arrival time of all trip services at a given station should be no less than the minimum required dwell time,
Equations (9) and (10) make sure the operation trips’ dwell times are no less than the minimum required values and the non-chosen trips’ dwell times are under the action of Equations (7) and (8).
As only one same-direction trip can stay at the middle station on the rail line at most, when a trip departs from a station, only then may another same-direction trip be allowed to arrive at the station. Therefore, the following two Equations must be satisfied,
The time difference between two consecutive trips is set to guarantee the safety of the operation. The departure and arrival times of two consecutive service trips must satisfy the safety conditions:
where
is a sufficiently large number.
Equations (13) and (14) consider upstream trip services; if two consecutive trip services are selected i.e., , then the headway time condition must be satisfied:. Otherwise, if one trip service is not selected then the Equation is automatically verified. For instance, if, then. However, if none of the trip services are selected, then the Equation is obviously verified when the departure and arrival times are non-existing.
Similarly, Equations (15) and (16) make sure each down-direction trip service satisfies this requirement.
To ensure that all selected trips can be provided, we still have to assign a rolling stock to each trip. Of course, we have to consider the use-cost of rolling stock in this process. For example, assigning the same rolling stock to multiple trips. This problem is called the rolling stock allocation problem.
When an upstream direction trip
reaches terminal station
, the rolling stock must turnaround to provide the next trip
as there is no depot at this station. However, we must choose one from many upcoming trips. Thus, we introduce a binary variable for trip connections at station
:
As for station
, when a downstream trip service
arrives, the rolling stock can either enter into the depot or turnaround to provide an upcoming trip service
. In this case, we have to firstly decide whether it enters into depot or turnaround for servicing another trip. If the latter is chosen, we still must decide which trip should be serviced after servicing trip
. Thus, we introduce two decision variables for the circulation of rolling stock to the depot.
Obviously, if , then must be for any trip ; and if , then there must be one trip satisfying .
For a rolling stock, before servicing an up-direction trip
, it can either stay at the depot or service one down-direction trip
. However, before servicing a down-direction trip
, it has only serviced one up-direction trip
as the start station
of a down-direction trip
doesn’t connect to the depot. Thus, we have to introduce the following binary variable to describe whether a rolling stock comes from the depot before servicing an up-direction trip
.
Note that the decision of which down-direction (upstream direction) trip is serviced by a rolling stock before it services an upstream direction (downstream direction) can be described by variables and.
Similarly, if, then must be for any trip; and if, then there must be one trip satisfying.
Figure 3 illustrates all possible operations at terminal stations. At first, the connection of trip services
and
at station terminal
with turnaround operation namely
. Then, when trip
arrives to station
, as there is no connection to up-direction trip
; the rolling stock goes back to the depot
. This also implies that the next upstream trip
must come out from the depot
.
Contrary to the previous connection at end station, when trip arrives to the station, it does not connect with the next downstream trip namely. In this situation, the rolling stock servicing trip stays at the station from an upcoming connection. Finally, when the downstream trip arrives to station, it does connect with trip namely.
For an upstream candidate trip service
, it must be serviced by a rolling stock only when it is selected for operation, thus it satisfies the following requirements,
Equation (17) ensures that if an upstream candidate trip is not selected, namely, then there is no rolling stock coming from depot to service it , and no rolling stock after servicing a downstream direction trip to service it, that is . Otherwise, there must be a rolling stock, which either comes from depot or finishes servicing a downstream direction trip, to service trip.
Equation (18) further makes sure that if upstream candidate trip is not selected, namely , then there is no rolling stock after servicing trip to service trip , that is ; otherwise, there must be rolling stock which services trip to service trip assuring .
Similarly, for a downstream candidate trip
, only when it is selected for operation, then it must be serviced by rolling stock, which must service an upstream trip
before servicing trip
, and can either enter the depot or turnaround at the station to provide the next trip service
when finishing servicing trip
and arriving at terminal station 1.
As detailed in the timetabling sub-problem, at each intermediate station, it is allowed that only one rolling stock at most stays in there at a time for each direction, as generally there is only one track for rolling stock dwelling for each direction. However, at the terminal station, the rolling stock has to turnaround and we must consider the rolling stock of both directions, and make the number of upstream direction or downstream direction rolling stock no more than the two-dwell tracks for the two directions of rolling stock. For example, when a trip
arrives at station
, and then turns around to continue trip
, obviously in the time range from
to
, this rolling stock will stay at station
and occupy one track, and then only one more rolling stock can be allowed to arrive there in the time range, as shown in
Figure 4.
Denote
as the set of upstream direction trips arriving at station
in time range
, and
is the number of trips in set
.
Specifically, for the rolling stock servicing an upstream direction trip which means , the departure time of its next servicing downstream direction trip can be determined by , then the number of upstream direction trips arriving at station from to is equal to or ; otherwise, if trip has not been selected for operation, then this Equation does not work.
Similarly, at station
, there are only two rolling stock at most dwelling there at the same time. However, compared with the station
where the rolling stock must turnaround, rolling stock at station
can either turnaround or enter the depot after servicing one downstream direction trip. Denote
as the set of upstream direction trips arriving at station
in time range
, and
is the number of trips in set
. Specifically, for each downstream direction trip
selected for operation, when the rolling stock servicing it arrives at station 1, if it continues to service an upstream direction trip, namely
, then its departure time can be determined as
, and the number of trips arriving at time range
should be 0 or 1. Thus, the following constrain should be satisfied.
When two upstream and downstream trip services
and
are connected by the same rolling stock, a minimum turnaround time is required to allow preparation of the rolling stock. The minimum value of turnaround time is based on parameters such as cleaning time, the signaling system, the characteristics of the rolling stock etc. The following Equation fixes the minimum turnaround requirement at terminal station
:
where
is minimum turnaround operation time at terminal stations.
Similarly, the minimum turnaround requirement at terminal station
is covered by the following Equation:
Although the above three sub-problems have different decision variables, they are all related. This research is devoted to optimizing them together to achieve a better train operation plan consisting of line planning, timetabling and rolling stock planning. As the details have been discussed above, here we simply list the decision variables of our studied integrated optimizing problem, presented in
Table 2.
Meanwhile, we summarize and list all parameters considered in the integrated problem in
Table 3.
All assumptions in our studied integrated problem are summarized as follows.
- 1.
Only one rolling stock can enter a station at a time,
We based the first assumptions on the fact that many urban rail systems operate with the principle of first-in first-out across all stations as the platform receives one direction trip at a time.
- 2.
Only full-length services are taken into account i.e., each servicing trip travels from one terminal station all the way to the other terminal station,
In some specific urban transit systems where the passenger flow is unbalanced between sections of the railway line, the railway line is designed accordingly with the possibility of short turning operations at intermediate stations in addition to full-length services allowing the increase of trips at busiest sections of the railway line. However, this is not the case in the majority of urban transit railway lines, as full-length servicing trips travelling from two endpoints of the railway line are sufficient to transport all passengers accordingly.
- 3.
Overtaking operations are not considered i.e., each service trip stops at each station on its path,
In some busy urban railway lines, scheduling express service trips in the timetable allows the transportation of passengers more efficiently. This type of operation allows an express trip to overtake a normal trip stopping at a given station. However, this way of operating the railway line is implemented in the most crowded urban rail systems, but is not necessary for the majority of normal urban transit systems.
- 4.
There are no limits for parking rolling stock in the depot,
Real-time management of the railway line includes the operation of rolling stock within the depot. Usually, it is planned once the timetable and rolling stock allocation are fixed. However, management of rolling stock inside the yard falls outside the focus of this study therefore we do not take into account the limit of rolling stock to park within the depot.
- 5.
The formation and capacity of rolling stock are considered fixed forming a carrying capacity,
In urban rail transit lines, the composition includes rolling stock connected to locomotives. This composition can be changed depending on passenger flow requirements allowing the reduction of operating costs. However, for most systems the composition used during the whole day is fixed for the sake of simplicity, which results in a fixed carrying capacity for all rolling stock.
3.4. Solution Approach
The multi-objective function presented in Equation (51) is a mixed integer nonlinear type problem. It is difficult to study the complexity of the model; however, tackling the problem from the primal side allows one to find a feasible and optimal solution quickly. To take a primal-side approach is to resort to meta-heuristic algorithms such as Tabu search, SA or genetic algorithms.
We propose to solve the model by applying a simulated annealing-inspired algorithm. Introducing an influence and a parameter related to the difference between function values when moving from a current solution to the next one. The algorithm approach is based on two cycles, the outer cycle is based on the value changes of parameter , when the value of parameter is high; the algorithm has the tendency to allow the exploration of a higher number of solutions by considering non-optimal moves as the machine explores as many solutions as possible. However, when the value of is low; the algorithm tends to work as a hill climbing where the algorithm most likely moves to a solution that has a better function value. To decide whether the machine moves from the current solution to the next one, a probability function is introduced .
For the initialization of the algorithm, we set an initial influence value
, the inner cycle iteration index is
and the optimal solution
. To generate the first feasible solution, we mainly decide it based on a probability function for non-peak hours; the conditions set by Equations (1) and (2) must be verified each time in order to satisfy the minimum requirement for transportation service. In the following, we consider the total number of commuters to travel during the time period to decide about the selection of the next trip. In case both previous possibilities are covered and verified, we rely on random function to generate a real number, where it is compared with
; if the condition
is verified then the trip is provided as we set
otherwise
. At the end of each time period, we calculate the headway time
. Considering the important passenger demand during peak hours, we select all possible trips during a single time period as we set
for all trips and we set the headway time to be equal to its minimum requirement
. Algorithm 1 is designed as follows,
Algorithm 1. Randomized solution search. |
Initialization Set
Randomized search
corresponds to peak hours: Then set ; ; Otherwise check if Equations (1)/(2) are verified Then check if Then verify whether and set ; ; Otherwise set ; ; Otherwise check whether and set ; ; Otherwise set ; ; Otherwise set ; Calculate |
The search for the next solution search is based on the current one i.e., the initial state of provided trips for the new solution is copied from the current solution. At this point, a single change in the main variables
and
is considered a move to a neighbor solution. In this context, for a given solution two possible moves are allowed: adding a trip or reducing one. For this matter, we introduce a new move variable as binary one to decide which move to take
. This decision variable is influenced by a parameter ε relying on the condition
; if the condition is verified, we set
and we add a trip for service to a specific time period, otherwise we set
and we reduce a trip from service as shown in
Figure 5. A close value of
will have higher probability to reduce trips as the algorithm emphasis is on reducing enterprise operating costs. On the contrary, a close value to
will most likely schedule a higher number of trips in order to emphasize improving passengers’ comfort.
Once the moves nature is decided, the next assignment is to find the most suitable time period. Here we base this decision on the number of available empty seats in rolling stock during a single time period
. For instance, when
the priority is to reduce a trip from the least crowded rolling stock i.e., rolling stock with highest available empty seats. On the contrary, when
the priority is to provide more transportation capacity to most crowded time periods as shown in
Figure 6 which translates to the least available empty seats
. We finalize this process by calculating the headway time
. The Algorithm 2 for this neighbor solution search is designed as follows,
Algorithm 2. Neighbor solution search. |
Set ; ; Check if Then set; Find and set as the prioritized time period Find the last provided trip in the time period and set; Otherwise set; Find and set as the prioritized time period Find the first none provided trip in the time period and set ; Calculate |
At this point, all trips of a single time period are generated and the next steps will allow scheduling their departure and arrival times at each station. Firstly, we calculate the departure time of the trip
/
from a specific station based on headway time
which must verify Equations (3) and (4) if not the trip is not provided in the first place which sets
/
. Then, rolling stock carrying capacity
are calculated based on Equations (31)/(32) if
/
, otherwise the calculation is based on Equations (33)/(34). The time limit for passengers to board the rolling stock is a function of the carrying capacity, which is calculated based on Equations (29) and (30) at terminal stations
/
and based on Equations (27) and (28) at intermediate stations. The process progresses in a linear form with the calculation of passengers travelling in section
inside the rolling stock servicing trip
and
/
based on Equations (35) and (36). Similarly, the number of boarding passengers to rolling stock servicing trips
and
at station
are calculated based on Equations (39) and (40), and the number of alighting passengers from trips
and
at station
based on Equations (37) and (38). The numbers of commuters to travel with trips
and
from station
to
are calculated based on Equations (41) and (42) and the dwelling time of rolling stock at stations
/
based on Equations (7) and (8). With the new values of dwelling time at stations, we readjust the values of trips departure times from stations based on Equations (9) and (10) which is followed by arrival time of trips to stations
/
based on Equations (5) and (6). Finally, Equations (3) and (4) are verified again to make sure all variables satisfy the total operating time starting from
until
. The Algorithm 3 for passenger flow assignment is designed as follows,
Algorithm 3. Passenger flow assignment and timetabling. |
Calculate / based on Check if Equations (3) and (4) is verified: Keep value Otherwise set:;/; Calculate /: Based on Equations (31) and (32) if/ Based on Equations (33) and (34) otherwise Calculate : Based on Equations (29) and (30) if / Based on Equations (27) and (28) otherwise Calculate based on Equations (35) and (36) Calculate based on Equations (39) and (40) Calculate based on Equations (37) and (38) Calculate based on Equations (41) and (42) Calculate based on Equations (7) and (8) Recalculate based on Equations (9) and (10) using Calculate / based on Equations (5) and (6) Check if Equations (3) and (4) is verified: Keep value Otherwise set:;/; |
Our priority at this stage is to connect as many trips as possible at terminal stations by providing the same rolling stock to service two consecutive trips of different directions. At station , we initialize the variables, amd . As we consider that the downstream trip does not enter the depot after arriving at the station and the departing upstream trip does not come out for the depot i.e., the same rolling stock is used for both the trips. Then, we proceed to verify if Equation (24) to decide whether to maintain or recalculate the departure time of upstream trip from the current station. We proceed to verify if Equation (22) is satisfied; if it is not verified then the departing upstream trip cannot be connected to a downstream trip and a rolling stock coming out of the depot must provide it. Therefore, we set and. Next Equations (17) and (20) are checked; if both are satisfied, we maintain the connection of the two trips otherwise neither of the two trips can be connected thus we set, and.
At station, we firstly verify if Equation (21) is satisfied; if it is not, the connection is not possible and we set. If the Equation is satisfied, we set a possible connection between the arriving upstream trip and departing downstream trip. Next, we check if Equation (23) is verified; if it is, we maintain the departure time of downstream trip from the station , otherwise we recalculate its value to satisfy the requirement set by the Equation. Finally, Equations (18) and (19) must be verified to maintain the connection otherwise the two trips cannot be connected and thus we set .
At intermediate stations, we check if Equations (11)–(14) are verified by the variables related to arrival time of the rolling stock to the specific station
/
. If so, we maintain the values calculated previously; otherwise, the variables are recalculated based on the requirements of the Equations. Finally, the diving time
/
is calculated based on Equations (25) and (26). The Algorithm 4 for rolling stock allocation is written as follows,
Algorithm 4. Rolling stock allocation. |
If : Check if (22) is verified: Set:; ; ; Check if (24) is verified: Keep value Otherwise: calculate based on Equation (24) Otherwise, if (22) is not verified: ;; Check if (20), (17) are verified: Keep ; Otherwise set:; ; ; If : Check if Equation (21) is verified Set ; Check if Equation (23) is verified: Maintain value Otherwise calculate based on Equation (23) Otherwise set ; Check if (18), (19) are verified: Keep ; Otherwise set:; If : Check if Equations (11)–(14) are verified Keep values of / Otherwise recalculate / based on the Equations Calculate / based on Equations (25) and (26) |
At the end of each time period, we calculate all riding time in the rolling stock , waiting time at stations and travel fare cost for travelling passengers based on Equations (45)–(47). Following, we calculate numbers of passengers unable to board the rolling stock/ based on Equations (43) and (44). Finally, we calculate the objective function using Equations (48)–(51).
Once all time periods are calculated, the new objective function value is compared with the current one. In case the new solution offers a better function value, the move is automatically made. However, in case the new solution is not optimal, we use the probability function to decide whether we maintain the current solution state or move to the new solution. Based on the difference between the two solution objective values
and the current value of influence parameter
the probability function value is compared to a randomly generated number. If a function’s value satisfies the equation
, the new solution is set as new optimal otherwise the optimal solution remains unchanged. In such a situation, the choice made for the previous move is kept in memory using a new variable ‘bad move’ in order to avoid the same non-optimal move being chosen again. If the previous move aimed to decrease a trip i.e.,
, we set
. However, if the previous move aimed to increase a trip i.e.,
, we set
and the inner cycle moves one iteration
. At the end of the inner cycle
, the current degree of influence
is compared with its minimum value; if
is verified the outer cycle moves one iteration
otherwise Algorithm 5 is terminated. The ending algorithm is written as follows,
Algorithm 5. Calculation of the objective function and termination of inner and outer cycles. |
Calculating the objective function Calculate based on Equation (45) Calculate based on Equation (46) Calculate based on Equation (47) Calculate / based on Equations (43) and (44) Calculate based on Equations (48)–(51) Algorithm termination Determining optimal solution Check if : Then set Otherwise check if then set; Otherwise check if : Then set Otherwise set Termination of inner-cycle Check if : Then go to termination of outer-cycle Otherwise set and go to Algorithm 2 Termination of outer-cycle Check if : Then set go to Algorithm 2 Otherwise terminate algorithm and display |