Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Case Study of Beijing Bus CRW Scheduling

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

JOURNAL OF ADVANCED TRANSPORTATION

J. Adv. Transp. 2016; 50:434–445


Published online 22 September 2015 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/atr.1333

A case study of Beijing bus crew scheduling: a variable


neighborhood-based approach

Jihui Ma3, Avishai (Avi) Ceder1,2*, Yang Yang3, Tao Liu1 and Wei Guan3
1
Department of Civil and Environmental Engineering, University of Auckland, Auckland, New Zealand
2
Technion-Israel Institute of Technology, Haifa, Israel
3
MOE Key Laboratory for Urban Transportation Complex Systems Theory and Technology, Beijing Jiaotong
University, Beijing 100044, China

SUMMARY
Crew scheduling for bus drivers in large bus agencies is known to be a time-consuming and cumbersome
problem in transit operations planning. This paper investigates a new meta-heuristics approach for solving
real-world bus-driver scheduling problems. The drivers’ work is represented as a series of successive pieces
of work with time windows, and a variable neighborhood search (VNS) algorithm is employed to solve the
problem of driver scheduling. Examination of the modeling procedure developed is performed by a case
study of two depots of the Beijing Public Transport Group, one of the largest transit companies in the world.
The results show that a VNS-based algorithm can reduce total driver costs by up to 18.1%, implying that the
VNS algorithm may be regarded as a good optimization technique to solve the bus-driver scheduling
problem. Copyright © 2015 John Wiley & Sons, Ltd.

KEY WORDS: crew scheduling problem; variable neighborhood search; local search; meta-heuristic

1. INTRODUCTION

Crew scheduling of bus drivers working for large bus agencies involves finding the most efficient way of
assigning notional drivers to the daily operations of a fleet of vehicles. The precursor to the driver/crew
scheduling problem is the vehicle-scheduling problem, which deals with the allocation of vehicles to
the trips to be operated. Two solution approaches are commonly used for the crew scheduling problem,
the sequential approach and the integrated approach. In the sequential approach, vehicle schedules are the
base for the crew schedules having several constraints related to vehicle scheduling such as the maximum
driver transfer times [1, 2]. In the integrated approach, vehicles and drivers are scheduled simultaneously.
This work uses the sequential approach because of being adaptive, as opposed to the integrated approach,
to the various labor-agreement restrictions and the handling of large numbers of trips. That is, the inte-
grated approach, used by Freling et al. [3] and Steinzen et al. [4] through solving quasi-assignment
problems, increases the computational time exponentially for large numbers of trips.
When all daily driver duties for a schedule or set of schedules (sometimes weekdays have different
schedules from weekends) have been complied with, it is necessary to combine them into sets of
work for actual drivers on a weekly basis. In China, the weekly duties are usually organized by
the management into a rotating roster, and the drivers work through all the weekly rotations in turn.
The driver scheduling problem presented here is concerned with the assignment of notional drivers
to a predetermined bus schedule. In this problem, the operators prefer to adopt the minimum number
of duties and/or have the lowest total cost. The number of possible combinations for partitioning the

*Correspondence to: Avishai (Avi) Ceder, Department of Civil and Environmental Engineering, University of Auckland,
New Zealand, Technion-Israel Institute of Technology, Haifa, Israel. E-mail: a.ceder@auckland.ac.nz

Copyright © 2015 John Wiley & Sons, Ltd.


VNS ALGORITHM FOR BUS CREW SCHEDULING 435

