You are on page 1of 11

Computers & Operations Research 40 (2013) 1023–1033

Contents lists available at SciVerse ScienceDirect

Computers & Operations Research


journal homepage: www.elsevier.com/locate/caor

Integrated staffing and scheduling for an aircraft line


maintenance problem
Jeroen Beliën a,b,n, Erik Demeulemeester b, Philippe De Bruecker a,b, Jorne Van den
Bergh a,b, Brecht Cardoen b,c
a
Center for Informatics, Modelling and Simulation, Faculty of Economics and Management, Hogeschool-Universiteit Brussel, Warmoesberg 26, 1000 Brussels, Belgium
b
Research Center for Operations Management, Faculty of Business and Economics, KU Leuven, Belgium
c
Operations and Technology Management Center, Vlerick Leuven Gent Management School, Belgium

a r t i c l e i n f o abstract

Available online 19 November 2012 This paper studies the problem of constructing the workforce schedules of an aircraft maintenance
Keywords: company. The problem involves both a staffing and a scheduling decision. We propose an enumerative
Staffing algorithm with bounding in which each node of the enumeration tree represents a mixed integer linear
Scheduling problem (MILP). We reformulate the MILP such that it becomes tractable for commercial MILP solvers.
Aircraft line maintenance Extensive computational tests on 40 instances that are derived from a real-life setting indicate that the
Mixed integer programming algorithm is capable of finding close-to-optimal solutions.
& 2012 Elsevier Ltd. All rights reserved.

1. Introduction in which a Mixed Integer Linear Problem (MILP) is solved for


every combination of team sizes.
This paper examines how to minimize the labor costs of an The remainder of this paper is organized as follows. Section 2
aircraft maintenance company that stem from the provision of its presents the related literature. In Section 3, we introduce the
line maintenance programme. A line maintenance programme problem setting and describe the objective and the specific set of
represents the regular short inspections of aircraft between their constraints that constitute the optimization problem. Section 4
arrival and their departure at some specific airport. Two decisions elaborates on the developed solution approach, which first refor-
are of particular interest in minimizing labor costs. On the one mulates the problem and then applies mathematical programming
hand, one has to decide on the appropriate staffing levels that are within an enumerative search with bounding. We also describe a
necessary to meet the demand of customers over time. On the other tabu search algorithm, which is used to compare the results of the
hand, one has to determine an accurate rostering or scheduling that enumerative algorithm with bounding. Section 5 reports on the
translates the availability of the staff into an adequate shift algorithmic performance of the solution approach. We conclude
structure. Both decisions are examined in an integrated way while this paper in Section 6 by recapitulating some interesting findings
considering numerous conditions that stem from imposed collec- and by addressing future extensions to the model.
tive agreement requirements or coverage constraints.
In our problem, the coverage constraints are not specified per
time period, but per maintenance job. Taking into account a time
window for each job, our model decides on the timing (when) as 2. Literature review
well as the execution mode (with how many persons) of each
maintenance job. The achievement of an integrated staffing and The literature provides an extensive amount of research on
scheduling system as formulated in this research paper is basi- airline staffing and scheduling problems, such as the flight schedul-
cally a non-linear problem. We propose an enumeration approach ing problem, the fleet assignment problem, the aircraft routing
problem, the crew scheduling problem and the crew bidding
problem. We refer to Mercier and Soumis [1] for a clear description
n of these problem settings. In this paper, we investigate how a line
Corresponding author at: Center for Informatics, Modelling and Simulation,
Faculty of Economics and Management, Hogeschool-Universiteit Brussel, War- maintenance service company should determine its staffing and
moesberg 26, 1000 Brussels, Belgium. Tel.: þ32 02 6098271; fax: þ 32 16 326624. scheduling decisions in order to minimize the resulting labor costs.
E-mail addresses: jeroen.belien@hubrussel.be, In the literature, decisions on aircraft maintenance are fre-
Jeroen.Belien@econ.kuleuven.be (J. Beliën), quently studied as part of the aircraft routing problem (see [2] for
erik.demeulemeester@econ.kuleuven.be (E. Demeulemeester),
philippe.debruecker@econ.kuleuven.be (P. De Bruecker),
a recent example) and integrated with other problems that
jorne.vandenbergh@hubrussel.be (J. Van den Bergh), constitute the airline scheduling problem. This paper studies
brecht.cardoen@vlerick.be (B. Cardoen). maintenance from the viewpoint of a maintenance company that

0305-0548/$ - see front matter & 2012 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.cor.2012.11.011
1024 J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033

serves multiple, competing airlines. This implies that decisions on and-price is not a promising solution approach for the problem
the spread of workload cannot be changed by adapting the routing setting of this paper.
decisions, which are pre-determined by the airlines. Besides this Nevertheless, workforce scheduling problems of realistic
particular setting, this paper focuses on staffing and scheduling dimensions can hardly ever be solved to optimality within a
decisions concerning the line maintenance programme, which is a reasonable computation time (see, e.g., [12] who conclude this
maintenance aspect that has rarely been studied up to now. Line fact after reviewing the literature on nurse rostering). Metaheur-
maintenance includes regular short inspections of the aircraft istic approaches have proven to be more efficient with respect to
between arrival and departure at an airport [3]. Yang et al. [4] finding an acceptable solution in limited computation time. The
aim at minimizing the total line maintenance manpower supply, main drawback of metaheuristics, however, is that no guarantee
taking flexible management strategies into account. These strate- or even information can be given on the quality of the solution.
gies relate to numerical and temporal flexibility. They allow one to Examples of metaheuristic approaches for workforce scheduling
decide on team sizes, the number of shifts needed and their starting problems can be found in Safaei et al. [13] (simulated annealing),
times. They furthermore distinguish between full-time shifts and Burke et al. [14] (tabu search) and Aickelin and Dowsland [15]
part-time shifts. They formulate their problem using a mixed (genetic algorithms).
integer programming approach and apply the model to a case Sometimes, the staffing and scheduling problem is solved at
study. Yang et al. [5] elaborate on the previous model by adding the same time. This entails interesting opportunities, as a solution
constraints concerning certification (i.e., the degree of training and to the staffing problem has a serious impact on the scheduling
functional abilities) of the maintenance personnel. Gupta et al. [3] problem. A model that integrates the staffing and the scheduling
formulate a simulation-based optimization approach to minimize problem takes advantage of this dependency. Beliën and Demeu-
the total number of technicians working overtime by adapting the lemeester [16] present a branch-and-price approach to integrate
applied shift structure. Particular interest was given to the utiliza- the nurse and master surgery scheduling process. Column gen-
tion of the technicians, as well as the amount of workload that had eration is used for generating both individual nurse rosters and
to be passed on to the next shift. favorable workload patterns. As a workload pattern corresponds
Although some of the above references integrate staffing and to a specific surgery schedule, the search for a new workload
scheduling decisions in their problem setting, it should be noted that pattern entails constructing a new surgery schedule. Qi and Bard
these decisions are frequently considered as two separate problems [17] use a two-stage simulation model to generate labor require-
(see [6] or [7] for examples). In a first phase, the staffing problem is ments and rosters for mail handlers. In the first decision support
solved, which results in workforce sizes. The decision problem of system, the daily equipment schedules are optimized and the
workforce staffing, also called manpower planning, applies to a longer second is designed to optimize the size and composition of the
time horizon. permanent workforce. The simulation model serves as a bridge
In the scheduling phase, one assigns shifts to individuals between the two optimization systems which are modeled as
taking into account specific restrictions like, amongst others, shift large-scale integer programs. A successful airline scheduling
succession constraints, limits on the total hours worked and integration example is provided by Weide et al. [18], who show
individual shift preferences. These constraints, sometimes that integrating the crew pairing process with a higher level of
referred to as collective agreement requirements, are typical for decision-making, i.e., aircraft routing, can be both effective and
services involving around-the-clock workforce scheduling (see, computationally tractable.
e.g., [8] for an example of these constraints in a nurse scheduling In the introduction, we mentioned that in our problem
problem). An exact methodology often used for workforce sche- decisions need to be taken on the timing (when) as well as the
duling is MILP (e.g., [9]). MILP software solves combinatorial execution mode (with how many persons) of each maintenance
problems through a branch-and-bound enumeration framework job. In the literature, this specific type of jobs is referred to as
with bounding based on LP relaxations. In recent work, branch- ‘malleable’, ‘multiprocessor’, ‘concurrent’ or ‘parallel’ jobs. Burke
and-price, often referred to as Integer Programming (IP) column et al. [19] define malleable tasks as tasks that may be processed
generation, has proven to be a promising methodology for simultaneously by several processors, where the processing speed
problems of moderate size. In this approach, the problem is of a task is dependent upon the number or the subset of
formulated using the concept of individual rosters. An individual processors used. A review on the literature on scheduling this
roster is a particular sequence of shifts and days-off and corre- type of jobs can be found in Drozdowski [20]. Most applications
sponds to an integer decision variable (a column) in a master IP can be found in computer science, since parallel processing can
model. The main advantage of this approach is that the LP lead to a significant increase in computing speed (see [21]), but
relaxation of a ‘column-based’ formulation is often much stronger applications also occur in other scheduling problems such as
than a formulation in which a 0–1 decision variable decides on refueling navy boats [22] or workforce scheduling [23]. To
assigning a particular shift to a particular staff member. More- describe the relation between the execution time of a task and
over, all the restrictions that apply at the individual level (like the number of allowed processors, different models are used
shift succession constraints) are addressed in the column genera- ([20]), such as an arbitrary discrete or continuous function, an
tion phase. The fact that a ‘column-based’ formulation might inversely proportional function, an inversely proportional func-
involve an exponential number of variables is addressed in the tion up to a certain number of processors, etc. In our problem
column generation process by only generating those variables setting, the execution time of a task is exactly inversely propor-
needed to prove LP optimality of a certain node in the branch- tional to the number of workers assigned to that task (e.g., a
and-bound tree. Successful branch-and-price approaches for workload of one person-hour takes 1 h with one person or one
nurse scheduling applications are presented by Maenhout and quarter with four persons).
Vanhoucke [10] and Purnomo and Bard [11]. In our problem,
however, shifts are assigned to teams in cycles instead of
individuals. One option would be to decompose the problem 3. Problem setting
based on these cycles and generate columns per cycle. A feasible
column is then a feasible succession of shifts in a cycle. The In this section, we present the line maintenance workforce
non-linear aspect (determining team sizes and the number of scheduling problem. We begin with an explanation of how the
weeks per cycle), however, remains a problem. Therefore, branch- work is organized, clearly describing the concepts of cycles, teams
J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033 1025

