# Optimizing Train Timetable Based on Departure Time Preference of Passengers for High-Speed Rails

Authors: Zhipeng Huang; Huimin Niu; Ruhu Gao; Haoyu Fan; Chenglin Liu
Journal: Journal of Advanced Transportation
 (2021)

---

## Abstract

Passengers would like to choose the most suitable train based on their travel preferences, expenses, and train timetable in the high-speed railway corridor. Meanwhile, the railway department will constantly adjust the train timetable according to the distribution of passenger flows during a day to achieve the optimal operation cost and energy consumption saving plan. The question is how to meet the differential travel needs of passengers and achieve sustainable goals of service providers. Therefore, it is necessary to design a demand-oriented and environment-friendly high-speed railway timetable. This paper formulates the optimization of train timetable for a given high-speed railway corridor, which is based on the interests of both passengers and transportation department. In particular, a traveling time-space network with virtual departure arc is constructed to analyze generalized travel costs of passengers of each origin-destination (OD), and bilevel programming model is used to optimize the problem. The upper integer programming model regards the minimization of the operating cost, which is simplified to the minimum traveling time of total trains, as the goal. The lower level is a user equilibrium model which arranges each OD passenger flow to different trains. A general advanced metaheuristic algorithm embedded with the Frank–Wolfe method is designed to implement the bilevel programming model. Finally, a real-world numerical experiment is conducted to verify the effectiveness of both the model and the algorithm.


---

## Body

## 1. Introduction

High-speed railway (HSR) is a high-quality travel service provided by the railway department to the society to meet the spatial displacement needs of passengers and other additional needs within a specific time range. It is worth mentioning that, similar to metro systems, some high-speed railway trains offer no-seat tickets in China. As a representative of safe, fast, comfortable, and sustainable transportation mode, HSR is favored by more and more passengers. For the service provider, the train timetable of HSR is a technical document, which is the foundation of train operation, and integrates the running time of trains in sections and the arrival, departure, or skip-stop time of trains in stations. For passengers, the train timetable is service information of trains released by service providers, which enables them to make reasonable decisions in their journey. Therefore, it is of great practical significance to optimize HSR train timetable.The optimization of train timetable of HSR, which is based on constraints such as station departure capacity, section carrying capacity, and train safety headway, is to determine the arrival, departure, and skip-stop time of all scheduled trains on a HSR corridor. A perfect train timetable should not only maximize the benefits for transportation enterprises, but also meet the diverse needs of passengers including the traveling cost and departure time preference. Since the 1960s, the train timetable problem (TTP) has been a hot issue in the field of international transportation in the past decades.From the perspective of service provider, many scholars have concentrated on the optimization of train timetable in terms of train running time, cost, and energy consumption.As an important evaluating indicator, in some existing literature works, minimizing the total traveling time of all trains is always treated as the objective to optimize train timetable on HSR corridor. The traveling time of train consists of two parts, that is, the running time in sections and the dwelling time at stations. In most HSR corridors, the running time of trains in sections is usually fixed. Therefore, reducing the dwelling time at stations is an effective way to minimize traveling time, as stated by Zhou and Zhong [1] and Abbott et al. [2]. Similarly, Niu and Zhou [3] introduced a variable related to the passenger boarding time range and further established a nonlinear integer programming model to optimize the demand-driven train timetable. Chen and Niu [4] divided traveling process of trains into several continuous events and optimized train timetable based on minimizing the interval of any consecutive events. In addition, a skip-stop scheme and delay time of train at the stations have a great impact on its traveling time. Xu et al. [5] and Heydar et al. [6] set the goal of minimizing total delay time of trains; Wang et al. [7] minimized both the delay time cost of all trains and the number of delayed trains. The ultimate goal of these articles is to optimize train running time.Transportation enterprises always hope to get the maximum benefit; thus, some scholars have optimized the train timetables to minimize operation costs or maximize operation revenues of trains. From this viewpoint, Cacchiani et al. [8] established a train timetable model with the goal of minimizing operation costs, while Caprara et al. [9] and Cacchiani et al. [10] optimized a train timetable with the goal of maximizing operation revenues. Specifically, Yin et al. [11] established a stochastic programming model to optimize train timetable based on dynamic demand in urban rail transit, with the goal of minimizing train delay time and operator cost. He et al. [12] built an integer programming model to optimize a train timetable with the goal of minimizing the generalized time-space path cost including train running, dwelling, and grade costs.Reducing the energy consumption of trains is a significant topic, which has been considered in some train timetable optimization studies. Aiming at minimizing energy consumption, Yin et al. [13] established an integer programming model to optimize the train timetable of a subway and designed a heuristic algorithm based on Lagrange relaxation method to solve the original problem. Gupta et al. [14] proposed a two-stage linear train timetable model based on minimum energy consumption of a subway. Ye and Liu [15], Cucala et al. [16], and Watanabe and Koseki [17] also studied train timetable problem with the goal of minimizing energy consumption of trains.From the perspective of passengers, some papers have studied the train timetable problem with the optimization objective of minimizing the traveling time, waiting time, and transferring time, or the generalized traveling cost.The most concern of passengers is whether they can get on the train quickly when they arrive at the station. In order to improve the passenger service quality and achieve the people-oriented strategy, a large number of studies have taken minimizing the waiting time of passengers at stations as the goal of train timetable optimization. Aiming at the time-varying OD passenger flow, Niu et al. [18] established a quadratic integer programming model with linear constraints to optimize train timetable problem on a HSR corridor. Hassannayebi et al. [19, 20] established an uneven train timetable model. On this basis, with the goal of minimizing the total waiting time of passengers, Barrena et al. [21] and Canca et al. [22] established a nonlinear integer programming model to optimize train departure and arrival time. Based on the volatility of passenger arrival rate, Shakibayifar et al. [23] established a two-stage stochastic train timetable optimization model. Considering the total traveling time of passengers, Zhou and Zhong [24] established a multiobjective 0-1 mixed-integer programming model to minimize the running time and waiting time of passengers. Shi et al. [25] and Zhang et al. [26] analyzed the characteristics of passenger flows on overcrowded subway lines and established a train timetable optimization model with the goal of minimizing passenger waiting time at all stations.In the rail transit network, the interval time between two trains arriving at the transfer station continuously is the main factor of determining the waiting time of passengers for transferring. Kang et al. [27] and Guo et al. [28] optimized the train timetable with the goal of minimizing the traveling time and transferring time. Wong et al. [29] established a mixed-integer programming model to optimize a nonperiodic subway network train timetable problem with the goal of minimizing passenger transfer waiting time. Considering the traveling cost of passengers, Chow and Pavlides [30] combined various factors, such as passenger traveling time, waiting time, traveling comfort, and train punctuality to establish a generalized cost function, and built a multiobjective model to minimize it.The above studies are unilaterally centered on service providers or passengers, but if the interests of both of them can be considered when optimizing the train timetable, it will be a good optimization strategy. Ibarra-Rojas et al. [31] established a biobjective linear integer programming model with the goal of minimizing passengers transferring time and transportation enterprises operating costs to an optimized train timetable. Li et al. [32] considered the collaborative optimization of train carbon emission and passenger traveling time, thus establishing a model of train timetable. Mo et al. [33], Liu et al. [34], and Shen et al. [35] optimized the train timetable by minimizing train energy consumption and passenger waiting time. Tian and Niu [36] aimed at maximizing the number of transfer trains and minimizing the waiting time of passengers and established a biobjective integer programming model to optimize the train timetable. Huang et al. [37] analyzed the relationship between train energy consumption and passenger traveling time and built a nonlinear mixed-integer programming model to optimize a train timetable of subway.Considering that the interests of service providers and passengers often conflict with each other, for example, reducing the cost of trains may increase the traveling time of passengers, some scholars used bilevel programming method to establish the train timetable model to obtain a system optimal scheme. Zhu et al. [38] established a bilevel programming model to optimize the urban rail train timetable, in which the upper level optimization is to minimize the generalized cost of passengers, and the lower level is to optimize distribution of passenger flows. Huang and Niu [39] constructed a passenger travel satisfaction function and established a bilevel programming model to study train timetable problem.Previous studies on TTP rarely considered the difference of passengers’ preference for departure time, which is manifested in the fact that passenger flows have obvious peaks and troughs at different time periods of a day. The preference is an important indicator of diversified travel demand of passengers, but few studies have optimized the train timetable driven by travel preference of passengers. It is difficult to ensure the scientificity and rationality of the train timetable which does not consider the passenger’s differentiated preference for departure time. Based on previous studies, this paper analyzes the travel behavior of passengers, establishes a generalized cost function for passengers, and uses a bilevel programming to optimize train timetables. The Traffic User Equilibrium (UE) method is used to assign passengers to each train, so as to guide passengers to choose a travel plan reasonably and achieve the goal of minimizing the generalized travel cost.The main highlights of this paper compared with the existing literature are as follows:(1)
This paper analyzes passengers’ preference for departure time and quantifies it by triangular fuzzy method.(2)
This paper constructs a travel time-space network including departure arc, running arc, and dwelling arc. Based on the time preference cost, ticket price cost, and dwelling cost, the impedance functions of various arcs in the space-time network are established, and the travel choice process of passengers is transformed into the path optimization problem in the space-time network.(3)
Considering the Stackelberg Game (SG) relationship between train timetable and passenger flows, a bilevel programming model is constructed, in which the upper level is the optimization of train timetable and the lower level is the assignment of passenger flows.(4)
To improve the efficiency of solution, this paper designs a metaheuristic algorithm of embedded Frank–Wolfe (FW) assignment method to solve the model.The remainder of this paper is organized as follows. A detailed problem statement is presented in Section2. Section 3 lists the model assumptions and describes the travel time-space network. In Section 4, a bilevel programming model is developed, and the equivalence between the lower level programming and user equilibrium conditions is proved. Section 5 designs a metaheuristic algorithm. Numerical experiments are tested in Section 6. Finally, Section 7 concludes this paper.


## 2. Problem Description

This paper focuses on the optimization of train timetable for a bidirectional high-speed railway corridor withm stations, where station 1 and m are the initial and terminal station, respectively, and others are intermediate stations as shown in Figure 1. Up and down trains have their own independent operating tracks including section lines and station arrival-departure tracks, and trains in two directions do not interfere with each other. Considering the relative independence of the up and down trains, this paper only studies the timetable for up trains. In the up direction, all trains depart from the initial station 1, run along the intermediate stations 2, 3, …, m − 1, and finally arrive at the terminal station m.Figure 1
A high-speed railway corridor with double tracks.Without loss of generality, we assume that the OD (origin-to-destination) passenger flow matrix on the high-speed railway corridor is predetermined. Meanwhile, there aren trains to be scheduled within the operated time horizon TS,TE, which can be denoted as set K=1,2,…,n, where the notations TS and TE represent the starting and ending timestamps of the scheduled whole operation day.On the high-speed railway corridor, it is obvious that the OD passenger flow demand is uneven during operated time horizon. Most passengers are used to select the peak period to start their journey. However, due to the restriction of the physical line capacity, it is impossible for all passengers to depart during peak period. Meanwhile, the large passenger flows during peak hours lead to congestion, which further causes passengers to consume extra time and congestion costs in the process of queuing for tickets, waiting for the train, and getting on the train. In response to this situation, this paper designs an uneven train timetable for meeting the traveling preference of different passengers. In addition, when optimizing train timetable, the gamble among different travel decisions should be considered. In this paper, it is proposed to use bilevel programming model to solve our addressed problems. In detail, the train timetable is decided in upper level model, and lower level is a passenger flow assignment problem based on user equilibrium(UE).In this paper, the relationship between the upper and lower model of the bilevel programming model is shown in Figure2.Figure 2
Feedback relationship between upper and lower models.In the upper level, when the running time of trains in the section is fixed, a complete train timetable can be derived. Specifically, firstly, it determines the departure time of the train at initial station (decision 1), then clearly knows the dwelling time at intermediate stations along the railway (decision 2), and finally calculates arrival and departure time of trains at all stations gradually. Train timetable information determined by the upper level will affect the passenger’s departure time and traveling time and further affect the passenger’s travel impedance (generalized cost), as shown in line ① in Figure1.In the lower level, based on UE theory, OD passenger flow demands are loaded onto train operation network determined by the upper level model. In this way, a passenger flow assignment scheme (decision 3) is obtained, which affects train skip-stop pattern of the upper level model and further affects arrival time and departure time of trains in the upper level, as shown in the line ② in Figure1. In addition, based on the scheme of passenger flow assignment, the number of passengers getting on and off at each station can be obtained, as shown in line ③ in Figure 1, which is used to calculate the minimum dwelling time of trains. The arrival and departure time of trains in the upper level model are further affected. As a result, train timetable information in the upper level model and scheme of passenger flow assignment in the lower level model will be adjusted repeatedly until a satisfactory solution is reached.