vehicle work into a schedule is usually astronomical. There is, though, a set of restrictions on driver
schedules. For example, the daily working time for a driver has to be limited to a certain number of
hours; a driver is normally required to have a break if the continuous driving time has reached a
certain limit. These restrictions, usually incorporated into labor agreements, vary a great deal among
different operators.
For the sake of clarification, a few terminologies should be introduced. Piece of work is the basic unit of
a schedule; it is composed of a time–location pair, start and end, in which time means the departure (start)
or arrival (end) time and location represents the start point or end point. A duty is the work to be performed
by a crew during one day from sign-on until sign-off at the depot and consists of pieces of work. A block is
a set of consecutive pieces of work performed by one vehicle from its departure until its return to the
depot. The relationship between duty and block is depicted in the next section. Vehicle work is the set
of blocks performed by the same vehicle over the course of a day. A schedule, which is a solution to
the crew scheduling problem, consists of a set of duties, legally performed, that together cover all the
required vehicle work.
Since the 1960s, many computer programs have been developed for solving the bus-driver sched-
uling problem. The earliest of these may be the system developed by Elias in the United States in
1964 [5]. Elias’s system is mainly based on three steps: first, cut 8-h straight-run (without a break)
duties from vehicle schedules; second, connect the pieces of work that are left from the first step if
some of them together could compose nearly to 8-h duty without violating the labor rules; and last,
to deal with the remaining pieces. Strictly speaking, the Elias’s system cannot be classified as an
intelligent algorithm. Many researchers have since developed approaches to solve the driver schedul-
ing problem by means of heuristic and meta-heuristic methods. These approaches roughly fall into
two groups: generate-and-select and heuristic search.
Generate-and-select group: he basic steps of the generate-and-select method are as follows first,
generate a set of valid duties according to the duty constraint; then, use a method such as a genetic
algorithm [6], integer linear programming method [7, 8], or fuzzy evaluation [9, 10] to screen out a
set of duties satisfying the constraints of the schedule. The duty-generation stage is independent of
the duty-selection stage. Many computer packages, such as Integer Mathematical Programming for
Automatic Crew Scheduling by Smith [11], Technique for Running Automatic Crew Scheduling by
Weaver and Wren [12], Computer Assisted Crew Scheduling by Wren et al. [13], and the known Tech-
niques for Running Automatic Crew Schedules Mark II (TRACEII) by Kwan et al. [14], have been
applied in real bus companies based on the generate-and-select method. In this study, we introduce
briefly TRACEII because up to now it has been considered the best system for solving the driver
scheduling problem. TRACEII was developed at Leeds University in 1994 and in essence constitutes
upgrades of the Integer Mathematical Programming for Automatic Crew Scheduling system. The first
module of TRACEII involves the generation of a set of valid duties; the second module is that of con-
solidation; the duties are ranked and eliminated if they are deemed to be inferior; the third module
deals with schedule search, in which an integer linear programming method is adopted to generate a
subset of the first module, and that subset is taken as a solution.
Heuristic search group: the main idea of the heuristic search method is to generate an initial
schedule and then to refine it iteratively. Shen [15] shows that tabu search is a prominent approach
for solving the driver scheduling problem. The algorithm used by Shen and Kwan [16] is a combi-
nation of the neighborhood search method and tabu strategy. First, an initial solution is generated,
which might be an invalid schedule; second, an analysis is made on the initial solution and a feasible
solution set, called neighborhood, is generated. If a solution exists that is better than the initial one, it
is recorded in the tabu list. The process is repeated until no further improvement can be obtained. We
adopted some of these ideas in our approach.
Specifically, in this work, we employ the variable neighborhood search (VNS) algorithm proposed
by Mladenović and Hansen [17]. This VNS algorithm solves the bus crew scheduling problem and is
classified under the heuristic search group in searching for the solution space.
In the past two decades, the VNS algorithm has been applied in many fields, such as graph coloring
problem [18], vehicle routing problem [19, 20], berth allocation problem [21], nurse rostering problem
[22], job shopping problem [23], and dial-a-ride problem [24], all of which indicate that VNS is an effec-
tive method to solve combinatorial non-convex continuous problems. Driver scheduling problem is an

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
436 J. MA ET AL.

important daily undertaking in bus companies, and to the best of our knowledge, none used the VNS-
based approach to solve this problem; this is the motivation behinds this work.
Given this background, the present paper is organized as follows: Section 2 describes the bus-driver
scheduling problem in detail. Section 3 investigates the VNS method and the steps for solving driver
scheduling with time windows. The experiments and analysis will be discussed in Section 4. Conclusions
will be finally drawn and recommendations for further work are made in Section 5.

2. BUS-DRIVER SCHEDULING WITH TIME WINDOWS

2.1. Vehicle schedule


Generally speaking, the transportation-planning process in a bus company is decomposed into four
sub-problems: timetabling, vehicle scheduling, driver scheduling, and driver roster [25]. The timetable,
which is determined by service demand, is the set of trips that should be operated in one day to meet
this demand. Each trip, which is called a piece of work, should be covered in the vehicle-scheduling
process. In driver scheduling, a subset of the pieces of work is a duty, and in the driver-roster process,
the duties are repeated periodically.
Vehicle schedules are usually represented as a set of blocks. A block presents a sequence of trips to
be operated by one vehicle during one day, beginning with its departure from the depot and ending
with a return to the same depot. Figure 1 displays an example of a block in a vehicle schedule. The
letters represent the arrival or departure stations; the numbers represent arrival and departure times.

