Global Optimization for Bus Line Timetable Setting Problem

This paper defines bus timetables setting problem during each time period divided in terms of passenger flow intensity; it is supposed that passengers evenly arrive and bus runs are set evenly; the problem is to determine bus runs assignment in each time period to minimize the total waiting time of passengers on platforms if the number of the total runs is known. For such a multistage decision problem, this paper designed a dynamic programming algorithm to solve it. Global optimization procedures using dynamic programming are developed. A numerical example about bus runs assignment optimization of a single line is given to demonstrate the efficiency of the proposed methodology, showing that optimizing buses’ departure time using dynamic programming can save computational time and find the global optimal solution.


Introduction
The transit planning process includes four basic components which are usually performed in sequence: (1) network route design, (2) setting frequencies and timetables, (3) scheduling vehicles to trips, and (4) assignment of drivers.This paper focuses on "setting frequencies and timetable." Trip frequency scheduling is the determination of trip frequencies for an operation period, normally a daily operation.The operation period is divided into several subperiods for which a specific number of trips are determined.Trip frequency scheduling is more or less identical to headway determination and hence to the so-called timetable construction problem.The timetable problem, however, requires the specification of precise arrival and departure times at terminals and major stops.Friedman (1976) [1] formulated a mathematical model of a general public transportation network and suggested an optimization procedure to schedule the buses' departure times, but he did not show a case study.Furth and Wilson (1981) [2] proposed a model which allocates the available buses between time periods and between routes so as to maximize net social benefit subject to constraints on total subsidy, fleet size, and levels of vehicle loading; however, they did not take minimizing the waiting time of passengers into account.De Palma and Lindsey (2001) [3] considered the transit network timetabling problem on a single transit link, where each transit rider was assumed to incur a varying schedule delay cost from travelling earlier or later; but in their research it was supposed that vehicle capacity constraints were ignored, so that a vehicle can carry any number of passengers without congestion, which is inconsistent with the reality.
Some literatures (Wan and Lo, 2003 [4]; Barra et al., 2007 [5]; Van Nes et al., 1988 [6]; Carrese and Gori, 2002 [7]; Pattnaik et al., 1998 [8]; and Tom and Mohan, 2003 [9]) put transit network design and frequencies setting together; however, the routes network is generally a stable component in a transit system while the frequencies setting is changeable; the construction of routes network should not be influenced by flexible parameters such as frequencies; thus bus routes network design and frequencies setting should not be dealt with simultaneously (Yu et al. 2005 [10]).Generally frequencies' setting is only an approximate value in the stage of transit network design.Ceder (1984) [11] described four data collection approaches for the bus operator in order to set the bus frequencies/headways: two are based on point check (maximum load) data and two propose the use of ride check (load profile) data.As a continuation of research, he provided alternative methods for constructing bus timetables using passenger load data (Ceder, 1987 [12]).Ceder (1991) [13] described an automats procedure for the scheduler to adjust the number of departures at each route timepoint to that required from a passenger load standpoint with the objective to minimize the maximum headway to be obtained.Van Oudheusden and Zhu (1995) [14] developed an integer programming model for trip frequency scheduling and presented two heuristic solution methods, one of which was based on linear programming and the other was a straightforward derivation of common bus operation practice; but they could not guarantee the global optimal solution.Chakroborty et al. (1995 [15], 1997 [16]) focused on the application of genetic algorithms to determine departure times in a transit network in a coordinated manner, so as to minimize the passengers' total waiting time.Zhao and Zeng (2008) [17] presented a metaheuristic method for optimizing transit networks, including route network design, vehicle headway, and timetable assignment; a metaheuristic search scheme that combines simulated annealing, tabu, and greedy search methods was presented.Yu et al. ( 2010) [18] presented a bilevel programming model for the bus frequency design and an iterative approach, which consists of a genetic algorithm, and a label-marking method was used to solve the bilevel model.Yan and Chen (2002) [19] developed a model that will help Taiwan intercity bus carriers in timetable setting and bus routing/scheduling; the model was formulated as a mixed integer multiple commodity network flow problem.
The majority of previous solution methods for transit frequencies and timetable setting problems relied on problembased heuristics or design guidelines, which could not guarantee the best solution in mathematics.This paper aims to optimize arrangement of bus runs on a single line, regards the objective problem as a multistage decision problem, and tries to look for the global optimal solution through dynamic programming to obtain the best scheme of bus runs arrangement.The remainder of the paper is organized as follows.Section 2 describes the bus timetable setting problem.Section 3 develops an optimization procedure with dynamic programming to solve the bus timetable setting problem.In Section 4, a numerical experiment is given to demonstrate the efficiency of the proposed method.The final section concludes the paper and discusses future research issues.

