This paper presents an approach for solving the bus crew scheduling problem which considers early, day, and late duty modes with time shift and work intensity constraints. Furthermore, the constraint with the least crew number of a certain duty (e.g., day duty) has also been considered. An optimization model is formulated as a 0-1 integer programming problem to improve the efficiency of crew scheduling at the minimum expense of total idle time of crew for a circle bus line. Correspondingly, a heuristic algorithm utilizing the tabu search algorithm has been proposed to solve the model. Finally, the proposed model and algorithm are successfully tested by a case study.

The urban bus crew scheduling problem is a fundamental and crucial problem arising in the field of transit scheduling, because there are the main resources necessary to service passengers. Given the timetable of an urban transit line during one day, the scheduling problem of a bus crew is to complete the operating arrangement of all crews with different duty types. The duty types of crew can be divided into three types: early, day, and late modes. With the influence of working hours, place of residence, living habits, and other factors, there are different requirements to the crew. For example, the crew can only choose trips with day duty when living farther away from the bus depot, the crew can select trips with early or late duty when they have temporary activities at noon, the crew can choose trips with early or day duty when they need to take care of family members at night, and some crews can be allocated to trips with any kind of duty type. Therefore, how to arrange the crew scheduling so as to utilize the manpower resources effectively and satisfy a set of constraints laid down by the labor regulations, has an important theoretical and practical significance.