2.2. Vehicle schedule with time windows


In practice, when a vehicle stops at a location, there is often a gap between the arrival time of the present
trip and the departure time of the next trip, called a time window. A time window at a particular relief
point constitutes a window of relief opportunities, during which drivers can be relieved at any time
within the window. Thus, the vehicle work in Figure 1 could be represented as in Figure 2. The two time
indications above each letter in Figure 2 mean that the vehicle will dwell a short time at that point; during
this short time, the driver may be relieved.

2.3. Driver scheduling with time windows


When a vehicle arrives at the terminal, the driver needs to have a short break or to wait for the departure
time of the next trip. The relationship between driver duty and block is illustrated in Figure 3. The duty
starts at Point A at 05:35 and ends at Point A at 10:05. The first part of the duty covers two pieces of
work of Vehicle 2, from 05:35 to 07:29; then the duty operates two pieces of work of Vehicle 1, from
07:29 to 08:50; lastly, the duty covers the final piece of work of Vehicle 2 and signs off at Point A.

Figure 1. Example of a vehicle block.

Figure 2. Vehicle schedule/block with time windows.

Figure 3. The representation of blocks and duty.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
VNS ALGORITHM FOR BUS CREW SCHEDULING 437

The objective of the bus-driver scheduling process is to minimize the total cost of the vehicle schedules
covering all the pre-arranged pieces.

2.4. Objectives of driver scheduling


The objective of driver scheduling is to compile a schedule such that
• each piece of work is executed at least once;
• each duty is valid based on a set of rules; and
• the total cost of the schedule is minimized.
The first condition is always satisfied throughout the scheduling process within which this condi-
tion is served as a constraint. The second condition is to make each duty valid; this paper models this
condition using a minimization procedure of a penalty function until the penalty value converges to
zero. The third condition is to minimize the cost function through minimization of the number of
duties and the operational cost. The first condition is overriding. The second and the third conditions
may have a trade-off situation dependent on the operator’s requirements.

3. VARIABLE NEIGHBORHOOD SEARCH ALGORITHM FOR BUS-DRIVER SCHEDULING


WITH TIME WINDOWS

3.1. Local search


Local search techniques are iterative procedures that aim to find a solution minimizing an objective
function f over a set S of feasible solutions of the problem. The iterative process starts from an initial
solution s in S and is replaced by the next solution s′, which is chosen in the neighborhood of s and
represented as N(s) ∈ S if f(s′) < f(s). Typically, a neighbor s′ in N(s) ∈ S is obtained from s by
performing a local change, which we called a move (within the solution s). Several stopping rules
are defined. The simplest local search technique can be described as follows:

Local Search Algorithm:


Step 1: choose initial solutions s in S and set sbest = s;
Step 2: obtain a solution s′ in N(s) such that f(s′) < f(s) for all solutions in N(s); and
Step 3: if the s′ referred to in Step 2 exists, then set s = s′, sbest = s′, and go to step 2, or else, stop the
procedure.
It is obvious that the method described in the previous text will stop at a local optimum. In order to
overcome being trapped in the local optimum, some measures have been taken, such as simulated
annealing [26] and tabu search [27]. Hansen et al. [28] designed a new local search technique called
VNS, which will lead to an escape from the local optimum. The VNS algorithm will be discussed in
the next section.

3.2. Variable neighborhood search algorithm


The basic approach of VNS is to apply several neighborhood structures for detecting the solution space,
thus reducing the risk of being trapped in a local optimum. Hansen et al. [28] described several VNS
variants. We reproduce here the simplest variant performing several descents with different neighbor-
hoods until a local optimum for all considered neighborhoods is reached. That is, let N1, N2, …, Nm
denote a set of m neighborhood structures (i.e., Ni(s) contains the solution that can be obtained by
performing a local change on s according to the ith type). The pseudo-code of VNS algorithm is showed
in Figure 4. Using the function Shake(x, k), presented in Figure 4, we generate a point x′ from the kth
neighborhood of x, that is, x′ ∈ Nk(x). kmax and tmax are two parameters exhibiting the maximum number
of iterations between two improvements and the maximum CPU time allowed, respectively. It has been
observed that the best value for the parameter kmax is often 2.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
438 J. MA ET AL.