## 3. Traveling Time-Space Network (TTSN)

### 3.1. Overall Notations and Assumptions

In order to simplify the problem and facilitate model construction, several necessary assumptions are detailed as follows:Assumption 1: All trains run at the same speed on a given high-speed railway corridor. The overtaking operation among different trains will not be considered along the addressed rail corridor.Assumption 2: The loading capacity of all trains running on the high-speed rail corridor is identical.Assumption 3: After boarding a train, passengers will not transfer to other trains until arriving at the destination station.Assumption 4: All passengers are assumed to accurately know generalized cost of each route and will only choose the route with the least cost.Related indices and parameters in the optimized model are defined as follows:Sets and indicesGN,A: Traveling time-space networkN: Node set of network GA: Arc set of network GS: Station setNdepart: Departure node set of network G, Ndepart⊆NNarrive: Arriving node set of network G, Narrive⊆NNvirtual: Virtual node set of network G, Nvirtual⊆NAdepart: Departure arc set of network G, Adepart⊆AAtravel: Traveling arc set of network G, Atravel⊆AAdwell: Dwelling arc set of network G, Astop⊆Ai,j,r,s: Indices of station, i,j,r,s∈St,t′: Indices of time, t,t′∈TS,TEa: Indices of arc of network G, a∈Ak: Indices of train or path, k∈Ki,t,j,t′: Indices of time-space node of network Gi,t;j,t′: Indices of time-space arc of network G, i,t;j,t′∈AInput parametersqrs: Passenger flow per day from station r to sCapa: Maximum seating capacity of trains on arc a, unit: personη: The ratio of maximum congestion of trains, η≥1hi,j: Train running time from station i to j, excluding dwelling time and additional start/dwelling time.li,j: The distance from station i to jla: The length of arc a in network G, a∈Atravelwa: Passengers’ preference degree of departing arc a, 0≤wa≤1εD: Additional acceleration timeεS: Additional deceleration timeμmax: Maximum dwelling time of trains at stationsρminsection: Minimum interval between two consecutive trains at the same sectionρminstation: Minimum interval between two consecutive trains at the same stationwrst: Passengers’ preference degree of departing at time t from r to sg: Unit fee for each passenger per kilometerα: Cost coefficient of departure time preferenceγ: Cost coefficient of waiting time on trainsβa: Cost coefficient related to passenger flow of arc aurs: Minimum number of trains serving OD pairs r,sAuxiliary variablesTAik: Arrival time of train k at station iTDik: Departure time of train k at station iωik=1 if train k stops at station i and = 0 otherwiseμi,kmin: Minimum dwelling time of train k at station ibi,kon: The number of passengers boarding on train k at station ibi,koff: The number of passengers alighting from train k at station igcrsk: Passengers’ generalized cost of taking train k from station r to sca: Cost of arc a in network G, a∈Adca: Cost of departing arc a in network G, a∈Adepartuca: Cost of traveling arc a in network G, a∈Atravelpca: Cost of dwelling arc a in network G, a∈Adwellxa: Passengers number of arc a in network G, a=i,t;j,t′δrsk,a=1 if train k from station r to s passes through arc a and = 0 otherwiseDecision variablesTD1k: Departure time of train k at origin station (station 1)TSik: Dwelling time of train k at station ifrsk: The number of passengers taking the train k from station r to s.


### 3.2. Constructing Traveling Time-Space Network

This section illustrates passenger travel choice process through a simple example. Figure3(a) shows a high-speed railway corridor containing five stations, where stations 1 and 5 are the initial and terminal stations, respectively. In the research time period, there are 3 trains running on the high-speed railway corridor, and the graphical train timetable is shown in Figure 3(b).Figure 3
A simple high-speed rail corridor and its graphical train timetable.As shown in Figure4, the whole journey of passengers is divided into three parts in constructed network, which represents the activity of departure, traveling, and dwelling for passengers. For completeness, a virtual station “0” is added in the physical link, which is further extended to a virtual departure node in the constructed network. The set of time-space nodes and arcs in the TTSN are listed in Table 1.Figure 4
Traveling time-space network for Figure3(b).Table 1
Set of nodes and arcs in TTSN.
Node/ArcSetVirtual departure nodeNvirtual=0,t|t=t¯rs,∀r,s∈SDeparture nodeNdepart=i,t|i∈S,t=TDik,whenωik=1,i≠mArriving nodeNarrive=i,t|i∈S,t=TAik,whenωik=1,i≠1Departure arcAdepart=0,t′;i,t|i<m,t′=t¯is,t=TDik,whenωik⋅ωsk=1Traveling arcAtravel=i,t;j,t′|i,j∈S,t=TDik,t′=TAjk,whenωik⋅ωjk=1Dwelling arcAdwell=i,t;i,t+TSik|1<i<m,t=TAik,whenωik=1There are three types of nodes, which are departure nodes, arriving nodes, and virtual departure nodes. Among all these nodes, whilei=0 and t=t¯rs, the symbol 0,t¯rs presents the virtual departure node of the OD pair r,s, without concrete physical meaning. Besides, all arcs i,t;j,t′ are time-space ones connecting two time-space nodes i,t and j,t′. For example, the arc a1 is a10,t¯13;1,TD12. There are three types of arcs in Figure 4, namely, departure arcs, traveling arcs, and dwelling arcs. All these nodes and arcs constitute the TTSN. The process of passenger travel choice, therefore, can be equivalent to determining the optimal path in this time-space network.Regarding the passenger flow on the TTSN, the sum of passenger flows on each train or each path between any OD pairsr,s should equal the total daily passenger demand qrs. For example, in Figure 4, two paths (passengers starting from node 1 and going to node 3), a1⟶a2⟶a3⟶a4 and a5⟶a6, carry two passenger trains on section (1,3), and the corresponding trains on them are trains of k=2 and k=3. Taking f132 and f133 to represent those passengers on the trains, we can get the equation of f132+f133=q13. Likewise, only one path, a7⟶a8, is provided to moving passengers on section (3,4); hence all passenger flows on this path must meet all needs of section (3,4). Then, we get the equation f343=q34.Additionally, the passenger flows on any arc include all paths moving along it in TTSN, and the arc flows equal the sum of all paths’ flows. For instance, the arca6 in Figure 4 means that the train k=3 runs along section (1,3). Then the passenger flow on arc a6 can be represented by f133+f143+f153 since passengers between OD pairs of (1,3), (1,4), and (1,5) can take train of k=3 simultaneously.


### 3.3. Impedance (Cost) of Each Arc in TTSN

Passengers always want to find the best option before traveling by HSR. It means that the passengers will choose the train with the least impedance (cost) to travel. In TTSN, the cost of each arc is detailed as below.


#### 3.3.1. Impedance of Departure Arc

During a day, passengers have significantly different preferences for departure time. In this paper, the symbolwrst is used to represent the preference parameter for the departure arc 0,t¯rs;r,TDrk in OD pair (r, s). It can be quantified by TrsE,TrsH,TrsL obtained from data survey, where TrsE, TrsL, and TrsH, respectively, denote the earliest, latest, and most desirable departure time to passengers in OD pair (r, s). As a common method for processing survey data, triangular fuzzy numbers are used to quantify the preferences. The triangular fuzzy number distribution of departure time preference is shown in Figure 5, and its membership function is shown in (1).(1)wrst=0,t≤TrsE,t−TrsETrsH−TrsE,TrsE<t≤TrsH,TrsL−tTrsL−TrsH,TrsH<t≤TrsL,0,t>TrsL.Figure 5
Triangular fuzzy number distribution of departure time preference.For convenience of expression, leta=0,t¯rs;r,TDrkwa=wrst, a∈Adepart. wa is the preference parameter of the departure arc a in TTSN. Based on this, the departure arc cost function, namely, the impedance function, is formulated as(2)dca=αwa+βa⋅xaCapa,∀a∈Adepart,where α/wa is the passenger’s preference costs when choosing departure arc a. It is not difficult to observe that the more the passenger’s preference for departure arc a, the less the preference cost they pay; βa⋅xa/Capais the passenger flow-related costs on the departure arca, and it can be quantified by the input coefficient βa. When the passenger flow xa loaded on the departure arc a increases, the impedance increases accordingly.


#### 3.3.2. Impedance of Traveling Arc

Traveling arc cost function can be constructed as(3)uca=g⋅la+βa⋅xaCapa,∀a∈Atravel,where g⋅la is the ticket price cost by passenger on traveling arc a. Similar to the departure arc, βa⋅xa/Capa indicates that the cost of traveling arc increases with the increase of passenger flows.


#### 3.3.3. Impedance of Dwelling Arc

When a train dwells at an intermediate station, the waiting time of passengers at the station will increase, and the time can be quantified by waiting time cost. It can be written as(4)pca=γ⋅TSik+εS+εD+βa⋅xaCapa,∀a∈Adwell.The additional acceleration and deceleration times should be considered once the train dwells at a station. Therefore,γ⋅TSik+εS+εD is the waiting time cost of passengers on the dwelling arc.For simplicity of expression, we useca to represent the impedance of any arc a in the TTSN. The impedance function is shown as(5)ca=dca,a∈Adepart,uca,a∈Atravel,pca,a∈Adwell,∀a∈A.In summary, for any passengers of OD pair (r, s), from the boarding station r to the alighting station s, passengers will travel through the above various arcs. The sum of the costs paid on all arcs is called generalized cost, also known as route impedance, and is shown in(6)gcrsk=∑a∈Aca⋅δrsk,a.


## 3.1. Overall Notations and Assumptions

In order to simplify the problem and facilitate model construction, several necessary assumptions are detailed as follows:Assumption 1: All trains run at the same speed on a given high-speed railway corridor. The overtaking operation among different trains will not be considered along the addressed rail corridor.Assumption 2: The loading capacity of all trains running on the high-speed rail corridor is identical.Assumption 3: After boarding a train, passengers will not transfer to other trains until arriving at the destination station.Assumption 4: All passengers are assumed to accurately know generalized cost of each route and will only choose the route with the least cost.Related indices and parameters in the optimized model are defined as follows:Sets and indicesGN,A: Traveling time-space networkN: Node set of network GA: Arc set of network GS: Station setNdepart: Departure node set of network G, Ndepart⊆NNarrive: Arriving node set of network G, Narrive⊆NNvirtual: Virtual node set of network G, Nvirtual⊆NAdepart: Departure arc set of network G, Adepart⊆AAtravel: Traveling arc set of network G, Atravel⊆AAdwell: Dwelling arc set of network G, Astop⊆Ai,j,r,s: Indices of station, i,j,r,s∈St,t′: Indices of time, t,t′∈TS,TEa: Indices of arc of network G, a∈Ak: Indices of train or path, k∈Ki,t,j,t′: Indices of time-space node of network Gi,t;j,t′: Indices of time-space arc of network G, i,t;j,t′∈AInput parametersqrs: Passenger flow per day from station r to sCapa: Maximum seating capacity of trains on arc a, unit: personη: The ratio of maximum congestion of trains, η≥1hi,j: Train running time from station i to j, excluding dwelling time and additional start/dwelling time.li,j: The distance from station i to jla: The length of arc a in network G, a∈Atravelwa: Passengers’ preference degree of departing arc a, 0≤wa≤1εD: Additional acceleration timeεS: Additional deceleration timeμmax: Maximum dwelling time of trains at stationsρminsection: Minimum interval between two consecutive trains at the same sectionρminstation: Minimum interval between two consecutive trains at the same stationwrst: Passengers’ preference degree of departing at time t from r to sg: Unit fee for each passenger per kilometerα: Cost coefficient of departure time preferenceγ: Cost coefficient of waiting time on trainsβa: Cost coefficient related to passenger flow of arc aurs: Minimum number of trains serving OD pairs r,sAuxiliary variablesTAik: Arrival time of train k at station iTDik: Departure time of train k at station iωik=1 if train k stops at station i and = 0 otherwiseμi,kmin: Minimum dwelling time of train k at station ibi,kon: The number of passengers boarding on train k at station ibi,koff: The number of passengers alighting from train k at station igcrsk: Passengers’ generalized cost of taking train k from station r to sca: Cost of arc a in network G, a∈Adca: Cost of departing arc a in network G, a∈Adepartuca: Cost of traveling arc a in network G, a∈Atravelpca: Cost of dwelling arc a in network G, a∈Adwellxa: Passengers number of arc a in network G, a=i,t;j,t′δrsk,a=1 if train k from station r to s passes through arc a and = 0 otherwiseDecision variablesTD1k: Departure time of train k at origin station (station 1)TSik: Dwelling time of train k at station ifrsk: The number of passengers taking the train k from station r to s.