Fig. 1. Illustrating a schedule (a) and the translation of the short notation of cycle 1 to shifts and teams (b).

and weeks, and the relations between them. Then, we present a 3 weeks) each team has worked all shifts in the roster and restarts
first, intuitive formulation of the problem. Next, we reformulate working the same sequence of shifts. In other words, the set of
the problem in such a way that it exploits certain problem shifts that is delivered in each week of the cycle is the same. The
characteristics and, consequently, becomes tractable for commer- team that will carry out a specific shift sequence, however, will
cial solvers. differ.

3.1. Cycles, teams and shifts


3.2. Problem formulation
The line maintenance scheduling problem consists of a staffing
Starting from a given number of cycles, we have to determine
decision and a rostering decision. As mentioned earlier, shifts are
the number of weeks (¼teams) for each cycle, the size (number of
assigned to teams in cycles instead of individuals in our problem.
full time employees) in each team, and the roster in each cycle. A
The staffing decision entails the determination of the team sizes,
roster is defined by a sequence of shifts in each week of the cycle,
while the rostering decision concerns the definition and timing of
which includes a definition of these shifts (starting hours,
the shifts. A workforce schedule is in fact the result of the
durations).
combination of multiple subschedules, called cycles. Each cycle
First, we present the symbols we will use. We begin by listing
is defined by its team size, number of weeks, shift definitions and
the sets, along with the indices associated with each set.
shift sequence. Teams may vary in size, depending on the cycle
they are working in. Within a cycle, however, all teams should 0
i,i A I : feasible shifts
have equal team sizes. A cycle can be seen as a number of t AT : shift types fM,D,E,Ng
consecutive weeks. The number of weeks in a cycle is equal to i A It : feasible shifts of shift type t
the number of teams to whom the cycle applies. The number of c A C: cycles in the schedule
weeks in a cycle is also equal to the number of shift sequences w A W: weeks
that can be fulfilled by the teams working in the cycle. In one d A f1,2, . . . ,7g: days in the week
particular week, each team of the cycle will execute one specific p A P: time periods in one week
shift sequence. Fig. 1 illustrates the above reasoning and the f A F: flights to be serviced
decisions that have to be made. f A Fp: flights that are available to be serviced during
In Fig. 1(a) a schedule is depicted that consists of two cycles. time period p
For each cycle, the team size, shift definitions and roster are p A Pf : time periods during which flight f can be
presented. Each row in a roster represents a shift sequence and serviced,
each column denotes a day of the week (Monday till Sunday). In i.e., Pf ¼ fp9STAf r p rSTDf g with STAf
the example, we differentiate between a morning shift (M), a day
(STDf) the Scheduled Time of Arrival
shift (D), an evening shift (E) and a night shift (N). Note that the (Departure) of flight f
exact starting time and finishing time of such a shift type may
differ between cycles. The transition from Fig. 1(a,b) illustrates
that the short notation actually captures all the information The constraints on the total duration and feasible starting
needed to write out the cycle (i.e., cycle 1) in full. This cycle hours of the different shift types are not explicitly added to our
consists of 3 weeks, and thus of three teams. It should be clear model. Instead, these constraints are incorporated implicitly in
that team 1 will carry out shift sequence 1 in week 1, that team the definition of our shifts iA I. The sets It only include those shifts
2 will carry out shift sequence 2 in week 1 and that team 3 will that satisfy all the starting hour and duration requirements for
carry out shift sequence 3 in week 1. In its second week, team shift type t. For example, a morning (M) shift must start between
1 will carry out shift sequence 2, team 2 will carry out shift 5 am and 6.30 am and its duration hi must lie between 7.5 hours
sequence 3, etc. Consequently, after the cycle time (in this case, and 8.5 hours.
1026 J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033

Observe that we use a discretized time horizon P, consisting of model:


time periods p. For each period p, we will calculate the workload, minimize
which is a function of the maintenance jobs scheduled in this XX X
7 X
period, as well as the scheduled capacity, which is a function of kid mc xidwc ð1Þ
the scheduled shifts that cover a particular time period. Next, we cAC iAI d ¼ 1 wAW
state the coefficients and right hand side constants. subject to
X
kid: the total cost (for one worker) of shift i on day d xidwc r 1 8d ¼ 1, . . . ,7, 8w A W, 8c A C ð2Þ
hi: the duration of shift i (in hours) iAI
aidp: ¼1 if period p is included in shift i on day d; ¼0 X
otherwise w xidwc r nc 8d ¼ 1, . . . ,7, 8w A W, 8c A C ð3Þ
iAI
bidp: fraction of workers available to work in shift period p
when assigned shift i on day d ( o 1 during lunch hour) X
xidwc r vwc 8d ¼ 6,7, 8w A W, 8c A C ð4Þ
Lf: the workload (in person-hours) of flight f
iAI
Wl: the minimal number of weeks ( ¼teams) in a cycle
X
Wu: the maximal number of weeks ( ¼teams) in a cycle vwc r Rnc 8c A C ð5Þ
Ml: the minimal team size (number of employees in a team) wAW
Mu: the maximal team size (number of employees in a team)
S: the minimum average number of working hours per XX
7 X
hi xidwc ZSnc 8c A C ð6Þ
week iAI d ¼ 1 wAW
U: the maximum average number of working hours per
week XX
7 X
R: the maximum fraction of working weekends (i.e., hi xidwc rUnc 8c A C ð7Þ
iAI d ¼ 1 wAW
weekends during which at least one shift is scheduled)
xidwc rzic 8iA I, 8d ¼ 1, . . . ,7, 8w A W, 8c A C ð8Þ
The decision variables are: X
zic r1 8t A T, 8c A C ð9Þ
nc A fW l ,W l þ 1, . . . ,W u g: the number of weeks ( ¼teams) in i A It

cycle c
XX
7 X X
mc A fM l ,Ml þ 1, . . . ,Mu g: the team size in cycle c aidp xidwc Z1 8p A P ð10Þ
xidwc A f0,1g: ¼1 if shift i is scheduled during day d iAI d ¼ 1 wAW cAC
of week w in cycle c and 0 otherwise
zic A f0,1g: ¼1 if shift i is used in cycle c and XX
7 X X X
bidp mc xidwc Z yfp 8p A P ð11Þ
0 otherwise iAI d ¼ 1 wAW cAC f A Fp
vwc A f0,1g: ¼1 if week (row) w of cycle c is a
working X 9P9
weekend; i.e., if a shift is scheduled yfp ¼ Lf n 8f A F ð12Þ
p A Pf
24n7
in the
weekend of week w in cycle c; X
xiðd þ 1Þwc r 1 xi0 dwc 8i A IM [ ID [ IE , 8d ¼ 1, . . . ,7, 8w AW, 8c A C
0 otherwise
i0 A IN
yfp Z 0: the number of workers assigned to
ð13Þ
maintain flight f during time period p
X
xi1ðw þ 1Þc r 1 xi0 7wc , 8i A IM [ ID [ IE , 8w A f1,2, . . . ,W u 1g, 8c A C
i0 A IN
The integer variable nc defines the number of weeks in each
ð14Þ
cycle c, while the integer variable mc represents the team size
( ¼the number of workers) in cycle c. The binary variable xidwc is X
xiðd þ 1Þwc r 1 xi0 dwc 8i A IM [ ID , 8d ¼ 1, . . . ,6, 8w A W, 8c A C
the basic decision variable. This variable defines the roster in each i0 A I E
cycle c, i.e., it decides which shift is selected for each day in each
ð15Þ
week of the cycle. The binary variables zic and vwc are auxiliary
X
variables required to formulate the restriction of only one shift xi1ðw þ 1Þc r 1 xi0 7wc 8i A IM [ ID , 8w A f1,2, . . . ,W u 1g, 8c A C
definition of each shift type (M, D, E and N) per cycle and the i0 A IE
weekend constraint respectively. ð16Þ
The continuous variable yfp is used in the coverage constraints
to model the timing and execution mode of each flight’s main- xidwc A f0,1g 8i A I, 8d ¼ 1, . . . ,7, 8wA W, 8c A C ð17Þ
tenance job. This variable is not required to be an integer, as the
number of workers assigned during a time period might be yfp Z 0 8f A F, 8p A P ð18Þ
fractional. E.g., if 2.5 workers are assigned to a particular flight,
then two workers spend the whole time period maintaining this zic A f0,1g 8i A I, 8c A C ð19Þ
flight, while a third worker spends half of the time period on this
flight. nc A fW l ,W l þ1, . . . ,W u g 8c A C ð20Þ

mc A fM l ,M l þ1, . . . ,M u g 8c A C ð21Þ
3.3. Basic MINLP formulation
vwc A f0,1g 8w A W, 8c A C ð22Þ
The line maintenance workforce scheduling problem can be The objective function (1) minimizes the total costs. The cost
stated as a Mixed Integer Non-Linear Programming (MINLP) of a shift kid depends on the duration of shift i, on the shift type of
J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033 1027

shift i (night shifts are typically the most expensive shifts, day Theorem 3.1. By reduction to a set covering problem, we can show
shifts are the cheapest) and on the day of the week (weekend days that the line maintenance workforce scheduling problem is NP-hard.
are typically more expensive than week days).
Constraint set (2) guarantees that at most one shift is assigned Proof. Consider, for instance, the example where we have to
per day. Constraint set (3) ensures that a shift cannot be schedule the shifts for 1 cycle and 1 week. Therefore, we can
scheduled in a week w higher than the number of weeks remove the indices c and w. Constraint set (3) is only valid for d r 5
( ¼teams ¼nc) in the cycle. since no weekend shifts can be assigned in a 1-week problem.
Constraint sets (4) and (5) guarantee that workers have a minimal Therefore, constraint sets (4) and (5) can be removed. We now
number of weekends off, by limiting the number of shifts scheduled group all the constraint sets except the coverage constraints
on Saturdays and Sundays. The number of working weekends, which (10)–(12) to create possible shift patterns. In those patterns we
are identified by constraint set (4) can be at most the weekend immediately integrate the team sizes and the parameter bidp. We
fraction multiplied by the number of weeks in the cycle (constraint can use the parameter glp to indicate the number of workers that
set (5)). For instance, if the weekend fraction equals 0.67, i.e., at least are available during period p in pattern l. We now replace xid by xl in
one weekend out of three must be a free weekend. the coverage constraints, to indicate whether pattern l is chosen or
Constraint sets (6) and (7) make sure that the average number not, and use the parameter glp instead of aidp. The resulting problem
of working hours per week per worker lies within a specified is a set covering problem, which is proven to be NP-hard [24]. The
interval. Note that the constraint applies to the average. set covering problem is thus a special case of our problem setting,
Hence, there might be weeks in which the number of working which makes our problem NP-hard as well. &
hours is larger than the upper bound or smaller than the
lower bound. 4. Solution approach
Constraint sets (8) and (9) guarantee that all M (D, E, N) shifts
have the same hours within one cycle. Note that shift i is defined In Section 4.1, we will remove the non-linearity in MINLP
by a starting and finishing hour. If a particular shift i is scheduled (1)–(22) by fixing the team sizes mc and solve different MILPs in
once or several times, constraint (8) makes the corresponding zic an enumerative framework with bounding. Section 4.2 describes
equal to one. Next, constraint (9) ensures that no more than one how we reformulated the resulting MILPs in order to make them
zic per shift type can equal one within each cycle. The result is that computationally tractable by a commercial MILP solver. In Section
all workers within a certain cycle have the same hours for an M 4.3 we briefly describe a tabu search algorithm, which was
(D, E, N) shift. The reason for this restriction is that it substantially implemented to compare the results of the enumerative MILP
simplifies the daily control of the workforce as the operational with bounding.
scheduler, who assigns specific flights to (teams of) workers, faces
a limited number of shift times.
Constraint sets (10)–(12) are the coverage constraints. Con- 4.1. An enumerative MILP algorithm with bounding
straint set (10) ensures that, in every period, at least one team is
present in order to take care of flights with disrupted schedules. Incorporating a team size variable leads to a non-linear
Constraint set (11) makes sure that the capacity, i.e., workers objective function, as the scheduling variable xidc is multiplied
present, exceeds the demand, i.e., the planned maintenance in by the team size variable mc in order to calculate the total costs,
every period. The left-hand side calculates the capacity in each see (1). By fixing the number of workers in each team, mc, model
time period. The right hand side calculates the demand. There is a (1)–(22) is transformed into a linear model. The team sizes are
certain flexibility with respect to the timing and execution mode fixed in advance and thus left out of the optimization model. The
of each flight’s maintenance. In other words, one can decide with enumerative MILP algorithm, however, enumerates over all dif-
how many workers and when a particular flight is maintained, as ferent combinations of team sizes.
long as this happens between the flight’s STA and STD. This To increase the chance of having sufficient people with the
decision is incorporated by the continuous variables yfp, which right skills in each team, we set a lower bound of two for the team
indicate the workload (in person-hours) of flight f performed in size. The maximum possible team size was set at twelve to limit
period p (with STAf r p r STDf ). The capacity must exceed the the number of combinations during the enumeration algorithm.
demand in each period p of the week. The parameter bidp This suits the request of the maintenance company we worked
decreases the capacity in the periods p that are reserved for lunch with for not overloading the operational scheduler. We will only
breaks in shift i. Constraint set (12) guarantees that each flight is generate schedules containing two cycles. This number has been
maintained. Observe that, in order to calculate the workload in inspired by the real-life application in which two-cycle schedules
person-periods, we have to multiply the workload (expressed in were requested.
person-hours) by the number of periods per hour ( ¼the total In order to be able to generate solutions in acceptable computa-
number of periods per week ( ¼9P9) divided by the total hours per tion time, our procedure spends most of its time on the ‘promising’
week (¼ 24*7)). combinations of team sizes in each cycle using an enumeration
Constraint sets (13)–(16) define the shift succession con- algorithm with bounding. We only call a combination ‘promising’,
straints. These constraints ensure a minimal number of hours when it could lead to a better solution than the current best one
rest between two successive shifts. Given the feasible starting (i.e., no infeasible combinations, worse solutions, nor stopped MILPs
hours and durations of the different shift types, constraint sets because of bound comparisons). Each node in the enumeration tree
(13) and (14) forbid a night (N) shift to be followed by a morning represents a specific combination of team sizes in each cycle. In
(M), day (D) or evening (E) shift on the next day. Constraint sets case of two cycles, the number of nodes to be evaluated equals
(15) and (16) forbid an evening (E) shift to be followed by a nðn þ 1Þ=2! ¼ Oðn2 Þ with n the possible number of team sizes (in
morning (M) or a day (D) shift on the next day. each cycle). Three cycles will lead to a complexity of Oðn3 Þ, etc.
Finally, constraints (17)–(12) define the domains of the deci- Based on the upper and lower bounds on the team sizes defined
sion variables. before (between 2 and 12; thus n¼11), the number of combina-
Note that MINLP (1)–(22) is non-linear in the objective func- tions in our problem setting equals 66. Moreover, the MILPs in each
tion (1) and constraint set (11) which both involve a multi- node are not solved to optimality, due to a limit on the computation
plication of the decision variables xidwc and mc. time. As a result, we obtain the enumeration algorithm with
1028 J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033

bounding depicted in Algorithm 1. In this pseudocode, M is the so-


called ‘big M’, representing a very large number.

Algorithm 1. Enumeration algorithm with bounding.

INITIALIZATION
UB ’ M;
for all combinations do
LB_of_this_combination ’ 0; Fig. 2. (a) Example of the output of our approach for a cycle containing 5 weeks
end for (¼teams); all shifts are placed in the first 3 weeks, as only the number and type of
shifts on each day are determined; (b) the schedule that could be obtained after
MAIN STEP
distributing the shifts over the different weeks.
while (end criterion met ¼FALSE) do
for all combinations do
if (LB_of_this_combination o UB) then
cut-off value by a certain percentage, e.g., 5%. Since solving an
MILP_UB ’ UB;
individual MILP itself can be very time-consuming, a time limit
solve corresponding MILP;
has been set on each MILP. Note that the lower bound is saved
if (feasible solution found within
only for those combinations that are not solved to optimality
allowed_MILP_comp_time) then
within the available computation time. In order to save computa-
save solution;
tion time, the MILP solution status of these nodes is saved and
UB ’ MILP_objective_value;
loaded when the node is revisited later on in the search process.
end if
In all other cases (infeasible combination, optimal solution found,
if (MILP not solved to optimality within
MILP stopped because of bound comparisons), the lower bound of
allowed_MILP_comp_time) then
the combination is set to M, excluding the node from further
if (MILP_LB 4 LB_of_this_combination) then
search. When all the nodes have been explored a first time, the
LB_of_this_combination ’ MILP_LB;
overall lower bound is set to the minimum of all the nodes’ lower
end if
bounds, and the end criterion is checked. The end criterion can be
else
a computation time limit or an optimality gap (e.g., 5%) defined as
LB_of_this_combination ’ M;
the relative difference between the best found solution (UB) and
end if
the overall LB, i.e., ðUBLBÞ=LB.
end if
check end criterion
4.2. Reformulating the MILP
end for
{Detecting the overall LB}
Even with fixed team sizes mc, solving MILP problem (1)–(22)
LB ’ M;
to optimality for realistic problem dimensions requires a lot of
for all combinations do
computation time with a state-of-the-art MILP Solver like CPLEX&
if (LB_of_this_combination o LB) then
12.2. Recall that we have to solve this MILP for every combination
LB ’ LB_of_this_combination;
of team sizes in each cycle.
end if
The high computation times are caused by (1) the high
end for
number of variables with integrality constraints, leading to (too)
check end criterion;
many branches in the branch-and-bound tree; and (2) the shift
end while
succession constraints (13)–(16). We address both problems by
RETURN LB, UB, all saved solutions
replacing the binary variable xidwc by the integer variable xidc.
Thus, instead of assigning each shift to a particular day in a
particular week, we now limit our decision to the number of shifts
If the first combination results in a feasible solution within a on a particular day. Fig. 2(a) shows the output in terms of the new
time limit, the objective value of this solution is our first upper decision variable xidc, while Fig. 2(b) shows the output in terms of
bound. If, within the given time limit, no feasible solution is the old decision variable xidwc for the same problem instance.
found, the time limit is extended with the same amount of time. Note that the cycle of Fig. 2(b) could be constructed, by distribut-
This is done until either a feasible solution is found or infeasibility ing the shifts of Fig. 2(a) over the different weeks.
is proven. If infeasibility is proven, the next combination is The dimension of the binary decision variable, xidwc, which
considered until a feasible solution is detected, which will be equals 9I9n7nW u n9C9, represents the major part of variables with
used as a first upper bound. integrality constraints. For realistic sizes (I¼60, Wu ¼12, C¼2), this
Upon finding an initial upper bound, the algorithm starts with number equals 10,080. After replacing xidwc by xidc this number is
the enumerative search (see Algorithm 1) which involves a loop reduced by a factor Wu. In model (13)–(16), the xidwc variables can
through all combinations of team sizes in each cycle. For each easily be replaced by the xidc variables, except for the shift
combination, a MILP is solved. In order to avoid spending MILP succession constraints (13)–(16). Indeed, as the xidc variables do
time on combinations which cannot result in a better solution, not assign shifts to weeks, the shift successions are not determined,
each MILP is provided with the current upper bound. Conse- and, hence, cannot be subject to any restriction. However, even if
quently, whenever the MILP lower bound (which continuously we use xidc variables, we can guarantee feasible shift successions
increases during the MILP search) becomes larger than or equal to upon dividing the shifts over the weeks (i.e., when turning
this UB cut-off value, the MILP calculation stops and the algorithm Fig. 2(a) into Fig. 2(b)) by adding constraints that guarantee feasible
moves on to the next combination. Note also that because of this shift successions. Before stating these new shift succession con-
UB cut-off value, every time a MILP results in a feasible solution, straints, we introduce new auxiliary variables:
this solution will automatically be the best solution found so far,
and for this reason has to be saved. If we are interested in finding
þ
etdc A f0,1, . . . ,W u g: the number of extra weeks needed in
cycle c
several near-optimal solutions, we only have to increase the UB
J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033 1029

caused by shifts of type t (with t A fE,Ng) to schedule one or more days off. This requires an increase in nc
þ
on the preceding day. equal to eNdc , i.e., the difference (if positive) between the number
u
e
Ndc A f0,1, . . . ,W g:
the number of extra weeks needed in cycle c of N shifts on the considered day and the preceding day.
þ
caused by E shifts that can be compensated Constraint set (24) forces eNdc to obtain the correct value. In the
þ
by an excess in N shifts on the preceding example cycle above, eNdc will be forced to be larger than or equal
day. to 1, because there is one N shift on Monday, but no N shifts on
þ
Tuesday. The third term, eEdc , represents the extra number of
weeks required to compensate for a difference in E shifts on
We replace the shift succession constraints (13)–(16) by the consecutive days. Constraint set (25) forces eEdc þ
to obtain the
following constraints: correct value. An E shift can only be followed by an E or N shift (or
X
nc Z þ
xidc þ eNdc þ
þ eEdc 8d A f1, . . . ,7g, 8c A C ð23Þ no shift). Hence, extra weeks must be added to the cycle
iAI whenever the number of E shifts on the preceding day exceeds
þ
P
X X the number of E shifts on this day, i.e., eEðd Z i A IE xidc 
þ P þ 1Þc
eNðd þ 1Þc Z xidc  xiðd þ 1Þc , 8d A f1, . . . ,6g, 8c A C ð24Þ i A IE xiðd þ 1Þc . However, N shifts can also be used to compensate
i A IN i A IN for E shifts on the preceding day, provided that the N shifts are
X X not required to compensate for N shifts on the preceding day. To
þ
eEðd þ 1Þc Z xidc  xiðd þ 1Þc e
Nðd þ 1Þc 8d A f1, . . . ,6g, 8c A C ð25Þ see this, consider the following example:
i A IE i A IE

X X
Nðd þ 1Þc r
e þ
xiðd þ 1Þc  xidc þ eNðd þ 1Þc 8d A f1, . . . ,6g 8c A C
i A IN i A IN

ð26Þ
X X
þ
eN1c Z xi7c  xi1c 8c A C ð27Þ In this example, there are two E shifts on Monday, but only one
P P
i A IN i A IN E shift on Tuesday; thus, i A IE xi1c  i A IE xi2c ¼ 1. However, the

X X number of weeks (¼3) is clearly sufficient to construct a feasible


þ
eE1c Z xi7c  xi1c e
N1c 8c A C ð28Þ cycle, because the first E shift on Monday can be succeeded by the
i A IE i A IE second N shift on Tuesday. The variable e Nðd þ 1Þc incorporates the
X X excess in N shifts that can be used to compensate for E shifts on
N1c r
e þ
xi1c  xi7c þ eN1c 8c A C ð29Þ the preceding day. In this example, e N2c ¼ 1. This will be ensured
i A IN i A IN þ
by constraint set (26). The last term in these constraints, eNðd þ 1Þc
,
First, note that, if the number of weeks in the cycle, nc, is larger is required to avoid the right hand side to obtain a negative value.
P P P
than a certain value, it is always possible to distribute the shifts If x o i A IE xiðd þ 1Þc , then eNðd þ
will equal x
P i A IE idc 
þ 1Þc P P i A IE iðd þ 1Þc
over the weeks without violating the shift succession constraints.  i A IE xidc and eNðd þ 1Þc will equal 0. If i A IE xidc 4 i A IE xiðd þ 1Þc ,
P P þ
The following solution for a particular cycle makes this clear: then e Nðd þ 1Þc will Pequal i A IEPxiðd þ 1Þc  i A IE xidc and eNðd þ 1Þc
will
þ
equal 0. Finally, if i A IE xidc ¼ i A IE xiðd þ 1Þc , then both eNðd þ 1Þc
and
eNðd þ 1Þc will equal 0. These relations are ensured by both con-
straint sets (25) and (26). The constraint sets (27)–(29) model the
same as the constraint sets (24)–(26), but now for the transition
to a next week, i.e., from Sunday (day 7) to Monday (day 1).
The weekend constraints (4)–(5) are replaced by
In this solution, the number of weeks (rows) in the cycle, nc,
X
equals 3. It is not possible to construct a roster that is feasible nc Zd1=Ren xi6c , 8c A C ð30Þ
with respect to the shift succession constraints from Monday iAI
(first column) to Tuesday (second column), because an N shift
!
cannot be followed by a D (E or M) shift. This cycle roster can be X
þ þ
turned into a feasible solution as follows: nc Zd1=Ren xi7c þeN7c þeE7c , 8c A C ð31Þ
iAI

To ensure that at most Rn100% of the weekends contain shifts, the


number of weeks nc must exceed d1=Re times the number of shifts
scheduled on Saturday. For instance, if three shifts are scheduled on
P
Saturday, i.e., if i A I xi6c ¼ 3, and if 50% of the weekends must be free
In this case, the number of weeks, nc, has increased from 3 to 4, of any shift, i.e., if R¼0.5, then the number of weeks nc must be larger
making it possible to shift the D shift on Tuesday to the fourth than or equal to 6. For Sundays, we have a similar constraint, except
þ þ
week of the cycle. Constraint set (23) forces nc to exceed the for the extra terms eN7c and eE7c . The reason is that a Sunday shift can
minimal value (4 in the example) that guarantees a feasible only be placed in the same weekend as a Saturday shift if there is no
solution. This minimal value consists of the sum of three terms: shift succession violation. Consider the following example:
P þ þ
P
i A I xidc , eNdc , and eEdc . The first term, i A I xidc , is explained by the
fact that the number of weeks, nc, has to be larger than or equal to
the number of shifts scheduled on each day. Otherwise, the
number of weeks would not suffice to distribute all shifts over
the weeks. Note that in the example cycle above, the number of
weeks, nc ¼3, satisfies this condition, because the number of shifts In this example, we assume a weekend fraction R equal to 0.5.
þ
scheduled on each day equals 3. The second term, eNdc , compen- Constraint (30) will force the number of weeks nc to be larger
sates for the fact that an N shift on the preceding day can only be than or equal to 6. With nc ¼6, employees will work a Saturday
followed by an N shift (or no shift). If the number of N shifts is shift in 3 out of 6 weekends. Constraint (31), however, will force
lower than the number of N shifts on the preceding day, we have nc to be larger than or equal to 12, because the three shifts on
1030 J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033

Sunday cannot be scheduled in the same weekends as the Satur- trying all possible moves. The move that minimizes the degree of
day shifts as neither an N shift nor an E shift can be succeeded by infeasibility is then selected and the process continues. When the
a D or M shift on the next day. Consequently, this schedule will degree of infeasibility equals zero, the search exits phase 1 and
result in 6 weekends containing each 1 shift (3 weekends a enters phase 2 of the algorithm.
Saturday shift, and 3 weekends a Sunday shift). If one is allowed Thanks to the aggressive approach of phase 1, the search is
to work only 50% of the weekends, the number of weeks nc must very likely to reenter the feasible search space in an unexplored
þ þ
be at least 12. In this example, eN7c ¼ 2 and eE7c ¼ 1. area providing the search with the opportunity to find a new
From the original model (1)–(22), the constraints (13)–(16) are better solution. Because phase 1 is only concerned with finding a
replaced by the constraints (23)–(29) and the constraints (4)–(5) feasible solution in terms of union constraints, it neglects the
are replaced by the constraints (30)–(31). Since we no longer use minimization of the total labor costs. This is captured by phase 2,
the binary variable xidwc, constraint (2) can be removed from the during which the search can only make moves where both
model. Note that constraint (13) automatically satisfies (3) and, coverage and union constraints are satisfied. When the search is
thus, constraint (3) can be safely removed from the model as well. unable to find a better (i.e., cheaper) solution for 100 iterations,
In the objective function as well as the constraints (6)–(7) and the search leaves phase 2 and enters phase 3.
P
(10)–(11) we replace w A W xidwc by xidc. Constraint (8) is rewrit- Phase 3 starts with the last visited solution in phase 2 and is
ten as follows: allowed to relax the union constraints. It aggressively tries to
lower the costs by exploring the neighborhood. While doing so,
xidc rW u zic 8i A I, 8d ¼ 1, . . . ,7, 8c A C ð32Þ
the search will most likely make the transition to the infeasible
Since we have fixed the team size, mc can be replaced by Mc in search space. Because of this aggressive approach, the overall
the objective function (1) and in constraint (11). algorithm performance is quite sensitive to the number of itera-
The domain definitions of (17) and (21)–(22) are replaced by tions in phase 3. With too few iterations, the algorithm converges
xidc A f0,1,2, . . . ,W u g 8i A I, 8d ¼ 1, . . . ,7, 8c A C ð33Þ too slowly, with too many it will get stuck in an infeasible
solution, where it might be impossible to make it feasible again.
þ
etdc A f0,1, . . . ,W u g, t A fE,Ng, 8d ¼ 1, . . . ,7, 8c A C ð34Þ When the search exits phase 3, the best solution obtained during
that phase is set as the initial solution of phase 1.
u
e
Ndc A f0,1, . . . ,W g 8d ¼ 1, . . . ,7, 8c A C ð35Þ
As xidc is required to obtain an integer value, the constraints 5. Results
þ
(24)–(29) ensure that etdc and eNdc obtain integer values as well.
Therefore, the domain definitions (34)–(35) can safely be relaxed 5.1. Test set
to:
0 r etdc
þ
rW u t A fE,Ng 8d ¼ 1, . . . ,7 8c A C ð36Þ The algorithm was tested using a set of 40 instances which
have been generated based on the real-life data from a major
u airline maintenance company active at Brussels airport. This
0 r e
Ndc rW 8d ¼ 1, . . . ,7 8c A C ð37Þ
company weekly maintains about 300 flights. The workload of
Thus, introducing the feasible shift succession guaranteeing con- these flights ranges from 30 minutes to 10 hours and the
straints does not lead to extra integer variables in the MILP model. company was faced with peak arrivals around 7 am and 5 pm.
All the other constraints remain unchanged. In our testing, we also assumed a cycle time equal to 1 week
divided into 672 ( ¼4n24n7) periods of 15 min. This company
4.3. Tabu search algorithm develops new rosters every 6 months (distinguishing between a
summer season with emphasis on holiday flights and a winter
To get an insight into the efficiency of the enumerative season with emphasis on business flights). The workforce regula-
algorithm with bounding, a tabu search (TS) algorithm was tions, shift costs and roster constraints, further referred to as the
developed. Due to restrictions on the length of the paper, we supply side, are relatively stable. The flights that must be main-
only briefly describe the different phases of the algorithm. More tained, however, further referred to as the demand side, change
details can be found in De Bruecker [25]. dramatically from season to season. Based on this observation,
During the TS, the algorithm focuses on two search spaces. The our test set was generated using a random generator in which the
feasible solution space consists of the combination of all possible demand side differs with respect to three factors each having two
values of its decision variables for which the coverage ((10–12), factor settings (Table 1).
(18)) and union constraints are met. The union constraints are These factors are inspired by two real-life instances provided
those that limit the average number of working hours per week, by our contact company. One instance applies to the winter 2008
the succession and weekend constraints, as well as the con- season (including 7300 flights) and one to the summer 2011
straints that ensure that the number of weeks in a cycle lies season (including 7100 flights). The workload distributions in
between the two extrema. The infeasible space is equal to the our test set reflect the real workload distributions. In the setting
feasible one, except that it does allow for the relaxation of the of the peak arrivals, 50% of the flight arrivals take place within
union constraints. Solutions where the coverage constraints are either the morning (between 6 am and 9 am) or the afternoon
not met, are not part of any search space.
The TS uses an initial solution based on a stochastic fastest
descent procedure. The main part of the TS consists of three
Table 1
phases. In the first phase, the TS tries to bring the algorithm back
Factor settings.
to the feasible search space. The infeasibility can be caused by the
relaxation of the union constraints during the initial fastest Factor 1 2
descent algorithm or during the third phase. In phase 1, the degree
of infeasibility, which is the outcome of a continuous function, Number of flights 100 300
Distribution of workloads (hours) UNIF(0,10) EXP(3.5)
modeled as a distance function to the nearest feasible solution, is Flight arrivals Peak arrivals Uniform arrivals
minimized. The search space starts exploring the neighborhood by
J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033 1031

peak (between 4 pm and 7 pm). The arrivals of the other flights minimal number reported in this column is 66. The column ‘impr.’
are drawn from a uniform, random distribution. The reason for indicates the number of times an improvement was found. The
incorporating the distribution of the flight arrivals was the column ‘cut-offs’ indicates the number of times a node was pruned
observation that the costs were highly dependent on this dis- due to bound comparisons. Neither number includes the cut-offs
tribution. Consequently, a question, raised by the management and improvements found within the MILPs. Each MILP was pro-
team, was to calculate by how much the costs would drop if the vided with a computation time limit of 30 s, which is extended by
flights were spread more evenly over the day. As the demand side 120 seconds every time the node is revisited. The end criterion (see
in the real-life instances contains confidential information, we ‘check end criterion’ in Algorithm 1) for each instance was set to
cannot make these instances publicly available. More information 1 hour of computation time, provided that each node has been
on the real-life application as well as a detailed description on evaluated at least once. This last condition explains why some
how we addressed the concerns raised by different stakeholders computation times (e.g., instance Test_2_1_1_4) are far above 1 h.
in several management meetings can be obtained in [26]. Because The reason why all the combinations must be evaluated at least
this paper mainly addresses the methodology rather than the once is to be able to calculate and report an overall lower bound.
real-life application, and we want other researchers to be able to The computational experiment was done using a 3.16 GHz PC with
compare their algorithms on the same dataset, we opted to 3.21 GB RAM.
generate random instances, which reflect the reality as much as The results give rise to a number of conclusions and interest-
possible (as explained above). ing insights. First, although none of the instances could be solved
For each of the eight ( ¼2n2n2) combinations, five instances to optimality, the algorithm consequently succeeds in finding
have been generated, resulting in a set of 40 instances. These quality solutions. These results suggest that an integrated
instances are named ‘‘Test_a_b_c_d’’, with a, b and c A f1,2g the approach to staffing and scheduling is possible from a computa-
factor settings for the three factors in the same order as discussed tional point of view. The gaps range from 2.28% to 28.96% with an
above, and d A f1,2,3,4,5g the number of the instance. This test average of 9.84%. The average gap for the 100-flight problems
set is available for download on http://www.econ.kuleuven.be/ (11.70%) is significantly higher than for the 300-flight problems
public/NDBAE13/professioneel_Engels.htm. (7.99%). The reason is that the total cost, which is the denomi-
To reflect the reality, the supply side has been kept constant in nator in the calculation of the gap, is much higher in the 300-
our computational experiment. Due to legal constraints, the flight problems. Neither the distribution of the workload, nor the
average number of work hours per week must be between 36 distribution of flight arrivals has an impact on the problem
and 38 h. For each employee, at least half of the weekends must difficulty. The column ‘cut-offs’ indicates that most of the nodes
be completely off. Concerning the shift definitions, only each 30- are pruned based on bound comparisons (75.9% on average), i.e.,
min interval is considered to be a feasible starting time. A the MILP computation is not started (first round) or continued
morning shift must start between 5 am and 6:30 am. Hence, for (after round 1) because the reported lower bound exceeds an
the morning shifts we have 5 am, 5:30 am, 6 am and 6:30 am as already found solution. Therefore, we conclude that the enumera-
possible starting times. A day shift must start between 7 am and tion scheme is quite effective.
9 am. An evening shift must start between 12:15 pm and 2:45 Concerning the impact of the factor settings on the cost
pm. A night shift must start between 9 pm and 10:30 pm. The (column ‘sol.’), we observed that both the number of flights and
total duration of a shift must either be 8, 8.5, 9 or 9.5 h (including the workload distributions have a significant impact. It might be
a half hour break). The cost of a day shift during the week is set at surprising that there is no significant difference between the peak
15 Euro per hour (gross cost). There is a shift premium for arrivals and the uniformly distributed arrivals. This could be
morning shifts ( ¼7% extra compared to the cost of a day shift), explained by the presence of more evening and night flights in
evening shifts (9%) and night shifts (20%). There is an extra the uniformly distributed arrivals, which requires more expensive
weekend premium (on top of the shift premium): 16.67% for evening and night shifts that compensate for the higher cost of
Saturday shifts and 95% for Sunday shifts. Finally, there is an extra scheduling to peak capacity in the peak arrivals setting.
premium for each night shift of 45 Euro (fixed), regardless of the The tabu search algorithm was also run for 1 h on each
shift length. instance to compare it with the enumerative algorithm with
As mentioned, we will only generate schedules containing two bounding. The last two columns in Table 2 present the computa-
cycles. The minimal number of weeks in a cycle equals 2, because tional results of the TS algorithm.
a cycle of 1 week implies that the workers either work all The reported gaps of the TS algorithm are for almost all
weekends (if a shift during the weekend is scheduled) or none instances larger than those of the enumerative algorithm with
at all (if no shift is scheduled during the weekend). The maximum bounding. The gaps range from 4.36% to 38.37% with an average
number of weeks in a cycle was also bounded, as a large number of 12.98%. The enumerative algorithm therefore clearly (and
of weeks ( ¼number of teams) corresponds to a small average significantly at a level of p ¼0.05 ) outperforms TS in terms of
team size. To ensure that teams could be composed in which all gaps. Moreover, the differences in gap increase with growing
important skills were present, the maximum number of weeks problem size. On the other hand, the required computation times
per cycle was set at 8. The restriction on the maximum number of for the large instances are higher for the enumerative algorithm.
weeks per cycle also originates from a request of the company, The TS algorithm is thus more sensitive to growing problem
since they do not want to overload the task of the operational dimensions with respect to solution quality.
scheduler.

5.2. Computational results 6. Conclusion and future research

The left part of Table 2 lists the computational results of the This paper has described an enumeration algorithm with
enumerative algorithm with bounding. The column ‘nodes’ bounding for solving a workforce planning problem encountered
reports the number of nodes visited, i.e., the number of MILPs at a major aircraft maintenance company and makes three
started within the given computation time. As the total number of important contributions. First, whereas the existing models pre-
combinations equals 66 (see earlier) and each combination must sented in the literature either concentrate on the scheduling
be explored at least once to obtain a general lower bound, the problem (and consider the staff levels to be given) or on the
1032 J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033

Table 2
Computational results.

Enumerative MILP TS

Sol. LB Nodes Impr. Cut-offs Gap (%) Time (s) Sol. gap (%)

Test_1_1_1_1 15,797.63 13,471.02 75 3 62 17.27 3857.07 14,992.30 11.29


Test_1_1_1_2 20,311.23 17,812.52 74 3 57 14.03 3704.76 19,390.60 8.86
Test_1_1_1_3 15,917.26 13,641.30 75 3 59 16.68 3822.93 15,975.20 17.11
Test_1_1_1_4 16,329.80 14,151.03 75 2 62 15.40 3776.86 15,570.80 10.03
Test_1_1_1_5 17,096.39 16,426.45 75 1 63 4.08 4108.13 17,142.60 4.36
Test_1_1_2_1 13,224.08 11,569.81 75 2 63 14.30 3915.79 13,355.00 15.43
Test_1_1_2_2 14,047.06 10,892.33 75 1 62 28.96 3814.92 12,871.50 18.17
Test_1_1_2_3 20,214.64 18,658.28 75 2 62 8.34 3769.36 21,112.80 13.16
Test_1_1_2_4 16,198.62 14,984.41 73 4 64 8.10 3930.79 16,657.20 11.16
Test_1_1_2_5 15,898.47 14,259.84 75 1 61 11.49 3738.13 17,308.40 21.38
Test_1_2_1_1 13,584.22 12,596.78 73 4 64 7.84 3857.13 13,684.70 8.64
Test_1_2_1_2 16,233.99 14,940.10 75 4 62 8.66 3977.63 16,593.70 11.07
Test_1_2_1_3 11,182.43 10,529.06 73 2 65 6.21 3843.93 11,269.40 7.03
Test_1_2_1_4 11,723.62 10,292.37 75 4 64 13.91 3766.73 11,837.40 15.01
Test_1_2_1_5 14,479.60 12,929.34 75 3 62 11.99 3652.83 15,339.60 18.64
Test_1_2_2_1 9967.45 9031.33 74 3 64 10.37 3983.37 10,872.40 20.39
Test_1_2_2_2 11,324.73 10,803.13 72 2 65 4.83 3616.75 11,361.60 5.17
Test_1_2_2_3 12,962.77 12,674.36 74 3 65 2.28 4151.75 13,305.20 4.98
Test_1_2_2_4 10,844.73 9215.17 72 3 65 17.68 3623.58 11,019.60 19.58
Test_1_2_2_5 10,729.83 9622.77 74 2 64 11.50 3940.05 10,872.30 12.99
Test_2_1_1_1 34,251.37 31,774.96 66 3 40 7.79 4620.80 36,759.40 15.69
Test_2_1_1_2 32,502.63 30,471.92 66 2 33 6.66 5435.13 32,824.20 7.72
Test_2_1_1_3 34,270.65 33,187.28 66 3 49 3.26 3608.51 37,371.70 12.61
Test_2_1_1_4 33,724.40 31,186.74 66 3 23 8.14 6647.91 33,040.90 5.95
Test_2_1_1_5 32,263.35 30,633.16 66 4 27 5.32 6277.13 34,000.60 10.99
Test_2_1_2_1 29,855.84 28,718.82 68 2 49 3.96 3765.62 31,332.90 9.10
Test_2_1_2_2 40,015.67 36,432.31 66 3 42 9.84 4367.25 50,413.20 38.37
Test_2_1_2_3 30,469.68 28,528.74 66 3 38 6.80 4595.50 31,186.80 9.32
Test_2_1_2_4 30,477.71 28,164.54 66 3 38 8.21 4644.54 32,565.90 15.63
Test_2_1_2_5 30,920.98 28,028.02 66 2 39 10.32 4586.79 29,922.10 6.76
Test_2_2_1_1 19,881.87 18,452.19 71 2 52 7.75 3765.38 19,791.40 7.26
Test_2_2_1_2 19,324.97 17,335.01 71 4 51 11.48 3790.57 19,524.60 12.63
Test_2_2_1_3 22,245.85 20,578.43 74 1 59 8.10 3731.36 23,671.50 15.03
Test_2_2_1_4 19,924.53 17,949.11 72 2 52 11.01 3842.37 21,543.50 20.03
Test_2_2_1_5 20,577.34 18,622.31 73 3 55 10.50 3710.42 20,876.70 12.11
Test_2_2_2_1 17,310.57 15,799.42 69 4 47 9.56 3729.80 17,675.00 11.87
Test_2_2_2_2 18,681.92 17,302.12 73 2 55 7.97 3655.88 18,597.90 7.49
Test_2_2_2_3 20,448.09 19,153.81 75 3 62 6.76 3666.24 21,751.00 13.56
Test_2_2_2_4 20,755.16 19,483.89 76 3 60 6.52 3851.43 23,300.40 19.59
Test_2_2_2_5 22,652.91 20,626.80 72 3 53 9.82 3834.45 23,337.90 13.14

Average 20,465.60 18,773.27 72 3 54 9.84 4074.49 21,250.50 12.98

staffing problem (and ignore the scheduling problem, considering (e.g., flight delays). Is it possible to incorporate this uncertainty
it to be a lower-level operational problem), our model deals into the model by adding ‘robust constraints’ or developing a
simultaneously with both problem dimensions. Second, the stochastic programming model, or is a simulation approach the
model presented in this paper makes it possible to decide on only feasible alternative? Second, the scheduling decision can be
the timing of the maintenance for each flight, in which this further detailed in the current model. For instance, our model
decision is bounded by given time windows. Third, we present a decides on the number and type of shifts on each day for each
new problem formulation including feasible shift succession cycle, but we would like to extend it by means of an automated
guaranteeing constraints. This new formulation dramatically procedure in order to assign these shifts to the specific weeks
decreases the number of binary decision variables and is, there- within each cycle. Third, the model can be extended in order to
fore, capable of finding good solutions within limited computa- allow for part-time workers and different skills. Fourth, the current
tion time. The approach was tested on a test set including 40 model does not ensure that the maintenance of a particular flight is
instances which were generated based on real-life data. The scheduled in a consecutive way. In other words, the solution might
computational results indicate that this integrated approach assign the first part of a flight’s workload at the beginning of its
succeeds in finding quality solutions within an acceptable com- time window and the remaining part toward the end of its time
putation time. Compared to a TS algorithm, the enumerative window (with a break in between). Obviously, this is not feasible in
algorithm finds better quality solutions for both small and big practice. Finally, this type of problem setting, in which the timing
instances. of the workload represents an extra decision dimension, is not
This study introduces a lot of opportunities for future research. specific to the aircraft maintenance industry. For instance, in nurse
First, it would be very interesting to make our model more robust. scheduling and project scheduling, the timing of the workload is
We acknowledge three major sources of uncertainty: (1) uncer- also a controllable decision. The workload for nurses depends on
tainty in supply (e.g., employee illness), (2) uncertainty in the operating room and appointment scheduling, while the timing
demand (e.g., unexpected aircraft problems leading to higher of the workload in projects depends on the scheduling of different
workloads) and (3) uncertainty in the timing of workloads activities. It would be very interesting to identify more workforce
J. Beliën et al. / Computers & Operations Research 40 (2013) 1023–1033 1033

applications that might benefit from the approach described in this [11] Purnomo HW, Bard JF. Cyclic preference scheduling for nurses using branch
paper and try to develop a general solution framework. and price. Naval Research Logistics (NRL) 2007;54:200–20.
[12] Burke E, De Causmaecker P, Vanden Berghe G, Van Landeghem H. The state of
the art of nurse rostering. Journal of Scheduling 2004;7(6):441–99.
[13] Safaei N, Banjevic D, Jardine AK. Multi-objective simulated annealing for a
Acknowledgments maintenance workforce scheduling problem: a case study. In: Tan CM, editor.
Global optimization. ARS Publishing; 2008. p. 27–48.
The authors are extremely grateful to Willy Buysse and Thierry [14] Burke EK, Kendall G, Soubeiga E. A tabu-search hyperheuristic for timetabling
and rostering. Journal of Heuristics 2003;9:451–70.
Van Damme (both Sabena Technics) for introducing them into [15] Aickelin U, Dowsland KA. An indirect genetic algorithm for a nurse-
this fascinating problem and providing them with input data, scheduling problem. Computers & Operations Research 2004;31:761–78.
real-life constraints and useful feedback on the generated rosters. [16] Beliën J, Demeulemeester E. A branch-and-price approach for integrating
The authors also thank the anonymous referees for their valuable nurse and surgery scheduling. European Journal of Operational Research
2008;189:652–68.
comments which undoubtedly helped to improve both the pre- [17] Qi XT, Bard JF. Generating labor requirements and rosters for mail handlers
sentation and the content of this paper. using simulation and optimization. Computers & Operations Research
2006;33:2645–66.
[18] Weide O, Ryan D, Ehrgott M. An iterative approach to robust and integrated
References
aircraft routing and crew scheduling. Computers & Operations Research
2010;37:833–44.
[1] Mercier A, Soumis F. An integrated aircraft routing, crew scheduling and [19] Burke EK, Dror M, Orlin JB. Scheduling malleable tasks with interdependent
flight retiming model. Computers & Operations Research 2007;34:2251–65. processing rates: comments and observations. Discrete Applied Mathematics
[2] Papadakos N. Integrated airline scheduling. Computers & Operations 2008;156:620–6.
Research 2009;36:176–95. [20] Drozdowski M. Scheduling multiprocessor tasks an overview. European
[3] Gupta P, Bazargan M, McGrath R. Simulation model for aircraft line main- Journal of Operational Research 1996;94:215–30.
tenance planning. In: Proceedings of the annual reliability and maintain- [21] Blazewicz J, DellOlmo P, Drozdowski M, Mczka P. Scheduling multiprocessor
ability symposium, 2003. p. 387–91. tasks on parallel processors with limited availability. European Journal of
[4] Yang T-H, Yan S, Chen H-H. An airline maintenance manpower planning Operational Research 2003;149:377–89.
model with flexible strategies. Journal of Air Transport Management [22] Dror M, Stern HI, Lenstra JK. Parallel machine scheduling: processing rates
2003;9:233–9. dependent on number of jobs in operation. Management Science 1987;33:
[5] Yan S, Yang T-H, Chen H-H. Airline short-term maintenance manpower 1001–9.
supply planning. Transportation Research Part A 2004;38:615–42. [23] Hu P-C. Further study of minimizing total tardiness for the worker assign-
[6] Mundschenk M, Drexl A. Workforce planning in the printing industry. ment scheduling problem in the identical parallel-machine models. The
International Journal of Production Research 2007;45(20):4849–72.
International Journal of Advanced Manufacturing Technology 2006;29:
[7] Thompson G. Labor staffing and scheduling models for controlling service
165–169.
levels. Naval Research Logistics 1997;44(8):719–40.
[24] Karp RM. Reducibility among combinatorial problems. In: Miller RE, Thatcher
[8] Azaiez MN, Al Sharif SS. A 0–1 goal programming model for nurse scheduling.
JW, editors. Complexity of computer computations, Plenum Press; 1972.
Computers & Operations Research 2005;32:491–507.
[9] Azmat CS, Hrlimann T, Widmer M. Mixed integer programming to schedule a p. 85–103.
single-shift workforce under annualized hours. Annals of Operations Research [25] De Bruecker P, A Tabu search heuristic for building aircraft maintenance
2004;128:199–215, http://dx.doi.org/10.1023/B:ANOR.0000019105.54898.a4. personnel rosters. Technical Report HUB. Brussels, Belgium: Hogeschool-
[10] Maenhout B, Vanhoucke M. Branching strategies in a branch-and-price Universiteit Brussel; 2011.
approach for a multiple objective nurse scheduling problem. Journal of [26] Beliën J., Cardoen B., Demeulemeester E. Improving Workforce scheduling of
Scheduling 2010;13:77–93, http://dx.doi.org/10.1007/s10951-009-0108-x. aircraft line maintenance at Sabena Technics. Interfaces 2012;42:352–64.

You might also like