Figure 4. Simplest variant of the variable neighborhood search (VNS) procedure.

3.3. Variable neighborhood search algorithm for solving bus-driver scheduling with time windows
3.3.1. Neighborhood structure construction
In order to describe the neighborhood structure systematically, we first represent the solution with
regard to movements. In doing this, we follow the method proposed by Shen and Kwan [16]. In the
following notation, i is the index of duty in a schedule and j is the index of link in a duty.
pij = (tp, wp): Link tp is the departure time and wp is the departure point
qij = (tq, wq): Link tq is the arrival time and wq is the arrival point
lij = (pij, qij): Piece a link, defined by a directed pair of departure–arrival
ni: Number of links in Duty i
Di ¼ fli1 ; li2 ; li3 ; …; lidi g: A duty, defined by a linearly ordered set of links in the order they occur
in the duty
s = {D1, D2, D3, …, Dsi}: A solution; si is the number of duties
S = {s1, s2, s3, ....}: The solution space

• Swapping Two links


Given two different duties, Duty1 and Duty2, and two links, d1i and d2j, we define d1i = (p1i, q1i) and
d2j = (p2j, q2j) (p1i and p2j are departure times, and q1i and q2j are arrival times). Besides, d1i ∈ Duty1 and
d2j ∈ Duty2.
Break and reconnect: break the links d1i and d2j, and connect p1i with q2j and p2j with q1i. This
procedure generates two new links, d ′li and d ′2j , and two new duties, Duty1′ and Duty2′. After the
procedure, a solution belongs to the neighborhood of N(x) is obtained as is shown in Figure 5.
• Insert one piece
Given two different duties, Duty1 and Duty2, and three links, d1i, d2i, and d1j, we define d1i = (p1i, q1i),
d2i = (p2i, q2i), and d1j = (p1j, q1j) (p1i, p2i, and p1j are departure times; q1i, q2i, and q1j are arrival times);
besides, d1i, d2i ∈ Duty1 and d1j ∈ Duty2.

Figure 5. Swapping two links.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
VNS ALGORITHM FOR BUS CREW SCHEDULING 439

Break and reconnect: break the links, d1i, d2i, and d1j, and connect p1i with q2i, p1j with q1i, and p2i
with q1j. This procedure results in two new duties, Duty1′ and Duty2′, as shown in Figure 6.
• Swapping two pieces
Given two different duties, Duty1 and Duty2, d1i, d2i, d1j, and d2j are four links, and d1i = (p1i,
q1i) ∈ Duty1, d2i = (p2i, q2i) ∈ Duty1; d1j = (p1j, q1j) ∈ Duty2, and d2j = (p2j, q2j) ∈ Duty2 (p1i, p2i, p1j, and
p2j are departure times; q1i, q2i, q1j, and q2j are arrival times).
Break and reconnect: break the links d1i, d2i, d1j, and d2j, and connect p1i with q1j as d ′li, p2j with q2i
as d2i, p1j with q1i as d ′lj , and p2i with q2j as d ′2j ; this procedure results in two new duties: Duty1 ′ and
Duty2′, as shown in Figure 7.
As illustrated in the previous text, the operations on the old duties generate new duties, which are
composed of the solution neighborhood of the initial solution. However, the operations also bring an
unexpected condition: invalid duties when the moves are operated. In the next section, we will intro-
duce two functions, penalty and costing, to ensure convergence of the process.

3.3.2. Initial schedule


Many empirical studies have proved that a good initial schedule is helpful for the convergence of the
problem [29]. Here, we will generate the initial duty in a simple way as follows:
Step 1: Cut the block into pieces of work and sort the pieces by departure time.
Step 2: Estimate a conservative number of duties; thus, the number of pieces in a duty is determinate.
Step 3: Connect the pieces in a simple way, such as the departure time of the prior piece should be
earlier than the start time of the next piece until all the pieces in a duty are connected.

3.3.3. Penalizing a duty