## 3.2. Constructing Traveling Time-Space Network

This section illustrates passenger travel choice process through a simple example. Figure3(a) shows a high-speed railway corridor containing five stations, where stations 1 and 5 are the initial and terminal stations, respectively. In the research time period, there are 3 trains running on the high-speed railway corridor, and the graphical train timetable is shown in Figure 3(b).Figure 3
A simple high-speed rail corridor and its graphical train timetable.As shown in Figure4, the whole journey of passengers is divided into three parts in constructed network, which represents the activity of departure, traveling, and dwelling for passengers. For completeness, a virtual station “0” is added in the physical link, which is further extended to a virtual departure node in the constructed network. The set of time-space nodes and arcs in the TTSN are listed in Table 1.Figure 4
Traveling time-space network for Figure3(b).Table 1
Set of nodes and arcs in TTSN.
Node/ArcSetVirtual departure nodeNvirtual=0,t|t=t¯rs,∀r,s∈SDeparture nodeNdepart=i,t|i∈S,t=TDik,whenωik=1,i≠mArriving nodeNarrive=i,t|i∈S,t=TAik,whenωik=1,i≠1Departure arcAdepart=0,t′;i,t|i<m,t′=t¯is,t=TDik,whenωik⋅ωsk=1Traveling arcAtravel=i,t;j,t′|i,j∈S,t=TDik,t′=TAjk,whenωik⋅ωjk=1Dwelling arcAdwell=i,t;i,t+TSik|1<i<m,t=TAik,whenωik=1There are three types of nodes, which are departure nodes, arriving nodes, and virtual departure nodes. Among all these nodes, whilei=0 and t=t¯rs, the symbol 0,t¯rs presents the virtual departure node of the OD pair r,s, without concrete physical meaning. Besides, all arcs i,t;j,t′ are time-space ones connecting two time-space nodes i,t and j,t′. For example, the arc a1 is a10,t¯13;1,TD12. There are three types of arcs in Figure 4, namely, departure arcs, traveling arcs, and dwelling arcs. All these nodes and arcs constitute the TTSN. The process of passenger travel choice, therefore, can be equivalent to determining the optimal path in this time-space network.Regarding the passenger flow on the TTSN, the sum of passenger flows on each train or each path between any OD pairsr,s should equal the total daily passenger demand qrs. For example, in Figure 4, two paths (passengers starting from node 1 and going to node 3), a1⟶a2⟶a3⟶a4 and a5⟶a6, carry two passenger trains on section (1,3), and the corresponding trains on them are trains of k=2 and k=3. Taking f132 and f133 to represent those passengers on the trains, we can get the equation of f132+f133=q13. Likewise, only one path, a7⟶a8, is provided to moving passengers on section (3,4); hence all passenger flows on this path must meet all needs of section (3,4). Then, we get the equation f343=q34.Additionally, the passenger flows on any arc include all paths moving along it in TTSN, and the arc flows equal the sum of all paths’ flows. For instance, the arca6 in Figure 4 means that the train k=3 runs along section (1,3). Then the passenger flow on arc a6 can be represented by f133+f143+f153 since passengers between OD pairs of (1,3), (1,4), and (1,5) can take train of k=3 simultaneously.


## 3.3. Impedance (Cost) of Each Arc in TTSN

Passengers always want to find the best option before traveling by HSR. It means that the passengers will choose the train with the least impedance (cost) to travel. In TTSN, the cost of each arc is detailed as below.


### 3.3.1. Impedance of Departure Arc

During a day, passengers have significantly different preferences for departure time. In this paper, the symbolwrst is used to represent the preference parameter for the departure arc 0,t¯rs;r,TDrk in OD pair (r, s). It can be quantified by TrsE,TrsH,TrsL obtained from data survey, where TrsE, TrsL, and TrsH, respectively, denote the earliest, latest, and most desirable departure time to passengers in OD pair (r, s). As a common method for processing survey data, triangular fuzzy numbers are used to quantify the preferences. The triangular fuzzy number distribution of departure time preference is shown in Figure 5, and its membership function is shown in (1).(1)wrst=0,t≤TrsE,t−TrsETrsH−TrsE,TrsE<t≤TrsH,TrsL−tTrsL−TrsH,TrsH<t≤TrsL,0,t>TrsL.Figure 5
Triangular fuzzy number distribution of departure time preference.For convenience of expression, leta=0,t¯rs;r,TDrkwa=wrst, a∈Adepart. wa is the preference parameter of the departure arc a in TTSN. Based on this, the departure arc cost function, namely, the impedance function, is formulated as(2)dca=αwa+βa⋅xaCapa,∀a∈Adepart,where α/wa is the passenger’s preference costs when choosing departure arc a. It is not difficult to observe that the more the passenger’s preference for departure arc a, the less the preference cost they pay; βa⋅xa/Capais the passenger flow-related costs on the departure arca, and it can be quantified by the input coefficient βa. When the passenger flow xa loaded on the departure arc a increases, the impedance increases accordingly.


### 3.3.2. Impedance of Traveling Arc

Traveling arc cost function can be constructed as(3)uca=g⋅la+βa⋅xaCapa,∀a∈Atravel,where g⋅la is the ticket price cost by passenger on traveling arc a. Similar to the departure arc, βa⋅xa/Capa indicates that the cost of traveling arc increases with the increase of passenger flows.


### 3.3.3. Impedance of Dwelling Arc

When a train dwells at an intermediate station, the waiting time of passengers at the station will increase, and the time can be quantified by waiting time cost. It can be written as(4)pca=γ⋅TSik+εS+εD+βa⋅xaCapa,∀a∈Adwell.The additional acceleration and deceleration times should be considered once the train dwells at a station. Therefore,γ⋅TSik+εS+εD is the waiting time cost of passengers on the dwelling arc.For simplicity of expression, we useca to represent the impedance of any arc a in the TTSN. The impedance function is shown as(5)ca=dca,a∈Adepart,uca,a∈Atravel,pca,a∈Adwell,∀a∈A.In summary, for any passengers of OD pair (r, s), from the boarding station r to the alighting station s, passengers will travel through the above various arcs. The sum of the costs paid on all arcs is called generalized cost, also known as route impedance, and is shown in(6)gcrsk=∑a∈Aca⋅δrsk,a.


## 3.3.1. Impedance of Departure Arc

During a day, passengers have significantly different preferences for departure time. In this paper, the symbolwrst is used to represent the preference parameter for the departure arc 0,t¯rs;r,TDrk in OD pair (r, s). It can be quantified by TrsE,TrsH,TrsL obtained from data survey, where TrsE, TrsL, and TrsH, respectively, denote the earliest, latest, and most desirable departure time to passengers in OD pair (r, s). As a common method for processing survey data, triangular fuzzy numbers are used to quantify the preferences. The triangular fuzzy number distribution of departure time preference is shown in Figure 5, and its membership function is shown in (1).(1)wrst=0,t≤TrsE,t−TrsETrsH−TrsE,TrsE<t≤TrsH,TrsL−tTrsL−TrsH,TrsH<t≤TrsL,0,t>TrsL.Figure 5
Triangular fuzzy number distribution of departure time preference.For convenience of expression, leta=0,t¯rs;r,TDrkwa=wrst, a∈Adepart. wa is the preference parameter of the departure arc a in TTSN. Based on this, the departure arc cost function, namely, the impedance function, is formulated as(2)dca=αwa+βa⋅xaCapa,∀a∈Adepart,where α/wa is the passenger’s preference costs when choosing departure arc a. It is not difficult to observe that the more the passenger’s preference for departure arc a, the less the preference cost they pay; βa⋅xa/Capais the passenger flow-related costs on the departure arca, and it can be quantified by the input coefficient βa. When the passenger flow xa loaded on the departure arc a increases, the impedance increases accordingly.


## 3.3.2. Impedance of Traveling Arc

Traveling arc cost function can be constructed as(3)uca=g⋅la+βa⋅xaCapa,∀a∈Atravel,where g⋅la is the ticket price cost by passenger on traveling arc a. Similar to the departure arc, βa⋅xa/Capa indicates that the cost of traveling arc increases with the increase of passenger flows.


## 3.3.3. Impedance of Dwelling Arc

When a train dwells at an intermediate station, the waiting time of passengers at the station will increase, and the time can be quantified by waiting time cost. It can be written as(4)pca=γ⋅TSik+εS+εD+βa⋅xaCapa,∀a∈Adwell.The additional acceleration and deceleration times should be considered once the train dwells at a station. Therefore,γ⋅TSik+εS+εD is the waiting time cost of passengers on the dwelling arc.For simplicity of expression, we useca to represent the impedance of any arc a in the TTSN. The impedance function is shown as(5)ca=dca,a∈Adepart,uca,a∈Atravel,pca,a∈Adwell,∀a∈A.In summary, for any passengers of OD pair (r, s), from the boarding station r to the alighting station s, passengers will travel through the above various arcs. The sum of the costs paid on all arcs is called generalized cost, also known as route impedance, and is shown in(6)gcrsk=∑a∈Aca⋅δrsk,a.


## 4. Model Formulation

In this paper, a bilevel programming model is developed to solve the problem, in which the upper level model determines the train timetable, and the lower level model assigns the OD passenger flows on different trains.


### 4.1. Upper Level Programming Model

#### 4.1.1. Objective Function

This paper aims to optimize the train timetable under the condition that the number and type of trains are determined. Thus, the total cost of train operations is fixed. The number of skip-stop patterns and the dwelling time of trains at the intermediate stations will result in different total traveling time. Therefore, the upper level model is simplified to minimize the total traveling time of all trains, including section running time and station dwelling time, as shown in(7)minZupper=∑k∈KTAmk−TD1k,where TAmk−TD1k is the traveling time of the train k between the initial station 1 and the terminal station m.


#### 4.1.2. Train Arrival and Departure Time Constraints

The arrival time of the trainkat the station i can be calculated from the departure time TDi−1k, the running time in the section hi−1,i and the additional acceleration and deceleration time of the train k at the front station i−1i>1, as shown in(8)TAik=TDi−1k+hi−1,i+εD⋅ωi−1k+εS⋅ωik,∀i>1,k.The arrival timeTDik of the train k at the station i can be calculated by the arrival time TAik and the dwelling time TSik, as shown in(9)TDik=TAik+TSik,∀i,k.


#### 4.1.3. Constraint on Safety Interval of Train

After the traink departs from station i, there must be a station safety interval ρminstation to ensure that it is safe for adjacent train k+1 to arrive at station i as shown in (10). In addition, there must be a minimum section safety interval time to ensure that adjacent trains are safe in the section as shown in (11).(10)TAik+1−TDik≥ρminstation,∀i,k,(11)TDik+1−TDik≥ρminsection,∀i,k.


#### 4.1.4. Dwelling Time Constraints

The minimum dwelling timeμi,kmin is related to the number of passengers boarding and alighting from the train at the station i, as shown in (12), where ϕ is the average time of a passenger boarding or alighting from trains. The number of passengers boarding the train bi,kon and the number of passengers alighting from the train bi,koff are calculated from the passenger flow assignment in the lower level model, as shown in (13) and (14). In summary, the dwelling time of trains at intermediate stations along the HSR corridor should satisfy (15).(12)μi,kmin=ϕ⋅bi,kon+bi,koff,∀i,k,(13)bi,kon=∑j>ifijk,∀i,k,(14)bi,koff=∑s<ifsik,∀i,k,(15)μmini,k≤TSik≤μmax,ifωik=1,TSik=0,ifωik=0,∀i,k.


