Bus Timetabling Optimisation Method with Passenger Waiting Time and Dwell Time for Different Bus Passenger Capacity

The primary aim of this research is to solve the timetabling optimisation problem of bus service with multiple bus types consideration. A bus timetabling optimisation model with bi-objective functions is constructed. The first objective is to minimize the total bus dwell time for all bus stops along the route. The second objective is to minimize the total passenger waiting time for all passengers at all bus stops. Both objectives are considered simultaneously in the model by using weighted optimisation model with one objective function. Genetic algorithm is used to decide the bus departure time and type of bus used for every trip. Moreover, the passenger demand distribution is used to simulate the bus dwell time at all bus stops in the algorithm. Real-life bus passenger data such as passenger demand is used to demonstrate the efficiency of the proposed timetable and the productiveness of the timetabling optimisation model. The proposed optimal bus timetable from optimisation model is able to reduce the total dwell time by 14.88% and the total passenger waiting time by 23.55% compared with the bus timetable currently used. The result shows that the constructed bus timetabling optimisation model is effective to provide a reliable bus timetable by balancing the benefits between the bus passengers and operators.


Introduction
Transit bus is one of the most important transportation modes and has high passenger demand due to its convenience. The management of transit bus service is a complex process which consist the route designing, timetable optimisation, vehicle scheduling, and bus driver scheduling [1]. Timetable optimisation is essential on public transit service, in which the departure time and bus type used of each bus trip are determined. To obtain a highly efficiency timetable, it is crucial to consider the satisfaction of both bus operator and passengers.
The recent literatures on bus timetabling optimisation focus on bus travel time, service quality and transit reliability. Salicru,Fleurent [2] used analytical improvement and microsimulations to develop run-time values in order to enhance the bus operating system. Yan,Meng [3] applied Monte Carlo simulation in a robust bus timetabling optimisation to minimise the variance and sum of bus timetable deviation. Xue,Sun [4] had researched on limited-stop bus services by optimise the bus trip time and stopping criteria of a bus stop. Vissat,Clark [5] constructed a stochastic model to forecast the arrival times of bus at bus stop. The punctuality and reliability of proposed the bus timetable is enhanced. Wu, Yang [6] studied the transit bus re-planning problem with consideration of the bus headway, flexible synchronisation, and regularity of bus service. Arhin, Noel [7] studied factors that impact the reliability and efficiency of a bus service by using non-linear programming.
Genetic algorithm (GA) was invented by Holland [8] and widely implemented on solving various optimisation problems [9][10][11]. The robustness of GA has providing good solutions to many complex optimisation problems and the algorithm has been widely applied to solve various optimisation problems on public transit [10,12,13].
Most of the researches had studied the bus timetabling problem on passenger waiting time at bus stop. Tong and Wong [14] proposed that the passengers waiting time at all bus stop and the bus trip times are not consistent. Furthermore, lots of the prevailing research on timetabling optimisation models studied single bus type and less research studied multiple bus types on a route or network. Sun,Xu [18] developed three different models with different bus type used, which are small bus, big bus, and both small and big bus. These models were used to generate three optimal bus timetables with the consideration on passenger demand variance. Results showed that the timetabling model using both small and big buses is the best model in terms of the trip time and bus operating cost. The capacity of the bus is not considered on the study.
Most of the bus timetables have uniform distributed departure times and the efficiency of a bus timetable is low when the passenger demand is fluctuating throughout a period of time [19]. The peak hours on bus timetable do not tally with peak hours observed from the passenger demand distribution. Moreover, oversupply of the bus trip during off-peak hours occurred frequently. Researchers also less focus on the bus stopping time effects on bus service performance.
The bus timetabling optimisation problem has attracted spotlight recently on the perspectives of bus operators and passengers. Li, Du [1] used genetic algorithm constructed an optimisation model with two objective functions to minimise passenger waiting time and bus travel time. One of the major drawbacks of this model is the passenger capacity of a bus is not considered in the study.
This paper aims to solve bus timetable optimisation by using GA to minimize passenger waiting time and bus dwell time at bus stop with consideration of passenger capacity. The main contributions from this research are twofold. Firstly, the passenger load factor constraint is considered in the bus timetabling optimisation problem, on the perspective from both bus carriers and passengers to minimize the total bus dwell time and total passenger waiting time. Passenger capacity of a bus is also considered on the bus timetabling optimisation problem. The peak hours of bus timetable depends on the distribution of passenger capacity demand, which is suitable for real-life bus timetable situation.

