Discrete Dynamics in Nature and Society

Volume 2014 (2014), Article ID 636937, 9 pages

http://dx.doi.org/10.1155/2014/636937

Research Article

Global Optimization for Bus Line Timetable Setting Problem

Qun Chen

School of Traffic and Transportation Engineering, Central South University, 22 Shaoshan South Road, Changsha 410075, China

Received 25 July 2013; Accepted 28 January 2014; Published 2 March 2014

Academic Editor: Carlo Piccardi

Copyright © 2014 Qun Chen. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

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.

1. 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 problem-based 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.

2. The Bus Timetable Setting Problem

2.1. Time Period Division

A bus line has up and down going directions; this paper only studies the case of one direction (); see Figure 1. Of course, the same analysis can be made for the reverse direction.

Figure 1: A single bus line.

Here, it is supposed that are kept fixed and that the earliest passengers occur at stop 1 at timepoint . 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

 stop 1    , stop 2    , stop 3    , … stop , stop     , and … stop     .

Bus service time of a day is divided into some small time periods 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 () is needed for buses’ arriving, passengers appear later, and the departure time of the last bus run should be 22:00 + . The period 6:00 + ~ 22:00 + is divided into 16 small time periods: 6:00 + ~ 7:00 + , 7:00 + ~ 8:00 + , and 21:00 + ~ 22:00 + . The same analysis can be made at stops , and . 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.

2.2. 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 (); 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).

2.3. 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.

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

2.4. Passenger Flow Data

The number of arriving passengers at stop during the period between bus runs and is ,

where is the number of arriving passengers at stop whose destination stop is stop during the period between bus runs and .

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 :

Table 1: Traffic distribution on one direction.

1
2
3

a~b
1
0

~b +
2

0

~b +
3

0

~b +

0

~b +

0

Figure 3: Bus runs arrangement.

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.

3. 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. (3) Dynamic programming algorithm in nature is a global optimization algorithm and can find a global optimal solution of the problem.

For a bus line, its operation time of a day is divided into some continuous time periods . Each time period () is a stage. Phase of stage denotes the number of the total bus runs from to , and all its possible values construct the phase set  (), . The number () of bus runs of stage is the decision variable, and all its possible values construct the decision set , apparently . The strategy () is a group of decisions,

when , is a strategy of the whole process,

The problem is to find the optimal strategy.

If and are given, then of stage can be obtained, . is a performance evaluation function,

should be separable and has a recurrence relation; that is, can be denoted as function of , , :

In the bus timetable setting problem, is the total waiting time of all stages and 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.

3.2. 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.

(1)  Calculation for Time Period  .

(1.1) Let .

(1.2) Traffic demands for bus run () in are equal to , according to (4), where is traffic distribution in . , where is the number of arriving passengers at stop during the period between bus runs and of . Let ( denote the total waiting time of passengers in time period when runs are assigned to time period ). Let .

(1.3) Calculate the waiting time of passengers for bus run .

(1.3.1) Let .

(1.3.2) Calculate the number () of passengers alighting at stop (if this is stop 1, then it is 0). The number () of in-vehicle passengers is updated, , and the remainder of bus capacity is (for stop 1, ).

(i) If , then is updated,

where is the length of time period ; is the maximum waiting time of each passenger since runs are set evenly in ; is the average waiting time since passengers evenly arrive at the stop.

The number () of in-vehicle passengers is updated, .

(ii) If , then this is not a feasible solution, and let return to (1.2).

(1.3.3) Let ; if , then return to (1.3.2); otherwise, turn to (1.4).

(1.4) Let ; if , then return to (1.3); otherwise, output . Let . is the minimum waiting time of passengers when bus runs are assigned to . , so and .

(1.5) Let ; if , then return to (1.2); otherwise, turn to (2).

(2)  Calculation for Time Periods  , .

(2.1) Let .

(2.2) The upper bound of  () is , and the lower bound () is . . Let .

(2.3) The upper bound of is , and the lower bound of is . Let .

(2.4) If , then turn to (2.5); otherwise, if , then let and repeat (2.4) to make judgment again, while if , then turn to (2.9).

(2.5) Traffic demands for bus run () in are equal to , according to (4), where is traffic distribution in . , where is the number of arriving passengers at stop during the period between bus runs and of . Let ( denote the total waiting time of passengers in time period when runs are assigned to time period ). Let .

(2.6) Calculate the waiting time of passengers for bus run .

(2.6.1) Let .

(2.6.2) Calculate the number () of passengers alighting at stop (if this is stop 1, then it is 0). The number () of in-vehicle passengers is updated, , and the remainder of bus capacity is (for stop 1, ).

(i) If , then is updated,