#### 4.1.5. Train Service Capacity Constraint

If a traink dwells at both stations r and s, that is, ωrk⋅ωsk=1, passengers departing from station r and arriving at station s may have a chance to board the train. The number of trains serving OD pair (r, s) should satisfy the below constraint.(16)∑kωrk⋅ωsk≥urs.


### 4.2. Lower Level Programming

#### 4.2.1. Objective Function

(17)minZlower=∑a∈A∫0xacaφdφ.The lower level model is a passenger flow assignment model based on UE theory; its objective function is shown in (17). The objective function itself has no intuitive economic meaning. It is just the best way to find the optimal passenger flow assignment scheme with the minimum and equal generalized travel cost of the same OD pair in TTSN, and mathematical proof will be given later.


#### 4.2.2. Constraints

(18)∑k∈Kfrsk=qrs,∀r,s,(19)frsk≥0,∀r,s,k,(20)xa=∑k∈K∑r∈S∑s∈Sfrsk⋅δrsk,a,∀k,r,s,(21)xa≤η⋅Capa,∀a.Equation (18) is passenger flow conservation constraint; (19) is passenger flow nonnegative constraint; (20) indicates that the arc flow xa is superimposed by all the path flows containing the arc a. Equation (21) is a capacity constraint, which means that the accumulated passenger flow on arc a cannot exceed its service capacity.


#### 4.2.3. Proof of Equivalence between Low-Level Programming Model and Wardrop First Principle

The lower-level programming model constructed is a passenger flow equilibrium assignment model with arc capacity constraints (21). Due to capacity restrictions, arc a also adds a cost penalty. Let ua denote the penalty cost on arc a, and it satisfies(22)ua=0,ifxa<η⋅Capa,ua≥0,ifxa=η⋅Capa,λrs is the minimum generalized cost of OD pair (r, s); according to the user equilibrium conditions of Wardrop, the formula is as follows:(23)∑a∈Aca+ua⋅δrsk,a=λrs,iffrsk>0,∑a∈Aca+ua⋅δrsk,a≥λrs,iffrsk=0.Through the above analysis, the lower level model is a minimum problem with capacity constraints. According to the nonlinear programming theory, the lower level model must be modified firstly. The Lagrange multipliersλrs and τa are introduced for passenger flow conservation and capacity constraints, and the original model is mathematically described with a Lagrangian function, as shown in(24)Lf,λ,τ=∑a∈A∫0xacaφdφ+∑r,s∈Sλrs⋅qrs−∑k∈Kfrsk+∑a∈Aτa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a.In order to obtain the stagnation point of the lower level model, (25) must be satisfied:(25)minLf,λ,τ,frsk≥0,∀k∈K,r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.The first-order condition of (25) is shown in(26)frsk⋅∂L∂frsk=0,∂L∂frsk≥0,∀r,s∈S,k∈K,∂L∂λrs=0,∀r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.To find the first-order derivatives∂L/∂frsk and ∂L/∂λrsof Lf,λ,τ, (26) can be transformed into the following formula:(27)frsk⋅∑a∈Aca⋅δrsk,a−λrs−∑a∈Aτa⋅δrsk,a=0,∀k∈K,r,s∈S,∑a∈Aca⋅δrsk,a−λrs−∑a∈Aτa⋅δrsk,a≥0,∀k∈K,r,s∈S,qrs=∑k∈Kfrsk,∀r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.From (27), the equilibrium condition can be obtained as(28)∑a∈Aca⋅δrsk,a−∑a∈Aτa⋅δrsk,a=λrs,iffrsk>0,∑a∈Aca⋅δrsk,a−∑a∈Aτa⋅δrsk,a≥λrs,iffrsk=0,∀a∈A.When∑r,s∈S∑k∈Kfrsk⋅δrsk,a<η⋅Capa, then τa=0; when ∑r,s∈S∑k∈Kfrsk⋅δrsk,a=η⋅Capa, thenτa≤0. From (23), we can see that ua=−τa; that is, the penalty cost ua of arc a corresponds to its Lagrange multiplier τa.The Lagrangian multiplier λrs of passenger flow conservation constraint is the minimum generalized travel cost of OD pair (r, s). Therefore, (28) is equivalent to (23), and the proof is complete.


## 4.1. Upper Level Programming Model

### 4.1.1. Objective Function

This paper aims to optimize the train timetable under the condition that the number and type of trains are determined. Thus, the total cost of train operations is fixed. The number of skip-stop patterns and the dwelling time of trains at the intermediate stations will result in different total traveling time. Therefore, the upper level model is simplified to minimize the total traveling time of all trains, including section running time and station dwelling time, as shown in(7)minZupper=∑k∈KTAmk−TD1k,where TAmk−TD1k is the traveling time of the train k between the initial station 1 and the terminal station m.


### 4.1.2. Train Arrival and Departure Time Constraints

The arrival time of the trainkat the station i can be calculated from the departure time TDi−1k, the running time in the section hi−1,i and the additional acceleration and deceleration time of the train k at the front station i−1i>1, as shown in(8)TAik=TDi−1k+hi−1,i+εD⋅ωi−1k+εS⋅ωik,∀i>1,k.The arrival timeTDik of the train k at the station i can be calculated by the arrival time TAik and the dwelling time TSik, as shown in(9)TDik=TAik+TSik,∀i,k.


### 4.1.3. Constraint on Safety Interval of Train

After the traink departs from station i, there must be a station safety interval ρminstation to ensure that it is safe for adjacent train k+1 to arrive at station i as shown in (10). In addition, there must be a minimum section safety interval time to ensure that adjacent trains are safe in the section as shown in (11).(10)TAik+1−TDik≥ρminstation,∀i,k,(11)TDik+1−TDik≥ρminsection,∀i,k.


### 4.1.4. Dwelling Time Constraints

The minimum dwelling timeμi,kmin is related to the number of passengers boarding and alighting from the train at the station i, as shown in (12), where ϕ is the average time of a passenger boarding or alighting from trains. The number of passengers boarding the train bi,kon and the number of passengers alighting from the train bi,koff are calculated from the passenger flow assignment in the lower level model, as shown in (13) and (14). In summary, the dwelling time of trains at intermediate stations along the HSR corridor should satisfy (15).(12)μi,kmin=ϕ⋅bi,kon+bi,koff,∀i,k,(13)bi,kon=∑j>ifijk,∀i,k,(14)bi,koff=∑s<ifsik,∀i,k,(15)μmini,k≤TSik≤μmax,ifωik=1,TSik=0,ifωik=0,∀i,k.


### 4.1.5. Train Service Capacity Constraint

If a traink dwells at both stations r and s, that is, ωrk⋅ωsk=1, passengers departing from station r and arriving at station s may have a chance to board the train. The number of trains serving OD pair (r, s) should satisfy the below constraint.(16)∑kωrk⋅ωsk≥urs.


## 4.1.1. Objective Function

This paper aims to optimize the train timetable under the condition that the number and type of trains are determined. Thus, the total cost of train operations is fixed. The number of skip-stop patterns and the dwelling time of trains at the intermediate stations will result in different total traveling time. Therefore, the upper level model is simplified to minimize the total traveling time of all trains, including section running time and station dwelling time, as shown in(7)minZupper=∑k∈KTAmk−TD1k,where TAmk−TD1k is the traveling time of the train k between the initial station 1 and the terminal station m.


## 4.1.2. Train Arrival and Departure Time Constraints

The arrival time of the trainkat the station i can be calculated from the departure time TDi−1k, the running time in the section hi−1,i and the additional acceleration and deceleration time of the train k at the front station i−1i>1, as shown in(8)TAik=TDi−1k+hi−1,i+εD⋅ωi−1k+εS⋅ωik,∀i>1,k.The arrival timeTDik of the train k at the station i can be calculated by the arrival time TAik and the dwelling time TSik, as shown in(9)TDik=TAik+TSik,∀i,k.


## 4.1.3. Constraint on Safety Interval of Train

After the traink departs from station i, there must be a station safety interval ρminstation to ensure that it is safe for adjacent train k+1 to arrive at station i as shown in (10). In addition, there must be a minimum section safety interval time to ensure that adjacent trains are safe in the section as shown in (11).(10)TAik+1−TDik≥ρminstation,∀i,k,(11)TDik+1−TDik≥ρminsection,∀i,k.


## 4.1.4. Dwelling Time Constraints

The minimum dwelling timeμi,kmin is related to the number of passengers boarding and alighting from the train at the station i, as shown in (12), where ϕ is the average time of a passenger boarding or alighting from trains. The number of passengers boarding the train bi,kon and the number of passengers alighting from the train bi,koff are calculated from the passenger flow assignment in the lower level model, as shown in (13) and (14). In summary, the dwelling time of trains at intermediate stations along the HSR corridor should satisfy (15).(12)μi,kmin=ϕ⋅bi,kon+bi,koff,∀i,k,(13)bi,kon=∑j>ifijk,∀i,k,(14)bi,koff=∑s<ifsik,∀i,k,(15)μmini,k≤TSik≤μmax,ifωik=1,TSik=0,ifωik=0,∀i,k.


## 4.1.5. Train Service Capacity Constraint

If a traink dwells at both stations r and s, that is, ωrk⋅ωsk=1, passengers departing from station r and arriving at station s may have a chance to board the train. The number of trains serving OD pair (r, s) should satisfy the below constraint.(16)∑kωrk⋅ωsk≥urs.


## 4.2. Lower Level Programming

### 4.2.1. Objective Function

(17)minZlower=∑a∈A∫0xacaφdφ.The lower level model is a passenger flow assignment model based on UE theory; its objective function is shown in (17). The objective function itself has no intuitive economic meaning. It is just the best way to find the optimal passenger flow assignment scheme with the minimum and equal generalized travel cost of the same OD pair in TTSN, and mathematical proof will be given later.


### 4.2.2. Constraints

(18)∑k∈Kfrsk=qrs,∀r,s,(19)frsk≥0,∀r,s,k,(20)xa=∑k∈K∑r∈S∑s∈Sfrsk⋅δrsk,a,∀k,r,s,(21)xa≤η⋅Capa,∀a.Equation (18) is passenger flow conservation constraint; (19) is passenger flow nonnegative constraint; (20) indicates that the arc flow xa is superimposed by all the path flows containing the arc a. Equation (21) is a capacity constraint, which means that the accumulated passenger flow on arc a cannot exceed its service capacity.


### 4.2.3. Proof of Equivalence between Low-Level Programming Model and Wardrop First Principle

The lower-level programming model constructed is a passenger flow equilibrium assignment model with arc capacity constraints (21). Due to capacity restrictions, arc a also adds a cost penalty. Let ua denote the penalty cost on arc a, and it satisfies(22)ua=0,ifxa<η⋅Capa,ua≥0,ifxa=η⋅Capa,λrs is the minimum generalized cost of OD pair (r, s); according to the user equilibrium conditions of Wardrop, the formula is as follows:(23)∑a∈Aca+ua⋅δrsk,a=λrs,iffrsk>0,∑a∈Aca+ua⋅δrsk,a≥λrs,iffrsk=0.Through the above analysis, the lower level model is a minimum problem with capacity constraints. According to the nonlinear programming theory, the lower level model must be modified firstly. The Lagrange multipliersλrs and τa are introduced for passenger flow conservation and capacity constraints, and the original model is mathematically described with a Lagrangian function, as shown in(24)Lf,λ,τ=∑a∈A∫0xacaφdφ+∑r,s∈Sλrs⋅qrs−∑k∈Kfrsk+∑a∈Aτa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a.In order to obtain the stagnation point of the lower level model, (25) must be satisfied:(25)minLf,λ,τ,frsk≥0,∀k∈K,r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.The first-order condition of (25) is shown in(26)frsk⋅∂L∂frsk=0,∂L∂frsk≥0,∀r,s∈S,k∈K,∂L∂λrs=0,∀r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.To find the first-order derivatives∂L/∂frsk and ∂L/∂λrsof Lf,λ,τ, (26) can be transformed into the following formula:(27)frsk⋅∑a∈Aca⋅δrsk,a−λrs−∑a∈Aτa⋅δrsk,a=0,∀k∈K,r,s∈S,∑a∈Aca⋅δrsk,a−λrs−∑a∈Aτa⋅δrsk,a≥0,∀k∈K,r,s∈S,qrs=∑k∈Kfrsk,∀r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.From (27), the equilibrium condition can be obtained as(28)∑a∈Aca⋅δrsk,a−∑a∈Aτa⋅δrsk,a=λrs,iffrsk>0,∑a∈Aca⋅δrsk,a−∑a∈Aτa⋅δrsk,a≥λrs,iffrsk=0,∀a∈A.When∑r,s∈S∑k∈Kfrsk⋅δrsk,a<η⋅Capa, then τa=0; when ∑r,s∈S∑k∈Kfrsk⋅δrsk,a=η⋅Capa, thenτa≤0. From (23), we can see that ua=−τa; that is, the penalty cost ua of arc a corresponds to its Lagrange multiplier τa.The Lagrangian multiplier λrs of passenger flow conservation constraint is the minimum generalized travel cost of OD pair (r, s). Therefore, (28) is equivalent to (23), and the proof is complete.