Data Collection
This study focuses on the free bus service of University of Malaya (UM) Campus at Kuala Lumpur. UM is located at the south-west of Federal Territory of Kuala Lumpur (KL), adjacent to the Petaling Jaya city. The Bus Route B has 6 km long with 8 bus stops and located at south-west region of KL. Figure 1 shows the stations along Bus Route B, passing through Law Faculty Station in Lembah Pantai area and Central Station in University of Malaya that serve as a transportation hub for multiple KL city bus routes. The bus passenger data is recorded during weekdays between November 1 to November 15, 2016 from the bus operator and a total of 148 bus trips were recorded. The data is collected and is used to validate the optimisation model on feasibility of the generated bus timetable. Dwell time, number of boarding passengers and alighting passengers at all bus stops are recorded. The passenger capacity of all bus trips are noted. Furthermore, the passenger load factor (PLF) at each bus stop is calculated.
The bus passenger data were collected by assigned enumerators. The enumerators used manual bus passenger count methods to record bus dwell time, number of passengers boarding and alighting at each bus stops. The current bus timetable is shown in Table 1.

Analysis Approach
The number of passengers boarding and alighting the bus represented the independent variables of the dwell time model [20]. Multiple previous studies confirming their significance were also used in the models. In this study, PLF was used to calculate the crowdedness level of passenger on the bus, which varies according to the passenger capacity of the bus used. PLF is the factor (index) of onboard passengers in a bus to the maximum passenger capacity of particular bus. For example, the value of 1.0 (100%) on the PLF means the passenger load of the bus is the same as its maximum capacity. The value 0.5 (50%) means the passenger load of the bus is half that of its maximum capacity, regardless of the type of bus.
Two additional dummy variables were used to indicate the station type and the passenger capacity of bus that was shown to influence dwell time. The first variable indicated whether the bus station was a transportation hub. The station type was also included in the analysis given the overlapping of many routes and driver behaviours. For example, drivers on the transportation hub tended to stop longer and wait for oncoming passengers when the bus was not overcrowded. Another dummy variable indicated the passenger capacity of bus used for each trip. Two bus types are used with different passenger capacity, Bus Type A has 63 passenger capacity whereas Bus Type B has 40 passenger capacity. The data are gathered and dwell time are calculated with following function: PLF: passenger load factor of operating bus.

Model
A bus timetabling optimisation model with two objectives is formulated to propose an optimum bus timetable.

Passenger load factor (PLF) constraints
The PLF at stop i' ∈ I, trip k ∈ K, and day θ ∈ Θ is compute by the following constraints.
board ki is the number of boarding passengers at bus stop i for trip k. The number of alighting passengers of trip k at bus stop i is alight ki .
′ denotes the number of passengers that remain onboard after the bus depart from stop i' on trip k, shown in (2).
(2) ′ is the number of passengers boarding at station ′ on trip k, defined in (3). Explain both situations.
′ is the number of onboard passenger on bus trip between bus stop ′ and bus stop ′ + 1, defined in (4).

Passenger Waiting Time
The passenger arrival time at bus stops are assumed distributed uniformly and calculated by using (5). where,
The first objective (6) of this model is minimising the sum of all bus dwell times, where dwell ki is dwell time at bus stop i on k-th bus trip. The second objective (7) is minimising the sum of all passenger waiting times of all passengers. The first constraint (8) specifies the minimum and maximum bus headways in the bus timetabling optimisation model, where H min and H max are the minimum headway and maximum headway respectively. The second constraint (9) is used to calculate the departure times at all bus stops of all trips, except the first bus stops. τ il is the travel time between bus stop i to stop i+1 on l-th time segment, whereas t ki is the time of bus on k-th trip leaving bus stop i, where 2 ≤ i ≤ I and 1 ≤ k ≤ K.
is calculated by sum up the departure time of previous station ( , −1 ), travel time between previous station and current station ( ), and dwell time at current station ( ).
The third constraint (10) represents the departure time of the first bus trip (T s ) and the fourth constraint (11) represents the departure time of last bus trip (T e ). The fifth constraint (12) is the index of station constraint (i) whereas the last constraint (13) represents the trip constraint (l), where l is the segment index.
The bi-objective optimisation model is converted into a weighted optimisation model with one objective function. 1 (minimum total dwell time), 1 (maximum total dwell time), 2 (minimum total waiting time of all passengers) and 2 (maximum total waiting time of all passengers) are computed. β ∈ [0, 1] is a factor that generated randomly and used to represent the degree of relative importance between both objectives. A weighted bus timetabling optimisation model is constructed with the objective function as (14): The β value in this study is set as 0.5 to represent equivalent weightage on both objectives.