where is the length of time period ; is the time interval between bus runs and since runs are set evenly in ; is the average waiting time since passengers evenly arrive at the stop.

The number () of in-vehicle passengers is updated, .

(ii) If , then this is not a feasible solution, let , and return to (2.4).

(2.6.3) Let ; if , then return to (2.6.2); otherwise, turn to (2.7).

(2.7) Let ; if , then return to (2.6); otherwise, output .

(2.8) Let ; if , then return to (2.4); otherwise, turn to (2.9).

(2.9) Since , where , is the optimal strategy of subprocess () when . The value of making minimum is taken as the optimal strategy under phase . is the optimal strategy of subprocess () under phase , and is the optimal function value of subprocess () under phase . .

(2.10) Let ; if , then return to (2.3); otherwise, turn to (2.11).

(2.11) Let ; if , then return to (2.2); otherwise, output . If no feasible solutions can be found, then the value of is not right and more bus runs are needed. , and then the optimal strategy for the whole process can be obtained.

4. 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 ) 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.

Figure 4: A bus line with 16 stops.

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.

Table 2: Optimization results when .

Departure time of bus runs at stop 1

10
10
2166
7:06, 7:12, 7:18, 7:24, 7:30, 7:36, 7:42, 7:48, 7:54, 8:00

7
17
4185
8:09, 8:19, 8:27, 8:36, 8:44, 8:52, 9:00

5
22
5661
9:12, 9:24, 9:36, 9:48, 10:00

4
26
6831
10:15, 10:30, 10:45, 11:00

5
31
7935
11:12, 11:24, 11:36, 11:48, 12:00

9
40
9895
12:07, 12:14, 12:21, 12:28, 12:35, 12:42, 12:48, 12:54, 13:00

If takes different values, the results under different values of are in Table 3.

Table 3: Optimization results under different values of .

(, , , , , )
Total waiting time

40
(10, 7, 5, 4, 5, 9)
9895

39
(10, 7, 5, 4, 4, 9)
10171

38
(10, 7, 4, 4, 4, 9)
10540

37
(10, 7, 4, 3, 4, 9)
10930

36
(10, 7, 4, 3, 3, 9)
11390

35
No feasible solutions

Table 4: Traffic distribution between stops in time period .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

7:00~8:00
1
0
3
4
5
5
7
7
11
10
10
13
10
10
8
7
8

7:00 + ~8:00 +
2

0
0
2
4
5
5
6
7
9
10
10
11
8
6
7

7:00 + ~8:00 +
3

0
0
0
4
5
6
7
8
7
7
11
9
10
9

7:00 + ~8:00 +
4

0
0
2
4
5
10
7
6
7
10
10
9
8

7:00 + ~8:00 +
5

0
2
5
4
4
5
10
9
10
8
11
6

7:00 + ~8:00 +
6

0
2
3
4
5
7
7
9
8
8
5

7:00 + ~8:00 +
7

0
0
2
4
5
7
7
5
8
7

7:00 + ~8:00 +
8

0
0
2
3
4
8
6
7
4

7:00 + ~8:00 +
9

0
0
0
4
4
8
10
8

7:00 + ~8:00 +
10

0
0
2
6
10
7
8

7:00 + ~8:00 +
11

0
0
8
7
7
10

7:00 + ~8:00 +
12

0
0
8
7
8

7:00 + ~8:00 +
13

0
2
4
7

7:00 + ~8:00 +
14

0
0
5

7:00 + ~8:00 +
15

0
2

7:00 + ~8:00 +
16

0

Table 5: Traffic distribution between stops in time period .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

8:00~9:00
1
0
0
2
3
4
5
4
5
8
6
4
5
8
5
8
6

8:00 + ~9:00 +
2

0
0
2
3
2
5
4
4
5
6
5
6
5
8
3

8:00 + ~9:00 +
3

0
0
2
3
8
6
6
5
4
4
5
5
5
8

8:00 + ~9:00 +
4

0
0
3
4
5
2
4
8
6
5
8
6
5

8:00 + ~9:00 +
5

0
2
2
2
5
3
4
10
6
6
7
5

8:00 + ~9:00 +
6

0
0
2
2
2
4
2
5
5
6
6

8:00 + ~9:00 +
7

0
0
0
2
2
6
4
3
9
2

8:00 + ~9:00 +
8

0
0
0
2
3
4
3
4
6

8:00 + ~9:00 +
9

0
0
4
5
4
2
8
5

8:00 + ~9:00 +
10

0
0
2
3
2
8
5

8:00 + ~9:00 +
11

0
0
2
4
6
5

8:00 + ~9:00 +
12

0
0
2
4
5

8:00 + ~9:00 +
13

0
0
4
2