As the initialization of the schedule is simple and crude, there are several types of infeasible schedules
that result in the initial process. During the move process, the infeasibility of the schedule probably
arises. Thus, a penalty function that can reflect the infeasibility of the schedule is necessary. When a
valid duty is encountered, the penalty is defined as 0. Several types of infeasible duties are described
here:
Working time limit: 380–400 min; a driver’s working time should be limited in to 380–400 min a
day, a limit that can be regarded as a legal restraint. In this paper, this parameter is represented by L.
Spreadover time limit: a spreadover time is the time duration from the driver’s sign-on at the depot
to his/her sign-off at the same depot. There is always an upper limit to the spreadover time, such as
480 min (8 h). In this paper, this parameter is represented by Q.
Duty continuity limit: the pieces of work in a duty should be consecutive, meaning that the previous
piece should arrive earlier than the departure time of the later piece and the connecting point of the two

Figure 6. Inserting one piece.

Figure 7. Swapping two pieces.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
440 J. MA ET AL.

pieces should be feasible. A typical condition will be depicted in detail in the next section. In this
paper, this parameter is represented by p.
As the initial schedule was created roughly, the duties may be infeasible. Meanwhile, in swapping
links and pieces and inserting pieces, we may also bring infeasibility to the duties. Figure 8 presents a
common illustration of the infeasibility of a duty. The black bars represent the pieces of work, the num-
bers above the bars are the departure or arrival points, and the horizontal line represents time. As can
be seen from Figure 8, the departure point of the third piece, B, does not coincide with the arrival point
of second piece, A; this calls for a deadheading (empty) trip between A and B. This situation will lead
to two conditions, which are depicted in Figure 9. In Condition 1, a dummy piece is added between the
second trip and the third trip; thus, the vehicle is able to operate the third piece continuously after its
arriving at point B. However, if the arrival time of the dummy piece is later than the departure time of
the third piece, a severe penalty should be added to this condition.
The search process for the optimal solutions includes two steps as follows.
Step 1 (feasibility check): Given a candidate solution duty D (regardless if it is feasible or not) that
may include a set of infeasible connections. If there is an overlap of trip connection pr (Case
2 of Figure 9), this candidate duty is infeasible and will be deleted instantly from the solution
space; otherwise, go to Step 2.
Step 2 (penalty calculation): Given a feasible solution duty D including a set of duty pieces I, the duty
penalty function is defined as follows:
2 !2 !2 3
X X
F ðDÞ ¼ min4λ1  t i  L þ λ2  Ti  Q 5 (1)
i∈I i∈I

where ti is the total working time of duty piece i and Ti is the spreadover time of duty piece i; L
and Q are the working time limit and spreadover time limit, respectively; λ1 and λ2 are weighting
parameters. The first term of Equation (1) captures the duty working time deviation, and the second
term quantifies the spreadover time deviation. The aim of the two terms is to maintain the duty
working time and spreadover time as close as possible to the planned parameters. Optimality of
D is at F(D) = 0.

3.3.4. Costing of a duty


The cost of duty, expressed in time units to be paid, can be computed according to the specific method
expressed in the labor agreement. The factors related to computing the cost of a duty are defined as
follows:
(1) Working time: total driving time; it is a fixed time.
(2) Idle time: total time that the driver is on duty, but without driving.

Figure 8. An invalid duty.

Figure 9. Two conditions when dealing with an invalid duty.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
VNS ALGORITHM FOR BUS CREW SCHEDULING 441

(3) Spreadover time: the duration of time from signing on to signing off at the depot; it is less than a
given maximum.
(4) Gap: the time between two successive pieces of work; it is less than a given time.
(5) Meal-break: a gap in which the driver travels to/from the canteen to have a meal; it is always from
40 to 50 min.
If a duty Di is valid, the cost of a duty is defined as being equal to the sum of the driving time and the
idle time of the duty.

4. EXPERIMENTS AND COMPUTATIONAL RESULTS

4.1. The VNS algorithm for bus-driver scheduling with time windows
The main steps of the VNS algorithm for bus-driver scheduling with time windows are as follows:

Step1: Initial Schedule


Step2: penalizing a duty*
Step3: costing a duty*
Step4: the result

*penalizing a duty
Generate an initial schedule x,
Repeat
Set k ¼ 1; xbest ¼ x
Repeat  
∀x′ ∈Nk ðxÞ, if f x′ < fðxÞ, then x ¼ x′ k = 1;
Else k = k + 1
Until k ¼ kmax
Until t > tmax
Obtain the result xbest
*costing a duty
Obtain the solution x from penalizing stage
Repeat
Set k = 1, xbest ¼ x
Repeat
∀x*′∈Nk ðx*Þ, if fðx*′Þ < fðx*Þ, then x* ¼ x*′ k = 1;
Else k = k + 1
Until k ¼ kmax
Until t > tmax
(tmax is the maximum execution time allowed)

