APPLYING COMPUTATIONAL INTELLIGENCE APPROACHES TO
THE STAFF SCHEDULING PROBLEM
Vasileios Perlis, Charilaos Akasiadis and Konstantinos Theofilatos
Department of Computer Engineering and Informatics, University of Patras, 26504 Patra, Greece
Grigorios N. Beligiannis
Dept. of Business Administration of Food and Agricultural Enterprises, Univ. of Western Greece, 30100 Agrinio, Greece
Spiridon D. Likothanasis
Department of Computer Engineering and Informatics, University of Patras, 26504 Patra, Greece
Keywords:
Staff scheduling, Heuristics, Genetic algorithm, Particle swarm optimization.
Abstract:
Staff scheduling for public organizations and institutions is an NP-hard problem and many heuristic optimiza-
tion approaches have already been developed to solve it. In the present paper, we present two meta-heuristic
computational intelligence approaches (Genetic Algorithms and Particle Swarm Optimization) for solving the
Staff scheduling problem. A general model for the problem is introduced and it can be used to express most of
real-life preferences and employee requirements or work regulations and cases that do not include overlapping
shifts. The Genetic Algorithm (GA) is parameterized, giving the user the opportunity to apply many different
kinds of genetic operators and adjust their probabilities. Classical Particle Swarm Optimization (PSO) is mod-
ified in order to be applicable in such problems, a mutation operator has been added and the produced PSO
variation is named dPSOmo (discrete Particle Swarm Optimization with mutation operator). Both methods
are tested in three different cases, giving acceptable results, with the dPSOmo outperforming significantly the
GA approach. The PSO variation results are very promising, encouraging further research efforts.
1 INTRODUCTION
Staff scheduling for public organizations and institu-
tions is a hard to solve problem that belongs to the
NP-hard class. The big number of employees, the
alternating planning period length, the different con-
tract regulations and the personal preferences, are all
combined into a big set of constraints, that the sched-
ule designer is challenged to satisfy (Burke et al.,
2008).
The quality of the roster or schedule has a large
impact on the performance of the institutions and the
quality of life of the employees (Baker et al., 2003;
Burke et al., 2008). So, efficient planning of it is nec-
essary, in times when requirements are increasing and
the cost needs to be kept low.
By using computers and staff scheduling software,
the construction of the schedule becomes faster and
more efficient, giving the production process a big
boost. The use of computers for this matter started
from 1970, for smaller problems, but more recent
approaches include flexible schedules too. (Cheang
et al., 2003).
The problem of staff scheduling has been ap-
proached in several ways, using exact or heuristic
methods. Any approach could be considered as a de-
cision support system.
Initial approachesoften included optimization and
mathematical programming. There are examples of
linear mathematical programming (Jaumard et al.,
1998), integer programming (Bartholdi et al., 1980),
goal programming (Ozkarahan and Bailey, 1988) and
network programming (Millar and Kiragu, 1998).
Such approaches though, are based on the optimiza-
tion of a single objective function, which makes them
inappropriate when the number of constraints is large.
We overcome this with the use of multi criteria objec-
tivity and near-optimal methods.
In cases of high complexity, it is necessary to
adopt the decision making or constraint satisfaction
168
Perlis V., Akasiadis C., Theofilatos K., N. Beligiannis G. and D. Lykothanasis S..
APPLYING COMPUTATIONAL INTELLIGENCE APPROACHES TO THE STAFF SCHEDULING PROBLEM.
DOI: 10.5220/0003669701680173
In Proceedings of the International Conference on Evolutionary Computation Theory and Applications (ECTA-2011), pages 168-173
ISBN: 978-989-8425-83-6
Copyright
c
2011 SCITEPRESS (Science and Technology Publications, Lda.)
perspective. These categories are further divided in
systemic search in trees, constraint satisfaction meth-
ods, heuristic and meta-heuristic methods and artifi-
cial intelligence approaches. Examples of heuristic
and meta-heuristic methods are memetic algorithms
(
¨
Ozcan, 2005), genetic algorithms (Easton and Man-
sour, 1993), simulated annealing (Brusco, 1995) and
tabu search (Dowsland, 1998). Artificial intelligence
methods include constraint programming (Weil et al.,
1995) and expert systems (Chen and Yeung, 1992).
(Cheang et al., 2003), (Burke et al., 2004).
Lately, competitions are being organized, like the
Nurse Rostering Competition ( http://www.kuleuven-
kortrijk.be/nrpcompetition ), where researchers can
present, test and compare their approaches on the
same instances of the problem.
In the present paper, we define a model for the
staff scheduling problem and we propose two differ-
ent computational intelligence approaches for solving
it, a genetic algorithm approach and a novel particle
swarm optimization approach (dPSOmo) with muta-
tion operator whose structure and operator are differ-
ent from the classical PSO. The model is designed
so as to be applicable to more than one cases. We
tested the algorithms on published instances of nurse
scheduling, coming to quality solutions, especially
when using the dPSOmo method.
In the following chapters we present the model for
the staff scheduling problem, the two proposed meth-
ods, the results of the experiments and the conclusions
that accrue.
2 PROBLEM DEFINITION
The staff scheduling problem in a general form can be
defined as follows:
Given: A set of employees, a set of shifts, a set of
constraints and a planning period, we search for the
optimal way to assign shifts over the planning period,
in order to satisfy as many constraints as possible. To
be more specific, we define some specific notions.
Let the set of n employees be E = {e
1
, e
2
, ..., e
n
},
the set of p days D = {d
1
, d
2
, ..., d
p
} and the set of
k shifts S = {0, s
1
, s
2
, ..., s
k
}, where 0 represents the
day-off shift.
We define the shift assignment u
e,d
, u
e,d
= s if the
employee e, at day d is assigned to shift s.
We also define the assignment check function
f(e, d, s) which enables us to check if the employee
e, the day d, has been assigned to shift s where
e E, d D, s S{A}, where A represents any shift
(day-on). So: f(e,d, s) =
1, if s 6= A and u
e,d
= s
1, if s = A end u
e,d
6= 0
0, otherwise
Many different types of constraints are analyzed
and categorized. Some of them are derived from com-
mon sense, such as that an employee cannot work two
shifts on the same day, while other are more complex
and differentiated for each instance of the problem.
The constraints are divided in two categories, the hard
and the soft constraints.
Hard constraints must be met for a feasible solu-
tion. Each employee must work no more than one
shift s per day. That could be expressed: Given an
employee e and a day d then:
s
f(e, d, s) 1
Another hard constraint is the minimum and max-
imum number of employees needed each day to ful-
fill the cover demand. Given min
d,s
and max
d,s
,
d D, s S , there must be: min
d,s
e
f(e, d, s)
max
d,s
, d, s.
This kind of constraints may be violated and the
program will still be considered feasible. We can di-
vide soft constraints in two categories: The employee
soft constraints and the contract soft constraints.
Subsequently, we can categorize the employee
soft constraints to: Specific day and shift require-
ments and pattern requirements.
Let R be the set of the specific day and shift re-
quirements with R = {r
1
, r
2
, ..., r
n
}, where n is the
number of them. Each r
i
consists of four variables:
r
i
= {e, d, s, w}, where e E is the employee that
has the requirement, d D is the day for the re-
quirement, s S {A} is the shift type or any shift
and w R is the weight of the constraint. Then the
penalty assigned because of violations is: penalty
R
=
r
i
(1 f(e, d,s)) · w).
Let M the set of pattern requirements, where
M = {m
1
, m
2
, ..., m
n
}, where n the number of
them. Each m
i
consists of five variables: m
i
=
{e, min, max, Pat,w} where e E is the employee
with the requirement, min, max N two non nega-
tive integer numbers, Pat a sequence of shifts or A,
Pat = {pt
1
, pt
2
, ..., pt
l
} where l is the pattern length,
pt
i
S{ A}and w R is the weigth of the constraint.
Then the penalty assigned because of violations is:
penalty
M
=
w, if min >
pl+1
j=1
k
j
or
max <
pl+1
j=1
k
j
(
pl+1
j=1
k
j
) · w, if min = max = 0
0, otherwise
APPLYING COMPUTATIONAL INTELLIGENCE APPROACHES TO THE STAFF SCHEDULING PROBLEM
169
where k
j
=
1, if
l1
i=0
f(e, d
j+i
, pt
i+1
) = l
0, otherwise
Thereafter, we can categorize the contract soft
constraints in: Specific pattern requirements, specific
day requirements and specific day of the week re-
quirements.
Let Mc the set of contract specific pattern
requirements, where Mc = {mc
1
, mc
2
, ..., mc
n
},
where n the number of them. Each mc
i
consists of
ve variables: mc
i
= {C, min, max, Pat, w} where
C = e
1
, e
2
, ..., e
k
the set of the employees that come
under contract C, min, max N two non negative
integer numbers, Pat a sequence of shifts or A,
Pat = {pt
1
, pt
2
, ...,pt
l
} where l is the pattern length,
pt
i
S{ A}and w R is the weigth of the constraint.
Then the penalty assigned because of violations is:
penalty
Mc
=
C
(
pl+1
j=1
k
j
) · w, if min = max = 0
C
a
κ
· w
i
, otherwise
where k
j
=
1, if
l1
i=0
f(C, d
j+i
, pt
i+1
) = l
0, otherwise
and
a
κ
=
1, if min >
pl+1
j=1
k
j
or max <
pl+1
j=1
k
j
0, otherwise
Let Cd be the set of contract specific day require-
ments, Cd = {cd
1
, cd
2
, ..., cd
n
}, where n is the num-
ber of them. Each cd
i
consists of five variables cd
i
=
{C, d, num, Pat, w} where C = e
1
, e
2
, ..., e
k
the set of
the employees that come under the contract c, d D
the starting day of the requirement, num {0, 1} a
boolean variable that shows if we want existence or
absence of the pattern, Pat a sequence of shifts or A,
Pat = {pt
1
, pt
2
, ..., pt
l
}, where l is the patterns length,
pt
i
S {A} and w R the weight of the constraint.
Then the penalty assigned because of violations is:
penalty
Cd
=
C
a
κ
· w where a
κ
=
(
0, if k
j
= num
1, otherwise
and k
j
=
1, if
l1
i=0
f(C, d
j+i
, pt
i+1
) = l
0, otherwise
Let Cw be the set of contract specific day of
the week requirements, Cw = {cw
1
, cw
2
, ..., cw
n
},
where n is the number of them all. Each cw
i
consists
of six variables cw
i
= {C, Ds, min, max, Pat, w}
where C = e
1
, e
2
, ..., e
k
the set of the employees
that come under the contract c, Ds a set of integers
that shows which day the pattern is meant to be
checked, with Ds = {d, d + 7, d + 2 · 7, ...} and
d D, min, max N two non negative integers, Pat
a sequence of shifts or A, Pat = {pt
1
, pt
2
, ..., pt
l
},
where l is the patterns length, pt
i
S {A}
and w R the weight of the constraint. Then
the penalty assigned because of violations is:
penalty
Cw
=
C
(
Ds
k
Ds
) · w, if min = max = 0
C
a
κ
· w, otherwise
k
Ds
=
1, if
l1
i=0
f(C, d
Ds+i
, pt
i+1
) = l
0, otherwise
a
κ
=
(
1, if min >
Ds
k
Ds
or max <
Ds
k
Ds
0, otherwise
Having defined all the penalties assigned to vi-
olations of constraints, we also define F
V
i
, the
sum of them, for each V
i
P, where P is the
set of the N in number schedules we are testing,
P = {V
1
,V
2
, ...,V
N
}: F
V
i
= penalty
R
+ penalty
M
+
penalty
Mc
+ penalty
Cd
+ penalty
Cw
.
Finally, we are searching for the program V
i
with
the lowest F
V
i
. The objective function is: min
V
i
F
V
i
3 PROPOSED COMPUTATIONAL
INTELLIGENCE APPROACHES
In this paper two different computational intelligence
approaches are presented: A genetic algorithm (GA)
approach and a particle swarm optimization (PSO)
approach. Both are a form of heuristic stochastic
search that is performed on a population of possible
solutions of the problem and it aims to optimize them,
based on an objective function.
A GUI is developed, that is divided in two parts:
the ‘define’ part and the solve’ part. Through the
‘define’ part the user inserts the number of employ-
ees, the period length, the number of contracts and
shifts, the personnel requirements for each shift type
on each day of the planning period and all types of
personal preferences and contract regulations that are
described in the above section. In the ‘solve’ part, the
user selects the algorithm type to be executed, along
with the parameters that each approach needs. When
execution is completed, results are shown in the cor-
responding fields.
The two approaches work similarly. The first step
is to initialize the population, whose size is given by
the user through the GUI. Each member of the pop-
ulation is a staff schedule of the problem instance.
Each individual is represented by a n × p matrix,
where n is the number of the employees and p the
period length. This straightforward representation is
chosen because of the simplicity it provides in the
ECTA 2011 - International Conference on Evolutionary Computation Theory and Applications
170
constraints’ check. The value of each cell is an inte-
ger number representing the shift type assigned. The
initial solutions are randomly generated so as to fulfill
just the requested coverage (hard constraint) and the
personal preferences that might exist. An additional
consistency check is made, to ensure that assignments
are as many as requested by the hard constraint.
Next, each individual is evaluated by the objec-
tive function. This function checks for soft constraint
violations and sums the penalties, resulting with the
fitness of each individual. It returns the fitness along
with violation matrices that hold the violations’ posi-
tion on each individual.
After the first evaluation, both algorithms follow
an iterative procedure that aims to alter the popula-
tion, each in a different way and re-evaluate it, until
an individual’s fitness drops to zero, or if a maximum
number of iterations is reached. The last, can be set
through the GUI.
3.1 The Genetic Algorithm Approach
The proposed genetic algorithm consists of the same
phases as the generic genetic algorithm (Reeves and
Rowe, 2003). It begins with the initialization of a
population, and loops through evaluation, selection,
crossover and mutation operators, until termination
criteria are met. An additional phase is added, the
consistency check, which is applied after initialization
of the population and after the use of the crossover
operator, in order to keep the feasibility of the popu-
lation according to the hard constraint of coverage.
While none of the termination criteria is met, we
apply genetic operators on the solutions trying to op-
timize them. Such operators are selection, crossover,
mutation and a neighborhood search.
Two different selection operators are available:
roulette wheel selection and tournament selection.
The user can select the type that is going to be used,
through the GUI. For the second type, the size of the
tournaments can also be defined.
The selected chromosomes will be then inter-
sected by one of the four crossover operators that are
available. These are crossover by rows, by columns,
by rectangles and by the combination of all above.
The number of crossover points is random, between
one and three points. The probability of appliance
can be set through the GUI. Because the crossover
operator might produce non feasible solutions, an ad-
ditional consistency check is made every time it is ap-
plied.
After crossover, mutation takes place. There are
two types of mutation operators: the inversion of a
random number of cells in a column and the targeted
mutation of a single gene based on the violation ma-
trix of each chromosome. All parameters can be set
through the GUI.
Lastly, a neighborhood search is done by ran-
domly choosing a wrong gene, based on the violation
matrix and changing it to all possible values. We eval-
uate the resulting chromosomes and repeat the above
procedure to the chromosome with a better fitness
than the initial. The chromosome that is returned is
the one with the best fitness from those that occur.
This probability can also be set by the user.
As soon as one of the termination criteria is met,
the execution breaks and the best chromosome that
has been found by the algorithm is returned to the
user.
3.2 The Particle Swarm Optimization
Approach
Particle Swarm Optimization is a swarm intelligence
method based on social behavior. It was devel-
oped by James Kennedy (psychologist) and Russel
Eberhart (electrical engineer) in 1995 (Kennedy and
R.Eberhart, 1995) after studying how a flock of birds
moves, influenced by the model of Heppner and
Grenander (Heppner and Grenander, 1990). Like ge-
netic algorithms, PSO is a stochastic process, which
uses population to find solution within the search
space. In PSO the term particles refers to members
of the population. The term was inspired by particle
physics (Reeves, 1993). Each member of the swarm
represents a solution of the problem, which moves in
the search space, subject to velocities, looking for the
optimal solution.
There are two variants of the basic PSO algorithm,
the continuous PSO and the binary PSO. The contin-
uous PSO uses a real valued multidimensional space.
In binary PSO the position of each particle is not a real
value, but either the binary 0 or 1. Both versions are
inappropriate for the problem described above. We
propose a discrete PSO with mutation operator (dP-
SOmo) algorithm that uses the basic idea of the PSO,
amended appropriately for the problem.
In the basic PSO each member of the swarm is
aware of the best position ever found by a member of
the neighborhood it belongs and of the previous best
position it has been. In the proposed PSO method, we
divide the population into three swarms, each with a
different position update rule, with M particles and
each particle has knowledge of its current position X,
of the best position ever found by any particle of the
three swarms gbest and of the best position ever found
by the particles of the swarm it belongs lbest.
After the initialization, the consistency check and
APPLYING COMPUTATIONAL INTELLIGENCE APPROACHES TO THE STAFF SCHEDULING PROBLEM
171
the evaluation, the algorithm loops through a three
level processing. The first level, mutation, changes
a small random number, close to mutation probability
set to 0.015, of wrong values in cells of the position
of each particle, based on the violation matrix.
The next level is the particles position update.
There are three different position update procedures,
one for each swarm. The two compute the distances
between X and gbest and X and lbest. At this point
there is a 50% chance of following gbest and an-
other 50% of following lbest. If the two positions
are very close, the collision is prevented by chang-
ing the movement direction. If no collision occurs,
the particle moves towards gbest or lbest by copy-
ing values of cells from gbest or lbest to X. In the
first swarm, this is done by copying whole columns
and in the second by copying random individual cells.
The third position update procedure follows the ve-
locity update equation: V = k · (V + f1 · rand · (X
gbest) + f2 · rand· (X lbest)) with k = 0.7398 and
f1 = f2 = 2.05. These parameter values were cho-
sen after conducting exhaustive experiments and they
seem to yield the best results for all instances. Next,
we transform the velocity using the equation: s =
(
2
1+e
−|V|
) 1. At this point we create a matrix with
random values between 0 and 1, let it be R and the
position updates by the following equation:
X(R < s) =
(
lbest(R < s), if rand < 0.5
gbest(R < s), otherwise
The velocity contributes to the determination of
the probability that a cell will change to a value from
the gbest or the lbest particle.
Again, if collisions are detected, changes in move-
ment directions are applied.
In order to assure the feasibility of the solutions
resulting from the second level of processing, a con-
sistency check is applied in the third level assuring the
hard constraint is met.
The algorithm is terminated when the termination
criteria discribed earlier are met.
4 EXPERIMENTAL RESULTS
The whole project was implemented in Matlab. The
datasets used for testing and comparing the perfor-
mance of the two algorithms were taken from the
ASAP, School Of Science, University of Nottingham
website ( http://www.cs.nott.ac.uk/ tec/NRP/ ). The
instances of the problem that were selected are the
following: Millar-2Shift-DATA1 with 8 employees,
2 shift types, planning period 14 days and cover is
per shift, WHPP2 same as WHPP, but divided into
two subproblems, one with 20 employees and 2 shift
types and the other 10 employees, 1 shift type, both
planning period 2 weeks and LLR with 27 employees,
3 shift types, planning period 1 week and cover is per
shift.
When using the GA to work on a problem, we
must adjust the preferences (population, operator
probabilities, etc) according to the requirements. For
small sized problems like Millar, having small num-
ber of employees and days, the tournament selection
works better and elitism is deactivated. This occurs
because in tournament selection, the best individual
is more likely to be selected for survival in the next
generation and in combination with elitism, the possi-
bility to get trapped in a local optima is higher. On the
other hand, for larger problems like LLR, the roulette
selection and elitism are more appropriate. When us-
ing roulette, the selection of the best individual is not
as possible as with tournaments, so elitism is needed
for the algorithm to converge. Moreover, if we apply
more operators, with smaller probabilities, the results
further improve.
On the contrary, PSO uses the same parameter val-
ues (k, f1, f2, mutation probability) for all problem in-
stances. These parameter values yield the best results
for all instances after conducting exhaustive results.
Both algorithms are executed for the same number
of iterations, 100 monte carlo runs for each problem.
The population number differs; for GA is set to 50
chromosomes and 150 for the Millar dataset and for
PSO is set to 15 particles for all datasets. The results
are shown in tables 1 and 2.
If we increase the number of iterations, then the
results of LLR further improve.
Table 1: Results in 10000 iterations.
Problem Method Average Best Ideal
Millar GA 183.33 0 0
dPSOmo 116,66 0
LLR GA 363.5 342 301
dPSOmo 319.33 306
WHPP2 GA 220.166 85 5
dPSOmo 47 43
Table 2: Results in 60000 iterations.
Problem Method Average Best Ideal
LLR GA 350,66 326 301
dPSOmo 315,83 303
WHPP2 GA 51.5 36 5
dPSOmo 29.5 23
ECTA 2011 - International Conference on Evolutionary Computation Theory and Applications
172
5 CONCLUSIONS
In the present paper we defined the staff scheduling
problem as a shift scheduling problem with personal
and contract constraints, we proposed a mathemati-
cal model for the problem and implemented two algo-
rithms to solve it. A parameterized genetic algorithm
and a discrete particle swarm optimization with muta-
tion operator algorithm were tested in three instances
of the problem.
Both methods seem to be effective, with a clear
lead of the dPSOmo method. The Genetic Algo-
rithm approach has too many parameters and its per-
formance may be improved with a more thorough ex-
perimentation on the parameters value. On the other
hand dPSOmo does not need parameter adjustment
and performs well in every instance. There are few
existing approachesto solve the staffscheduling prob-
lem with PSO (Nissen and G¨unther, 2009; G¨unther
and Nissen, 2009), most of them solving the sub-
daily scheduling with workstation and the compari-
son of the approaches would be inaccurate, because
of the different problem formulation. In our approach
for the shift staff scheduling, we developed a novel
PSO variation, that divides the population into three
swarms, each following different update rules. Also,
mutation is applied to the cells that conflict with a
constraint, based on the violation matrix.
The experimental results are very promising and
the PSO variation has been proved to outperform Ge-
netic Algorithms which is one of the state-of-the-art
solutions of the staff scheduling problem.
Our future plans involve the application of adap-
tive parameter values on both proposed methods in
order to encourage global search for the initial algo-
rithms‘ generations and local search for the final gen-
erations. Furthermore, these meta-heuristic methods
will be integrated and hybridized with accurate local
search approaches in order to increase the accuracy
and the convergence velocity. Finally, the proposed
computational intelligence techniques will be applied
in real life data in order to measure their performance
in even harder staff scheduling problems.
REFERENCES
Baker, A., Roach, G., Ferguson, S., and Dawson, D. (2003).
The impact of different rosters on employee work and
non-work time preferences. Time Society, 12:315–
332.
Bartholdi, J. J., Orlin, J. B., and Ratliff, H. D. (1980). Cyclic
scheduling via integer programs with circular ones.
Operations Research, 28:1074–1085.
Brusco, M. (1995). Cost analysis of alternative formula-
tions for personnel scheduling in continuously operat-
ing organizations. European Journal of Operational
Research, 86:249–261.
Burke, E. K., Causmaecker, P. D., and Landeghem, H. V.
(2004). The state of the art of nurse rostering. Journal
of Scheduling, 7:441–499.
Burke, E. K., Curtois, T., Post, G. F., Qu, R., and Veltman,
B. (2008). A hybrid heuristic ordering and variable
neighbourhood search for the nurse rostering problem.
European Journal of Operational Research, 188:330–
341.
Cheang, B., Li, H., Lim, A., and Rodrigues, B. (2003).
Nurse rostering problems - a bibliographic survey. Eu-
ropean Journal of Operational Research, 151:447–
460.
Chen, J. and Yeung, T. (1992). Development of a hybrid
expert system for nurse shift scheduling. International
Journal of Industrial Ergonomics, 9:315–327.
Dowsland, K. (1998). Nurse scheduling with tabu search
and strategic oscillation. European Journal of Opera-
tional Research, 106:393–407.
Easton, F. F. and Mansour, N. (1993). A distributed ge-
netic algorithm for employee staffing and scheduling
problems. In International Conference on Genetic Al-
gorithms, pages 360–367.
G¨unther, M. and Nissen, V. (2009). A comparison of neigh-
bourhood topologies for staff scheduling with particle
swarm optimisation. In German Conference on Artifi-
cial Intelligence, pages 185–192.
Heppner, F. and Grenander, U. (1990). A stochastic nonlin-
ear model for coordinated bird flocks.
Jaumard, B., Semet, F., and Vovor, T. (1998). A generalized
linear programming model for nurse scheduling. Eu-
ropean Journal of Operational Research, 107:1–18.
Kennedy, J. and R.Eberhart (1995). Particle Swarm Opti-
mization, volume IV, pages 1942–1948.
Millar, H. and Kiragu, M. (1998). Cyclic and non-cyclic
scheduling of 12 h shift nurses by network program-
ming. European Journal of Operational Research,
104:582–592.
Nissen, V. and G¨unther, M. (2009). Staff scheduling with
particle swarm optimisation and evolution strategies.
In EvoWorkshops, pages 228–239.
¨
Ozcan, E. (2005). Memetic algorithms for nurse rostering.
In International Symposium on Computer and Infor-
mation Sciences, pages 482–492.
Ozkarahan, I. and Bailey, J. E. (1988). Goal programming
model subsystem of a flexible nurse scheduling sup-
port system. Iie Transactions, 20:306–316.
Reeves, C. and Rowe, J. (2003). Genetic algorithms: Prin-
ciples and perspectives: A guide to ga theory.
Reeves, W. (1993). Particle systems-a technique for mod-
elling a class of fuzzy objects. Computers & Graphics.
Weil, G., Heus, K., Francois, P., and Poujade, M. (1995).
Constraint programming for nurse scheduling.
APPLYING COMPUTATIONAL INTELLIGENCE APPROACHES TO THE STAFF SCHEDULING PROBLEM
173