Schafhauser-Break Scheduling in Call Center
Schafhauser-Break Scheduling in Call Center
Abstract In this paper we consider a real-life break scheduling problem for call center
agents involving a large number of breaks and constraints. Obtaining good solutions
for this problem increases the well-being of call center employees and guarantees a cer-
tain quality of service for calling customers. To solve this problem we present two local
search approaches, a min-conflicts based search algorithm and a tabu search algorithm
and consider a hybridization of both techniques. Our computational experiments re-
veal that the presented techniques generate high-quality solutions to our problems in
reasonable time. These solutions are able to satisfy the needs of customers, call center
agents, and employers at the same time.
Keywords Break scheduling · Min-conflicts heuristic · Tabu search · Call centers
1 Introduction
Break scheduling represents an important task, particularly relevant for working areas
in which employees spent their entire working time in front of computer monitors, e.g.,
in call centers or airports. For people working under these conditions it is imperative
to have a break from time to times, in order to reduce stress and to avoid exhaus-
tion. Usually in each industry there exist labor rules regulating the quantity of break
time for employees and specifying how these breaks must be scheduled in a legal shift
A. Beer · W. Slany
Inst. for Software Technology, Graz University of Technology, 8010 Graz, Austria
E-mail: [email protected]
W. Slany
E-mail: [email protected]
J. Gärtner
Ximes Inc, Hollandstraße 12/12, 1020 Vienna, Austria
E-mail: [email protected]
N. Musliu · W.Schafhauser (B)
Inst. for Information Systems, Vienna University of Technology, 1040 Vienna, Austria
E-mail: [email protected]
W. Schafhauser
E-mail: [email protected]
2
plan. Consequently, the great challenge of break scheduling problems is to create shift
plans which satisfy the legal requirements on break quantities and break patterns and
guarantee that a certain number of employees is present at any time.
In this paper we address a complex real-life break scheduling problem originating
from a call center, which we call the break scheduling problem. As an input we are given
a shift plan, the break types and break quantities to be scheduled for each shift and the
staffing requirements, i.e., the number of working employees required during a certain
time period. The specified break quantities have to be scheduled within the given shifts
in such a way that the number of violations of various constraints on breaks and on the
excess or shortage of working employees is minimized. The break scheduling problem
may be regarded as an instance of a constraint satisfaction problem which is known to
be NP-hard in general.
Local search techniques represent a promising approach to obtain solutions of good
quality for complex optimization problems. In each step of their search they regard
solutions closely related to the current one, the so-called local neighborhood, and select
a particular solution from that neighborhood for further improvement. Usually, this
neighborhood is computed by applying small changes to the current solution. In terms
of local search techniques these small changes are denoted as moves.
Canon as well as Tellier and White considered shift design problems including the
scheduling of breaks (Tellier and White 2006; Canon 2007). They were able to obtain
solutions of acceptable quality for their respective problems by using local search tech-
niques. In contrast to these related problems the break scheduling problem addressed
in this paper consists in exclusively scheduling breaks within a fixed shift plan whereas
in (Tellier and White 2006) and (Canon 2007) also shifts are a subject to the opti-
mization process. Moreover, in the break scheduling problem we have to schedule large
numbers of breaks per shift and consider various constraints not imposed on previous
problems.
Motivated by the encouraging results of local search techniques for related problems
we investigate local search algorithms for the break scheduling problem. At this point
we want to state the main contributions of this paper:
⊲ We propose and implement a min-conflicts based heuristic for the break scheduling
problem and combine it with a random-walk strategy in order to escape from local
optima.
⊲ We develop and implement a tabu search algorithm for the break scheduling prob-
lem. Moreover we propose several variants of tabu lists to ensure that the tabu
search does not get stuck in cycles.
⊲ In addition, we consider a hybridization of both methods, a min-conflicts search
using tabu lists.
⊲ To evaluate our proposed methods we carry out comprehensive experiments on
23 real-life instances from a call center, which are presented in this paper for the
first time. In our experiments we determine which parameters are best for various
search strategies and apply the best performing search strategies to all instances.
Our computational results reveal that in most cases min-conflicts search achieves
the best results.
3
2 Problem Description
In this section we give a formal description of the break scheduling problem. In the
break scheduling problem we regard shift plans for call center agents in which each shift
must contain a certain quantity of breaks. Our goal is to schedule the breaks within
the shifts in such a way that we obtain a solution of high quality according to various
criteria. Formally, as input for the break scheduling problem we are given:
⊲ a planning period formed by T consecutive time slots [a1 , a2 ), [a2 , a3 ), ..., [aT , aT +1 )
all having the same length slotlength (in minutes). Time points a1 and aT +1 rep-
resent the beginning and end of the planning period. All time points have the same
format day:hour:minute.
⊲ n shifts s1 , s2 , ..., sn representing employees working within the planning period.
Each shift si has the adjoined parameters, si .start and si .length representing its
start and its length. Each shift corresponds to exactly one employee.
⊲ break quantities and break types to be scheduled for each shift. We distinguish
between two different types of breaks: lunch breaks and monitor breaks. The pa-
rameter si .lunch stores the length of a shift’s lunch break in minutes, whereas the
parameter si .monitor specifies a shift’s monitor break quantity.
⊲ the staffing requirements for the planning period. Each time slot [at , at+1 ) has an
adjoined integer value wt indicating the optimal number of employees that should
be working during time slot [at , at+1 ). An employee is considered to be working
during time slot [at , at+1 ) if in its corresponding shift no break is scheduled during
time slot [at , at+1 ).
A break b is characterized by the parameters, b.shif t specifying its associated shift, its
start b.start and its length b.length. We assume that all parameters representing time
points coincide with a time point at defining the start or the end of a time slot of the
planning period. Moreover we expect each parameter representing a time length or a
break quantity to be a multiple of slotlength.
Given a planning period, a set of shifts, the associated break quantities, and the
staffing requirements, a feasible solution to the break scheduling problem is a set of
breaks such that:
1. Each break lies entirely within its associated shift.
2. Two distinct breaks associated with the same shift do not overlap in time.
3. For each shift the sum of all its associated break lengths is exactly the specified
break quantity for the shift, which is si .lunch + si .monitor.
4. If si .lunch > 0 then there is one break in si whose length is at least si .lunch.
Example 1 Figure 1 shows the staffing requirements (solid curve) for a real-life instance
of the break scheduling problem. The curve of present employees (dashed curve) results
from the given shift plan, which does not contain any breaks yet.
Among all feasible solutions for the break scheduling problem we aim at finding an
optimal one according to various criteria. These criteria are modeled as constraints on
feasible solutions. Basically we distinguish between four main groups of constraints,
namely constraints on:
4
Fig. 1 Curves of required and present employees resulting from an instance of the break
scheduling problem.
C11 NoExcess: In each time slot [at , at+1 ) the number of working employees, i.e., the
employees who are not assigned a break in that time slot, should not exceed wt .
C12 NoShortage: In each time slot [at , at+1 ) the number of working employees should
be at least wt .
CSD NoSquaredDeviation: In many practical instances for the break scheduling prob-
lem the staffing requirements are significantly higher or lower than the number of
scheduled employees during the overall planning period. Consequently, each solu-
tion will always produce the same amount of excess or shortage. For such instances
we introduced an additional constraint aimed at minimizing the squared deviation
from staffing requirements in each time slot. Informally speaking, this constraint
prefers solutions whose curve of working employees has a shape similar to the curve
representing the staffing requirements.
C13 FixedBreak: Each shift can contain a break of a certain specified length, which
may differ from the lengths required by other constraints. Optionally, this break
must lie within some given allowed time range, preferably within a given optimum
time range. The break must not be scheduled within a given forbidden time range.
Note: The criteria required by the constraint FixedBreak may contradict the require-
ments of several previously introduced constraints. For that reason, the following
constraints are not applied to that single break of desired length: MinimumDistance-
ToShiftBegin (C1 ), MinimumDistanceToShiftEnd (C2 ), MinimumBreakLength (C7 ),
MaximumBreakLength (C8 ), and OptimumBreakLength (C9 ).
Call center employees can take part in meetings during their working time. While
attending meetings call center agents do not process incoming phone calls. Thus, during
the time a meeting takes place the participating employees are not considered to be
working with respect to staffing requirements.
Example 2 In the shift plan given in Figure 2 call center employees represented by shifts
s2 , s3 , and s4 take part in meeting m1 taking place from 12:30 until 13:30. Employees
working in shifts s1 and s4 attend meeting m2 from 17:30 to 18:30.
In order to handle meetings we have to extend the break scheduling problem further.
Moreover we introduce an additional constraint concerning the break time scheduled
in meetings. In addition to the input for our basic problem we are given:
6
Meetings have the following side effects on several constraints of the basic break
scheduling problem:
C5 , C6 , C10 : These constraints are only relevant for breaks not scheduled during the
same meeting. In other words, these constraints are ignored for consecutive breaks
ending and starting during the same meeting.
C7 , C8 , C9 : We consider only those parts of breaks which are scheduled outside the time
range of a meeting, disregard breaks of a certain fixed length, and refer to these
breaks as breaks outside a meeting. The constraints on the minimum, maximum,
and optimum break length are only applied to these breaks outside a meeting.
C11 , C12 , CSD : While participating in meetings employees are not considered to be
working. Breaks scheduled during meetings do not further decrease the number of
working employees.
Local search techniques try to obtain a good solution for an optimization problem by
iteratively improving an initial solution.
To design a local search algorithm for a specific optimization problem, in particular
for the break scheduling problem, we have to develop the following key ingredients of
a local search algorithm:
7
We represent the solution for the break scheduling problem as a set of breaks. Each
break has a variable start and constant length. Moreover, each break is associated
with a certain shift and must lie entirely within that shift’s range. Given a shift and
its quantities of lunch and monitor breaks we distribute the break time among the
following three types of breaks:
fixed breaks: For each break required by constraint FixedBreak (C13 ) we generate a
so-called fixed break having the desired length. If possible the entire lunch break
quantity is part of a single fixed break.
lunch break: If it is not possible to schedule the lunch break within a fixed break we
generate a lunch break. Each shift may contain at most one lunch break comprising
its total lunch time quantity.
monitor breaks: The remaining time not planned as fixed breaks and lunch breaks
is scheduled within monitor breaks. We try to assign a monitor break the optimal
break length as required by constraint OptimalBreakLength (C9 ) to each monitor
break but the last monitor break may be shorter than the desired optimum length.
The obtained breaks are scheduled randomly in their respective shifts
such that the the obtained solution is feasible and satisfies the constraints
M inimumDistanceT oShif tBegin(C1 ) and M inimumDistanceT oShif tEnd(C2 ).
This solution acts as the initial solution for our proposed local search techniques.
In the objective function presented above, ub(CSD ) denotes an upper bound on the
violation degree of the constraint NoSquaredDeviation. If two solutions have the same
objective value according to constraints C1 , ..., C14 the objective function prefers the
solution with a smaller squared deviation from staffing requirements.
On the basis of the representation of a solution for the break scheduling problem we
developed two kinds of moves.
8
assignment: a break is moved to a new position within its associated shift, by assign-
ing it a new start.
swap: the starts of two breaks associated with the same shift are exchanged, meaning
that the breaks are actually swapped.
Given a feasible solution S to the break scheduling problem we define its neighborhood
N (S) to be the set of all solutions obtained by applying an assignment on a single
break in S or by swapping two breaks within the same shift in S. As a legal move we
consider any assignment or swap guaranteeing that after the move:
A local search method may loop over the same set of solutions again and again. In that
case the search is not able to discover better solutions than those already considered. In
order to overcome this problem Glover proposed a local search technique named tabu
search (Glover and Laguna 1997). The main idea behind tabu search is to maintain
a ”memory” denoted tabu list which stores recently visited solutions and forces the
search to explore new regions of the search space. At this point we would like to give
a brief overview on the different kinds of tabu lists:
tabu solutions: This is the most basic form of tabu search: We are given a fixed
number – the tabu length (tbl) – and remember the last tbl solutions encountered.
These are tabu, meaning that even if they are part of the current neighborhood,
moving there will not be considered.
tabu attribute: In some applications it is sufficient to consider certain attributes of
a solution tabu: Any solution having one of these attributes will not be considered
for evaluation for tbl iterations.
tabu move: Instead of setting solutions or their attributes tabu, we prohibit just a
certain move for the immediate future.
variable tabu length: The number of iterations during which a solution, an attribute
or a move is considered to be tabu does not need to be a fixed value. It can increase
and decrease during the search. Small sizes of the tabu list lead to an intensification
of the search on the region around the current solution whereas great sizes induce
a diversification of the search, meaning that the search is forced to explore new
regions of the search space.
There is one important note that needs to be made concerning the tabu status: If a
solution is both tabu and better than the best solution found so far it will be wise to
disregard its tabu status. This behavior is called ”aspiration”.
With the more general groundwork taken care of, we now want to look at the
tabu options that were implemented in our tabu search. Note that all options include
aspiration criteria. For the break scheduling problem we have experimented with two
kinds of tabu lists, namely tabu lists containing:
9
breaks: After performing an assignment or swap, the affected breaks are added to the
tabu list. For the next tbl iterations, they are considered tabu.
inverse moves: After performing a move we add its inverse move to the tabu list.
After assigning a break a new position we prohibit the reassignment of its old
position for tbl iterations, after swapping two breaks we do not allow to swap
these breaks again for tbl iterations.
All variants of tabu lists described above are available either with fixed or with variable
tabu length. In the latter case tbl varies between a (parameterizable) minimum and
maximum length. If a move improves the current solution, the tabu length is decreased
by one, otherwise it is increased by one.
Minton et al. present another local search strategy named min-conflicts search
which has been used successfully for solving several constraint satisfaction problems
(Minton et al. 1992). Unlike tabu search the min-conflicts search strategy
Motivated by the work in (Minton et al. 1992) we adapted the min-conflicts search
for the break scheduling problem. The search starts with an initial feasible solution for
the break scheduling problem and tries to improve it incrementally. In each iteration
the min-conflicts heuristic
If such a move exists it will be applied to the current solution and the search
continues until some halting condition is satisfied. The proposed min-conflicts search
applies only moves which do not decrease the quality of the current solution. Thus,
once the search has reached a local optimum, that is, a solution better than any solution
within its neighborhood, it will not be able to escape it. At that point the algorithm
does not explore further regions of the search space which might contain solutions of
better quality than those we have considered so far.
To avoid this undesired behavior we adapted a random walk strategy for satisfiabil-
ity problems (Selman et al. 1993). With a certain probability p we perform an arbitrary
move to a break violating a constraint. On the one hand the violation degree of the re-
sulting solution may be worse than the previous one but on the other hand performing
such moves may help us to overcome local optima. The ordinary min-conflicts search
is carried out with the remaining probability 1 − p. The resulting algorithm is called
Min-Conflicts-Random-Walk and is presented in Algorithm 1 in pseudo-code notation.
As halting criterion we use a specified number of seconds.
10
To avoid cycles in the search we additionally applied tabu mechanisms in the algorithm
min-conflicts-random-walk. During the min-conflicts part of the algorithm we apply
only moves which are not tabu according to a tabu list. As tabu lists we used the two
approaches presented in section 3.5.
4 Computational Results
In this section we evaluate our proposed algorithms for the break scheduling problem on
23 real-life benchmark instances from a call center. We conducted several experiments
to investigate the performance of the different local search techniques and to answer
the following questions:
1. Does the random-walk strategy improve the results returned by the min-conflicts
search algorithm?
2. Which tabu list performs best on the considered benchmark instances?
3. Which of the proposed methods returns the best results?
4. What is the quality of the solutions returned by the considered algorithms?
All our experiments were conducted on the following two machines: a Genuine Intel(R)
T2400 1.83 GHz processor having 2 GB RAM and an Intel(R) Core(2) Duo T7300 1.99
GHz processor having 3 GB RAM. All experiments concerning min-conflicts search and
its combinations with a tabu list were carried out on the first computer whereas the
experiments on tabu search techniques were run on the second machine. Since our local
search algorithms include randomization we carried out ten runs for each instance in
each experiment. A single run was executed with a ten minute time limit.
11
To implement our local search techniques and to model constraints we used the
programming language COMET (Hentenryck and Michel 2005). The programming lan-
guage COMET provides an expressive constraint language to model combinatorial opti-
mization problems. Moreover, COMET also offers a rich search language that abstracts
different components of local search algorithms.
To evaluate our proposed methods we used 23 real-life examples for the break
scheduling problem originating from a call center. Table 1 lists these instances and
presents their basic properties like the number of shifts (column Shifts), the length of
the planning period (column Period) and the length of each time slot in the respective
problem (column Slot). Column Breaks contains the total number of breaks for each
instance obtained as described in Section 3.2. For all instances, the lunch and monitor
break quantities are dependent on the length of a shift. For a single shift si the lunch
break and monitor break time are computed as follows:
30 minutes, if si .length > 360 minutes
si .lunch =
0 minutes, else
We distinguish between three types of instances, Basic, Fixed and Meeting. Ba-
sic 01-Basic 12, represent instances for the basic break scheduling problem omitting
breaks of fixed length and meetings. Fixed 01-Fixed 07, require additionally a fixed
one-hour break in each shift, which is imposed using constraint FixedBreak (C13 ) from
Section 2.2. The remaining four instances, Meeting 01-Meeting 04, additionally contain
meetings.
The three types of instances differ also in the specified limits on the position of
breaks, distances between breaks and break lengths. Table 2 describes the different
temporal limits imposed by constraints for each type of instance. For instance, from
the first row of Table 2 we see that for instances of type Basic the distance of a break
to the beginning of its shift must be at least an hour.
In instances Fixed 01-Fixed 07 a further constraint FixedBreak (C13 ) is imposed
regulating the allowed, optimal, and forbidden time range for the required one-hour
break. These ranges are given in Table 3. The allowed time range for the single break
is specified by a required minimum distance to the beginning and end of a shift. The
optimum and forbidden time ranges specify the time period in which the break should
and must not be located respectively.
Finally, Table 4 presents the weight of each constraint for the given real-life tasks.
In the first experiment we investigated whether the random-walk strategy has an impact
on the quality of solutions returned by the min-conflicts-search algorithm. In order to
answer that question we ran our min-conflicts search on ten instances, with different
random-walk probabilities of 0%, 1%, 2.5%, 5% and 10%. Based on the average quality
12
Table 3 The allowed, optimal and forbidden time range for one-hour breaks in instances
Fixed 01-Fixed 07.
over ten runs for each instance we concluded that the random-walk strategy does indeed
improve the results obtained. The solutions for 1% and 2.5% are consistently better
than the ones computed with other probabilities.
In the next experiment we tried to find out which kind of tabu list returns the best
solutions for our test instances. Again, we ran our tabu-search algorithm on ten in-
stances, using the tabu lists storing inverse moves and breaks. For each kind of tabu
list we considered different lengths, namely 2n, 4n, 6n and 8n for the tabu list type
based on inverse moves and 12 n, n and 32 n for the list type based on breaks, where ‘n’
always stands for the number of shifts. For both tabu list approaches we also considered
variable lengths. The length of the variable tabu list with inverse moves ranges between
1 1
2 n and 8n, whereas the length of the variable list based on breaks ranges between 2 n
and 2n. The lengths are adapted during the search as described in Section 3.5.
Regarding the average quality of ten runs, the most important point to notice is
that there are only small differences between the average results obtained with different
tabu lists. We may observe that longer tabu lengths, 8n for inverse moves and 23 n for
breaks, lead to slightly superior results. Furthermore we notice that in general using
the tabu list prohibiting inverse moves returns solutions of slightly better quality.
In our final experiments we wanted to draw a comparison between different local search
techniques to find out which method is best suited for the break scheduling problem.
Due to the best results of the previous experiments we chose algorithm min-
conflicts-random-walk with a random walk probability of 2.5% (MCRW) and the tabu
search with inverse moves and tabu list length 8n. In addition we evaluated yet an-
other combination of both variants, min-conflicts-random-walk with a random walk
probability of 2.5% using a tabu list of length 8n (MCRW + TL). Table 5 reports
for each instance and algorithm the average quality of the returned solutions and the
14
corresponding standard deviation. The reported averages are rounded to two decimal
places.
Based on these results we come to the conclusion that min-conflicts-random-walk
(column MCRW) and its combination with a tabu list (column MCRW + TL) outper-
form tabu search. Comparing MCRW with MCRW+TL we conclude that there is no
significant difference in their performance.
Table 5 Average objective values and standard deviations returned by different local search
methods for real-life instances.
Finally we want to illustrate that the solutions returned by our local search techniques
are of acceptable quality, satisfying most of the constraints imposed on breaks and
staffing. For that purpose we consider the best solution for instance Basic 12 obtained
during our experiments.
In Figure 3 we see the curve of required employees (solid curve) in Basic 12 and
the curve of working employees (dashed curve) resulting from the best solution found
for that problem. The required minimum number of employees is not violated at any
time. Table 6 presents the violation degree of each constraint for the best solution for
instance Basic 12. We observe that nearly all constraints are completely satisfied. Only
the optimum break length has been violated for some breaks and there exists some
excess of working employees, which cannot be avoided due to the characteristics of
15
instance Basic 12. Moreover, for that particular instance the break lengths may not
be further improved. Consequently, the quality of the computed solution is almost
optimal.
Fig. 3 Curve of required and working employees resulting from the best solution for instance
Basic 12.
5 Previous Work
To the best of our knowledge the break scheduling problem addressed in this paper has
not been presented in the literature yet. However several other similar problems con-
cerning the design of shift plans with breaks have been addressed by different authors.
Break scheduling has been mainly considered in the literature as part of the shift
scheduling problem. Dantzig developed the original set-covering formulation (Dantzig
1954). In this formulation there exists a variable for each feasible shift. Feasible shifts
16
are enumerated based on possible shift starts, shift lengths, breaks, and time win-
dows for breaks. When the number of shifts increases rapidly this formulation is
not practical. Bechtold and Jacobs proposed a new integer programming formulation
(Bechtold and Jacobs 1990). In their formulation, the modeling of break placements is
done implicitly. Authors reported superior results with their model compared to the set
covering model. Their approach however is limited to scheduling problems of less than
24 hours per day. Thompson introduced a fully implicit formulation of shift scheduling
problem (Thompson 1995). A comparison of different modeling approaches is given by
Aykin (Aykin 2000).
A greedy algorithm for scheduling breaks after generating shifts has been presented
in (Gärtner et al. 2004). The authors propose a simple algorithm which includes the
phase of assigning the breaks greedily based on the information for the largest excess,
and then applying simple repair steps on the assigned breaks.
Tellier and White present a tabu search based approach in order to solve a schedul-
ing problem originating from call centers (Tellier and White 2006). They aim at min-
imizing the squared deviation of working employees from staffing requirements while
various constraints are required to be satisfied. In (Tellier and White 2006) there is a
correspondence between shifts and real employees of the contact center, and the con-
straints on a feasible solution restrict the position of breaks within shifts, the position
and lengths of single shifts within the entire schedule, and the minimum and maximum
number of paid working hours per employee. Canon investigates also the use of tabu
search for the shift design problem including breaks (Canon 2007).
Unfortunately a direct comparison between our approach and the approaches we
just mentioned cannot be done due to the differences in problem formulations and
constraints.
6 Conclusions
In this paper we investigated the break scheduling problem, a complex, real-life prob-
lem of high practical relevance. We proposed several different heuristics to solve this
problem: a tabu search with two different kinds of tabu lists as well as a min-conflicts
based heuristic. Moreover we considered the hybridization of the min-conflicts heuristic
with a random-walk strategy and tabu lists.
After designing and implementing these methods we used them to find solutions for
23 real-life problem instances. The obtained results lead us to the following conclusions:
⊲ Our min-conflicts approach is improved by the random-walk strategy.
⊲ Min-conflicts search in combination with random walk is both, better suited to this
problem than our tabu search implementation.
⊲ In general, the proposed methods returned high quality solutions for the regarded
real-life examples.
For future work we will extend our methods to solve similar problems appearing in
other working areas than call centers. Furthermore we will investigate the application
of other meta-heuristic methods to solve break scheduling problems.
Acknowledgements The research herein is partially conducted within the competence net-
work Softnet Austria (http://www.soft-net.at/ ) and funded by the Austrian Federal Ministry
of Economics (bm:wa), the province of Styria, the Steirische Wirtschaftsförderungsgesellschaft
17
mbH. (SFG), and the city of Vienna in terms of the center for innovation and technology
(ZIT).
We furthermore want to thank Pascal van Hentenryck and Laurent Michel for answering
our questions concerning COMET.
References