Genetic Algorithm (GA)
The bus timetabling optimisation problem is classified as integer non-linear programming problem. GA is implemented in the timetabling optimisation model to propose a new bus timetable due to high complexity of this problem.
Genetic algorithm was designed by Holland [8] and commonly applied in timetabling optimisation models [12,13]. In this research, a bus timetable is represented by a chromosome (list) of departure times of all bus trips in a day. The GA, which consists of chromosome to represent a bus timetable, is implemented in the bi-objective timetabling optimisation model.

Representation of the Solution Structure
A two-row chromosome v is used, which consists of the type of bus used and bus trip departure time. The total bus trip is represented by K, where the first bus trip and last bus trip (x 1 , x K ) are set as T s and T e respectively. There are two types of buses with different passenger capacity, '0' represents the bus with 63 passenger capacity, whereas '1' represents the bus with 40 passenger capacity.

Initialisation
pop size defined as the population size of every generation (iteration), which is the number of chromosomes in each generation. A real number K ∈ [K l , K u ] represented the number of bus trips in a timetable that is generated randomly, where K l is the minimum number of bus trips and K u is the maximum number of bus trips. Then, a chromosome v = (t 1,1 , t 2,1 , …, t K,1 ) is generated where t 1,1 represents the departure time for the first trip (T s ) and t K,1 is the departure time of last trip (T e ).
Random number u i was generated such that i = {1, 2, …, K-1}, which between minimum headway (H min ) and maximum headway (H max ). The u i satisfied the following condition: A feasible chromosome is generated by t i+1,1 = t i,1 + u i , where i = {1, 2, …, K-2}. pop size of feasible chromosomes (v i , where i = 1, 2, …, pop size ) are generated as initial population.

Evaluation and Selection of Chromosome
The evaluation value is the reproduction probability of a chromosome. The evaluation value of a chromosome is calculated to evaluate whether a chromosome is selected for crossover and mutation. The selected likelihood of a chromosome is proportional to the fitness of a chromosome. The evaluation value of a chromosome is calculated as (16): where α ∈ [0,1] and i = 1, 2, …, pop size . In every generation, all chromosomes in the population are arranged from the chromosome with the best evaluation value to the chromosome with the worst evaluation value. Chromosomes are selected using roulette wheel spinning method to breed the new chromosome for following generation [22]. Chromosomes with higher evaluation value are more likely to be chosen. q i is the reproduction probability of chromosome v i , defined as (17): A random number r is generated where r ∈ (0, pop size ]. The reproduction probability of chromosome is calculated and compared with the random number r.
The previous steps are repeated pop size times to calculate the evaluation values for all chromosomes. If q i-1 < r < q i , then the chromosome is selected to undergo crossover and mutation.

Crossover
Crossover is used to generate child chromosome for next generation. The crossover probability (P c ) is initialised and a random probability (r i ) is generated, where r i ∈ [0, 1]. If the random probability is less than or equal to crossover probability, parent chromosome is selected from the current population. Two disjoint segments are selected randomly from [T s , T e ]. On the parent chromosome, the corresponding sections of the two disjoint segments are labelled. Next, the child chromosome is generated by exchange the selected disjoint sections on the parent chromosome ( Figure 2). The self-crossover steps are repeat (0.5)*pop size times. The structure of the generated child chromosome is not destroyed. The new generated solution (child chromosome) is feasible by using self-crossover. Figure 2. Self-crossover operation.

Mutation
Mutation is also used to generate population for the following generation. The mutation probability (P m ) is defined and compared with random probability, r i ∈ [0, 1]. If the random probability is less than or equal to mutation probability, parent chromosome is selected from the current population. On the parent chromosome, the corresponding segments are labelled. Next, the highlighted genes on the chromosome are regenerated (Figure 3). On the new generated child chromosome, the bus type used are regenerated randomly and the bus departure time is regenerated by considered the number of bus trips per day and the headway constraints. The new generated child chromosome (bus timetable) is feasible by using mutation operation. Figure 3. Mutation operation 2.4.6. General flow of GA Chromosomes for next iteration are generated by using self-crossover and mutation operations on parent chromosomes. This operation is repeated until the determined maximum iteration is reached, then the GA will stop. The general steps of GA-based optimization method are summarised in Table 2. Initialize all the initial chromosomes randomly and set iteration = 0.
2 Objective values of all chromosomes in initial population are calculated. 3 Evaluate the fitness of each chromosome by using its objective values.
4 Parent chromosome is selected by evaluation function.

5
Crossover and mutation are used to generate child chromosomes. 6 If iteration less than maximum iteration, go to Step 2.
7 Report the best chromosome as the optimal solution.

Comparisons on Bus Timetable
The deviation ratio (18) is used to compare the performance between current timetable and proposed timetable.