8:00 + ~9:00 +
14

0
0
4

8:00 + ~9:00 +
15

0
1

8:00 + ~9:00 +
16

0

Table 6: Traffic distribution between stops in time period .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

9:00~10:00
1
0
0
1
1
3
1
4
3
2
4
3
4
4
5
4
3

9:00 + ~10:00 +
2

0
0
0
0
1
2
4
5
4
4
3
4
2
3
3

9:00 + ~10:00 +
3

0
0
0
1
3
3
3
1
6
2
4
3
4
4

9:00 + ~10:00 +
4

0
0
0
1
1
2
2
4
4
1
3
4
6

9:00 + ~10:00 +
5

0
0
0
0
1
2
1
2
1
4
4
3

9:00 + ~10:00 +
6

0
0
0
0
2
2
5
1
4
1
3

9:00 + ~10:00 +
7

0
0
0
1
2
2
2
2
2
4

9:00 + ~10:00 +
8

0
0
0
1
2
2
2
2
1

9:00 + ~10:00 +
9

0
0
0
3
5
2
7
5

9:00 + ~10:00 +
10

0
0
0
1
2
2
1

9:00 + ~10:00 +
11

0
0
0
2
2
5

9:00 + ~10:00 +
12

0
0
2
2
2

9:00 + ~10:00 +
13

0
0
0
2

9:00 + ~10:00 +
14

0
0
1

9:00 + ~10:00 +
15

0
0

9:00 + ~10:00 +
16

0

Table 7: Traffic distribution between stops in time period .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

10:00~11:00
1
0
0
0
1
1
1
1
2
4
2
4
3
3
1
1
2

10:00 + ~11:00 +
2

0
0
0
1
2
2
2
2
4
2
2
2
1
1
2

10:00 + ~11:00 +
3

0
0
0
0
3
1
1
3
2
2
2
2
3
1

10:00 + ~11:00 +
4

0
0
0
1
1
2
3
1
1
2
2
2
3

10:00 + ~11:00 +
5

0
0
0
1
1
1
4
2
2
2
2
3

10:00 + ~11:00 +
6

0
0
0
0
1
1
2
1
3
3
3

10:00 + ~11:00 +
7

0
0
0
0
1
1
1
1
1
2

10:00 + ~11:00 +
8

0
0
0
0
0
1
1
2
2

10:00 + ~11:00 +
9

0
0
0
0
1
2
2
2

10:00 + ~11:00 +
10

0
0
0
0
1
2
1

10:00 + ~11:00 +
11

0
0
0
1
2
2

10:00 + ~11:00 +
12

0
2
0
2
1

10:00 + ~11:00 +
13

0
0
0
1

10:00 + ~11:00 +
14

0
0
1

10:00 + ~11:00 +
15

0
1

10:00 + ~11:00 +
16

0

Table 8: Traffic distribution between stops in time period .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

11:00~12:00
1
0
0
1
1
1
1
2
2
4
1
3
2
3
5
3
2

11:00 + ~12:00 +
2

0
0
1
1
1
1
1
3
4
1
2
3
0
3
4

11:00 + ~12:00 +
3

0
0
1
1
3
2
1
2
4
4
1
2
2
2

11:00 + ~12:00 +
4

0
0
1
1
1
2
2
4
2
2
1
2
3

11:00 + ~12:00 +
5

0
0
1
1
3
1
2
1
2
4
2
2

11:00 + ~12:00 +
6

0
0
1
1
2
1
2
2
1
3
3

11:00 + ~12:00 +
7

0
0
0
1
1
1
1
0
1
2

11:00 + ~12:00 +
8

0
0
2
1
2
1
2
2
4

11:00 + ~12:00 +
9

0
0
1
2
2
2
1
1

11:00 + ~12:00 +
10

0
0
1
4
0
1
2

11:00 + ~12:00 +
11

0
0
1
0
1
2

11:00 + ~12:00 +
12

0
0
1
1
1

11:00 + ~12:00 +
13

0
0
1
0

11:00 + ~12:00 +
14

0
0
1

11:00 + ~12:00 +
15

0
0

11:00 + ~12:00 +
16

0

Table 9: Traffic distribution between stops in time period .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

12:00~13:00
1
0
2
2
3
4
8
6
8
9
8
10
8
9
7
7
6

12:00 + ~13:00 +
2

0
0
2
4
3
4
8
7
6
9
10
10
8
9
8

12:00 + ~13:00 +
3

0
0
2
4
4
4
6
5
9
8
10
10
7
7

12:00 + ~13:00 +
4

0
0
3
4
4
6
8
7
10
8
9
9
8

12:00 + ~13:00 +
5

0
0
0
4
4
5
6
7
10
6
8
8

