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
0
0.5
1
1.5
2
optimization speed
(a)10200-13200
100
200
300
400
500
600
384000 384500 385000 385500 386000 386500 387000
generation g
penalty E & average
0
0.5
1
1.5
2
optimization speed
(b)384000-387000
100
200
300
400
500
600
993600 994100 994600 995100 995600 996100 996600
generation g
penalty E & average
0
0.5
1
1.5
2
optimization speed
(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