Experiments with Fixed Model Parameters
The parameters in GA are set such that β = 0.5, H min = 5 min, H max = 20 min. The parameters for crossover probability and mutation probability are set as P c = 0.9 and P m = 0.8. Besides the values for the parameters P c and P m , the maximum number of iterations is set to 1000 iterations. All the GA parameters are decided based on previous researches [1,9].
The bus timetabling optimisation model started after all parameters are initialized and an optimal bus timetable with 48 trips is generated as shown in Table 3. The sum of bus dwell times is 74.20 minutes and the sum of passenger waiting time for all bus stops is 19448 minutes (average 8.4 min per passenger).

Comparisons
The bus dwell time is calculated for all stations using dwell time factors, which are the number of boarding passengers and alighting passengers, type of bus stop, type of bus, and PLF. Bus travel time is reduced by shortened the bus dwell time. Another objective of the bus timetabling optimisation model is to reduce total passenger waiting time. To validate the GA bus timetabling optimisation model, the resulting optimal bus timetable is compared with the existing bus timetable. In the current timetable, The total dwell time and total passenger waiting time of existing bus timetable are 87.17 min and 25439 min resepctively. Furthermore, there are 54 bus trips for the currently used timetable.  Table 4 shows the comparative results of both timetables. The total bus dwell time and the total passenger waiting time of proposed bus timetable and existing bus timetable are compared. Results show that the total dwell time of proposed optimal bus timetable is reduced, 14.9% less than the total dwell time of the current bus timetable. The passenger waiting time of the proposed bus timetable is also reduced by 23.6% comparing to existing bus timetable. The proposed optimal bus timetable has significantly shorter total dwell time and total passenger waiting time compared to current bus timetable. The number of boarding passengers and alighting passengers from the collected passenger data is used to propose a new timetable. Passenger load factor, type of bus used, and station type are also taken into account on dwell time calculation.
The poor assignment on departure time of bus trip and bus type used are the main reasons that caused longer bus dwell time at station and bus with overloaded passenger capacity, resulting high total passenger waiting time and total bus dwell time. By comparing both bus timetables, the proposed optimal bus timetable has less total number of bus trips (48 bus trips a day); whereas the existing bus timetable has less bus trips departure during 11:00a.m. -12:00p.m. and 2:00p.m. -3:00p.m., which lengthened both dwell time and passenger waiting time. Result clearly shows that the optimal timetable generated by bus timetabling optimisation model is more capable and robust than the current real-life timetable.

Discussions
To formulate the bi-objective bus timetabling optimisation model, the speed of bus is assumed to be equal for both types of bus in this study. The bus moving time between bus stops in the optimisation model is implement by using the travel time obtained from the collected bus data.
Genetic algorithm (GA) is a heuristic algorithms that used to solve NP-hard problem [8,21]. GA is coded with C++ programming language to run this bus timetabling optimisation model. A bus timetable is represented by chromosome in GA-based optimisation model. In the optimisation model, a new solution (timetable) is generated on every iteration by undergo crossover and mutation operations on parent chromosome. The evaluation values of all generated solutions are calculated. The algorithm stopped after the maximum number of generations is reached, and the solution with minimum objective value is selected as the best bus timetable. The best bus timetable might not have the lowest total dwell time and the lowest total passenger waiting time, but the proposed bus timetable has considered both objectives simultaneously, which is the best timetable for both bus operator and passenger aspects. The flow of the GA-based bus timetabling optimization model is shown as Figure 4.

Conclusions
The bus timetabling optimisation model generates a bus timetable based on the passenger demand distribution where the total dwell time and total passenger waiting time are shortened. In this timetabling optimisation model, the dwell time at all bus stops are calculated. Typically, total dwell time and total passenger waiting time of the proposed timetable are shortened compared to the existing one. More bus trips during peak hours on existing bus timetable than the optimal bus timetable, yet the dwell time and passenger waiting time on existing timetable is longer. Passenger waiting time and bus dwell time of the suggested bus timetable are shortened.
The result shows that it is crucial to assign the bus departure time corresponding with the distribution of passenger demand. The performance and reliability of a transit bus service are improved by using the timetabling optimisation model. Bus timetable with uniform distributed trip departure time will cause resources wastage, which the performance and reliability of transit bus are reduced. Passengers will wait longer at bus stop when a transit bus service using a non-optimal bus timetable. Moreover, the operating expenses, resources and manpower of bus operator also increase. This work focused on the bus timetable optimisation for a single bus route. In future work, we plan to address the bus timetable model for a bus network with the consideration of total bus trip time. Besides, the percentage of seated accommodation filled and the percentage of total capacity filled can also be considered in the future study.