## 4.2.1. Objective Function

(17)minZlower=∑a∈A∫0xacaφdφ.The lower level model is a passenger flow assignment model based on UE theory; its objective function is shown in (17). The objective function itself has no intuitive economic meaning. It is just the best way to find the optimal passenger flow assignment scheme with the minimum and equal generalized travel cost of the same OD pair in TTSN, and mathematical proof will be given later.


## 4.2.2. Constraints

(18)∑k∈Kfrsk=qrs,∀r,s,(19)frsk≥0,∀r,s,k,(20)xa=∑k∈K∑r∈S∑s∈Sfrsk⋅δrsk,a,∀k,r,s,(21)xa≤η⋅Capa,∀a.Equation (18) is passenger flow conservation constraint; (19) is passenger flow nonnegative constraint; (20) indicates that the arc flow xa is superimposed by all the path flows containing the arc a. Equation (21) is a capacity constraint, which means that the accumulated passenger flow on arc a cannot exceed its service capacity.


## 4.2.3. Proof of Equivalence between Low-Level Programming Model and Wardrop First Principle

The lower-level programming model constructed is a passenger flow equilibrium assignment model with arc capacity constraints (21). Due to capacity restrictions, arc a also adds a cost penalty. Let ua denote the penalty cost on arc a, and it satisfies(22)ua=0,ifxa<η⋅Capa,ua≥0,ifxa=η⋅Capa,λrs is the minimum generalized cost of OD pair (r, s); according to the user equilibrium conditions of Wardrop, the formula is as follows:(23)∑a∈Aca+ua⋅δrsk,a=λrs,iffrsk>0,∑a∈Aca+ua⋅δrsk,a≥λrs,iffrsk=0.Through the above analysis, the lower level model is a minimum problem with capacity constraints. According to the nonlinear programming theory, the lower level model must be modified firstly. The Lagrange multipliersλrs and τa are introduced for passenger flow conservation and capacity constraints, and the original model is mathematically described with a Lagrangian function, as shown in(24)Lf,λ,τ=∑a∈A∫0xacaφdφ+∑r,s∈Sλrs⋅qrs−∑k∈Kfrsk+∑a∈Aτa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a.In order to obtain the stagnation point of the lower level model, (25) must be satisfied:(25)minLf,λ,τ,frsk≥0,∀k∈K,r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.The first-order condition of (25) is shown in(26)frsk⋅∂L∂frsk=0,∂L∂frsk≥0,∀r,s∈S,k∈K,∂L∂λrs=0,∀r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.To find the first-order derivatives∂L/∂frsk and ∂L/∂λrsof Lf,λ,τ, (26) can be transformed into the following formula:(27)frsk⋅∑a∈Aca⋅δrsk,a−λrs−∑a∈Aτa⋅δrsk,a=0,∀k∈K,r,s∈S,∑a∈Aca⋅δrsk,a−λrs−∑a∈Aτa⋅δrsk,a≥0,∀k∈K,r,s∈S,qrs=∑k∈Kfrsk,∀r,s∈S,τa⋅η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a=0,∀a∈A,η⋅Capa−∑r,s∈S∑k∈Kfrsk⋅δrsk,a≥0,∀a∈A,τa≤0,∀a∈A.From (27), the equilibrium condition can be obtained as(28)∑a∈Aca⋅δrsk,a−∑a∈Aτa⋅δrsk,a=λrs,iffrsk>0,∑a∈Aca⋅δrsk,a−∑a∈Aτa⋅δrsk,a≥λrs,iffrsk=0,∀a∈A.When∑r,s∈S∑k∈Kfrsk⋅δrsk,a<η⋅Capa, then τa=0; when ∑r,s∈S∑k∈Kfrsk⋅δrsk,a=η⋅Capa, thenτa≤0. From (23), we can see that ua=−τa; that is, the penalty cost ua of arc a corresponds to its Lagrange multiplier τa.The Lagrangian multiplier λrs of passenger flow conservation constraint is the minimum generalized travel cost of OD pair (r, s). Therefore, (28) is equivalent to (23), and the proof is complete.


## 5. Implementations of Algorithm

The developed model in the paper is a bilevel programming model. It has proved to be a nondeterministic polynomial (NP-hard) problem (Brimberg et al. [40], Sun et al. [41]), which is difficult to solve by general gradient-based optimization approach or commercial optimization solver. The genetic algorithm (GA) is exploited to solve the upper level programming model, and the Frank–Wolfe algorithm is applied to determine the lower level programming model.


### 5.1. Genetic Algorithm

#### 5.1.1. Chromosome Coding

The chromosome is coded by integers and consists ofn gene segments, representing n trains, as shown in Figure 6. Each gene fragment has the same structure, and it has m−1 gene positions. In particular, the first position represents the departure time of train k at the initial station 1, and the 2∼m−1 position represents the dwelling time of the train at station 2∼m−1, respectively.Figure 6
Chromosome structure.We will take a simple example to illustrate the coding rules of the above chromosomes. As shown in Figure7, the train k departs from initial station at the 360th minute (6 : 00 am), the dwelling times are 6 min, 0 min, and 3 min at stations 2, 3, and 4, respectively. The corresponding gene position is 360, 6, 0, 3 for the train k. Furthermore, the departure and arrival time of train k at all stations can be deduced from the numbers of the above 4 gene positions according to (8) and (9).Figure 7
Code rules for chromosomes.


#### 5.1.2. Genetic Operation

Selection operation: When performing a selection operation, the best individual of this generation is retained to enter the next operation according to the degree of fitness, and the remaining individuals are randomly selected according to roulette. The detailed steps are as follows: Firstly, calculate the total fitness of all chromosomesℓb in the population according to (29); then, compute the probability of chromosome being selected according to (30); finally, generate a random number κrand∈0,1, and select the chromosome if it satisfies (31).(29)fitnesssum=∑b=1Psizefitnessℓb,(30)pℓb=fitnessℓbfitnesssum,(31)pℓ1+pℓ2+⋯+pℓb−1≤κrand≤pℓ1+pℓ2+⋯+pℓb.Crossover operation: We use a bipoint crossover operation; that is, we randomly select two crossover points and then generate a random numberζrand∈0,1. If ζrand is less than the preset crossover probabilityPc, then we exchange the gene sequences of the two selected parent chromosomes between two crossover points. The detailed procedure of crossover operation is shown in Figure 8.Figure 8
A schematic diagram of the chromosome two-point crossover operator.Mutation operation: According to the characteristics of chromosome coding, this paper uses three mutation probabilities,Pm1, Pm2, and Pm3, to perform mutation operations as follows:(1)
If the selected gene position isTSik∈μi,kmin,μmax and ξrand<Pm1, then set the value of gene position TSik to 0.(2)
If the selected gene position isTSik=0 and ξrand<Pm2, then set the value of gene position TSikto an integer between μi,kmin and μmax.(3)
If the selected gene position isTDik and ξrand<Pm3, then an integer is randomly selected to replace it within the departure time range.An example of the above mutation operation is shown in Figure9. Station 2 was randomly selected as the mutation point, and the value TS2kchanges from 6 to 0.Figure 9
Mutation operation.Since the trains’ departure time and dwelling time are affected by the station interval time and train departure interval time, some chromosomes after initialization and cross-mutation will lose their generality and need to be adjusted.(1)Adjustment method of station safety interval. For example, at station 3, the difference of the arrival time of train k+1 and the departure time of train kconflicts with the station safety interval; that is, TA3k+1−TD3k<ρminstation; then, TA3k+1 needs to be adjusted as TA3k+1′, TA3k+1′=TA3k+1+∇. The notation ∇ denotes the adjustment amount, ∇=ρminstation−TA3k+1−TD3k. Meanwhile, the arrival and departure time of the train k+1 at all other stations are increased by ∇, as shown in Figure 10:Figure 10
Adjustment method of station interval.(2)Adjustment method of section interval. For example, at station 3, for the adjacent trainsk and k+1, if TD3k+1−TD3k<ρminsection, then TD3k+1 need to be adjusted as TD3k+1′, TD3k+1′=TD3k+1+∇. The symbol ∇ represents the adjusted amount, ∇=ρminsection−TD3k+1−TD3k. Meanwhile, the arrival and departure time of train k+1 are increased by ∇ from station 3 to terminal stationm, as shown in Figure 11.Figure 11
Adjustment method of section interval.


### 5.2. Frank–Wolfe Algorithm

We fix the current train timetableΩο determined by the upper level programming and then solve the lower level programming by Frank–Wolfe algorithm to obtain xa which conforms to the principle of Wardrop user equilibrium. The specific processes are listed as follows:(0)
Initialize: Set the impedanceca⋅=ca0 for all arcs in TTSN. Calculate the generalized cost gcrsk0 by (6). The passenger flow demands that qrs is allocated to the path with the smallest generalized cost by “all-or-nothing” method; then, the flow of each arc xa1 is obtained. Set iteration ο=1.(1)
Update the impedance of all arcs in TTSN.(2)
Search the iteration direction: According tocaxa, qrs is allocated to the path with the smallest generalized cost by using the “all-or-nothing” method to obtain a set of additional arc flows yaο.(3)
Calculate the length of iteration step: Use the dichotomy approach to findξ which satisfies the formula(32)∑ayaο−xaο⋅caxaο+ξ⋅yaο−xaο=0.(4)
Update the cumulative flow of each arc through the recurrence formula(33)xaο+1=xaο+ξ⋅yaο−xaο,∀a.(5)
If the convergence criterion of (34) is satisfied, terminate the algorithm; otherwise, set ο=ο+1 and go to Step (1).(34)∑axaο+1−xaο2∑axaο<Δ,where Δ is the predetermined allowed deviation.


### 5.3. The Genetic Algorithm Process of the Nested Frank–Wolfe Method

