- About this Journal ·
- Abstracting and Indexing ·
- Advance Access ·
- Aims and Scope ·
- Annual Issues ·
- Article Processing Charges ·
- Articles in Press ·
- Author Guidelines ·
- Bibliographic Information ·
- Citations to this Journal ·
- Contact Information ·
- Editorial Board ·
- Editorial Workflow ·
- Free eTOC Alerts ·
- Publication Ethics ·
- Reviewers Acknowledgment ·
- Submit a Manuscript ·
- Subscription Information ·
- Table of Contents

Discrete Dynamics in Nature and Society

Volume 2012 (2012), Article ID 649213, 11 pages

http://dx.doi.org/10.1155/2012/649213

## A Model for Bus Crew Scheduling Problem with Multiple Duty Types

School of Traffic and Transportation, Lanzhou Jiaotong University, Lanzhou 730070, China

Received 18 June 2012; Revised 23 August 2012; Accepted 26 August 2012

Academic Editor: Wuhong Wang

Copyright © 2012 Mingming Chen and Huimin Niu. 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 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.

#### 1. Introduction

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 [1] introduced a crew scheduling problem formulation based on set covering problem, solved by using integer linear programming. The elements covered were duty pieces, and the covering process used slack and surplus variables. Darby-Dowman and Mitra [2] presented a natural generalization called the extended set partitioning model which formed the basis of a computer assisted bus crew scheduling system. An integrated vehicle and crew scheduling problem proposed by Mesquita and Paias [3] were described by an integer linear programming formulation combining a multicommodity network flow model with a set partitioning/covering model. Beasley and Cao [4] developed a new lower bound for the crew scheduling problem based on dynamic programming. Lourenco et al. [5] brought a mutiobjective crew scheduling model, which was tackled using a tabu search technique, metaheuristics, and genetic algorithms. Huisman et al. [6] presented an integrated approach to solve a vehicle scheduling problem and a crew scheduling problem on a single bus route.

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 [7] established a computer-based bus crew scheduling model using integer programming. The approach presented by Desrochers and Soumis [8] used column generation solution procedure. Clement and Wren [9] introduced a solution for the crew scheduling problem using a genetic algorithm, and several greedy algorithms were used for assigning duties to pieces of work. Beasley and Cao [10] established a 0-1 integer programming model, and a tree-search algorithm was used to obtain the final optimum. Ceder [11] used deficit function properties to construct vehicle chains, splitted and recombined vehicle blocks into legal duties, and used a shortest-path and matching algorithm for solving the problem. Shen and Ni [12] established a crew scheduling model with minimizing the number and cost of duty and designed the multineighbourhood structure. The crew scheduling model was abstracted by Yang et al. [13] as an optimization problem for the minimum of a nonlinear constraint function, and a genetic algorithm was used to solve the problem. Niu [14] focused on how to determine the skip-stop scheduling for a congested urban transit line during the morning rush hours and formulated a nonlinear programming model with the objective of minimizing the overall waiting times and the in-vehicle crowded costs, and a bilevel genetic algorithm was proposed to solve the problem. Srdjan et al. [15] proposed architecture for a new scheduling mechanism that dynamically executes a scheduling algorithm using feedback about the current status grid nodes, and two artificial neural networks were created in order to solve the scheduling problem. A tabu search algorithm was proposed by Atli [16] to provide good solutions to resource-constrained, deterministic activity duration project scheduling problems.

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 2, we describe the urban bus crew scheduling problem and establish an optimization model with minimizing the total crew idle time. A tabu search algorithm is then designed in Section 3. In Section 4, a numerical example is provided to illustrate the application of the model and algorithm. Finally, we present the conclusions and some comments on topics requiring future research.

#### 2. Urban Bus Crew Scheduling Model

##### 2.1. Problem Description

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 1. There are four trips assigned to a crew and the idle time section is three. The first idle time section begins with the arrival time of trip 1 (7:02) and ends with the departure time of trip 2 (7:08), and the value of first idle time is 6 minutes. Similarly, the second and third idle time is 10 and 15 minutes, respectively. Therefore, the total idle time of the crew is 31 minutes. The least idle time can be gained by arranging different trips with the same crew.

##### 2.2. Definitions and Notations