Time Period Division.
A bus line has up and down going directions; this paper only studies the case of one direction (1 → ); see Figure 1.Of course, the same analysis can be made for the reverse direction.
Here, it is supposed that   ( = 1, 2, . . .,  − 1) are kept fixed and that the earliest passengers occur at stop 1 at timepoint  0 .Since a travel time is needed for buses getting to the next stops, the timepoints of passengers beginning to accumulate at the next stops can be regarded as Bus service time of a day is divided into some small time periods ( (1) ,  (2) , . . .,  () ) according to passenger flow intensity (the length of each period may be different), and it is supposed that passengers evenly arrive at the stop during each time period.The smaller the time periods are, the more evenly the passengers arrive during each time period.For example, time periods are all 1 hour interval.At stop 1, it is supposed that passenger flows last from 6:00 to 22:00, so the period 6:00∼22:00 can be divided into 16 small time periods.During each small time period, passengers are thought as evenly arriving at the stop, but the passenger flow intensity of different time periods can be different.At stop 2, since a travel time ( 1 ) is needed for buses' arriving, passengers appear  1 later, and the departure time of the last bus run should be 22:00 +  1 .The period 6:00 +  1 ∼ 22:00 +  1 is divided into 16 small time periods: 6:00 +  1 ∼ 7:00 +  1 , 7:00 +  1 ∼ 8:00 +  1 , . .., and 21:00 +  1 ∼ 22:00 +  1 .The same analysis can be made at stops 3, 4, 5, . .., and  − 1.It needs to be noticed that passengers should be evenly arriving at the stop during each time period; otherwise, the length of some time periods needs to be shorter.

The Number of the Total Bus Runs.
It is supposed that, taking passenger flow intensity, available resources, and economy conditions into account, the number of the total bus runs that is at most . can be estimated according to where  is the average saturation of vehicles: can be approximately given according to the forecasting of future bus operation;  is the average number of in-vehicle passengers;  is the capacity of the vehicle;  is the length of the bus line;   ()  is the number of passengers going from stop  to stop  during time period  () , and here  <  is because this paper only studies the case of one direction (1 → );   is the distance between stops  and .Passenger turnovers of both sides of equality (1) are equal, so an approximate value of  can be worked out according to equality (1).

The Bus Timetable Setting
Problem.The bus timetable setting problem is to determine bus runs assignment in each time period (then the frequency and departure time of bus runs can also be obtained) to minimize the total waiting time of passengers on platforms if the number of the total runs is known.
A supposition is made that bus runs are set evenly in each time period.This is because, on one hand, we have supposed that passengers evenly arrive at the stop in each time period, and bus runs being set evenly accord with this; on the other hand, the solution will become easy and simple if bus runs are evenly set.There are many time points in each time period; the solution will become very complex if these timepoints are all included into the solution set, while if bus runs are set evenly in each time period, the departure time of each run can be easily obtained if the number of bus runs in each time period is known.For example, if 3 runs are arranged for an hour, then 20 min, 40 min, and 60 min are the departure times.
In Figure 2, the thick line at the bottom denotes the time of passengers beginning to accumulate at each stop, which is different from different stops, since the bus arrives at each stop at a different timepoint.The difference is a travel time between stops.Likewise, the time period of different stops involves a different time span, and the difference is just travel time between stops.

Passenger Flow Data. The number of arriving passengers at stop 𝑖 during the period between bus runs c and
where    is the number of arriving passengers at stop  whose destination stop is stop  during the period between bus runs  and  − 1.
() of different stops in Table 1 involves a different time span, and the difference is a travel time between stops.   for bus run  can be calculated according to (4) since in period  () passengers were supposed to evenly arrive at the stop and   runs were supposed to be set evenly.For example, in  Figure 3, the number of passengers between two immediate runs is   /3: It is supposed that no passengers are detained at the stop; that is, all passengers at the stop can get on the current bus run; otherwise, more bus runs are needed.

