NURSE SCHEDULING BY COOPERATIVE GA WITH
VARIABLE MUTATION OPERATOR
Shin-ya Uneme, Hikaru Kawano and Makoto Ohki
Department of Information and Electronics, Graduate School of Engineering, Tottori University, Japan
Keywords: Cooperative Genetic Algorithm, Variable Mutation Operator, Nurse Scheduling.
Abstract: This paper proposes an effective mutation operator for the cooperative genetic algorithm (CGA) to solve a
nurse scheduling problem. The nurse scheduling is very complex task for a clinical director in a general
hospital. Even veteran director requires one or two weeks to create the schedule. Besides, we extend the
nurse schedule to permit the change of the schedule. This permission has explosively increased computation
time for the nurse scheduling. We propose the new mutation operator to solve the problem. The CGA with
the new mutation operator has brought surprising effective results.
1 INTRODUCTION
A general hospital consists of several sections such
as the internal medicin department or the pediatrics
department. About fifteen to thirty nurses are
working in each section. A clinical director of the
section arranges a shift schedule of all the nurses in
the section every month. Constituting the nurse
schedule (Ikegami 2001), or the nurse scheduling, is
very complex task for the clinical director. In our
investigation, even a veteran director needs one or
two weeks for the nurse scheduling. Then, computer
software for the nurse scheduling has recently come
to be used in the hospital.
In conventional ways (Kawanaka 2002, Itoga,
2003) using the cooperative genetic algorithm
(CGA), a crossover operator is only employed for
the optimization, because it does not lose
consistency between chromosomes. A mutation
operator is considered to lose the consistency. In
contrast, we have proposed an effective mutation
operator for the CGA which does not lose
consistency of the schedule (Ohki, 2007). The CGA
with the mutation operator has brought surprising
effective results which has never been brought by
the conventional algorithm. On the other hand,
Burke performs a lot of interesting studies about the
nurse roster at the large hospital in the Europe
(Burke 2004).
In this paper, we rearrange the nurse scheduling
problem to permit the change of the schedule. This
permission has complicated a problem and
explosively increased computation time for the nurse
scheduling. Now, we need a new technique to make
the nurse scheduling speed up. We propose a new
mutation operator to solve this problem.
2 OVERVIEW OF NURSE
SCHEDULING
On the nurse scheduling, we have to consider many
requirements (Ohki, 2007), such as duty load of each
nurse, fairness of assignment of day time and night
duty, intensiveness of night duty. We have arranged
these many requirements for twelve penalty
functions. These twelve penalty functions are
summarized in one penalty function, E(g), for
performing a population.
In the CGA, the population represents the whole
nurse schedule of one month as shown in Fig.1
(Ohki, 2007). Each individual is defined in a
chromosome code which shows one-month schedule
of a nurse. The individual consists of the duty
symbols as shown in Fig.2. The duty sequence
consists of thirty symbols, since one month includes
thirty days in this practical example.
Initially, the population is randomly generated as
satisfying the necessary number of nurses at every
duty time slot. In this paper, the necessary number of
nurses is specified as ten, six and five for the day
time duty on a week day, Saturday and Sunday
respectively, three for the semi night duty and three
249
Uneme S., Kawano H. and Ohki M. (2008).
NURSE SCHEDULING BY COOPERATIVE GA WITH VARIABLE MUTATION OPERATOR.
In Proceedings of the Tenth International Conference on Enterprise Information Systems - AIDSS, pages 249-252
DOI: 10.5220/0001694802490252
Copyright
c
SciTePress
for the mid night duty respectively.
individual set
duty schedule of nurse n
1
for one month
duty schedule of nurse n
3
for one month
duty schedule of nurse n
i
for one month
duty schedule of nurse n
N
for one month
duty schedule of nurse n
2
for one month
individual set
duty schedule of nurse n
1
for one month
duty schedule of nurse n
3
for one month
duty schedule of nurse n
i
for one month
duty schedule of nurse n
N
for one month
duty schedule of nurse n
2
for one month
Figure 1: Population is composed of one-month schedules
of each nurse.
duty schedule for one month
・・・・・
MRTSHHH HMRS
nurse n
i
DD DDD
duty schedule for one month
・・・・・
MRTSHHH HMRS
nurse n
i
DD DDD
Figure 2: An individual coded in chromosome. The
symbols, D, S, M, H, T, R denote daytime duty, semi-
night duty, mid-night duty, given holiday, training and
requested holiday respectively.
select parents
crossover
denotes fixed duty, for example,
meetin
g,
dut
y
and re
q
uested holida
y
.
crossover
individual set
pareto
selection
return
return
select parents
crossover
denotes fixed duty, for example,
meetin
g,
dut
y
and re
q
uested holida
y
.
crossover
individual set
pareto
selection
return
return
Figure 3: Basic optimization cycle of the CGA only
employs with the crossover operator.
An overview of the optimization only with the
crossover operator is shown by Fig.3. First, two
hundreds pairs of the individual are selected as
parents for the crossover. One of the pair is selected
from the population under the roulette selection
manner. The roulette selection gives an individual
with higher penalty. This manner tends to select the
worse individual. Another one of the parent pair is
randomly selected from the population. Exchanging
parts of the individuals divided at two points of the
chromosome, two new pairs of individual are
generated as children. This exchanging process does
not exchange the fixed duties, such as the meeting,
the training and the requested holiday. These child
pairs are temporally returned to the original nurse
position respectively. The temporal population with
the children is performed by the penalty function.
After all the temporal populations have been
performed, one pair giving the smallest penalty is
selected for the next generation.
3 EXTENSION OF NURSE
SCHEDULING
In this research, we extend the nurse schedule
problem to permit the change of the schedule. In fact,
one or two changes appear in the past duty days of
the current month. We consider the following cases:
(1) A certain nurse took a holiday on a duty date,
(2) A certain nurse worked in a holiday fixed day,
(3) Two nurse’s shift were changed,
(4) Acertain nurse resigned from his/her job,
(5) A certain nurse increased newly.
When these rose in the past date, the number of day
time, semi-night and mid-night duties of some
nurses must be changed. Although these duty days
must be fair for all nurses in the section, nursing
level must be kept at each duty time slot. Then the
director has to consider the change of the schedule.
In this paper, we asume that a change has been
occurred in the past two weeks and handle the
optimization of coming four weeks as shown in
Fig.4. In the optimization of the four weeks, a new
penalty function is defined as F
13
. This penalty
counts the differences between duty symbols on the
3
rd
and 4
th
weeks of the original schedule and them
of the newly optimizaed schedule. Therefor, the total
penalty function, E(g), is defined as the summation
of thirteen penalty functions.
1
st
week
2
nd
week 3
rd
week 4
th
week
original schedule
3
rd
week 4
th
week
1
st
week
2
nd
week
next month
current month
newly optimized
schedule
new penalty about
defference F
13
current month
Figure 4: Permission of the change of the schedule in the
past two weeks. The red triangle denotes the schedule
change.
ICEIS 2008 - International Conference on Enterprise Information Systems
250
4 VARIABLE MUTATION
OPERATOR
We have proposed the CGA with the mutation
operator for the nurse scheduling in the manuscript
(Ohki, 2007). When the conventional nurse
scheduling is handled, the technique has given
results good enough. On the other hand, the
extension of the nurse scheduling to permit its
change complicates the problem and explosively
increases computation time. The conventional
technique is not effective enough for the extended
problem. Then we propose a new mutation operator.
We have examined the extended nurse
scheduling using the conventional mutation. The
conventional mutation operator whose mutation
interval is defined as 150 generations works most
effective. Since the mutation interval is fixed, the
mutation is executed at the same frequency anytime.
When the optimization stagnates long time, the
mutation should be executed. In contrast, when the
optimization goes steadily, the mutation should not
be executed. An optimization speed is defined as
follows to explain progress of the optimization,
=
=
1
0
)(
1
)(
g
N
i
g
igE
N
gA
, (1)
)()1()( gAgAgV
=
, (2)
100
200
300
400
500
600
10200 10700 11200 11700 12200 12700 13200
generation g
penalty E & average
A
0
0.5
1
1.5
2
optimization speed
V
(a)10200-13200
100
200
300
400
500
600
384000 384500 385000 385500 386000 386500 387000
generation g
penalty E & average
A
0
0.5
1
1.5
2
optimization speed
V
(b)384000-387000
100
200
300
400
500
600
993600 994100 994600 995100 995600 996100 996600
generation g
penalty E & average
A
0
0.5
1
1.5
2
optimization speed
V
(c) 993600-996600
Figure 5: The total penalty function, E(g), the average,
A(g), and the optimization speed, V(g) in the beginning (a),
the middle (b) and the end (c) of the optimization using
the conventional mutation operator respectively.
where N
g
denotes the number of generations for
average. Examples of the value of the total penalty
function, E(g), the average, A(g), and the
optimization speed, V(g), are shown in Fig.5.
Though the optimization goes well, the mutation is
executed too early in some cases. In some other
cases, though the optimization has already stagnated,
the mutation is executed too late.
We propose the variable mutation operator to
improve such an obstruction. The new operator
mutates the schedule when the optimization speed
satisfies the following condition,
ε
<
)(gV
,
where
ε
denotes a threshold value. This condition
means that the optimization has stagnated.
In some cases, the optimization does not advance
for several generations after the mutation, as shown
in Fig.5. The mutation does not work during G
g
generations after the mutation is executed once. We
call such generations the guard interval. The
mutation is executed in the appropriate generation
by means of such a technique.
5 PRACTICAL EXPERIMENTS
Here, we set a problem as follows. Let the number
of nurses and the number of duty days be twenty-
three and twenty-eight respectively. We handle a
case when one change has been occurred in the past
two weeks. This situation is one of typical and
practical case in Japanese hospital which we have
investigated.
First, we have considered about the guard
interval. We tried the extended nurse scheduling by
using the variable mutation operator under several
conditions as shown in Fig.6. This result shows that
the guard interval can be easily decided in wide
range. Here, we decide it as fifty.
Next, we have considered about the threshold,
ε
.
The variable mutation operator with the guard
interval, 50, and the threshold, 0.1, has given the
best result as shown in Fig.6, (d). We have tried
several thresholds less than 0.1 as shown in Fig.7.
This result shows that the threshold can be easily
decided in wide range less than 0.1. The variable
mutation operator with any values of threshold has
given better results than the conventional one.
Finally, we have examined the extended nurse
scheduling using the variable mutation operator.
The mutation is executed in appropriate generations
as shown in Fig.8. This means that the variable
mutation operator works effectively.
NURSE SCHEDULING BY COOPERATIVE GA WITH VARIABLE MUTATION OPERATOR
251
380
385
390
395
400
405
100 200 300 400 500 600 700 800 900 1000
generation g [10^3]
penalt
y
ε=0.1
ε=0.25
ε=0.3
ε=0.4
ε=0.5
co nventiona l
(a) G
g
=10
380
385
390
395
400
405
100 200 300 400 500 600 700 800 900 1000
generation g [10^ 3]
penalt
y
ε =0.1
ε =0.25
ε =0.3
ε =0.4
ε =0.5
conventional
(b)
G
g
=20
380
385
390
395
400
405
100 200 300 400 500 600 700 800 900 1000
generation g [10^ 3 ]
penalt
y
ε =0.1
ε =0.25
ε =0.3
ε =0.4
ε =0.5
conventional
(c) G
g
=30
380
385
390
395
400
405
100 200 300 400 500 600 700 800 900 1000
generation g [10^3]
penalt
y
ε =0.1
ε =0.25
ε =0.3
ε =0.4
ε =0.5
co nventional
(d)
G
g
=50
Figure 6: Comparison among optimization results with
several values of the guard interval. We have tried the
optimization under each condition ten times. We took
average of each ten trials.
6 CONCLUSION
In this paper, we have extended the nurse scheduling
problem to permit the change of the schedule. This
extension complicates the problem and explosively
increases computation time. To improve this
difficulty, the new mutation operator with variable
interval is proposed. The variable mutation operator
has several parameters which can be defined in wide
range. This means that the new technique possesses
high versatility.
380
385
390
395
400
405
100 200 300 400 500 600 700 800 900 1000
generation g [10^3]
penalt
y
ε=0.1
ε=0.08
ε=0.06
ε=0.04
ε=0.02
conventional
Figure 7: Results of the variable mutation operator with
the threshold less than 0.1. We have tried the optimization
under each condition ten times. We took average of each
ten trials.
100
200
300
400
500
600
506000 506500 507000 507500 508000 508500 509000
gen eratio n g
penalty E & average
A
0
0.5
1
1.5
2
optimization speed
V
(a)
07.0],509000,506000[ =
ε
g
100
200
300
400
500
600
603000 603500 604000 604500 605000 605500 606000
gen eratio n g
penalty E & average
A
0
0.5
1
1.5
2
optimization speed
V
(b)
01.0],606000,603000[ =
ε
g
Figure 8: The total penalty function, E(g), the average,
A(g), and the optimization speed, V(g), of the optimization
using the variable mutation operator respectively.
REFERENCES
Ikegami, A. 2001, Algorithms for Nurse Scheduling, Proc.
of 11th Intelligent System Symposium.
Kawanaka, S., Yamamoto Y., Yoshikawa D., Shinogi T.
and Tsuruoka N., 2002, Automatic Generation of
Nurse Scheduling Table Using Genetic Algorithm,
Trans. on IEE Japan, Vol.122-C.
Itoga, T., Taniguchi N., Hoshino Y. and Kamei K., 2003,
An Improvement on Search Efficiency of Cooperative
GA and Application on Nurse Scheduling Problem,
Proc. of 12th Intelligent System Symposium.
Ohki, M., Uneme, S., Hayashi, S. and Ohkita, M., 2007,
Effective Genetic Operators of Cooperative Genetic
Algorithm for Nurse Scheduling, Proc. of 4
th
International Conference on Informatics in Control,
Automation and Robotics.
Burke E.K., De Causmaecker P., Berghe G. V., 2004,
Novel Meta-heuristic Approaches to Nurse Rostering
Problems in Belgian Hospitals, Models and
Performance Analysis, CRC Press.
ICEIS 2008 - International Conference on Enterprise Information Systems
252