Step 1: Initialize.Step 1.1: Initialize the maximum iterationGe, crossover probability Pc, and mutation probability Pm1, Pm2, and Pm3; set the loop variable ς1=0.Step 1.2: Assign an initial valueϑ to the auxiliary variable μi,kmin, and randomly generate an initial feasible solution TD1k,TSik|1<i<m,i∈S,k∈K according to the above chromosome coding rules.Step 1.3: According to (8) and (9), generate the train timetable TDik,TAik|i∈S,k∈K.Step 1.4: If the current chromosome satisfies (8)∼(11), then set the loop variable ς1=ς1+1 and go to Step 1.5; otherwise, return to Step 1.2 to regenerate a chromosome.Step 1.5: Ifς1=Psize, the initial population is obtained, and then go to Step 1.6; otherwise, go to Step 1.2.Step 1.6: Set the iterationη=0 and go to Step 2.Step 2: Calculate the fitness of each chromosome in the initial populationStep 2.1: According to the coding scheme of each chromosome in the population, update the skip-stop patternωik|1<i<m,i∈S,k∈K of the train k at the intermediate station and the train timetable TDik,TAik|i∈S,k∈K.Step 2.2: Set the loop variableς2=0.Step 2.3: For the current chromosome, use the Frank–Wolfe algorithm to solve the lower level planning, and obtain the allocation resultsfijk|i,j∈S,k∈K of each OD pair.Step 2.4: According to (13) and (14), calculate the number of boarding passengers bi,kon and alighting passengers bi,koff at the stationi, and then calculate the value of the parameter μi,kmin under the current distribution result according to (12). If μi,kmin<ϑ, put the corresponding chromosome into the mating pool, set ς2=ς2+1, and go to Step 2.5; otherwise, adjust TSik and TDik according to the chromosome adjustment method designed above, and go to Step 2.3.Step 2.5: Ifς2=Psize, go to Step 2.6; otherwise, go to Step 2.3.Step 2.6: Calculate the fitness of each chromosome for the current population.Step 3: Update the population using genetic operations.Step 3.1: Use the genetic operations to perform selection operations, crossover operations, and mutation operations to obtain a new population, and set the iterationsη=η+1.Step 3.2: Check whether all chromosomes in the current population satisfy (10)∼(11), and set the loop variable ς3=0.Step 3.3: Check whether each gene value of the current chromosome satisfies (10)∼(11); if so, put the current chromosome into the mating pool, set ς3=ς3+1, and go to Step 3.4; otherwise, go to Step 4 to repair the chromosome to ensure the feasibility of the population.Step 3.4: Ifς3=Psize, go to Step 5; otherwise, go to Step 3.2.Step 4: Repair chromosome.Step 4.1: Set loop variableς4=0.Step 4.2: According to the current chromosome value, decode the chromosome to get the timetableTAik,TDik|i∈S,k∈K.Step 4.3: Check whether the trainsk and k+1 at stations satisfy (11) in the current timetable. If they satisfy the requirements, go to Step 4.5; if not, go to Step 4.6.Step 4.4: SetTAsk+1=TAsk+1+∇, TDsk+1=TDsk+1+∇, j≤s≤m, and ωj′k+1=0, j<j′<i, ∇=ρminstation−TAik+1−TDik; go to Step 4.6.Step 4.5: Check whether the trainsk and k+1 at stations satisfy (12) in the current timetable. If they satisfy the requirements, go to Step 3; if not, go to Step 4.6.Step 4.6: SetTAsk+1=TAsk+1+∇, TDsk+1=TDsk+1+∇, i≤s≤m, ∇=ρminstation−TDik+1−TDik, and go to Step 3.Step 5: Judgment of terminate condition: If the number of iterationsη is more than the maximum iteration Ge, go to Step 6; otherwise, go to Step 2.Step 6: Output the result.Output the most adaptive decision variablesTD1k,TSik|1<i<m,i∈S,k∈K in the current generation, and calculate the timetable TDik,TAik|i∈S,k∈K and the results of flow assignment in the lower layer model.


## 5.1. Genetic Algorithm

### 5.1.1. Chromosome Coding

The chromosome is coded by integers and consists ofn gene segments, representing n trains, as shown in Figure 6. Each gene fragment has the same structure, and it has m−1 gene positions. In particular, the first position represents the departure time of train k at the initial station 1, and the 2∼m−1 position represents the dwelling time of the train at station 2∼m−1, respectively.Figure 6
Chromosome structure.We will take a simple example to illustrate the coding rules of the above chromosomes. As shown in Figure7, the train k departs from initial station at the 360th minute (6 : 00 am), the dwelling times are 6 min, 0 min, and 3 min at stations 2, 3, and 4, respectively. The corresponding gene position is 360, 6, 0, 3 for the train k. Furthermore, the departure and arrival time of train k at all stations can be deduced from the numbers of the above 4 gene positions according to (8) and (9).Figure 7
Code rules for chromosomes.


### 5.1.2. Genetic Operation

Selection operation: When performing a selection operation, the best individual of this generation is retained to enter the next operation according to the degree of fitness, and the remaining individuals are randomly selected according to roulette. The detailed steps are as follows: Firstly, calculate the total fitness of all chromosomesℓb in the population according to (29); then, compute the probability of chromosome being selected according to (30); finally, generate a random number κrand∈0,1, and select the chromosome if it satisfies (31).(29)fitnesssum=∑b=1Psizefitnessℓb,(30)pℓb=fitnessℓbfitnesssum,(31)pℓ1+pℓ2+⋯+pℓb−1≤κrand≤pℓ1+pℓ2+⋯+pℓb.Crossover operation: We use a bipoint crossover operation; that is, we randomly select two crossover points and then generate a random numberζrand∈0,1. If ζrand is less than the preset crossover probabilityPc, then we exchange the gene sequences of the two selected parent chromosomes between two crossover points. The detailed procedure of crossover operation is shown in Figure 8.Figure 8
A schematic diagram of the chromosome two-point crossover operator.Mutation operation: According to the characteristics of chromosome coding, this paper uses three mutation probabilities,Pm1, Pm2, and Pm3, to perform mutation operations as follows:(1)
If the selected gene position isTSik∈μi,kmin,μmax and ξrand<Pm1, then set the value of gene position TSik to 0.(2)
If the selected gene position isTSik=0 and ξrand<Pm2, then set the value of gene position TSikto an integer between μi,kmin and μmax.(3)
If the selected gene position isTDik and ξrand<Pm3, then an integer is randomly selected to replace it within the departure time range.An example of the above mutation operation is shown in Figure9. Station 2 was randomly selected as the mutation point, and the value TS2kchanges from 6 to 0.Figure 9
Mutation operation.Since the trains’ departure time and dwelling time are affected by the station interval time and train departure interval time, some chromosomes after initialization and cross-mutation will lose their generality and need to be adjusted.(1)Adjustment method of station safety interval. For example, at station 3, the difference of the arrival time of train k+1 and the departure time of train kconflicts with the station safety interval; that is, TA3k+1−TD3k<ρminstation; then, TA3k+1 needs to be adjusted as TA3k+1′, TA3k+1′=TA3k+1+∇. The notation ∇ denotes the adjustment amount, ∇=ρminstation−TA3k+1−TD3k. Meanwhile, the arrival and departure time of the train k+1 at all other stations are increased by ∇, as shown in Figure 10:Figure 10
Adjustment method of station interval.(2)Adjustment method of section interval. For example, at station 3, for the adjacent trainsk and k+1, if TD3k+1−TD3k<ρminsection, then TD3k+1 need to be adjusted as TD3k+1′, TD3k+1′=TD3k+1+∇. The symbol ∇ represents the adjusted amount, ∇=ρminsection−TD3k+1−TD3k. Meanwhile, the arrival and departure time of train k+1 are increased by ∇ from station 3 to terminal stationm, as shown in Figure 11.Figure 11
Adjustment method of section interval.


## 5.1.1. Chromosome Coding

The chromosome is coded by integers and consists ofn gene segments, representing n trains, as shown in Figure 6. Each gene fragment has the same structure, and it has m−1 gene positions. In particular, the first position represents the departure time of train k at the initial station 1, and the 2∼m−1 position represents the dwelling time of the train at station 2∼m−1, respectively.Figure 6
Chromosome structure.We will take a simple example to illustrate the coding rules of the above chromosomes. As shown in Figure7, the train k departs from initial station at the 360th minute (6 : 00 am), the dwelling times are 6 min, 0 min, and 3 min at stations 2, 3, and 4, respectively. The corresponding gene position is 360, 6, 0, 3 for the train k. Furthermore, the departure and arrival time of train k at all stations can be deduced from the numbers of the above 4 gene positions according to (8) and (9).Figure 7
Code rules for chromosomes.


## 5.1.2. Genetic Operation

Selection operation: When performing a selection operation, the best individual of this generation is retained to enter the next operation according to the degree of fitness, and the remaining individuals are randomly selected according to roulette. The detailed steps are as follows: Firstly, calculate the total fitness of all chromosomesℓb in the population according to (29); then, compute the probability of chromosome being selected according to (30); finally, generate a random number κrand∈0,1, and select the chromosome if it satisfies (31).(29)fitnesssum=∑b=1Psizefitnessℓb,(30)pℓb=fitnessℓbfitnesssum,(31)pℓ1+pℓ2+⋯+pℓb−1≤κrand≤pℓ1+pℓ2+⋯+pℓb.Crossover operation: We use a bipoint crossover operation; that is, we randomly select two crossover points and then generate a random numberζrand∈0,1. If ζrand is less than the preset crossover probabilityPc, then we exchange the gene sequences of the two selected parent chromosomes between two crossover points. The detailed procedure of crossover operation is shown in Figure 8.Figure 8
A schematic diagram of the chromosome two-point crossover operator.Mutation operation: According to the characteristics of chromosome coding, this paper uses three mutation probabilities,Pm1, Pm2, and Pm3, to perform mutation operations as follows:(1)
If the selected gene position isTSik∈μi,kmin,μmax and ξrand<Pm1, then set the value of gene position TSik to 0.(2)
If the selected gene position isTSik=0 and ξrand<Pm2, then set the value of gene position TSikto an integer between μi,kmin and μmax.(3)
If the selected gene position isTDik and ξrand<Pm3, then an integer is randomly selected to replace it within the departure time range.An example of the above mutation operation is shown in Figure9. Station 2 was randomly selected as the mutation point, and the value TS2kchanges from 6 to 0.Figure 9
Mutation operation.Since the trains’ departure time and dwelling time are affected by the station interval time and train departure interval time, some chromosomes after initialization and cross-mutation will lose their generality and need to be adjusted.(1)Adjustment method of station safety interval. For example, at station 3, the difference of the arrival time of train k+1 and the departure time of train kconflicts with the station safety interval; that is, TA3k+1−TD3k<ρminstation; then, TA3k+1 needs to be adjusted as TA3k+1′, TA3k+1′=TA3k+1+∇. The notation ∇ denotes the adjustment amount, ∇=ρminstation−TA3k+1−TD3k. Meanwhile, the arrival and departure time of the train k+1 at all other stations are increased by ∇, as shown in Figure 10:Figure 10
Adjustment method of station interval.(2)Adjustment method of section interval. For example, at station 3, for the adjacent trainsk and k+1, if TD3k+1−TD3k<ρminsection, then TD3k+1 need to be adjusted as TD3k+1′, TD3k+1′=TD3k+1+∇. The symbol ∇ represents the adjusted amount, ∇=ρminsection−TD3k+1−TD3k. Meanwhile, the arrival and departure time of train k+1 are increased by ∇ from station 3 to terminal stationm, as shown in Figure 11.Figure 11
Adjustment method of section interval.


## 5.2. Frank–Wolfe Algorithm

We fix the current train timetableΩο determined by the upper level programming and then solve the lower level programming by Frank–Wolfe algorithm to obtain xa which conforms to the principle of Wardrop user equilibrium. The specific processes are listed as follows:(0)
Initialize: Set the impedanceca⋅=ca0 for all arcs in TTSN. Calculate the generalized cost gcrsk0 by (6). The passenger flow demands that qrs is allocated to the path with the smallest generalized cost by “all-or-nothing” method; then, the flow of each arc xa1 is obtained. Set iteration ο=1.(1)
Update the impedance of all arcs in TTSN.(2)
Search the iteration direction: According tocaxa, qrs is allocated to the path with the smallest generalized cost by using the “all-or-nothing” method to obtain a set of additional arc flows yaο.(3)
Calculate the length of iteration step: Use the dichotomy approach to findξ which satisfies the formula(32)∑ayaο−xaο⋅caxaο+ξ⋅yaο−xaο=0.(4)
Update the cumulative flow of each arc through the recurrence formula(33)xaο+1=xaο+ξ⋅yaο−xaο,∀a.(5)
If the convergence criterion of (34) is satisfied, terminate the algorithm; otherwise, set ο=ο+1 and go to Step (1).(34)∑axaο+1−xaο2∑axaο<Δ,where Δ is the predetermined allowed deviation.


## 5.3. The Genetic Algorithm Process of the Nested Frank–Wolfe Method

