Transportation Research Part B 42 (2008) 1008–1030
Contents lists available at ScienceDirect
Transportation Research Part B journal homepage: www.elsevier.com/locate/trb
Efficient scheduling of railway traffic based on global information of train Feng Li, Ziyou Gao *, Keping Li, Lixing Yang State Key Laboratory of Rail Traffic Control and Safety, Beijing Jiaotong University, Beijing 100044, People’s Republic of China
a r t i c l e
i n f o
Article history: Received 30 July 2007 Received in revised form 4 March 2008 Accepted 11 March 2008
Keywords: Scheduling Effective travel-advance strategy Train control
a b s t r a c t This paper presents an improved simulation method for solving the train scheduling problem to reduce the total travel time on the single-track railway. An algorithm based on the global information of the train is designed to obtain a more effective travel advance strategy of the train than the TAS method proposed by Dorfman and Medanic [Dorfman, M.J., Medanic, J., 2004. Scheduling trains on a railway network using a discrete-event model of railway traffic. Transportation Research Part B 38 (1), 81–98]. Based on the non-local information, we present a train control method with more loose restrains to avoid the deadlock. Moreover, operation conditions of trains under the local information are analyzed in detail, and the improved method can describe the behaviors of acceleration and deceleration of trains. The simulation results show that the total delay time of trains decreases remarkably. This fact means that the improved method can obtain a better schedule than the method proposed by Dorfman and Medanic (2004). Compared with the mathematical programming method, our method has a better computational performance, and can quickly obtain a good feasible meet–pass plan. The approach described in this paper is designed to be a decision support tool for train dispatchers to schedule the trains in real-time. Ó 2008 Elsevier Ltd. All rights reserved.
1. Introduction Recently, the train dispatching problem has drawn great attention since several railroads are now developing and implementing advanced train control systems that provide real-time information on train position and velocity. These systems help us to reduce energy consumption and increase railroad line capacity and service reliability with improved train dispatching. The aim of train dispatching models is to determine where the trains will meet and pass to minimize the train delay or deviation from the planned schedule while satisfying a set of operational constraints. Many optimization models for train dispatching have been proposed in the literature. Szpigel (1973) firstly modeled the train scheduling problem as a mixed-integer program and applied branch-and-bound to find the timetable that minimizes the total transit time, subject to overtaking and crossing headway constraints. Sauder and Westerman (1983) proposed a decision support system for the train dispatching that implicitly enumerates all feasible meet locations and selects one minimizing delay. Kraft (1987) presented a branchand-bound approach for resolving the train conflicts to minimize a weighted sum of delay. Jovanovic and Harker (1991) presented a nonlinear integer programming model that minimizes the deviation between the planned schedules and the actual schedules, and used a branch-and-bound procedure to generate a feasible meet–pass train plan. Carey (1994a,b) and Carey and Lockwood (1995) developed an iterative decomposition approach for solving the train timetable and path problem in a railway network with one-way and two-way tracks; moreover, several node branching, variable fixing and bounding strategies were presented to reduce the search space. A model for optimizing freight train schedules was proposed by Kraay * Corresponding author. Tel.: +86 10 51688193; fax: +86 10 51687127. E-mail address:
[email protected] (Z. Gao). 0191-2615/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.trb.2008.03.003
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
1009
and Harker (1995). The goal of their approach is to provide a link between the tactical train scheduling and the actual operations by generating the target time in the dispatching model. The model, which is a large nonlinear mixed-integer programming, directly considers the current position and relative importance of each train. Higgins et al., 1996) proposed a model and a solution method for the dispatching of the trains on a single-track line. Their model mainly addresses the operational problem of dispatching trains in real-time but can also serve at the strategic level to evaluate the impacts of the timetable or infrastructure changes on train arrival times and train delays. The formulation is a complex nonlinear mixed-integer program that incorporates the lower and upper limits on velocity for each train on each segment. The objective function is to minimize a combination of the total train tardiness and fuel consumption. Cordeau et al., 1998) presented a survey of relevant optimization models. We can see that these researches on train scheduling problem concentrate on finding the optimal solution, usually by integer programming or other nonlinear techniques. However, as pointed out by Dorfman and Medanic (2004), these methods have two drawbacks: (1) despite the tremendous speed of today’s supercomputers, an integer or mixed-integer program problem with a constraint for every train and siding in a railway network still takes unreasonably long time to solve; (2) if such a solution is implemented, whenever some trains are unable to keep the schedule, the entire problem must be rescheduled from the current state of the network. The underlying reason for these drawbacks is the obstructions in the train advances over networks with predominantly single-track lines, due to the fact that trains can meet and pass or meet and overtake only at stations and sidings. Medanic and Dorfman (2002) offered a new method to compute the dispatching problem that differs fundamentally from the nonlinear programming methods previously proposed, in which a local feedbackbased travel-advance strategy (TAS) is developed by using a discrete-event model of the train advances along the lines of the railway. This approach represents a more efficient way of approaching the scheduling problem than the nonlinear programming approach used in the literature, and can quickly handle the perturbations in the schedule. A capacity check is designed to avoid the deadlock. Dorfman and Medanic (2004) incorporated the priority rules into a discrete simulation framework to solve the large-scale real-world train scheduling problems. The main contributions of this paper are as follows: firstly, an algorithm based on the global information of the train is designed to overcome the deficiency of the TAS about the global information. According to the information of all conflicts on the remainder route of the train, more effective travel strategies of trains can be determined than that in the TAS method proposed by Dorfman and Medanic (2004) and Medanic and Dorfman (2002). Based on the non-local information, we propose a train control method to avoid the deadlock, which is a looser restraint than the capacity check algorithm. Moreover, an unrealistic assumption in the method of Dorfman and Medanic that train velocity is constant in each section is modified. In our method, the train velocity varies in railway section when different travel strategies are adopted. Operation conditions under the local information are analyzed in detail, and the mechanism of acceleration and deceleration of trains can be described. The method presented in this paper is primarily designed to optimally schedule the trains on single-track line. The organization of this paper is as follows. The discrete-event model proposed by Dorfman is reviewed and its deficiency is analyzed simply in Section 2. In Section 3, a simulation method for the train dispatching problem is introduced, in which an effective travel-advance strategy of the train based on the global information of the train is presented and a controllingdeadlock method based on the non-local information is designed to prevent the deadlock, and the train local travel-strategy incorporating the priority rules is discussed in detail. Our method is applied on a railway line and a railway network, and the simulation results are analyzed in Section 4. In Section 5, the conclusions are given.
2. The review of discrete-event model Dorfman and Medanic (2004) and Medanic and Dorfman (2002) proposed an approach for the scheduling problem, which is used to obtain the time-efficient and energy-efficient suboptimal schedules. The trains reach the stations asynchronously, which leads to a discrete-event system (DES). The core of this approach is the development of the train schedules based on the concept of a local greed travel-advance strategy (TAS). The TAS allows each train to be operated according to the current location of all trains, and is applicable no matter whether the trains happen to be on schedule or at some unpredicted state due to the diverse disruptions of the travel plans. When no train on a segment of railway line can advance without causing a conflict, this segment is said to be in a state of deadlock. If the local strategy leads to a deadlock, a capacity check algorithm is incorporated to prevent the deadlock with the additional non-local information. This approach can quickly handle the perturbations in the schedule and is shown to perform well on three time-performance criteria while maintaining the local nature of the strategy. However, the method has some implicit drawbacks. Firstly, the local Greedy TAS does not generate the mathematically optimal solution with respect to a known performance criterion, and only obtains a feasible train scheduling plan. For instance, in Fig. 1a (see Higgins et al., 1996), the way to resolve conflict c1 is to delay the inbound train according to the Greedy TAS, but delaying the outbound train (giving new path denoted dotted line) will allow conflicts c2 and c3 to cause less delay. Secondly, the capacity check algorithm prevents the development of the deadlock. In fact, the deadlocks should be divided into relative deadlocks and absolute deadlocks. The absolute deadlocks will lead to the paralysis of the whole railway system and must be prevented, while the relative deadlocks may be avoided through controlling the train speed. For example, a deadlock will occur in the TAS if two trains in the opposite directions reach the same node simultaneously (Fig. 1b). When trains i and k occupy firstly the two sidings in the station, which allow two trains to wait, a collision between trains j and l
1010
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
a
b Fig. 1. (a) Train diagrams to demonstrate best path (b) An example of relative deadlock.
will appear and a deadlock occurs. However, the deadlock can be avoided through controlling the train velocity. So, the capacity check algorithm is only a conservative travel-strategy to lead to the unnecessary delay of trains. In addition, it is assumed in their method that the velocities of all trains in all sections of the route are fixed, and the trains travel in the sections at the constant velocity. These assumptions do not coincide with the real railway traffic. Because the meeting and passing operations of the trains are intimately related to their operating speeds, the velocity parameters should be treated as decision variables. 3. An improved simulation method for scheduling problem In this section, we propose an improved simulation method for solving the train dispatching problem, which is an extension of the model considered in Dorfman and Medanic (2004). Here, a railway system with a single two-way line between the stations is considered as illustrated in Fig. 2. The railway line is used by trains travelling in both directions, and these trains meet and pass at the stations. More specially, the stations along the single-track line include ‘‘ intermediate” stations (i.e. sidings), junction stations and ‘‘terminal” stations. The sidings allow two trains to dwell in our model, and the terminal stations have multiple platforms, where trains can originate and terminate. At the junction stations, trains arriving from one direction may depart in two or more directions, or trains arriving from more directions depart in one or more directions. So, the junction stations are not the same as the intermediate stations and may allow more trains to dwell. The following assumptions are made in our method: (a) The route of every train is fixed. (b) The original departure times of trains are fixed and given as input data. The arrival times are free and depend on the train advance strategy. (c) The minimal headway of trains is defined as a constant. The notations of parameters and variables in our model are shown as follows. Symbols and parameters used in the improved method: i; j; k u m Nu Xu vi;l ðmÞ dmin
train index station index section index platform numbers in station u the position of station u the limited maximum speed of train i in section m the minimal headway distance between trains
Fig. 2. Two trains meet at station (siding) on a single-track rail line.
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
1011
Some variables of train vi the speed of train i at the current time the position of train i at the current time xi
3.1. Effective travel-advance strategy based on the global information of the train (ETAS) In order to overcome the deficiency of the TAS, we propose an effective travel-advance strategy (ETAS) to judge the travelstrategy of every train on the basis of the global information. According to the ETAS, each train will be decided whether it should be running at a current time or not. An algorithm for determining the effective travel-strategy of the train is proposed. In the description, the ‘‘focal” train is the train which is being currently considered by the ETAS, and the ‘‘outbound” train refers to the train whose direction is the same as the focal train, while the ‘‘inbound” train refers to the train in the opposite direction. The procedure of the ETAS is as follows: Notation U set of the trains determined at the current time, and it consists of two subsets: U 1 and U 2 U1 set of the trains allowed to keep on running at the current time; set of the trains forbidden to run or decelerate at the current time. If the train locates at the station, it would stop to U2 wait; if the train is in the section, it would decelerate to stop at its frontal station; V set of the trains undecided at the current time; a temporary set which includes the trains undecided at the current time; V0
Algorithm Step 1: (Initialization) Search all on-line trains. According to the positions and velocities of trains in the rail line, determine their travel strategies. If the train can be allowed to travel forward its frontal station, it will be added in set U 1 ; if the train must dwell on its frontal station or wait at the station, it will enter set U 2 . We will later describe this decideS strategy process in detail. If the travel strategy of train i cannot be decided, then fig V ! V. In addition, let set V 0 ¼ ;. Step 2: Determine the travel strategy of every train in set V. Step 2.1: For the focal train i in set V, search the earliest conflict which will occur between train i and the inbound trains in S sets U 1 ; V and V 0 . If the position of the earliest conflict does not locate in the next section of train i; fig U 1 ! U 1 then go to Step 2.3, otherwise go to Step 2.2. Stop Run Step 2.2: Calculate the delay of train i: T Run i;delaymin and T i;delaymin ; where T i;delaymin denotes that if the train i keeps on running, it leads to the minimal delay including the delay of train i and other trains conflicted with train i in the remaining route of train i. While T Stop i;delaymin indicates that if train i dwells at the station to avoid the first conflict, it brings Stop the minimal delay in its remained route. The methods calculating T Run i;delaymin and T i;delaymin are described in Appendix. S S 0 Stop 0 6 T ; fig U ! U , otherwise fig V ! V . Go to Step 2.3. If T Run 1 1 i;delaymin i;delaymin Step 2.3: If V ¼ ;, then go to Step 3. Otherwise return to Step 2.1. Stop 0 Step 3: If V 0 –;, then for all trains in set V 0 , select train j and let j ¼ arg maxi ðT Run i;delaymin T i;delaymin Þ, train j is moved from set V to set U 2 . All trains in set V 0 are moved to set V, and then set V 0 is empty again. Check whether set V is empty or not. If it is not empty, then go to Step 2.1. Otherwise the strategies of all on-line trains have been determined, and the algorithm is terminated. In Step 1, it is important to determine the initialization of sets U 1 and U 2 , because it is not necessary to calculate the minimal delay time for each train, and only the trains in set V must pass Step 2. Here, we analyze the initialization of sets U 1 and U 2 in Step 1 in detail. According to the position of the focal train i, two cases should be considered: the train is running in the section and the train located at the station. (1) The focal train i is running in the section: (a) Train i is not a leading train (see Fig. 3a), so train i will travel following with train j, and then S fig U 1 ! U 1 . (b) Train i is a leading train in the section, but is not near the station (see Fig. 3b). So, the train will travel with accelS eration or maintain the same velocity, and then fig U 1 ! U 1 . That is, if d > smin ðsmin ¼ v2i;l ðmÞ=ð2 amax ÞÞ, let S fig U 1 ! U 1 . Here, d is the distance between train i and its frontal station, smin is a minimal brake distance, and amax is the maximal acceleration of train i. (c) Train i is travelling in the vicinity of the station (d 6 smin ). In its next section, if there is an inbound train, train i S will decelerate to run forward the next station, then fig U 2 ! U 2 (see Fig. 3c). (d) Train i is travelling in the vicinity of the station (d 6 smin ). If there is an outbound train after train i, whose priS ority is higher than train i, train i will decelerate too, i.e., fig U 2 ! U 2 (see Fig. 3d). The priority of train i and train j will be determined by the following method.
1012
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
a
b
c
d
e
f
g
h
Fig. 3. Several cases determining set U 1 and U 2 .
Calculate t i and t j according to expressions (1a) and (1b), here t i ðt j Þ is the time that train i (train j) spends when train i (train j) arrives at the station u þ 1: t i ¼ di =vi;l ðmÞ þ Lmþ1 =vi;l ðm þ 1Þ
ð1aÞ
t j ¼ dj =vj;l ðmÞ þ Lmþ1 =vj;l ðm þ 1Þ
ð1bÞ
Here, di ðdj Þ is the distance between train i (train j) and station u. If t i > t j , train j will have a higher priority than the focal train i, so the focal train i will decelerate to stop at station u so that train j overtakes. If ti ¼ t j , the priority of trains will be determined by the departure times of trains, i.e. the train with the earlier departure time can occupy section m with priority. (2) The focal train i locates at station u: S (a) In the next section of train i, there is an inbound train, train i will dwell at the station, then fig U 2 ! U 2 (see Fig. 3e). S (b) In the rear section of train i, there is an outbound train, whose priority is higher than train i, then fig U 2 ! U 2 (see Fig. 3f); the priority of train i and train j may still be judged by expression (1), only let di ¼ 0 in this case. (c) An outbound train j locates at station u, too. Similarly, according to expression (1), the travel strategy of train i will be judged, only let di ¼ 0 and dj ¼ 0. When the focal train i does not satisfy the above conditions, the travel strategy of train i cannot be determined, so S fig V ! V. For instance, as shown in Fig. 3h, the travel strategy of the focal train i cannot be decided, and needs to be deterStop mined by the ETAS.In Appendix, two algorithms A1 and A2 calculating T Run i;delaymin and T i;delaymin are described, respectively. It Stop should be pointed out that, according to algorithm A1, the accurate minimal values of T Run i;delaymin and T i;delaymin can be obtained. But time complexity of algorithm A1 is not polynomial. Heuristic algorithm A2 can obtain the approximate values of Stop T Run i;delaymin and T i;delaymin , and its time complexity is polynomial.
3.2. Determine the train travel strategy and train speed 3.2.1. Control strategy for avoiding the train deadlock The deadlock phenomenon must be prevented in order to avoid the paralysis of the whole railway system. Based on the global information of trains, Dorfman and Medanic (2004) proposed a capacity check algorithm to prevent the development of the deadlock. However, some deadlocks are not absolute under some conditions (see Section 2), and may be avoided through adjusting the operation conditions of trains based on the non-local information of trains. So the capacity check algorithm is only a conservative travel-advance strategy. Here, a method incorporating the train priority is presented to avoid the deadlock. In the description, the definitions of the ‘‘outbound” and ‘‘inbound” train are the same as those in Section 3.1. Notations set of the outbound trains (include the focal train i). If the focal train i locates in the section, N1 includes the outbound N1 trains in the same section; if the focal train i is at the station, N1 includes the outbound trains in the frontal sections of train i 2 U 1 n1 the number of the trains in set N 1 N2 set of the inbound trains. If the focal train i is in the section, N2 includes the inbound trains in the frontal section of the focal train; if the focal train i is at the station, N2 includes the inbound trains in sections in front of the focal train i the number of the trains in set N 2 n2 nremain the number of empty tracks in the station. If the focal train i locates in the section, nremain is the number of empty tracks in the next station in front of the focal train i; if the focal train i locates at the station, nremain is the number of empty tracks of the stations in the remainder route of train i
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
1013
The procedure is listed as follows: (1) The focal train i locates at the station: when n1 P nremain and n2 P nremain , if the focal train i continues to run forward to its next section, an absolute deadlock will occur. So, the focal train i will be forbidden to run and stop at the current station. (2) The focal train i locates in the section and is a leading train in this section: (i) when n1 > nremain and n2 6 nremain , the trains in N 2 have the priority to occupy the frontal station. So, adjust the leading train speed in N 1 to ensure that all trains in N 2 can primarily arrive at the frontal station; (ii) when n1 6 nremain and n2 > nremain , the trains in N 1 have the priority and the velocity of trains in N 2 will be adjusted; (iii) when n1 ¼ nremain and n2 ¼ nremain , calculate time t 1 (t 2 ) that the leading train in N 1 (N 2 ) arrives at its frontal station. If t1 < t 2 , the trains in N 1 will be prior to occupying their frontal stations; if t 1 > t2 , the trains in N 2 have the priority; if t1 ¼ t2 , the priority of the trains in N 1 and N 2 will be decided according to the departure time of the leading train in N 1 and N 2 . To avoid the relative deadlock, we present a method controlling the train speed. Assume that the trains in N 2 have the priority to occupy their frontal stations, and the focal train i is the leading train in N 1 . So, the running speed of the focal train needs to be controlled. According to expression (2a), we firstly estimate the pessimism time tlast that the last train (assumption train j) in N 2 arrives at its frontal station. Then, adjust the speed and acceleration of the focal train i: tlast ¼ 2 dj =vj
ð2aÞ
ai ¼ ðdi vi tlast Þ=ð0:5 t 2last Þ
ð2bÞ
Here, dj ðdi Þ denotes the distance between train j (train i) and its frontal station. Pessimism time tlast denotes the longest time that train j arrives at its frontal station. In fact, the time spent for train j to arrive the frontal station in the actual travel will be less than t last . However, tlast can guarantee that all trains in N 2 firstly arrive the stations before train i passes the station. Here, it should be pointed out that there may be a special case where some trains cannot run at the stations due to the strategy in Section 3.1, and other trains cannot travel because of the control strategy in Section 3.2.1. Though the possibility of the special case is small, it will lead to the paralysis of system. So, in the special case, the travel strategy of trains will be only decided by the control method in Section 3.2.1. 3.2.2. Train operation conditions based on the local information According to Section 3.1, the travel strategy of all trains can be determined. If train i 2 U 1 , train i may accelerate, or decelerate, or travel with a constant velocity. When train i 2 U 2 , it may decelerate in front of the station or dwell at the station. But operation conditions of all trains are still undetermined, such as the acceleration of the train. In order to avoid the deadlock phenomenon, the acceleration of some trains can be decided according to the deadlock control method in Section 3.2.1. However, the operation conditions of most of the trains still have not been determined. So, it is necessary to determine the travel conditions of these undecided trains in sets U 1 and U 2 based on the local information of these trains. For the convenience of the description, the focal train is treated as an outbound train. Here, two cases need to be taken into account: the focal train locates in the section and the focal train locates at the station. (a) Case 1: the train locates in the section As can be seen from Fig. 3a, the focal train i is running in the section m, where it is not a leading train. Train i will adopt the tracking strategy to travel. So, the operation condition of the focal train i will be determined according to the following expression: 8 if di > ðs0min þ dmin Þ and vi < vi;l ðmÞ > < ai ¼ amax if di > ðs0min þ dmin Þ and vi ¼ vi;l ðmÞ ai ¼ 0 ð3Þ > : a ¼ ðv2 v2 Þ=2 ðd d Þ if d 0 i i min min 6 di 6 smin þ dmin j i In the above formulas, train j is the nearest train in front of the focal train i; vj is the velocity of train j at the current time, ai is the instantaneous acceleration of train i, di is the distance between train i and train j; dmin is the minimal safety distance, s0min is the brake distance of train i, and s0min ¼ ðv2i;l ðmÞ v2j Þ=ð2 amax Þ. When the focal train i is a leading train in the section m, there may be three conditions to be considered (see Fig. 3b–d). According to Section 3.1, train i may be either in set U 1 or in set U 2 . If train i 2 U 1 , it will be at the state of acceleration or constant velocity. So, its acceleration may be decided by expression (4a). While train i 2 U 2 , it will decelerate to dwell at its frontal station. So, the operation condition of train i can be determined by the following expression:
ai ¼ amax
if
i 2 U1
and
vi < vi;l ðmÞ
ai ¼ 0
if
i 2 U1
and
vi ¼ vi;l ðmÞ
ai ¼ v2i =ð2 di Þ
if i 2 U 2
ð4aÞ ð4bÞ
1014
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
(b) Case 2: the train locates at the node (siding) Similar to Case 1, trains in Case 2 have two situations, too. The focal train i may be either in set U 1 or in set U 2 . If train i 2 U 2 , it is forbidden to travel forward its next section, and dwell at the current station. So, its acceleration and velocity may be decided by expression (5). When i 2 U 1 , it may keep on traveling and enter its next section. Its acceleration may be determined according to the information of its frontal train. When there is another outbound train, its acceleration may be determined by expression (6). If not, expression (4b) may determine the acceleration of the train: ai ¼ 0; vi ¼ 0 8 ai > > > < ai > ai > > : ai
if i 2 U 2
ð5Þ
¼ amax
if
di > ðs0min þ dmin Þ
and
vi < vi;l ðmÞ
¼0 ¼ ðv2j v2i Þ=2 ðdi dmin Þ
if if
di > ðs0min þ dmin Þ and dmin 6 di 6 s0min þ dmin
vi ¼ vi;l ðmÞ
¼0
if
di 6 ðdmin Þ
ð6Þ
3.3. Determining simulation time step and update of train velocity and position Simulation time step will be determined according to discrete-event time interval T discrete and constant time step T constant . Here, the conception of T discrete is similar to that in Dorfman and Medanic (2004), which is the minimal time interval that the leading trains in each section arrive their next stations. However, the calculation of T discrete in our model is more complicated than that of Dorfman and Medanic, because the behaviors of acceleration and deceleration are considered. Firstly, observe the positions of the leading trains in all sections, and according to expression (7), calculate the time T i required to cross the entire section to the next station: 8 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi > > if ai > 0 and si > di T i ¼ ð v2i þ 2 ai di vi Þ=ai > > > > < T ¼ ðv ðmÞ v Þ=a þ ðd s Þ=v ðmÞ if a > 0 and s 6 d i i i i i i i i i;l i;l ð7Þ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi > 2 > v T ¼ ð v þ 2 a d Þ=a if a < 0 > i i i i i i > i > > : T i ¼ di =vi if ai ¼ 0 Here, di denotes the distance between train i and its frontal station, and si indicates the distance that the train runs with the current acceleration ai ðai > 0Þ up to the maximal allowance velocity vi;l ðmÞ, and si ¼ ðv2i;l v2i Þ=2ai . After all T i are obtained, we select a minimal time interval as T discrete , T discrete ¼ minðT i Þ;
i ¼ 1; 2; . . . ; N:
ð8Þ
T discrete can ensure that every train must be checked by the algorithm in Section 3.1. However, if T discrete is treated as the updated time step, it may lead to the superfluous waiting time of the train at the station. Moreover, when T discrete is large, the microoperation conditions of trains cannot be satisfisfactorily described. To overcome these disadvantages, a constant update time T constant is introduced. When T constant is small, it may compensate the disadvantages caused by T discrete . So, in the simulation, the updated time step will be determined by expression (9), T ¼ minðT discrete ; T constant Þ
ð9Þ
Finally, when the operation conditions of all on-line trains are determined, the system will be updated according to the information of trains, such as ai ; vi and T. It should be pointed out that, when ai > 0, the maximum allowance velocity of the train in the section must be considered. So the updated equation of the system may be written in the following form: 8 ðiÞ if ai > 0 and T 6 ðvi;l ðmÞ vi ðtÞÞ=ai ðtÞ > > > > > > xi ðt þ TÞ ¼ xi ðtÞ þ vi ðtÞ T þ 0:5 ai ðtÞ T 2 > > > > > > > vi ðt þ TÞ ¼ vi ðtÞ þ ai T > > > > < ðiiÞ if ai > 0 and T > ðvi;l ðmÞ vi ðtÞÞ=ai ðtÞ ð10Þ xi ðt þ TÞ ¼ xi ðtÞ þ ðv2i;l ðmÞ v2i ðtÞÞ=2ai ðtÞ þ vi;l ðmÞ ðT ðvi;l ðmÞ vi ðtÞÞ=ai ðtÞÞ > > > > ðt þ TÞ ¼ v ðmÞ v i i;l > > > > > ðiiiÞ if ai 6 0 > > > > > xi ðt þ TÞ ¼ xi ðtÞ þ vi ðtÞ T þ 0:5 ai ðtÞ T 2 > > > : vi ðt þ TÞ ¼ vi ðtÞ þ ai ðtÞ T
4. Simulation examples In this section, the improved method (hereafter it is referred as ETAS) described in Section 3 is applied to a single railway line and a railway network, respectively. For the convenience of comparison, the simulation results of the method proposed
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
1015
by Dorfman and Medanic (hereafter it is referred as TAS) are also given. In our numerical simulations, we adopt the single railway line and railway network which are similar to Dorfman and Medanic (2004), Medanic and Dorfman (2002). The TAS and the ETAS are programmed in the ‘C’ language on the Windows XP operating system, and all the experiments are conducted on a PC with a Pentium IV 3.0 GHz processor and 512 M RAM. 4.1. Simulation on single railway line A line with 16 single-track sections is defined with a total length of 275 km (see Fig. 4). The section lengths vary between 5 and 30 km, roughly corresponding to the average distance between the sidings in a dense real-world railway. The nodes A and B are terminal stations where train can originate and terminate, and the other nodes are ‘‘intermediate” stations (see
Fig. 4. A simple railway line example.
a
b
Fig. 5. Schedule for the case of homogeneous trains in two models: (a) TAS and (b) ETAS(amax ! 1).
1016
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
Fig. 2). In this simple case, 36 trains traverse the railway line in approximately 24 h. There is an outbound train (inbound train) to depart from station A (station B) per hour. Usually, the velocities of trains in different sections may change due to the grade variations and other factors. However, for simplicity, all unobstructed trains may travel at their maximum speed in every section, and the minimal headway is set to be 0.5 km for all trains. In the following numerical experiments, two cases are taken into account: homogeneous trains and heterogeneous trains.
a
b
Fig. 6. The diagrams of train 9 and other trains interfered with train 9: (a) TAS and (b) ETAS(amax ! 1).
Table 1 Performance criteria for the case of homogeneous trains on the railway line The TAS
The ETAS amax ¼ 1 m=s2
amax ! 1
J1 g J2 J3
77,100 s(21.417 h) 0.972 71,301 s(19.806 h) 3751 s(1.0420 h)
Algorithm A1
Algorithm A2
Algorithm A1
Algorithm A2
77,749 s(21.597 h) 0.964 65,449 s(18.181 h) 4650 s(1.2917 h)
77749 s(21.597 h) 0.964 65,449 s(18.181 h) 4650 s(1.2917 h)
76,968 s(21.38 h) 0.973 69,671 s(19.353 h) 4171 s(1.159 h)
77,348 s(21.486 h) 0.969 69,725 s(19.368 h) 4263 s(1.184 h)
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
1017
Fig. 7. The value of J2 at different service interval for the case of homogeneous trains.
4.1.1. The case of homogeneous trains Firstly, we consider the case of homogeneous trains. The maximum velocity of the train is set to be vmax ¼ 20 m=s ¼ 72 km=h. To understand the complexity of the scheduling problem, we present the train scheduling diagrams of the TAS and the ETAS in Fig. 5, with time (in min) displayed on the horizontal axis, and distance (in km) displayed on the vertical axis. The dark and red diagonal lines represent the positions of outbound trains and inbound trains in the train diagrams, and the dot lines indicate the position of sidings or stations. Our focus is on the total travel time in two methods. In the TAS, the total travel time of trains is 9438.341 min. We note that the train travels with a constant velocity in the section in the TAS, and for the convenience of comparing with the TAS and embodying the advantage of the ETAS, we present the case of amax ! 1 in the ETAS, i.e., ignoring the influence of acceleration and deceleration of the train. Simulation results show that, when amax ! 1, the total travel time of the trains is 9340.828 min, which reduces 97.513 min than that of the TAS. Compared with the TAS, the trajectories of some trains in the ETAS appear as an obvious improvement. For instance, the travel strategy of train 9 is completely different at position u in two methods (see Fig. 6a and b). Train 9 spends 273.333 min in completing the whole railway line in the TAS, while 306.667 min in the ETAS. After the ETAS is adopted, the travel time of train 9 increases 33.334 min. As shown in Fig. 6, there are nine trains conflicted with train 9, and their total travel time is 2356.669 min in the TAS. However, the total travel time of these trains is 2318.002 min in the ETAS. It means that the ETAS can effectively improve the efficiency of the whole system despite increasing the travel times of some trains. From Fig. 6, we can observe that train 9 adopts different travel strategy at position u in two methods. In the TAS, train 9 can keep on running forward its next section according to the prior rule, and the delay caused by train 9 is 56 min in its remaining journey (see Fig. 6a). However, in the ETAS, the train 9 has to stop at position u because of the ETAS strategy, and the delay time caused by train 9 is 39 min in its remaining route (see Fig. 6b). So, the ETAS considers the optimization of the local system rather than that of single train. It should be pointed out that, in the above simulation results, the calculations Stop of T Run i;delaymin and T i;delaymin in Section 3.1 adopt algorithm A1 given in Appendix. Dorfman and Medanic (2004) proposed three criteria to measure the performance of the TAS. These performance criteria were (a) the time to clear the line, (b) the delay of all trains, and (c) the maximal delay. The time to clear the line is given as J 1 ¼ t N a t 1d
ð11Þ
where t 1d is the departure time of the earliest train in the schedule, and t Na is the arrival time of the latest train in the schedule. The total delay of all trains criterion is defined by J2 ¼
N X f ðT ob ia T ia Þ
ð12Þ
i¼1 f where T ob ia is the arrival time of train i as obtained by the TAS, while T ia is the arrival time of train i with unobstructed travel. The maximal delay criterion is f J 3 ¼ maxðT ob ia T ia Þ i
ð13Þ
1018
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
a
b
Fig. 8. The value of J 2 when considering the behaviors of acceleration and deceleration of trains for the case of homogeneous trains: (a) algorithm A1 and (b) algorithm A2 .
In addition, the ratio g, which is a measure of the time-efficiency of the schedule obtained by the TAS, is defined by g¼
t fNa t f1d tob Na
tob 1d
¼
tfNa tf1d f tob N a t 1d
ð14Þ
According to these performance criteria, the results of J 1 , J 2 , J 3 and g for the simulation in two methods are presented in Table 1. As shown in Table 1, when amax ! 1; g still maintains a high value despite the small decrease in the ETAS, and J 3 increases approximately 0.25 h. However, J 2 reduces about 1.7 h compared with the TAS. Obviously, though the maximal delay increases, the efficiency of the whole system is improved. The results of the ETAS adopting the algorithm A2 are also given in Table 1, which are the same as the results adopting the algorithm A1 . In the following, we consider the influence of acceleration and deceleration of the train on the total delay time of trains. In Table 1, we present the performance criteria of the ETAS when amax ¼ 1 m=s2 . Simulation result shows that, when amax ¼ 1 m=s2 , the total delay time is 1161.184 min in the ETAS. The total delay time of all trains increases 70.367 min after considering the acceleration and deceleration of trains. The average travel time of each train increases 1.955 min. It means that the deceleration and acceleration behaviors of the trains have the important influence on the travel of the train. In Fig. 7, the values of J 2 are depicted at different service intervals T int in two methods. When T int is small, J 2 in the ETAS is smaller than that in the TAS. It means that the travel of the trains is improved largely in the ETAS at the high train density.
1019
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
Fig. 9. The CPU time of two algorithms in the ETAS.
Fig. 10. The CPU time of two algorithms at different T constant when T int ¼ 40 min. Table 2 Computation performance of branch-and-bound method and the ETAS No. of trains
4 6 8 10 12 14 16
Branch-and-bound method
The ETAS
Global optimal solution z (s)
CPU time (s)
Solution z of algorithm A1 (s)
CPU time (s)
Solution z of algorithm A2 (s)
CPU time (s)
e (s)
2100 3650 7400 10,050 13,700 17,100 21,050
1.0 23.0 94.0 112.0 750.0 7294.0 13,6421.0
2100 3650 7400 10,750 14,700 18,150 22,450
0.25 0.453 0.703 1.000 1.312 1.625 2.063
2100 3650 7400 10,750 14,700 18,150 22,450
0.234 0.413 0.687 0.922 1.204 1.516 1.891
0.000 0.000 0.000 0.065 0.068 0.058 0.062
Dorfman and Medanic (2004) pointed out that, the capacity check was usually superfluous when the train density was not high. However, when the train density is large, the capacity check algorithm based on the global information in the TAS restrains the travel of the train, and leads to the large delay of the train. While in the ETAS, the controlling deadlock method with more loose restraints to the trains, can not only efficiently restrain the development of the absolute deadlock to avoid
1020
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
the paralysis of the system, but also bring smaller influence on the delay of the trains than the capacity check algorithm. In addition, with the decrease of T int , the total delay time of all trains increases gradually, though some small fluctuations occur. When T int decreases, the conflicts between the trains increase gradually. So, the total delay time of the trains becomes larger. It should be pointed out that the fluctuation is a normal phenomena (e.g. T int ¼ 64 min and T int ¼ 66 min). The small difference of the service time interval may result in the change of the conflict position, but the number of the conflict may not change. The change of the conflict position influences the delay of the trains. It may cause that the total delay time of all trains decreases when the train density increases slightly. In Fig. 8a and b, the results considering the behaviors of acceleration and deceleration of trains are given. It is obvious that the total delay of trains increases after considering the behaviors of acceleration and deceleration. In Fig. 7, the results adopting two algorithms in the ETAS are shown. It is clear that the results of algorithm A2 are slightly larger than that of algorithm A1. However, time complexity of algorithm A1 is not polynomial, and its computational time will increase drastically with the increase of the conflict amounts. Time complexity of Algorithm A2 is polynomial, and it can save computational time largely. In the algorithm A2, iterative steps to calculate Stop T Run i;delaymin and T i;delaymin are less than or equal to the conflicts counts. In Fig. 9, the CPU time with two algorithms is presented, respectively. When considering the acceleration and deceleration of trains, the CPU time increases, too (see Fig. 9). In our method, the simulation time step T is determined by T discrete and constant time step T constant . Here, we investigate the CPU time at different T constant . From Fig. 10, with the increase of T constant , the CPU time decreases gradually in the ETAS. In the TAS, it only spends 0.075 s to obtain a feasible solution. When adopting T discrete as the simulation time step T in the ETAS,
a
b
Fig. 11. Schedule for the case of heterogeneous trains in two models: (a) TAS and (b) ETAS(amax ! 1).
1021
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
a
b
Fig. 12. The diagrams of train 8 and other trains conflicted with train 8: (a) TAS and (b) ETAS(amax ! 1).
Table 3 Performance criteria for the case of heterogeneous trains on the railway line The TAS
The ETAS amax ¼ 1 m=s2
amax ! 1
J1 g J2 J3
73,001 s(20.278 h) 0.977 61,452 s(17.070 h) 4667 s(1.2963 h)
Algorithm A1
Algorithm A2
Algorithm A1
Algorithm A2
72,784 s(21.597 h) 0.981 48,576 s(13.494 h) 3151 s(0.875 h)
73,448 s(20.411 h) 0.971 49,180 s(13.661 h) 3367 s(0.936 h)
74,681 s(21.38 h) 0.955 58,504 s(16.251 h) 3719 s(1.033 h)
74,823 s(20.784 h) 0.954 58,518 s(16.255 h) 4417 s(1.227 h)
the CPU time of algorithm A1 is 0.641 s and it is 0.141 s while algorithm A2 is adopted. However, when adopting large value of T constant , though saving computation time, the microscopic travel states of the trains cannot be well described. Finally, we discuss the differences between our method and traditional mathematic programming method. Many models for train scheduling problems (Szpigel, 1973; Jovanovic and Harker, 1991; Carey, 1994a,b; Higgins et al., 1996, 1997) are mixed-integer programs that incorporate several headway constraints, bounds on departure and arrival times. Here, Higgins’s
1022
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
model (Higgins et al., 1996, 1997) is adopted. Higgins’s model is a complex nonlinear mixed-integer program that incorporates lower and upper limits on velocity for each train on each segment. The objective function is to minimize a combination of total train tardiness and fuel consumption. For the convenience of comparing with the results of our method, we only consider that the train’s velocity on each segment maintains a constant, and the objective function is only to minimize the total train delay. In Table 2, we adopt the branch-and-bound method to solve Higgins’s model by the Lingo V10.0 Optimization Software. The results under different train amounts are presented in Table 2. As shown in Table 2, though the global optimal solution can be obtained by the branch-and-bound method, the CPU time increases drastically with the increase of train amount. It is unrealistic to solve the large-scale problems. In order to save computational time, many researchers relaxed the constraints of the model, adopted some effective branch-and-bound strategies, or designed some heuristic algorithms to obtain a good feasible solution (Higgins et al., 1997; Lindner, 2000; Zhou and Zhong, 2007). In Table 2, the results of the ETAS are also presented. In the ETAS, the computational time is estimated to increase linearly with the increase of train amount. Moreover, CPU time in the ETAS is far smaller than that adopting the branch-and-bound method. In addition, we report the relative error eðe ¼ ðz z Þ=zÞ for different train numbers. Though the global optimal solution cannot be obtained by the ETAS, small value of e and small computational time mean that a good feasible solution can obtain quickly in the ETAS. So, the new method can be used to solve the large-scale problem, and adapt to on-line simulation. 4.1.2. The case of heterogeneous trains We investigate the case of heterogeneous trains travelling on the railway line. Because the maximum speeds of trains are different, it is possible that the overtaking operations can occur for two adjacent trains. Moreover, heterogeneous trains will bring more influence on meeting and passing strategy of the trains. In simulations, two types of trains are considered, i.e. fast train and slow train. Each train class has a different maximum achievable velocity: vsmax ¼ 20m=s ¼ 72km=h; vfmax ¼ 30 m=s ¼ 108 km=h. Here, it is assumed that all sidings are sufficiently long to accommodate any train size. Fast train and slow train depart per hour. Due to the existence of overtaking event, the operation conditions of trains in the case of heterogeneous trains would be more complex than that in the case of homogeneous trains. For the convenience of comparing with the TAS, we still discuss the situation of amax ! 1. In Fig. 11, the scheduling diagrams in the case of heterogeneous trains in the TAS and the ETAS are given, respectively. The total travel time of trains is 7942.506 min in the TAS, while in the ETAS it is 7486.826 min. After the travel strategies of trains are improved, the total travel time reduces to 455.68 min. It is clear that the results in the case of heterogeneous trains are improved more obviously. We focus on the change of travel trajectory of some trains in two methods. As shown in Fig. 12, train 8 adopts waiting strategy at position u in the TAS, while it succeeds to run forward its next section in the ETAS. In the TAS, most of the trains can pass the capacity check in the case of homogeneous trains running on the railway line. But when heterogeneous trains exist, the distance between fast train and slow train will be gradually reduced, so the probability that the trains fail the capacity check becomes larger than that in the case of homogeneous trains. Therefore, the capacity check algorithm will restrain the travel of trains in the case of heterogeneous trains to avoid the development of the deadlock, which may not be an ‘‘absolute deadlock”. In Fig. 12, we show the travel diagrams of train 8 and other trains conflicted with train 8 in two methods. In the TAS, train 8 fails the capacity check at station u because train 1 and train 3 are in section l, so train 8 has to wait at station u in order to let train 3 pass. However, in the ETAS, train 8 at station u can keep on running forward to its next section. In addition, we calculate the delay time caused by confliction with train 8 which is
Fig. 13. The value of J2 at different service interval for the case of heterogeneous trains.
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
1023
a
b
Fig. 14. The value of J2 when considering the behaviors of acceleration and deceleration of trains for the case of heterogeneous trains: (a) algorithm A1 and (b) algorithm A2 .
Fig. 15. A simple example of railway network.
1024
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
Table 4 Input parameters of trains on railway network Train ID
Path
Node numbers
Distance (km)
1, 13, 25 2, 14, 26 3, 15, 27 4, 16, 28 5, 17, 29 6, 18, 30 7, 19, 31 8, 20, 32 9, 21, 33 10, 22, 34 11, 23, 35 12, 24, 36
A!K !M!C B!L!N!D C!M!K!A D!N!L!B A!K !M!N!D B!L!K!M!C C!M!K!L!B D!N!M!K!A A!K !L!N!D B!L!N!M!C C!M!N!L!B D!N!L!K!A
14 14 14 14 17 18 18 17 18 17 17 18
220 220 220 220 275 295 295 275 285 300 300 285
a
b
Fig. 16. Schedule for the case of homogeneous trains on railway network: (a) TAS and (b) ETAS(amax ! 1).
94.998 min in the TAS (include the delay time of train 8), while it is 54.611 min in the ETAS. Obviously, the travel strategy in the ETAS has a remarkable improvement to the travel of trains.
1025
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
In the following, the performance criteria will be discussed. The simulation results are shown in Table 3. The efficiency ratio g is improved. It means that the railway line indeed works more efficiently. The total delay and the maximum delay of single train in the ETAS are decreased largely as compared with that in the TAS. It is obvious that the trains in the ETAS can obtain better travel strategies in the case of heterogeneous trains. When amax ¼ 1 m=s2 , the total delay of trains increases 165.467 min. Similarly, we investigate the influence of service interval on J 2 in the case of heterogeneous trains. As shown in Fig. 13, the numerical result is similar to that in Fig. 7, but improved effect in the case of heterogeneous trains is more remarkable than that in the case of homogeneous trains. It is obvious that the algorithm in Section 3.1 is more effective in the case of heterogeneous trains. In Fig. 14, the results considering the limit acceleration are presented, which are similar to that in Fig. 8. 4.2. Simulation in railway network In this section, we apply the ETAS to a simple railway network. The network used in this paper has 33 stations and 33 sections. The terminal stations are labeled by A, B, C, and D. There are four junction stations, and labeled by K, L, M, and N (see Fig. 15). In our simulations, 36 trains traverse the network. Input parameters are given in Table 4: there will be three waves of 12 trains, and each wave will have the same collection of routes (e.g. trains 1, 13, and 25 have the same route, etc. see Table 4). In each wave, each terminal station will be the starting station for three of the twelve trains. The three waves will go at a 3-h interval. Firstly, we consider the case of homogeneous trains travelling on the railway network. The train scheduling diagrams of two methods on the railway network are given in Fig. 16. Here, the route from A to D is chosen as one of the more illustrative routes on the network, since there are trains that enter and leave at both ends, and at the three intermediate junction stations. Note that the trains enter the schedule at starting stations (A and D) and at junction stations (K, M, and N). They may also leave schedule at these stations. In the TAS, the total travel time of all trains reaches 9201.374 min, while it is 8802.081 min in the ETAS. The travel time reduces to 399.293 min. The resulting performance criteria of two methods are given in Table 5.
Table 5 Performance criteria for the case of homogeneous trains on the railway network The TAS
The ETAS amax ¼ 1 m=s2
amax ! 1
J1 g J2 J3
47,851 s(13.2919 h) 0.916 73,583 s(20.4397 h) 4150 s(1.1527 h)
Algorithm A1
Algorithm A2
Algorithm A1
Algorithm A2
46,025 s(12.785 h) 0.939 49,625 s(13.785 h) 3500 s(0.9722 h)
45,951 s(12.765 h) 0.941 50,606 s(14.057 h) 3300 s(0.9167 h)
46,120 s(12.811 h) 0.937 52,004 s(14.446 h) 3579 s(0.994 h)
46,392 s(12.887 h) 0.931 56,059 s(15.572 h) 4686 s(1.302 h)
Fig. 17. The value of J 2 at different service interval for the case of homogeneous trains on the railway network.
1026
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
As shown in Table 5, the increase of the value of g shows that the network program in the ETAS works more efficiently than that in the TAS. The total delay of trains reduces approximately 6.655 h in the ETAS. In Fig. 17, we present the value of J 2 at different service interval T int in the case of homogeneous trains. Here, we give the results of amax ! 1, and the results considering the acceleration and deceleration are the same as that in the railway line. With the decrease of T int , the total delay of
a
b
Fig. 18. Schedule for the case of heterogeneous trains on railway network: (a) TAS and (b) ETAS(amax ! 1).
Table 6 Performance criteria for the case of heterogeneous trains on the railway network The TAS
The ETAS amax ¼ 1 m=s2
amax ! 1
J1 g J2 J3
46,800 s(13.0 h) 0.936 73,971 s(20.547 h) 4217 s(1.172 h)
Algorithm A1
Algorithm A2
Algorithm A1
Algorithm A2
46,034 s(12.787 h) 0.952 44,902 s(12.473 h) 3718 s(1.033 h)
45,852 s(12.737 h) 0.955 45,295 s(12.580 h) 4108 s(1.141 h)
45,903 s(12.751 h) 0.954 46,942 s(13.040 h) 4057 s(1.127 h)
46,320 s(12.867 h) 0.946 48,225 s(13.396 h) 4259 s(1.183 h)
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
1027
Fig. 19. The value of J2 at different service interval for the case of heterogeneous trains on the railway network.
trains gradually increases. When the train density is large, the improved effect of the ETAS is more remarkable as compared with the TAS. Secondly, we consider the case that the different types of trains run on the railway network. Here, two types of trains are adopted, vsmax ¼ 20 m=s ¼ 72 km=h, vfmax ¼ 30 m=s ¼ 108 km=h. In Fig. 18, the train scheduling diagrams in the TAS and the ETAS are given, respectively. The total travel time of trains is 7921.735 min in the TAS, while in the ETAS it is 7437.271 min. The total travel time reduces to 484.464 min. Compared with the case of homogeneous trains, improved effect is more obvious. The reason is similar to that on the railway line: (1) heterogeneous trains will cause more deadlocks, the capacity check algorithm in the TAS will restrain the travel of the trains and (2) the train cannot obtain the better travel strategy based on the local information, and meeting and passing of heterogeneous trains will lead to a larger delay of the whole system than that of homogeneous trains. In Table 6, the performance criteria in two methods are presented. Compared with the TAS, the value of g is improved, and the reduction of the total delay is about 8.07 h in the ETAS. We also give the relation between the service time interval and the value of J 2 shown in Fig. 19, which is similar to that shown in Fig. 17. 5. Conclusions This paper presents an improved simulation method (ETAS) for scheduling of the trains, which is an extension of the TAS method proposed by Dorfman and Medanic. The TAS can quickly handle the perturbations in the schedule and has a good computational performance. But the TAS lacks enough information of trains to obtain an effective travel strategy, and the capacity check algorithm of the TAS may cause unnecessary delay at the station. So, in the ETAS, an algorithm based on the global information of the train is designed to overcome the deficiency of the TAS. Based on the non-local information, we propose a train control method to prevent the absolute deadlock. Through adjusting the train velocity, the relative deadlock may be avoided. In addition, the travel advance strategy and operation conditions under the local information are analyzed, and the behaviors of deceleration and acceleration of the trains are described in detail. The ETAS is applied to a single rail line and a railway network, respectively. Two cases are taken into account: homogeneous trains and heterogeneous trains. The characters of scheduling diagrams are analyzed and the travel advance strategies of the trains are discussed in detail. The results of three performance criteria proposed by Dorfman in the ETAS are compared with those in the TAS. The simulation results show that, (i) in the case of homogeneous trains, the decrease of the total delay in the ETAS means that the ETAS can obtain the better results than the TAS; (ii) in the case of heterogeneous trains, the improvement of efficiency ration g shows that the railway line in the ETAS works more efficiently than that in TAS, and the total delay and the maximal delay are improved more remarkably in the ETAS; and (iii) when considering the behavior of acceleration and deceleration of trains, the total delay increases. In addition, the total delays at different service interval are also discussed. When the train density is large, the total delay of the ETAS is improved more obviously than that of the TAS. In the ETAS, the improved effect in the case of heterogeneous trains is more remarkable than that in the case of homogeneous trains. For computational performance, the computation time in the ETAS is slightly larger than that in the TAS. Obviously, this is because we need to use all conflicts information at the remaining route of the train when determining the effective travel strategy of the train. The computation time in the ETAS estimated to increase linearly with the increase of the conflict amount is far smaller than that of the branch-and-bound method. Though the ETAS cannot guarantee to obtain the global optimal solution, small relative error means that our method can quickly find a good feasible solution.
1028
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
In our method, according to the train speed adjustment step, the train operation condition can be described in detail. However, our model does not consider the difficulty in implementing central control in politics and the complication of the work of train drivers. It is the drawbacks of our model which will be our future work. The method described in this paper can be designed to be a decision support tool for train dispatchers to schedule the trains in real-time. Acknowledgements This work was financially supported by National Basic Research Program of China (No. 2006CB705500), Changjiang Scholars and Innovative Research Team in University (No. IRT0605), New Century Excellent Talents in University (No. NCET-060074). The authors wish to thank anonymous referees and the editor for their comments and suggestions. The authors would also like to thank Prof. Chengxuan Cao, Dr. Jianfeng Zheng and Dr. Jiancheng Long for their helpful comments to the earlier version of this paper. Appendix Stop In this section, two algorithms calculating T Run i;delaymin and T i;delaymin are presented. Both algorithms are designed based on all conflicts information at the remaining route of the train. First algorithm A1 is a non-polynomial, which can obtain the accuStop Run Stop rate values of T Run i;delaymin and T i;delaymin . Second algorithm A2 only obtains the approximate values of T i;delaymin and T i;delaymin , but its iterative steps are less than or equal to the conflict numbers at the remaining route of the train. Algorithms A1 and A2 are described as follows:
Notations future conflict index in the route of focal train i (see Fig. A.1) cj CP the ordered set of the future conflicts in the route of focal train i DL the ordered set of the conflict delay in the route of focal train i the delay of focal train i at conflict cj (see Fig. A.1) aij i
bj
the delay of another train conflicted with focal train at conflict (see Fig. A.1)
dk n
the kth element in set DL the number of conflicts in the remained route of focal train i (1) Algorithm A1 First we show the method calculating T Run i;delaymin : Step 1 (Initialization): For the focal train i, find all virtue conflicts cj (j ¼ 1; 2; . . . ; n) with other inbound trains (include i online trains and trains which do not depart) in its remaining route, calculate the conflict delays aij and bj (see Run Fig. A.1). Constitute initial CP; DL and T i;delaymin as follows: CP ¼ fc1 ; c2 ; . . . ; cn g DL ¼ fd1 ; d2 ; ; dn g; dj ¼ aij ðj ¼ 1; 2; . . . ; nÞ n X T Run dj i;delaymin ¼ j¼1
Fig. A.1. Conflict symbols at the route of train.
1029
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030 i
Step 2: Search the last dk in DL, subject to dk ¼ aik . If k ¼ 1, go to step 3. Otherwise replace dk , and dk ¼ bk , update CP and DL as follows: CP ¼ fc1 ; c2 ; . . . ; ck g;
DL ¼ fd1 ; d2 ; . . . ; dk g
From conflict ck , if there exits new conflict in the remaining route of focal train i, find a new virtue conflict cj i (j ¼ k ¼ 1; k þ 2; . . . ; m), calculate aij and bj , update n; CP and DL, and calculate T 0delay : CP ¼ fc1 ; c2 ; . . . ; ck ; ckþ1 ; . . . ; cn g
n ( m;
DL ¼ fd1 ; d2 ; . . . ; dk ; dkþ1 ; . . . ; dn g; dj ¼ aij ðj ¼ k þ 1; k þ 2; . . . ; nÞ n X T 0delay ¼ dj j¼1 0 If < T Run i;delaymin ( T delay . i Step 3: Search all dj ðj ¼ 2; 3; . . . ; nÞ in DL except for d1 , if all dj ¼ bj , the algorithm terminates. Otherwise go to step 2. Stop Run For T i;delaymin , the calculating method is the same as that of T i;delaymin , only in Step 1,
T 0delay
T Run i;delaymin ,
DL ¼ fd1 ; d2 ; . . . ; dn g ( i d1 ¼ b1 dj ¼ aij
ðj ¼ 2; 3; . . . nÞ
(2) Algorithm A2 First we show the method calculating T Run i;delaymin Step 1 (Initialization): For the focal train i, find the first virtue conflict c1 with other inbound train (include online trains and trains which do not depart), calculate the conflict delays ai1 , and d1 ¼ ai1 , j ¼ 1. Constitute other elements in sets CP, DL and the initial value of T Run i;delaymin according to the following steps. Step 1.1: Judge whether there is a new conflict in the remaining route of the focal train i or not after dealing with conflict cj . If there is still a new conflict, go to Step 1.2. Otherwise, all elements in sets CP and DL have been determined, and calculate T Run i;delaymin and conflict numbers n: 8
So, the initialization value of T Run i;delaymin can be obtained (see Fig. A.2a), and then go to Step 2. Step 1.2: let j ¼ j þ 1. Search the next conflict cj in the remaining route of focal train i, calculate the conflict delays i aij and bj , then determine the value of dj : 8 < dj ¼ bi if ai > bi j j j : dj ¼ ai j
i
if aij 6 bj
After determining, dj ; cj and dj are added in sets CP and DL, and go to Step 1.1. Step 2: let k ¼ 1. Step 2.1: If k ¼ n, the algorithm terminates. Otherwise, k ¼ k þ 1; Step 2.2: Constitute new set CP0 and DL0 , determine elements in set CP0 and DL0 according to the following expression: ( 0 CP ¼ fc01 ; c02 ; . . . ; c0k1 g; c0j ¼ cj ðj ¼ 1; 2; . . . ; k 1Þ 0
0
0
0
DL0 ¼ fd1 ; d2 ; . . . ; dk1 g; 0
dj ¼ dj ðj ¼ 1; 2; . . . ; k 1Þ i
i
0
0
In set DL, if dk ¼ aik , then dk ¼ bk ; if dk ¼ bk , then dk ¼ aik . Let dk , c0k (c0k ¼ ck ) be added in sets DL0 and CP0 . After dealing with conflict c0k , search new conflicts in the remaining route of focal train i. According to the method in Steps 1.1 and 1.2, all elements in sets CP0 and DL0 , and a new conflict numbers n0 can be obtained: ( CP0 ¼ fc01 ; c02 ; . . . ; c0n0 g 0 0 0 DL0 ¼ fd1 ; d2 ; . . . ; dn0 g Step 2.3: Calculate T 0delay according to the elements in set DL0 . T 0delay ¼
n X
dj
j¼1
If T 0delay P T Run i;delaymin , go to Step 2.1. Otherwise update n; CP and DL, n ( n0 ;
CP ¼ CP0 ;
DL ¼ DL0
1030
F. Li et al. / Transportation Research Part B 42 (2008) 1008–1030
a
b
Stop Fig. A.2. (a) The initial value of T Run i;delaymin . (b) The initial value of T i;delaymin .
And then go to Step 2.1. i Run For T Stop i;delaymin , the calculating method is the same as that of T i;delaymin , only in Step 1, d1 ¼ b1 (see Fig. A.2b). References Carey, M., 1994a. A model and strategy for train pathing with choice of lines, platforms and routes. Transportation Research Part B 28 (5), 333–353. Carey, M., 1994b. Extending a train pathing model from one-way to two-way track. Transportation Research Part B 28 (5), 395–400. Carey, M., Lockwood, D., 1995. A model, algorithms and strategy for train pathing. Journal of the Operational Research Society 46 (8), 988–1005. Cordeau, J.-F., Toth, P., Vigo, D., 1998. A survey of optimization models for train routing and scheduling. Transportation Science 32, 380–404. Dorfman, M.J., Medanic, J., 2004. Scheduling trains on a railway network using a discrete event model of railway traffic. Transportation Research Part B 38 (1), 81–98. Higgins, A., Kozan, E., Ferreira, L., 1996. Optimal scheduling of trains on a single line track. Transportation Research Part B 30 (2), 147–161. Higgins, A., Kozan, E., Ferreira, L., 1997. Heuristic techniques for single line train scheduling. Journal of Heuristics 3, 43–62. Jovanovic, D., Harker, P.T., 1991. Tactical scheduling of rail operations: the SCAN I system. Transportation Science 25 (1), 46–64. Kraay, D.R., Harker, P.T., 1995. Real-time scheduling of freight railroads. Transportation Research Part B 29 (3), 213–229. Kraft, E.R., 1987. A branch and bound procedure for optimal train dispatching. Transportation Research Forum 28, 263–276. Lindner, T., 2000. Train Schedule Optimization in Public Rail Transport. Ph.D. Thesis. Technische Universitat Braunschweig. Medanic, J., Dorfman, M.J., 2002. Efficient scheduling of traffic on a railway line. Journal of Optimization Theory and Applications 1152 (3), 587–602. Sauder, L., Westerman, W.M., 1983. Computer aided train dispatching: decision support through optimization. Interfaces 13 (6), 24–37. Szpigel, B., 1973. Optimal train scheduling on a single track railway. In: Operations Research’72. North-Holland, Amsterdam, Netherlands, pp. 343–352. Zhou, X., Zhong, M., 2007. Single-track train timetabling with guaranteed optimality: Branch-and-bound algorithms with enhanced lower bounds. Transportation Research Part B 41 (3), 320–341.