Optimization Procedures Using Dynamic Programming
3.1.Recurrence Formula of Dynamic Programming.This paper applies dynamic programming to optimize the bus timetable setting problem based on reasons as follows.
(1) The problem is to determine bus runs assignment in each time period, belonging to a time-continuous multistage decision problem; the dynamic programming method is appropriate to solve it.(2) The work using exhaustive search algorithm to solve this discrete optimization problem will be very huge; the dynamic programming method can greatly reduce the calculation work.
In the bus timetable setting problem,  1, is the total waiting time of all stages and V  (  ,   ) is the waiting time of stage  () , (  ) is the objective function value under the optimal strategy: Recurrence formulae of dynamic programming are Calculating each stage using recurrence formulae,   () is the objective function value.

Dynamic Programming Algorithms for Solving the Bus
Timetable Setting Problem.Traffic demands of each time period, the number () of the total bus runs, and bus capacity () are given.The maximal and minimal number of bus runs in time period  () are   and   , respectively.

𝑖𝑗
, where  , (1)    is the number of arriving passengers at stop  during the period between bus runs  and  − 1 of  (1) .Let V 1 ( 1 ) = 0 (V 1 ( 1 ) denote the total waiting time of passengers in time period  (1) when  1 runs are assigned to time period  (1) ).
(1.3) Calculate the waiting time of passengers for bus run . (
where  (1) is the length of time period  (1) ;  (1) / 1 is the maximum waiting time of each passenger since  1 runs are set evenly in  (1) ; ( (1) / 1 )/2 is the average waiting time since passengers evenly arrive at the stop.
Table 4: Traffic distribution between stops in time period  (1) .

𝑖
is the number of arriving passengers at stop  during the period between bus runs  and  − 1 of  () .Let V  (  (  )) = 0 (V  (  (  )) denote the total waiting time of passengers in time period  () when   (  ) runs are assigned to time period  () ).Let  = 1.
(2.6) Calculate the waiting time of passengers for bus run .
Table 8: Traffic distribution between stops in time period  (5) .
where  () is the length of time period  () ;  ) for the whole process can be obtained.

A Numerical Example
A bus line is illustrated in Figure 4, where stop 1 is the origin stop and stop 16 is the terminal.The bus travel time  , (,  = 1, 2, 3, . . ., 16) between stops  and  is fixed.The bus line's service time is from 7:00 to 13:00.Tables 4, 5, 6, 7, 8, and 9 (see the appendix) give the data of traffic distributions (  ()  ) in each time period.Each hour is regarded as a time period and there are 6 time periods in total.At most 10 and at least 2 bus runs are for each time period; bus capacity is 50.It is supposed that no passengers are detained at the stop; that is, all passengers at the stop can get on the current bus run.
The target is to minimize the total waiting time of passengers at the stops.The problem is to determine the number of bus runs arranged for each time period and the departure timetable of bus runs at the origin stop.
If the number () of the total bus runs is 40, the optimization results are in Table 2. Since bus runs are set evenly in each time period, the departure time of bus runs at the origin stop is listed in Table 2.
If  takes different values, the results under different values of  are in Table 3.

Conclusions and Prospect
This paper studied bus runs arrangement of a bus line and defined the bus timetable setting problem which is to determine bus runs assignment in each time period so as to minimize the total waiting time of passengers on platforms if the number of the total bus runs is known.On the basis of this definition, the global optimization algorithm using dynamic programming was proposed to solve the problem.A numerical example about bus runs assignment optimization of a single bus line demonstrated the efficiency of the proposed method.
Although only the case of one direction of a single bus line was discussed in this paper, the similar analysis can be made for the case of both directions only if traffic demands on the reverse direction are also known.By the same way the scheme of bus runs arrangement on the reverse direction can also be obtained.However, if the restriction of the number of vehicles and the optimal deployment of resources are taken into account, then the problem involves scheduling of vehicles and needs more researches in the future.

Figure 2 :
Figure 2: Time period division at each stop and bus runs arrangement.

Table 3 :
Optimization results under different values of .

Table 5 :
Traffic distribution between stops in time period (2).