Step 1: Initialize.Step 1.1: Initialize the maximum iterationGe, crossover probability Pc, and mutation probability Pm1, Pm2, and Pm3; set the loop variable ς1=0.Step 1.2: Assign an initial valueϑ to the auxiliary variable μi,kmin, and randomly generate an initial feasible solution TD1k,TSik|1<i<m,i∈S,k∈K according to the above chromosome coding rules.Step 1.3: According to (8) and (9), generate the train timetable TDik,TAik|i∈S,k∈K.Step 1.4: If the current chromosome satisfies (8)∼(11), then set the loop variable ς1=ς1+1 and go to Step 1.5; otherwise, return to Step 1.2 to regenerate a chromosome.Step 1.5: Ifς1=Psize, the initial population is obtained, and then go to Step 1.6; otherwise, go to Step 1.2.Step 1.6: Set the iterationη=0 and go to Step 2.Step 2: Calculate the fitness of each chromosome in the initial populationStep 2.1: According to the coding scheme of each chromosome in the population, update the skip-stop patternωik|1<i<m,i∈S,k∈K of the train k at the intermediate station and the train timetable TDik,TAik|i∈S,k∈K.Step 2.2: Set the loop variableς2=0.Step 2.3: For the current chromosome, use the Frank–Wolfe algorithm to solve the lower level planning, and obtain the allocation resultsfijk|i,j∈S,k∈K of each OD pair.Step 2.4: According to (13) and (14), calculate the number of boarding passengers bi,kon and alighting passengers bi,koff at the stationi, and then calculate the value of the parameter μi,kmin under the current distribution result according to (12). If μi,kmin<ϑ, put the corresponding chromosome into the mating pool, set ς2=ς2+1, and go to Step 2.5; otherwise, adjust TSik and TDik according to the chromosome adjustment method designed above, and go to Step 2.3.Step 2.5: Ifς2=Psize, go to Step 2.6; otherwise, go to Step 2.3.Step 2.6: Calculate the fitness of each chromosome for the current population.Step 3: Update the population using genetic operations.Step 3.1: Use the genetic operations to perform selection operations, crossover operations, and mutation operations to obtain a new population, and set the iterationsη=η+1.Step 3.2: Check whether all chromosomes in the current population satisfy (10)∼(11), and set the loop variable ς3=0.Step 3.3: Check whether each gene value of the current chromosome satisfies (10)∼(11); if so, put the current chromosome into the mating pool, set ς3=ς3+1, and go to Step 3.4; otherwise, go to Step 4 to repair the chromosome to ensure the feasibility of the population.Step 3.4: Ifς3=Psize, go to Step 5; otherwise, go to Step 3.2.Step 4: Repair chromosome.Step 4.1: Set loop variableς4=0.Step 4.2: According to the current chromosome value, decode the chromosome to get the timetableTAik,TDik|i∈S,k∈K.Step 4.3: Check whether the trainsk and k+1 at stations satisfy (11) in the current timetable. If they satisfy the requirements, go to Step 4.5; if not, go to Step 4.6.Step 4.4: SetTAsk+1=TAsk+1+∇, TDsk+1=TDsk+1+∇, j≤s≤m, and ωj′k+1=0, j<j′<i, ∇=ρminstation−TAik+1−TDik; go to Step 4.6.Step 4.5: Check whether the trainsk and k+1 at stations satisfy (12) in the current timetable. If they satisfy the requirements, go to Step 3; if not, go to Step 4.6.Step 4.6: SetTAsk+1=TAsk+1+∇, TDsk+1=TDsk+1+∇, i≤s≤m, ∇=ρminstation−TDik+1−TDik, and go to Step 3.Step 5: Judgment of terminate condition: If the number of iterationsη is more than the maximum iteration Ge, go to Step 6; otherwise, go to Step 2.Step 6: Output the result.Output the most adaptive decision variablesTD1k,TSik|1<i<m,i∈S,k∈K in the current generation, and calculate the timetable TDik,TAik|i∈S,k∈K and the results of flow assignment in the lower layer model.


## 6. Numerical Experiments

### 6.1. Input Parameter Setting

In this section, the proposed models and algorithms will be demonstrated by a real-world example based on the Lanzhou-Xi’an high-speed railway corridor in China, which consists of 10 stations and 9 sections, as shown in Figure12. For convenience, the stations are numbered as 1, 2, …, 10 along the up direction. The distance and train running time of each section are listed in Table 2. Other input parameters are shown in Tables 3 and 4. The passenger demand for each OD pair within operating period can be found in Table 5.Figure 12
Schematic diagram of Lanzhou-Xi’an high-speed railway corridor.Table 2
The values of parametershi,i+1 and li,i+1 (min, km).
i123456789hi,i+126.920.414.310.636.89.710.715.79.0li,i+110378554114137416035Table 3
The values of other input parameters.
ParametersValuesn65 trainsα2.5εS1 minεD2 minμmax6 minγ2 CNY/minρminsection3 minρminstation2 minϕ0.36 secΔ0.001βa5,∀a∈Adepartβa0.4,∀a∈Atravelβa0.5,∀a∈Adwellg0.3 CNY/person/kmCapa600 persons,∀a∈ATable 4
Daily average OD passenger flow data of Lanzhou-Xi’an high-speed railway corridor.
StationiStationj2345678910122476741124359633711124899112438202—3002624493001121121505623——75112753737751504———1507537371121505————7497511218726226—————37556256214987——————1871873758———————1877499————————187total224797414614307457017601946258429963Table 5
The optimized departure/arrival time on origin/terminal station for each train.
Train no.Departure timeArrival time16 : 179 : 2626 : 339 : 4436 : 419 : 4746 : 5010 : 0857 : 1710 : 3467 : 4510 : 3777 : 4810 : 5588 : 1410 : 5898 : 1711 : 8108 : 2011 : 32118 : 3411 : 39128 : 4011 : 49138 : 5711 : 55149 : 0612 : 06159 : 1712 : 27169 : 3912 : 30179 : 4212 : 421810 : 0712 : 521910 : 1013 : 282010 : 2813 : 432110 : 5213 : 502210 : 5514 : 172311 : 2214 : 202411 : 3414 : 522512 : 0415 : 032612 : 1515 : 62712 : 1915 : 112812 : 2815 : 412912 : 5115 : 493012 : 5415 : 573113 : 0516 : 213213 : 1916 : 343313 : 4516 : 373413 : 5316 : 583514 : 0117 : 233614 : 2417 : 273714 : 4117 : 353814 : 5217 : 483914 : 5518 : 034015 : 1618 : 064115 : 1918 : 254215 : 2718 : 374315 : 5418 : 494416 : 0519 : 134516 : 2119 : 314616 : 3719 : 464716 : 4219 : 494816 : 5719 : 574917 : 0520 : 175017 : 1020 : 255117 : 2920 : 285217 : 3920 : 315317 : 4220 : 525417 : 5721 : 175518 : 3421 : 205618 : 4321 : 375718 : 4622 : 065819 : 1122 : 245919 : 2022 : 276019 : 3322 : 466119 : 4722 : 596220 : 0323 : 026320 : 0823 : 056420 : 1823 : 236520 : 3123 : 34In addition, the necessary parameters associated with the developed metaheuristic algorithm should be carefully specified. We set population size in the genetic algorithm toPsize=100, crossover probability to Pc=0.8, Pm1=0.07, Pm2=0.05, Pm3=0.03, and maximum number of iterations to Ge=100.


### 6.2. Computing Results

The departure time of all trains at initial station and the arrival time at terminal station are calculated, as shown in Table5. In this scheme, the first train departs from the initial station at 6 : 17 and arrives at the terminal at 9 : 26. The last train departs from the departure station at 20 : 31 and arrives at the terminal station at 23 : 34. The optimized time horizon of train operation is basically consistent as the preplanned time horizon [6 : 00, 24 : 00].The optimized skip-stop pattern and dwelling time of each train are shown in Table6. The train with the least travel time is the 8th which dwells once at the intermediate station for 4 minutes; the trains with the longest travel time are the 22nd and 35th, which dwell 6 times, and the total dwelling time was 22 minutes.Table 6
The optimized dwelling times for each train (min).
Train no.StationsTotal2345678910003044617220230430143326020001345362005021502004546216000030507700630033158000004004900040002710005605402011040330401312400505301713200400301014005052001215002043321416000003407170205040012180000005051905624050222033005404192102000250102220363305222323050000102403505460222530002006112600030040827060000208280344040217290050003311304066000015314206404020326340002419330035000083430043200123504443305223600045600153700004600103800003303839500204051640002040006410530302014420565030018435000000611440345000416450060346018460000364417474040304015480300404011490023203515500550022519510206030011520404000085340265000175455004405245506000000656040060001057264006062458000353231759403404001460050220521761000366062062050042001163300240009640034304013650050050414The stopping times of different trains at intermediate stations are significantly different, as shown in Figure13. In general, the number of trains dwelling at the intermediate station is relatively even, as shown in Figure 14, where there are more than 30 trains dwelling at intermediate stations 5, 6, 7, and 8, and more than 25 trains dwelling at intermediate stations 3, 4, and 9. There are also significant differences in the distribution of trains with different skip-stop pattern in each time period by hour, as shown in Figure 15.Figure 13
Times of train stopping at intermediate stations.Figure 14
Number of trains stopping at intermediate stations.Figure 15
Number of trains with different number of stops in each period.By knowing the departure time of trains at initial station and the dwelling time at each intermediate station, an optimized train timetable can be derived, which is transformed into a graphical train timetable as shown in Figure16. The number of passengers served by trains is shown in Table 7, where the 13th train served the most with a total of 667 passengers; the 65th train has the least number of passengers, 281; and the average value of trains service passengers is 461. The occupancy rate of a total of 65 trains in sections is shown in Figure 17.Figure 16
Train diagram based on optimized train timetable.Table 7
The number of passengers on each train (person).
Train no.Passengers number1389254834844463538564387400831894521043911547125731366714416154941636117470183691964320514214342257523531244112548226411273342847929320305323161532391335083464335513364933740038460395324044341490424304339944403453844642447517484164949550325514035252853620544955533456357573885846159521604796142162396636616445865281Figure 17
Train diagram with seats occupancy information.Through calculation, passenger flow assignment results of a total of 45 OD pairs on trains can be obtained. The passengers’ traveling information and the average value of generalized costs and are shown in Table8. The time range of trains (from the earliest departure time to the latest departure time) that OD passengers can ride is 13 hours and 12 minutes on average. The smallest time range is that of OD pair (2,9), which is 8 hours and 17 minutes; the widest is that of OD pair (7,9) and (7,10), which is 14 hours and 17 minutes for both.Table 8
Departure time and travel generalized cost for each OD pairs.
OD pairsEarliest departure timeLatest departure timeNumber of trainsGeneralized cost1-26 : 3320 : 0821411-36 : 4120 : 0328731-46 : 3320 : 1829941-56 : 1720 : 18341141-66 : 4120 : 18331641-76 : 1720 : 31331821-86 : 1720 : 18312001-96 : 1720 : 31352261-106 : 1720 : 31652392-37 : 1519 : 198342-47 : 0619 : 5510592-57 : 0620 : 4213762-67 : 1520 : 42101252-77 : 0619 : 5591452-87 : 0617 : 1771632-911 : 0219 : 1981862-107 : 0620 : 42212003-47 : 4219 : 4912333-57 : 5420 : 2913483-67 : 4220 : 5914993-78 : 1020 : 59131183-87 : 5420 : 29131343-98 : 1020 : 29101603-107 : 4220 : 59281764-57 : 4721 : 2616234-68 : 0621 : 2614774-77 : 4721 : 4214974-87 : 4721 : 26151134-98 : 5921 : 42121414-107 : 4721 : 42291505-610 : 0121 : 4414595-77 : 3721 : 0716775-87 : 3721 : 4415975-97 : 3721 : 07121205-107 : 3721 : 44341356-79 : 2022 : 0917256-89 : 2022 : 2816446-99 : 2021 : 5313676-109 : 0022 : 2833807-88 : 3121 : 3313227-98 : 3122 : 4816507-108 : 3122 : 4833598-98 : 5022 : 1311318-108 : 5022 : 5731439-109 : 1523 : 232519Passengers’ generalized cost is the average of cost of the train they have taken, which meets the solving accuracy threshold of F–W algorithm in lower level model. Taking the OD pair (1,5) as an example, the number of trains that passengers can take is 34 trains, as shown in Table9. The maximum and minimum generalized cost of trains with passenger loading are 120 and 106, respectively, as shown in Table 9.Table 9
Departure/arrival time and travel generalized cost for OD pairs (1,5).
Train no.Departure timeArrival timePassengers numberGeneralized cost16 : 177 : 3317311026 : 338 : 02013046 : 508 : 32012977 : 489 : 1414211698 : 179 : 330134108 : 209 : 46171108118 : 349 : 5850110128 : 4010 : 04142118138 : 5710 : 1993118179 : 4211 : 051621061910 : 1011 : 451371182210 : 5512 : 2401352311 : 2212 : 5101322612 : 1513 : 312561092812 : 2813 : 591041183012 : 5414 : 2701293113 : 0514 : 361341163313 : 4515 : 0801273413 : 5315 : 162681113514 : 0115 : 33861163614 : 2415 : 402971153914 : 5516 : 201341204215 : 2717 : 011141174416 : 0517 : 3601254917 : 0518 : 2801295117 : 2918 : 5201275217 : 3919 : 0401285317 : 4219 : 13801115819 : 1120 : 272671095919 : 2020 : 511371136019 : 3320 : 581421186119 : 4721 : 032911156320 : 821 : 311531116420 : 1821 : 4161117Within the allowable error range, the passengers’ generalized costs of the same OD pair are approximately equal as shown in Figure18. From the analysis of the calculation results, it can be found that the unit impedance of most OD pairs is not very different, and only a few OD pairs have higher unit impedance, as shown in the figure for the 18th, 19th, 25th, 36th, 37th, 40th, 43rd, and 45th pairs. This is due to the difference in passenger departure time preferences between different OD pairs and the different service frequencies of trains at different stations.Figure 18
Generalized cost per kilometer for each OD pair.