The urban bus crew scheduling has received much attention in the last decade, and there have been many models and solution methods. According to the objective of model, it can usually be divided into set covering, set partitioning, and multiobjective program. Smith and Wren [

As for the solution method of bus crew scheduling, it can be divided into mathematical programming methods including integer linear programming, column generation, branch and bound method, and heuristic methods including genetic algorithm, tabu search algorithm, colony algorithm, and so forthm.

Mitra and Darby-Dowman [

For an overview on these papers, although a lot of attention has been paid to the factors associated with the required crew number, total work hours, layover and rest time, impartiality, and so forth in bus crew scheduling, only a few papers consider the duty type constraint, which should be well considered in process of urban transit operation.

The remainder of paper is organized as follows. In Section

Given a set of trips within a fixed planning horizon, the crew scheduling problem consists of generating a feasible set of crew schedule which includes sign-on and sign-off time, crew duty types, and a serial of trips which covers the bus schedule and satisfies a range of constraints laid down by work rules. The trips that are assigned to the same crew member define a crew duty. Together the duties constitute a crew schedule. The criteria for crew scheduling are based on an efficient use of manpower resources while maintaining the integrity of any work rule agreements. The usual crew scheduling problem uses one or more of these objectives: minimum sum of crew costs, minimum number of crew required, and maximum the efficiency of crew usage.

The crew scheduling problem in this study is to arrange the work plan for crew in a single bus line. The kind of urban bus line is a circle one, which means that the starting station and terminal are the same bus station. Each trip has fixed departure and arrival times and can be assigned to a crew member from a determined depot. All trips have been numbered in ascending departure time order. Each crew should be restricted to work in the same vehicle during the bus operating time.

In particular, each crew duty must satisfy several complicating constraints corresponding to work rule regulation. Typical examples of such constraints are maximum working time without a break, minimum break duration, maximum total working time, and maximum duration. In this paper, the considered work rules mainly involve time shift, work intensity, and duty type compatibility constraints. The time shift constraint means that the difference between departure time of latter trip and arrival time of former trip at the same station should not be less than the minimum layover time, as for the two adjacent trips carried by the same crew. The work intensity constraint can be defined that the total work time of each crew does not exceed the maximum number of work hours corresponding to the duty type of crew.

According to the different peak hours, crew duty can be divided into three types, namely, early, day, and late mode. The early duty covers morning peak hours and the range of working time is generally from 6:00 to 13:00, while the late duty covers evening peak hours, and the range of working time is generally from 15:00 to 22:00. Due to the evening peak hours forward and morning peak hours backward in weekend, the day duty covers two peak hours, and the range of working time is from 9:00 to 18:00. In this paper, we consider the three duty types mentioned before, and the sign-on and sign-off time can be chosen flexibly with work plan. The duty type compatibility constraint means that the departure time of trip should be later than the earliest sign-on time and earlier than the latest sign-off time corresponding to crew duty type.

With the different working time of duty types, crew members have special requirements. For example, the total crew number with day duty should be larger than a fixed value, which should be considered fully in the crew scheduling model. Furthermore, the crew number provided by bus company is limit, thus, the total crew number with all duty types must be no more than the crew number available.

The optimization objective of bus crew scheduling in this paper is to maximize the utilization of all crews, and consequently lower the operating cost. In order to make the crew more efficient, the objective function can be expressed by minimizing the total idle time of crew. The calculation of crew idle time can be shown in Figure

The crew idle time with four trips.

The following definitions and notations are used throughout this paper.

As defined above, the crew scheduling problem can be formulated as follows:

The objective is to minimize the total idle time of crew. As to crew

Tabu search algorithm uses a neighborhood search procedure to iteratively move from one potential solution to an improved solution, until some stopping criterion has been satisfied. The tabu search is a metaheuristic local search algorithm that can be used for solving combinatorial optimization problems. Because the major advantages of this algorithm are its simplicity, speed, and flexibility, and the urban bus crew scheduling model in the paper is a complex zero-one programming problem, we can use tabu search algorithm easily. The main parameters of algorithm are designed as follows.

The two-dimensional integer array encoding method can be used for the solution of crew scheduling problem, in which rows are the crews, the first column is the duty type of crew and other columns are the trips. The trips are numbered in ascending departure time order. Assume that there are fifteen trips carried out by five crews. The trip chains of each crew can be expressed as follows: crew 1:

The expression of solution.

Based on the value of two-dimensional array, the decoding process is the inverse of encoding process. Take the data of Figure

Decoding diagram.

The initial solution is the starting point of algorithmic search. A superior quality of the initial solution will enable the algorithm to quickly converge to the optimal solution. In the process of generating the initial solution, the constraints with time shift, work intensity, and duty type compatibility should be satisfied. The procedure of the algorithm can be taken as follows:

The trips set carried out by crew

Determine the duty type

Calculate the crew number

Verify time shift constraint. If

Verify work intensity constraint. Calculate the total work time of crew

Let

Let

If

The neighborhood structure uses trips exchange and inserts a strategy between different crews. Trips exchange strategy can be described as follows: a single exchange point on both two parents’ trip chains is selected. The trip number of that point is swapped between the two parent organisms. The resulting organisms are the children. For example, trip 5 of crew 1 (

Trips exchange strategy.

Trips inserting a strategy can be described as follows: one trip from crew 1 will be inserted into the trips chain of crew 2. The insert point depends on the ascending departure time order of the trips chain of crew 2, and two new trips chains of crew will reincarnation. For example, trip 5 of crew 1 (

Trips insert strategy.

In order to search for better solutions in the algorithmic iterative process, it is necessary to evaluate the solution. It should calculate the value of objective function and considere the constraints at the same time. Because the initial solution has satisfied time shift, work intensity, and duty type compatibility constraints, and the new solution generated in neighborhood search also satisfies the former three constraints, the number of day duty and total crew constraints are the only factors which need to be considered. As for the solution which cannot satisfy the number of day duty and total crew constraints, it should be punished. Here we can take two parameters

The record of tabu table is the transform (exchange or insert) node, and tabu length takes fixed length. Select the regulation based on the value of evaluation as aspiration criterion, that is, the solution of the objective can be free, if it is better than any of the currently known best candidate solution. The stopping criterion is based on the value of fitness function. If the best value does not change after a given number of iterations, the algorithm will stop the calculation.

In a certain urban bus line, there are 168 trips in a day. The departure time of each trip can be obtained from Table

Departure time of trips.

TN | DT | TN | DT | TN | DT | TN | DT | TN | DT | TN | DT |
---|---|---|---|---|---|---|---|---|---|---|---|

01 | 6:30 | 29 | 9:22 | 57 | 11:51 | 85 | 14:29 | 113 | 17:07 | 141 | 19:13 |

02 | 6:45 | 30 | 9:26 | 58 | 11:56 | 86 | 14:34 | 114 | 17:14 | 142 | 19:17 |

03 | 6:58 | 31 | 9:30 | 59 | 12:02 | 87 | 14:39 | 115 | 17:20 | 143 | 19:21 |

04 | 7:10 | 32 | 9:34 | 60 | 12:06 | 88 | 14:43 | 116 | 17:25 | 144 | 19:25 |

05 | 7:20 | 33 | 9:38 | 61 | 12:11 | 89 | 14:50 | 117 | 17:30 | 145 | 19:29 |

06 | 7:25 | 34 | 9:41 | 62 | 12:16 | 90 | 14:56 | 118 | 17:35 | 146 | 19:35 |

07 | 7:31 | 35 | 9:48 | 63 | 12:21 | 91 | 15:01 | 119 | 17:39 | 147 | 19:39 |

08 | 7:38 | 36 | 9:53 | 64 | 12:27 | 92 | 15:08 | 120 | 17:43 | 148 | 19:44 |

09 | 7:44 | 37 | 10:00 | 65 | 12:33 | 93 | 15:15 | 121 | 17:48 | 149 | 19:48 |

10 | 7:48 | 38 | 10:07 | 66 | 12:38 | 94 | 15:21 | 122 | 17:51 | 150 | 19:53 |

11 | 7:53 | 39 | 10:13 | 67 | 12:42 | 95 | 15:27 | 123 | 17:56 | 151 | 20:00 |

12 | 7:58 | 40 | 10:18 | 68 | 12:46 | 96 | 15:32 | 124 | 18:00 | 152 | 20:05 |

13 | 8:03 | 41 | 10:23 | 69 | 12:51 | 97 | 15:38 | 125 | 18:05 | 153 | 20:11 |

14 | 8:08 | 42 | 10:29 | 70 | 12:56 | 98 | 15:42 | 126 | 18:09 | 154 | 20:17 |

15 | 8:12 | 43 | 10:34 | 71 | 13:02 | 99 | 15:49 | 127 | 18:13 | 155 | 20:23 |

16 | 8:17 | 44 | 10:40 | 72 | 13:08 | 100 | 15:53 | 128 | 18:17 | 156 | 20:30 |

17 | 8:22 | 45 | 10:44 | 73 | 13:13 | 101 | 15:59 | 129 | 18:21 | 157 | 20:37 |

18 | 8:26 | 46 | 10:49 | 74 | 13:19 | 102 | 16:05 | 130 | 18:25 | 158 | 20:43 |

19 | 8:30 | 47 | 10:53 | 75 | 13:26 | 103 | 16:10 | 131 | 18:29 | 159 | 20:50 |

20 | 8:34 | 48 | 10:58 | 76 | 13:33 | 104 | 16:16 | 132 | 18:34 | 160 | 20:57 |

21 | 8:39 | 49 | 11:03 | 77 | 13:40 | 105 | 16:21 | 133 | 18:39 | 161 | 21:05 |

22 | 8:45 | 50 | 11:09 | 78 | 13:48 | 106 | 16:27 | 134 | 18:43 | 162 | 21:13 |

23 | 8:51 | 51 | 11:15 | 79 | 13:55 | 107 | 16:32 | 135 | 18:47 | 163 | 21:20 |

24 | 8:57 | 52 | 11:22 | 80 | 14:02 | 108 | 16:38 | 136 | 18:51 | 164 | 21:27 |

25 | 9:03 | 53 | 11:29 | 81 | 14:08 | 109 | 16:42 | 137 | 18:55 | 165 | 21:35 |

26 | 9:09 | 54 | 11:35 | 82 | 14:13 | 110 | 16:48 | 138 | 19:00 | 166 | 21:43 |

27 | 9:14 | 55 | 11:41 | 83 | 14:18 | 111 | 16:53 | 139 | 19:04 | 167 | 21:50 |

28 | 9:18 | 56 | 11:46 | 84 | 14:23 | 112 | 16:59 | 140 | 19:08 | 168 | 22:00 |

TN: trip number; DT: departure time.

The parameters of tabu search algorithm are taken as follows: the tabu length is 6, both the punish factors

Parameter of different duty types.

Duty types | Earliest sign-on time | Latest sign-off time | Maximum working time (min) |
---|---|---|---|

Early | 6:00 | 13:00 | 300 |

Day | 9:00 | 18:00 | 300 |

Late | 15:00 | 22:00 | 300 |

The optimal results of crew scheduling.

Crew number | Duty type | Trips | Earliest departure time | Latest departure time |
---|---|---|---|---|

01 | Early | 1-4-9-16-24-31 | 6:30 | 9:30 |

02 | Early | 2-5-11-18-26-35-47-53-59 | 6:45 | 12:02 |

03 | Early | 3-7-14-22-30-39-46 | 6:58 | 10:49 |

04 | Early | 6-12-20-28-36 | 7:25 | 9:53 |

05 | Early | 8-15-23-32-40-48-54 | 7:38 | 11:35 |

06 | Early | 10-17-27-37-44 | 7:48 | 10:40 |

07 | Early | 13-21-29-38-45 | 8:03 | 10:44 |

08 | Early | 19-25-33-42-51-60-67 | 8:30 | 12:42 |

09 | Day | 34-41-52-61-68-74 | 9:41 | 13:19 |

10 | Day | 43-50-56-63-70 | 10:34 | 12:56 |

11 | Day | 49-55-62-69-75-80 | 11:03 | 14:02 |

12 | Day | 57-64-71-77-83-91-97-104-111 | 11:51 | 16:53 |

13 | Day | 58-65-72-78-84-90 | 11:56 | 14:56 |

14 | Day | 66-73-79-85-92-99-106 | 12:38 | 16:27 |

15 | Day | 76-81-88-95-102-109 | 13:33 | 16:42 |

16 | Day | 82-89-96-103-110 | 14:13 | 16:48 |

17 | Day | 86-93-100-108-114-121 | 14:34 | 17:48 |

18 | Day | 87-94-101-107-113 | 14:39 | 17:07 |

19 | Late | 98-105-112-118-127-135-143-151-157 | 15:42 | 20:37 |

20 | Late | 115-123-131-139-147-155-162-167 | 17:20 | 21:50 |

21 | Late | 116-124-132-140-148-156-164-168 | 17:25 | 22:00 |

22 | Late | 117-125-133-141-149 | 17:30 | 19:48 |

23 | Late | 119-129-137-145-153-161-166 | 17:39 | 21:43 |

24 | Late | 120-128-136-144-152-160-165 | 17:43 | 21:35 |

25 | Late | 122-130-138-146-154-159 | 17:51 | 20:50 |

26 | Late | 126-134-142-150-158-163 | 18:09 | 21:20 |

Table

In this paper, a 0-1 integer programming model with the objective of minimizing the total idle time of crew for a circle bus line in consideration of mainly various working rules and duties of different crews is developed. The considered working rules mainly involve time shift, work intensity, and duty type compatibility constraints, and the duties of crew include early, day, and late modes. A tabu search algorithm is then proposed to solve the model, and a numerical example has been given to show the effectiveness of the obtained results. The result shows that the model can effectively solve the scheduling problem with multiple duty types, and this method can thus serve as a useful tool for urban transit management department with more reasonable and pertinent assistant decision support. Furthermore, considering the crew scheduling problem with multiple transit lines and multiple depot constraints is an important topic for further research.

The work described in this paper was supported by National Natural Science Foundation of China (no. 50968009 and no. 71261014) and the Research Fund for the Doctoral Program of Higher Education (no. 20096204110003).