4.2. Case study: Beijing Public Transport Group


The Beijing Public Transport Group is one of the largest public transit companies in the world. It has
eight branches, more than 900 routes and 10 000 vehicles. Each route needs special work to deal with
the enormous scheduling problem, and most of this work is performed manually. What is more, the
quality of the scheduling plan relies completely on the experience of the worker.
For the case study to test our approach, we chose four Beijing Public Transport Group timetable
data sets of different routes associated with two depots in Beijing. The data sets are numbered D1,
D2, D3, and D4. Each set includes two depots; all the data sets are for summer daily operation from
6:00 AM to 11:00 PM. D1, D2, and D3 are timetables for short bus lines, consisting of 168, 202, and
280 pieces of work, respectively; D4 is a timetable for a long bus line, consisting of 501 pieces of
work. The manual schedule information for each data set appears in Table I where No. is the number
of duties scheduled manually and Cost (h) is the total operational cost (in hours) associated with the
manual schedule. The VNS-based algorithm for driver scheduling is compiled with C# Language

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
442 J. MA ET AL.

Table I. Data sets for testing.

Data set No. Cost (h) Manual time


D1 14 120:56 More than 2h
D2 17 144:21 More than 2h
D3 23 190:33 More than 4h
D4 44 350:01 More than 4h

and runs on a personal computer with the following hardware configuration: Core i3 CPU, 3 GB
RAM, 500 GB Hard Disk.

4.3. Experiments
4.3.1. Experiments on different single neighborhood structures
As discussed in Section 3.1, a local search will lead to the local optimal. First, we use a single neigh-
borhood structure to detect whether the local search algorithm could reach this aim; the results are
showed in Table II.
Following the results of Table II, we can reach the conclusion that the swapping-link operation
could not cause the penalty of the duties to converge to 0, whereas the inserting piece and the swapping
pieces will make the penalty converge to 0; the performance of the inserting-piece operation is better
for converging to the total number of hours (cost). The problem, though, is that the schedule cost
appears to be even more than that obtained with the manual method. For that reason, we next unite
the three operations to produce a VNS algorithm to test the data sets of Section 4.2.

4.3.2. Results obtained by VNS


In this section, we integrate the three neighborhood structures into the VNS algorithm and test the
results proposed. Table III compares the results obtained by VNS with those from the manual sched-
ule. The conclusion is that the VNS results, compared with the manual solution, attain both the least
cost results and the results with the minimum execution time. These are the best results across the 10
runs.

Table II. Results obtained by local search with different single-swapping neighborhood structures.

Swapping links Inserting piece Swapping pieces


Runtime Runtime Runtime
Data No. Cost* (h) (h:mm:ss) No. Cost (h) (h:mm:ss) No. Cost (h) (h:mm:ss)
D1 15 00:01:30 13 121:21 00:00:22 14 133:13 00:00:33
D2 18 00:02:00 17 144:34 00:00:31 18 140:12 00:00:45
D3 29 00:04:00 23 190:11 00:00:55 27 172:22 00:00:58
D4 50 00:11:00 45 350:43 00:01:32 48 338:02 00:02:21
*Schedule could not make the penalty function equal 0.

Table III. Solutions obtained by VNS with multi-neighborhoods.

Manual VNS

Data No. Cost (h) Time No. Cost (h) Time (h:mm:ss)
D1 14 120:56 More than 2h 14 120:06 00:03:12
D2 17 144:21 More than 2h 16 130:55 00:09:54
D3 23 190:33 More than 4h 22 169:22 00:14:31
D4 44 350:01 More than 4h 43 330:12 00:22:12
VNS, variable neighborhood search.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
VNS ALGORITHM FOR BUS CREW SCHEDULING 443

Table IV. Solutions obtained by the variable neighborhood search with multi-neighborhood approaches.