The following definitions and notations are used throughout this paper. number of trips provided by timetables in a day number of duty types of crew number of crew available in a day the least number of crew required with day duty index of the trips, index of the crew, index of duty types, , represents early duty; , represents day duty; , represents late duty number of crew with duty g departure time of trip at the starting station arrival time of trip at the terminal the least layover time at the starting station for each crew the maximum value of work hours for each crew with duty g the earliest sign-on time of crew with duty g the latest sign-off time of crew with duty g decision variables to indicate whether trip is carried out by crew with duty , takes two values: , if trip is carried out by crew with duty ; , otherwise a binary 0-1 variable which indicates the status of trip and trip carried out by crew with duty . takes two values: , if trip is the next trip after trip carried out by crew with duty ; , otherwise.

##### 2.3. Bus Crew Scheduling Model

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 with duty , the idle time between two adjacent trips and can be calculated by. Inequality (2.2) guarantees that the time shift constraint should be satisfied by each of two adjacent trips carried out by the same crew. Inequalities (2.3) and (2.4) represent the constraints of work intensity and duty type compatibility, respectively. Inequality (2.5) is the number of day duty constraint, which denotes that the number of crew with day duty should be more than or equal to the constant . Inequality (2.6) is the crew number constraint, which means that the total number of crew required should be no more than the value . Constraint (2.7) assures that each trip will be carried out by exactly one crew. Constraint (2.8) shows the relationship between variable and decision variable .

#### 3. Algorithm Design

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.

##### 3.1. Expression of Solution

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: **1**-1-5-7-10, crew 2: **1**-2-4-9, crew 3: **2**-3-6-14, crew 4: **2**-8-11-13, and crew 5: **3**-12-15; the expression of solution can be shown in Figure 2.

Based on the value of two-dimensional array, the decoding process is the inverse of encoding process. Take the data of Figure 2, as an example, there are three duty types of crew, and the crew number with early duty (duty **1**) is two. The number of trips carried out by crew 1 with early duty is 1, 5, 7, and 10, thus, the variables are , and . The number of trips carried out by crew 2 with early duty is 2, 4, and 9, thus, the variables are . The decoding methods of other crews are similar to the former method. The decoding results are shown in Figure 3.

##### 3.2. Generation of Initial Solution

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:

*Step 1 (Initialization). *The trips set carried out by crew with duty is set to an empty set, namely, , for all . The optional duty type set for trip can be defined as follows: , for all . Let , .

*Step 2. *Determine the duty type of crew carrying out trip with the following equation: .

*Step 3. *Calculate the crew number and the largest trip number corresponding to duty . If , where , , go to Step 4; otherwise, go to Step 6.

*Step 4. *Verify time shift constraint. If , go to Step 5; otherwise, go to Step 6.

*Step 5. *Verify work intensity constraint. Calculate the total work time of crew with duty , . If , go to Step 7; otherwise, go to Step 6.

*Step 6. *Let , , go to Step 7.

*Step 7. *Let , , go to Step 8.

*Step 8. * If , stop and output the results; otherwise, go to Step 2.

##### 3.3. Neighborhood Structure

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 (**1**-1-5-7-10) is exchanged with trip 4 of crew 2 (**1**-2-4-9), and new solutions can be gained. The trips chain of crew 1 has become **1**-1-4-7-10, and the trips chain of crew 2 has become **1**-2-5-9, shown in Figure 4.

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 (**1**-1-5-7-10) is inserted into the trips chain of crew 2 (**1**-2-4-9); new solutions can be gained. The trips chain of crew 1 has become **1**-1-7-10, and the trips chain of crew 2 has become **1**-2-4-5-9, shown in Figure 5. The trips exchange or insert operation cannot be carried out, if the trips chain of any crew cannot satisfy time shift, work intensity, or duty type compatibility constraints with any of the operations.

##### 3.4. Evaluation of Solution

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 and as the punish factors, and both of the values take large positive numbers. If the solution can satisfy the number of day duty and total crew constraints, the value of fitness function and objective function will be equal; otherwise the value of fitness function will be much larger than the objective function, which means that the set of values for decision variables cannot create the feasible solution. The fitness function can be formulated as follows: where represents the value of objective function.

##### 3.5. Other 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.

#### 4. Numerical Example

In a certain urban bus line, there are 168 trips in a day. The departure time of each trip can be obtained from Table 1. The running time from the starting station to the terminal is 30 minutes. The least layover time at starting station for each crew is 3 minutes. The maximum number of crew provided by bus company is 26, and the least crew number with day duty is 9.

The parameters of tabu search algorithm are taken as follows: the tabu length is 6, both the punish factors and are 10000, and the given number of iterations without improving the solution is 100. The other parameter is given in Table 2. The optimal solution can be calculated using VC++ program, shown in Table 3. The objective value of optimal solution is 1198 minutes.