## 6.1. Input Parameter Setting

In this section, the proposed models and algorithms will be demonstrated by a real-world example based on the Lanzhou-Xi’an high-speed railway corridor in China, which consists of 10 stations and 9 sections, as shown in Figure12. For convenience, the stations are numbered as 1, 2, …, 10 along the up direction. The distance and train running time of each section are listed in Table 2. Other input parameters are shown in Tables 3 and 4. The passenger demand for each OD pair within operating period can be found in Table 5.Figure 12
Schematic diagram of Lanzhou-Xi’an high-speed railway corridor.Table 2
The values of parametershi,i+1 and li,i+1 (min, km).
i123456789hi,i+126.920.414.310.636.89.710.715.79.0li,i+110378554114137416035Table 3
The values of other input parameters.
ParametersValuesn65 trainsα2.5εS1 minεD2 minμmax6 minγ2 CNY/minρminsection3 minρminstation2 minϕ0.36 secΔ0.001βa5,∀a∈Adepartβa0.4,∀a∈Atravelβa0.5,∀a∈Adwellg0.3 CNY/person/kmCapa600 persons,∀a∈ATable 4
Daily average OD passenger flow data of Lanzhou-Xi’an high-speed railway corridor.
StationiStationj2345678910122476741124359633711124899112438202—3002624493001121121505623——75112753737751504———1507537371121505————7497511218726226—————37556256214987——————1871873758———————1877499————————187total224797414614307457017601946258429963Table 5
The optimized departure/arrival time on origin/terminal station for each train.
Train no.Departure timeArrival time16 : 179 : 2626 : 339 : 4436 : 419 : 4746 : 5010 : 0857 : 1710 : 3467 : 4510 : 3777 : 4810 : 5588 : 1410 : 5898 : 1711 : 8108 : 2011 : 32118 : 3411 : 39128 : 4011 : 49138 : 5711 : 55149 : 0612 : 06159 : 1712 : 27169 : 3912 : 30179 : 4212 : 421810 : 0712 : 521910 : 1013 : 282010 : 2813 : 432110 : 5213 : 502210 : 5514 : 172311 : 2214 : 202411 : 3414 : 522512 : 0415 : 032612 : 1515 : 62712 : 1915 : 112812 : 2815 : 412912 : 5115 : 493012 : 5415 : 573113 : 0516 : 213213 : 1916 : 343313 : 4516 : 373413 : 5316 : 583514 : 0117 : 233614 : 2417 : 273714 : 4117 : 353814 : 5217 : 483914 : 5518 : 034015 : 1618 : 064115 : 1918 : 254215 : 2718 : 374315 : 5418 : 494416 : 0519 : 134516 : 2119 : 314616 : 3719 : 464716 : 4219 : 494816 : 5719 : 574917 : 0520 : 175017 : 1020 : 255117 : 2920 : 285217 : 3920 : 315317 : 4220 : 525417 : 5721 : 175518 : 3421 : 205618 : 4321 : 375718 : 4622 : 065819 : 1122 : 245919 : 2022 : 276019 : 3322 : 466119 : 4722 : 596220 : 0323 : 026320 : 0823 : 056420 : 1823 : 236520 : 3123 : 34In addition, the necessary parameters associated with the developed metaheuristic algorithm should be carefully specified. We set population size in the genetic algorithm toPsize=100, crossover probability to Pc=0.8, Pm1=0.07, Pm2=0.05, Pm3=0.03, and maximum number of iterations to Ge=100.


## 6.2. Computing Results

The departure time of all trains at initial station and the arrival time at terminal station are calculated, as shown in Table5. In this scheme, the first train departs from the initial station at 6 : 17 and arrives at the terminal at 9 : 26. The last train departs from the departure station at 20 : 31 and arrives at the terminal station at 23 : 34. The optimized time horizon of train operation is basically consistent as the preplanned time horizon [6 : 00, 24 : 00].The optimized skip-stop pattern and dwelling time of each train are shown in Table6. The train with the least travel time is the 8th which dwells once at the intermediate station for 4 minutes; the trains with the longest travel time are the 22nd and 35th, which dwell 6 times, and the total dwelling time was 22 minutes.Table 6
The optimized dwelling times for each train (min).
Train no.StationsTotal2345678910003044617220230430143326020001345362005021502004546216000030507700630033158000004004900040002710005605402011040330401312400505301713200400301014005052001215002043321416000003407170205040012180000005051905624050222033005404192102000250102220363305222323050000102403505460222530002006112600030040827060000208280344040217290050003311304066000015314206404020326340002419330035000083430043200123504443305223600045600153700004600103800003303839500204051640002040006410530302014420565030018435000000611440345000416450060346018460000364417474040304015480300404011490023203515500550022519510206030011520404000085340265000175455004405245506000000656040060001057264006062458000353231759403404001460050220521761000366062062050042001163300240009640034304013650050050414The stopping times of different trains at intermediate stations are significantly different, as shown in Figure13. In general, the number of trains dwelling at the intermediate station is relatively even, as shown in Figure 14, where there are more than 30 trains dwelling at intermediate stations 5, 6, 7, and 8, and more than 25 trains dwelling at intermediate stations 3, 4, and 9. There are also significant differences in the distribution of trains with different skip-stop pattern in each time period by hour, as shown in Figure 15.Figure 13
Times of train stopping at intermediate stations.Figure 14
Number of trains stopping at intermediate stations.Figure 15
Number of trains with different number of stops in each period.By knowing the departure time of trains at initial station and the dwelling time at each intermediate station, an optimized train timetable can be derived, which is transformed into a graphical train timetable as shown in Figure16. The number of passengers served by trains is shown in Table 7, where the 13th train served the most with a total of 667 passengers; the 65th train has the least number of passengers, 281; and the average value of trains service passengers is 461. The occupancy rate of a total of 65 trains in sections is shown in Figure 17.Figure 16
Train diagram based on optimized train timetable.Table 7
The number of passengers on each train (person).
Train no.Passengers number1389254834844463538564387400831894521043911547125731366714416154941636117470183691964320514214342257523531244112548226411273342847929320305323161532391335083464335513364933740038460395324044341490424304339944403453844642447517484164949550325514035252853620544955533456357573885846159521604796142162396636616445865281Figure 17
Train diagram with seats occupancy information.Through calculation, passenger flow assignment results of a total of 45 OD pairs on trains can be obtained. The passengers’ traveling information and the average value of generalized costs and are shown in Table8. The time range of trains (from the earliest departure time to the latest departure time) that OD passengers can ride is 13 hours and 12 minutes on average. The smallest time range is that of OD pair (2,9), which is 8 hours and 17 minutes; the widest is that of OD pair (7,9) and (7,10), which is 14 hours and 17 minutes for both.Table 8
Departure time and travel generalized cost for each OD pairs.
OD pairsEarliest departure timeLatest departure timeNumber of trainsGeneralized cost1-26 : 3320 : 0821411-36 : 4120 : 0328731-46 : 3320 : 1829941-56 : 1720 : 18341141-66 : 4120 : 18331641-76 : 1720 : 31331821-86 : 1720 : 18312001-96 : 1720 : 31352261-106 : 1720 : 31652392-37 : 1519 : 198342-47 : 0619 : 5510592-57 : 0620 : 4213762-67 : 1520 : 42101252-77 : 0619 : 5591452-87 : 0617 : 1771632-911 : 0219 : 1981862-107 : 0620 : 42212003-47 : 4219 : 4912333-57 : 5420 : 2913483-67 : 4220 : 5914993-78 : 1020 : 59131183-87 : 5420 : 29131343-98 : 1020 : 29101603-107 : 4220 : 59281764-57 : 4721 : 2616234-68 : 0621 : 2614774-77 : 4721 : 4214974-87 : 4721 : 26151134-98 : 5921 : 42121414-107 : 4721 : 42291505-610 : 0121 : 4414595-77 : 3721 : 0716775-87 : 3721 : 4415975-97 : 3721 : 07121205-107 : 3721 : 44341356-79 : 2022 : 0917256-89 : 2022 : 2816446-99 : 2021 : 5313676-109 : 0022 : 2833807-88 : 3121 : 3313227-98 : 3122 : 4816507-108 : 3122 : 4833598-98 : 5022 : 1311318-108 : 5022 : 5731439-109 : 1523 : 232519Passengers’ generalized cost is the average of cost of the train they have taken, which meets the solving accuracy threshold of F–W algorithm in lower level model. Taking the OD pair (1,5) as an example, the number of trains that passengers can take is 34 trains, as shown in Table9. The maximum and minimum generalized cost of trains with passenger loading are 120 and 106, respectively, as shown in Table 9.Table 9
Departure/arrival time and travel generalized cost for OD pairs (1,5).
Train no.Departure timeArrival timePassengers numberGeneralized cost16 : 177 : 3317311026 : 338 : 02013046 : 508 : 32012977 : 489 : 1414211698 : 179 : 330134108 : 209 : 46171108118 : 349 : 5850110128 : 4010 : 04142118138 : 5710 : 1993118179 : 4211 : 051621061910 : 1011 : 451371182210 : 5512 : 2401352311 : 2212 : 5101322612 : 1513 : 312561092812 : 2813 : 591041183012 : 5414 : 2701293113 : 0514 : 361341163313 : 4515 : 0801273413 : 5315 : 162681113514 : 0115 : 33861163614 : 2415 : 402971153914 : 5516 : 201341204215 : 2717 : 011141174416 : 0517 : 3601254917 : 0518 : 2801295117 : 2918 : 5201275217 : 3919 : 0401285317 : 4219 : 13801115819 : 1120 : 272671095919 : 2020 : 511371136019 : 3320 : 581421186119 : 4721 : 032911156320 : 821 : 311531116420 : 1821 : 4161117Within the allowable error range, the passengers’ generalized costs of the same OD pair are approximately equal as shown in Figure18. From the analysis of the calculation results, it can be found that the unit impedance of most OD pairs is not very different, and only a few OD pairs have higher unit impedance, as shown in the figure for the 18th, 19th, 25th, 36th, 37th, 40th, 43rd, and 45th pairs. This is due to the difference in passenger departure time preferences between different OD pairs and the different service frequencies of trains at different stations.Figure 18
Generalized cost per kilometer for each OD pair.


## 7. Conclusions

In this paper, a high-speed railway (HSR) train timetable problem with passenger preferences is introduced; the specific conclusions are as follows:(1)
Passenger travel scheme and train timetable optimization are a set of dynamic game relationships. Constructing a bilevel programming model to specify the game process is proved to be effective by real-world example.(2)
It is a new method to transform the travel scheme selection of passengers into the path optimization problem in the space-time network, and it is proved to be an efficient method by numerical examples.(3)
The triangular fuzzy number method is used to quantify passengers’ preference for departure time and analyze the reasons for the fluctuation of passenger flow. In this way, the generalized cost is established so that the train timetable can guide passengers to choose appropriate departure time, thereby reducing the waste of transportation capacity in certain time periods.(4)
Passengers travel according to the time period provided by an uneven train timetable, which satisfies the passenger flow assignment requirements mentioned in the first principle of Wardrop (user equilibrium).The model and algorithm proposed in this paper provide an effective method for the train timetable that comprehensively considers the benefits of both service providers and passengers in a high-speed railway corridor. The train timetable optimization considering passenger transfer scheme on a complex high-speed railway network has not been studied, which is the direction of follow-up research.



---

*Source: 6611289-2021-03-10.xml*