Swap L.→Insert P. →Swap P.* Insert P. →Swap P.→Swap L.* Swap P. →Insert P.→Swap L.*
Data No. Cost (h) Time No. Cost (h) Time No. Cost (h) Time
D1 14 120:06 00:03:12 14 120:31 00:03:09 14 122:16 00:03:01
D2 16 130:55 00:09:54 16 128:21 00:09:54 16 132:51 00:08:24
D3 22 169:22 00:14:31 22 161:21 00:14:20 22 169:55 00:11:30
D4 43 330:12 00:22:12 43 327 :12 00:22:01 43 340:12 00:20:12
*Swap L., swapping links; Insert P., Inserting piece; Swap P., swapping pieces.

Table V. Comparison of the VNS and manual results.

Duty no. Cost (h) Run time (min)

Data VNS Ave Manual PI (%) VNS Ave Manual PI (%) VNS Manual PI (%)
D1 14 14 14 0 120.5 120.69 120.9 0.3 3.1 130 4026
D2 16 16 17 5.8 128.4 130.71 144.4 12.4 9.9 140 1314
D3 22 22 23 4.5 161.4 180.08 190.6 18.1 14.3 250 1648
D4 43 43 44 2.3 327 0.2 329.10 350.0 7.0 22.0 290 1218
VNS, variable neighborhood search; PI, percentage increase.

4.3.3. Changing the structure order


It was already noted by Mladenović and Hansen [17] that different orders of the neighborhood structures
lead to different results. Accordingly, we tested the four data sets using three VNS methods with different
orders of three neighborhood structures out of six structures; the selected three structures provide satisfac-
tory results compared with the results of the other non-used three structures. The results show that when
the order is an inserting piece, followed by swapping pieces, and then swapping links, the algorithm will
lead to the best results, as is exhibited in Table IV.

4.3.4. Comparison of VNS and manual solutions


The solutions obtained for each data set is illustrated in Table V. The VNS column is the best result
among 10 runs. The Ave column is the average value of 10 runs. The PI column in Table V, which
shows a comparison of the results, represents the percentage increase of cost of the manual solution
over the best VNS algorithmic solution. Table V shows that our algorithm could obtain solutions better
than the manual schedules.

5. CONCLUSION

In this paper, an efficient VNS-based algorithm is proposed to solve the bus-driver scheduling problem.
Examination of the modeling developed is performed by a case study associated with two depots used by
the Beijing Public Transport Group, one of the largest transit companies in the world. The results show
that a VNS-based algorithm can significantly reduce total driver costs by up to 18.1%, implying that
the VNS algorithm can be regarded as a good solution approach to the bus-driver scheduling problem.
A further study is planned to deal with the expansion of the VNS-based algorithm when dealing
with search uncertainty. More specifically, we intend to consider uncertainty when executing a local
search on the neighborhood of a not-so-good solution, in other words, to check the acceptance of an
infeasible solution with a certain probability. This strategy may exploit a larger search space within
whole sets of solutions and, therefore, may result in better solutions.

6. LIST OF SYMBOLS AND ABBREVIATIONS

VNS variable neighborhood search


f objective function

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
444 J. MA ET AL.

s initial solution
S Solution set
N(s) Neighborhood of solution s
Ni(s) The ith Neighborhood of solution s
kmax The maximum iteration times
tmax The maximum running time
tp departure time
wp departure point
tq arrival time
wq arrival point
lij link
Di a duty
No. number
Swap L. Swapping links
Insert P. Inserting piece
Swap P. Swapping pieces

ACKNOWLEDGEMENTS

This work was supported in part by National Basic Research Program of China (2012CB725403), and
Fundamental Research Funds for the Central Universities(T11JB00430).

REFERENCES