Table 3 shows that the total number of crew is 26, where the crew number with early, day, and late duty is 8, 10, and 8, respectively. The earliest and latest departure times of each crew satisfy duty type compatibility constraint. Due to the same running time of trips, the crew with longest working time is the one who carries out with the largest number of trips, namely, the numbers 2, 12, and 19. The actual working time of the former three crews has the same value of 270 minutes, which is smaller than the maximum working time. The average crew working time with day duty is relatively small with the influence of time shift and the number of day duty constraints.

#### 5. Conclusions

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.

#### Acknowledgments

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

#### References

- B. M. Smith and A. Wren, “A bus crew scheduling system using a set covering formulation,”
*Transportation Research Part A*, vol. 22, no. 2, pp. 97–108, 1988. View at Google Scholar · View at Scopus - K. Darby-Dowman and G. Mitra, “An extension of set partitioning with application to scheduling problems,”
*European Journal of Operational Research*, vol. 21, no. 2, pp. 200–205, 1985. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - M. Mesquita and A. Paias, “Set partitioning/covering-based approaches for the integrated vehicle and crew scheduling problem,”
*Computers and Operations Research*, vol. 35, no. 5, pp. 1562–1575, 2008. View at Publisher · View at Google Scholar · View at Scopus - J. E. Beasley and B. Cao, “A dynamic programming based algorithm for the crew scheduling problem,”
*Computers and Operations Research*, vol. 25, no. 7-8, pp. 567–582, 1998. View at Google Scholar · View at Scopus - H. R. Lourenço, J. P. Paixão, and R. Portugal, “Multiobjective metaheuristics for the bus-driver scheduling problem,”
*Transportation Science*, vol. 35, no. 3, pp. 331–343, 2001. View at Publisher · View at Google Scholar · View at Scopus - D. Huisman, R. Freling, and A. P. M. Wagelmans, “Multiple-depot integrated vehicle and crew scheduling,”
*Transportation Science*, vol. 39, no. 4, pp. 491–502, 2005. View at Publisher · View at Google Scholar · View at Scopus - G. Mitra and K. Darby-Dowman, “A computer-based bus crew scheduling system using integer programming,”
*Computer Scheduling of Public Transport*, vol. 35, no. 5, pp. 223–232, 1985. View at Google Scholar - M. Desrochers and F. Soumis, “A column generation approach to the urban transit crew scheduling problem,”
*Transprotation Science*, vol. 23, no. 1, pp. 1–13, 1989. View at Google Scholar - R. Clement and A. Wren, “Greedy genetic algorithms, optimizing mutations and bus driver scheduling,”
*Computer-Aided Transit Scheduling, Lecture Notes in Economics and Mathematical Systems*, vol. 430, pp. 213–235, 1995. View at Google Scholar - J. E. Beasley and B. Cao, “A tree search algorithm for the crew scheduling problem,”
*European Journal of Operational Research*, vol. 94, no. 3, pp. 517–526, 1996. View at Publisher · View at Google Scholar · View at Scopus - A. Ceder,
*Public Transit Planning and Operation-Theory, Modelling and Practice*, chapter 10, Elsevier, Oxford, UK, 2007. - Y. Shen and Y. Ni, “Model for crew scheduling with time windows and multi-neighborhood structures,”
*Journal of Huazhong University of Science and Technology*, vol. 36, no. 12, pp. 31–34, 2008. View at Google Scholar · View at Scopus - Y. J. Yang, Y. P. Wang, and X. M. Zhao, “Research on staff scheduling of urban passenger taxi dispatching center based on genetic algorithm,”
*Journal of Highway and Transportation Research and Development*, vol. 27, no. 7, pp. 142–146, 2010. View at Google Scholar - H. M. Niu, “Determination of the skip-stop scheduling for a congested transit line by bilevel genetic algorithm,”
*International Journal of Computational Intelligence Systems*, vol. 6, no. 4, pp. 1158–1167, 2011. View at Google Scholar - V. Srdjan, E. Aleksandar, and L. Imre, “Optimization of workflow scheduling in utility management system with hierarchical neural network,”
*International Journal of Computational Intelligence Systems*, vol. 4, no. 4, pp. 672–679, 2011. View at Google Scholar - O. Atli, “Tabu search and an exact algorithm for the solutions of resource-constrained project scheduling problems,”
*International Journal of Computational Intelligence Systems*, vol. 4, no. 2, pp. 255–267, 2011. View at Google Scholar · View at Scopus