12:00 + ~13:00 +
6

0
0
0
3
4
4
5
5
6
9
4

12:00 + ~13:00 +
7

0
0
0
4
4
5
5
6
4
6

12:00 + ~13:00 +
8

0
0
0
4
5
4
8
7
7

12:00 + ~13:00 +
9

0
0
0
3
4
5
8
7

12:00 + ~13:00 +
10

0
0
0
4
5
7
5

12:00 + ~13:00 +
11

0
0
3
4
5
6

12:00 + ~13:00 +
12

0
0
3
4
4

12:00 + ~13:00 +
13

0
0
2
2

12:00 + ~13:00 +
14

0
0
2

12:00 + ~13:00 +
15

0
1

12:00 + ~13:00 +
16

0

5. 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.

Appendix

See Tables 4–9.

Conflict of Interests

The author declares that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

This research is supported by the Hunan Province Social Science Fund (Grant no. 12YBB274).

References

M. Friedman, “A mathematical programming model for optimal scheduling of buses' departures under deterministic conditions,” Transportation Research, vol. 10, no. 2, pp. 83–90, 1976.

P. G. Furth and N. H. M. Wilson, “Setting frequencies on bus routes: theory and practice,” Transportation Research Record, vol. 818, pp. 1–7, 1981.

A. De Palma and R. Lindsey, “Optimal timetables for public transportation,” Transportation Research B, vol. 35, no. 8, pp. 789–813, 2001.

Q. K. Wan and H. K. Lo, “A mixed integer formulation for multiple-route transit network design,” Journal of Mathematical Modelling and Algorithms, vol. 2, no. 4, pp. 299–308, 2003.

A. Barra, L. Carvalho, N. Teypaz, V. D. Cung, and R. Balassiano, “Solving the transit network design problem with constraint programming,” in Proceedings of the 11th World Conference in Transport Research, pp. 24–28, University of California, 2007.

R. Van Nes, R. Hamerslag, and B. H. Immers, “Design of public transport networks,” Transportation Research Record, vol. 1202, pp. 74–83, 1988.

S. Carrese and S. Gori, “An urban bus network design procedure,” in Applied Optimization, P. Michael and L. Martine, Eds., pp. 177–195, Springer, New York, NY, USA, 2002.

S. B. Pattnaik, S. Mohan, and V. M. Tom, “Urban bus transit route network design using genetic algorithm,” Journal of Transportation Engineering, vol. 124, no. 4, pp. 368–375, 1998.

V. M. Tom and S. Mohan, “Transit route network design using frequency coded genetic algorithm,” Journal of Transportation Engineering, vol. 129, no. 2, pp. 186–195, 2003.

B. Yu, Z. Yang, C. Cheng, and C. Liu, “Optimizing bus transit network with parallel ant colony algorithm,” in Proceedings of the Eastern Asia Society for Transportation Studies, pp. 374–389, Bangkok, Thailand, 2005.

A. Ceder, “Bus frequency determination using passenger count data,” Transportation Research A, vol. 18, no. 5-6, pp. 439–453, 1984.

A. Ceder, “Methods for creating bus timetables,” Transportation Research A, vol. 21, no. 1, pp. 59–83, 1987.

A. Ceder, “A procedure to adjust transit trip departure times through minimizing the maximum headway,” Computers and Operations Research, vol. 18, no. 5, pp. 417–431, 1991.

D. L. van Oudheusden and W. Zhu, “Trip frequency scheduling for bus route management in Bangkok,” European Journal of Operational Research, vol. 83, no. 3, pp. 439–451, 1995.

P. Chakroborty, K. Deb, and P. S. Subrahmanyam, “Optimal scheduling of urban transit systems using genetic algorithms,” Journal of Transportation Engineering, vol. 121, no. 6, pp. 544–553, 1995.

P. Chakroborty, K. Deb, and H. Porwal, “A genetic algorithm based procedure for optimal transit systems scheduling,” in Proceedings of the 5th International Conference on Computers in Urban Planning and Urban Management, pp. 330–341, Mumbai, India, 1997.

F. Zhao and X. Zeng, “Optimization of transit route network, vehicle headways and timetables for large-scale transit networks,” European Journal of Operational Research, vol. 186, no. 2, pp. 841–855, 2008.

B. Yu, Z. Yang, and J. Yao, “Genetic algorithm for bus frequency optimization,” Journal of Transportation Engineering, vol. 136, no. 6, Article ID 002006QTE, pp. 576–583, 2010.

S. Yan and H.-L. Chen, “A scheduling model and a solution algorithm for inter-city bus carriers,” Transportation Research A, vol. 36, no. 9, pp. 805–825, 2002.