1. Aarts E, Korst J. Simulated Annealing and Boltzmann MachinesJohn Wiley & Sons., Inc.: New York, 1988.
2. Adibi MA, Zandieh M Amiri M. Multi-objective scheduling of dynamic job shop using variable neighborhood
search. Expert Systems with Applications 2010; 37(1): 282–287.
3. Avanthay C, Hertz A Zufferey N. A variable neighborhood search for graph coloring. European Journal of Operational
Research 2003; 151(2): 379–388.
4. Bräysy O. A reactive variable neighborhood search for the vehicle-routing problem with time windows. INFORMS
Journal on Computing 2003; 15(4): 347–368.
5. Burke E, De Causmaecker P, Petrovic S Vanden BG. Variable Neighborhood Search for Nurse Rostering Problems,
Metaheuristics: Computer Decision-Making (Combinatorial Optimization Book Series)2004 153–172.
6. Chen S, Shen Y. An improved column generation algorithm for crew scheduling problems. Journal of Information
and Computational Science 2013; 10(1): 175–183.
7. Elias SE. The use of digital computers in the economic scheduling for both man and machine in public transportation.
Kansas State University Bulletin, Special Report 49, 1964; Manhattan, Kansas, United States.
8. Escobar AH, Gallego RA Romero RA. Using traditional heuristic algorithms on an initial genetic algorithm
population applied to the transmission expansion planning problem. Revista Ingenieria E Investigacion 2011;
31(1): 127–143.
9. Fores S, Proll L. Driver scheduling by integer linear programming—the TRACS II approach. Research Report
Series 1998; University of Leeds School of Computer Studies.UK.
10. Fores S, Proll L Wren A. An improved ILP system for driver scheduling. Computer-Aided Transit Scheduling 1999;
471: 43–61.
11. Freling R, Wagelmans AP Paixão JMP. An overview of models and techniques for integrating vehicle and crew
scheduling. Computer-Aided Transit Scheduling 1999; 471: 441–460.
12. Freling R, Huisman D Wagelmans A. Models and algorithms for integration of vehicle and crew scheduling. Journal
of Scheduling 2003; 6(1): 63–85.
13. Glover F. Tabu search—part I. ORSA Journal on Computing 1989; 1(3): 190–206.
14. Hansen P, Oğuz C Mladenović N. Variable neighborhood search for minimum cost berth allocation. European
Journal of Operational Research 2008; 191(3): 636–649.
15. Hansen P, Mladenović N Pérez JAM. Variable neighborhood search: methods and applications. Annals of Operations
Research 2010; 175(1): 367–407.
16. Kwan ASK, Kwan RSK, Parker ME Wren A. Producing train driver schedules under differing operating strategies.
Computer-Aided Transit Scheduling 1999; 47: 129–154.
17. Li J, Kwan RS. A fuzzy simulated evolution algorithm for the driver scheduling problem. Evolutionary Computation,
Proceedings of the 2001 Congress on Evolutionary Computation 2001; 2:1115–1122.
18. Li J, Kwan RS. A fuzzy genetic algorithm for driver scheduling. European Journal of Operational Research 2003;
147(2): 334–344.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr
VNS ALGORITHM FOR BUS CREW SCHEDULING 445

19. Mladenović N, Hansen P. Variable neighborhood search. Computers & Operations Research 1997; 24(11):
1097–1100.
20. Parragh SN, Doerner KF Hartl RF. Variable neighborhood search for the dial-a-ride problem. Computers &
Operations Research 2010; 37(6): 1129–1138.
21. Polacek M, Hartl RF Doerner K. A variable neighborhood search for the multi depot vehicle routing problem with
time windows. Journal of Heuristics 2004; 10(6): 613–627.
22. Shen Y. Tabu search for bus and train driver scheduling with time windows. Doctoral dissertation 2001; Faculty of
Engineering, University of Leeds, UK.
23. Shen Y, Kwan RS. Tabu search for driver scheduling. Computer-Aided Transit Scheduling 2001; 505: 121–135.
24. Shen Y, Peng K, Chen K Li J. Evolutionary crew scheduling with adaptive chromosomes. Transportation Research
Part B: Methodological 2013; 56: 174–185.
25. Smith BM. IMPACS—a bus crew scheduling system using integer programming. Mathematical Programming
1988; 42: 181–187.
26. Steinzen I, Gintner V, Suhl L Kliewer N. A time-space network approach for the integrated vehicle and crew
scheduling problem with multiple depots. Transportation Science 2010; 44(3): 367–382.
27. Tóth A, Krész M. An efficient solution approach for real-world driver scheduling problems in urban bus transpor-
tation. Central European Journal of Operations Research 2013; 21(1): 75–94.
28. Weaver A, Wren A. Bus crew scheduling by computers. Report in Operational Research Unit 1972; School of
Computing, University of Leeds, UK.
29. Wren A, Smith BM Miller AJ. Complementary approaches to crew scheduling. Computer Scheduling of Public
Transport 1985; 2: 262–278.

Copyright © 2015 John Wiley & Sons, Ltd. J. Adv. Transp. 2016; 50:434–445
DOI: 10.1002/atr

You might also like