Evolutionary Multiobjective Optimization for the
Nurse Scheduling Problem
Omid Sharifi
Submitted to the
Institute of Graduate Studies and Research
in partial fulfillment of the requirements for the Degree of
Master of Science
in
Computer Engineering
Eastern Mediterranean University
September 2009
Gazima usa, North Cyprus
Approval of the Institute of Graduate Studies and Research
________________________________
Prof. Dr. Elvan Yılmaz
Director (a)
I certify that this thesis satisfies the requirements as a thesis for the degree of Master
of Science in Computer Engineering.
________________________________
Prof. Dr. Hasan Kömürcügil
Chair, Department of Computer Engineering
We certify that we have read this thesis and that in our opinion it is fully adequate in
scope and quality as a thesis for the degree of Master of Science in Computer
Engineering.
________________________________
Asst. Prof. Dr. Adnan Acan
Co-supervisor
Asst. Prof. Dr. Ahmet Ünveren
Supervisor
Examining Committee
__________________________________________________________________
1. Asst. Prof. Dr. Adnan Acan
______________________________
2. Asst. Prof. Dr. Ahmet Ünveren
______________________________
3. Asst. Prof. Dr. Cem Ergün
______________________________
4. Asst. Prof. Dr. Önsen Toygar
______________________________
5. Asst. Prof.Dr. Gürcü Öz
______________________________
ABSTRACT
Omid Sharifi
MS in Computer Engineering
Supervisor: Asst. Prof. Dr. Ahmet Ünveren
Co-supervisor: Asst. Prof. Dr. Adnan Acan
September 2009
Nurse scheduling problem (NSP) is the problem of determining a reasonable and
efficient work schedule for nurses. This thesis presents a new external memory-based
approach along with Multi-Objective Genetic Algorithms (MOGA) to solve
multiobjective NSPs. In multiobjective modeling of NSPs, there are several
objectives which are in conflict with each other, and there are some hard constraints
that should be satisfied in any solution. The presented approach can solve
multiobjective NSPs in an efficient way. As demonstrated by the experimental
results, MOGA together with the maintained external memory extracted significantly
more nondominated solutions compared to MOGA without an external memory. The
state of the art and open issues in the area will be addressed in this study. Based on
the experimental evaluations over a number of well known benchmark problem
instances, the effectiveness of maintaining an external memory is demonstrated.
iii
ÖZET
Omid Sharifi
MS in Computer Engineering
Supervisor: Asst. Prof. Dr. Ahmet Ünveren
Co-supervisor: Asst. Prof. Dr. Adnan Acan
September 2009
Hem ire i akı programı problemi, hem ireler için makul ve verimli olan bir
i programını ortaya koymaktadır.
Bu tez, çoklu-fonksiyonel kalıtsal algoritmaları kullanarak hem ire i akı
programı probleminin iki farklı yöntemle çözümünü ortaya koyar. Hem ire i akı
programı problemi çözümünde birbirine zıt birden çok fonksiyon bulunmaktadır.
Sunulan yöntem hem ire i akı problemini çözmede mevcut metodlardan daha iyi
oldu unu kanıtlamı tır. Sunulan yöntem hem ire i
akı
programı problemini
hem ireler için 3 vardiya modelini kullanarak çözmü tür. Çoklu-fonksiyonel kalıtsal
algoritmalara ekstra hafıza eklenerek çözümler üretilmi , hafıza olmadan elde edilen
çözümler ve mevcut yöntemlerle elde edilen çözüm kar ıla tırılmı tır.
Yapılan kar ıla tırmaların sonuçları sunulan metodun gerçek hem ire i akı
problemlerinin çözümlerindeki yetenek ve esnekliklerini göstermektedir.
iv
ACKNOWLEDGEMENT
I am heartily thankful to my supervisor and co- supervisor, Asst. Prof. Dr.
Ahmet Ünveren, Asst. Prof. Dr. Adnan Acan for their encouragements, supervisions
and support from the preliminary to the concluding level enabled me to develop an
understanding of the subject.
I would like to thank my committee members of my thesis defense jury for
their constructive comments on this thesis. I gratefully acknowledge the chairman of
Computer Engineering department Prof. Dr. Hasan Kömürcügil.
Also many thanks go in particular to my parents, Mr. Karim Sharifi and Mrs.
Shahrbanuo Banbartian and my wife Maryam for their inseparable support and
prayers. Also, I would like to thank my brothers, sister for their love and their
thoughtful support.
Finally, I offer my regards and blessings to all of those who supported me in
any respect during the completion of the thesis.
v
TABLE OF CONTENTS
ABSTRACT ..................................................................................................................... iii
ÖZET ................................................................................................................................iv
ACKNOWLEDGEMENT ................................................................................................. v
LIST OF TABLES ......................................................................................................... viii
LIST OF FIGURES ........................................................................................................... x
CHAPTER 1 ...................................................................................................................... 1
INTRODUCTION ............................................................................................................. 1
CHAPTER 2 ...................................................................................................................... 6
NURSE SCHEDULING PROBLEM (NSP) ..................................................................... 6
2.1 Description of Nurse Scheduling Problem ......................................................... 6
2.2 Description of NSP Constraints .......................................................................... 9
2.2.1 Hard Constraints ......................................................................................... 9
2.2.2 Soft Constraints ........................................................................................... 10
2.3 Staffing ............................................................................................................... 12
CHAPTER 3 .................................................................................................................... 14
MULTI-OBJECTIVE GENETIC ALGORITHMS ......................................................... 14
3.1 Statement of The Problem.................................................................................. 15
3.2 Pareto Optimum ................................................................................................. 16
3.3 Pareto Front ........................................................................................................ 16
3.4 Fonseca and Fleming's MOGA ...................................................................... 17
3.5 Mutation Operator .............................................................................................. 22
vi
3.6 Crossover Operator ............................................................................................ 23
CHAPTER 4 .................................................................................................................... 24
MULTIOBJECTIVE IMPLEMENTATION OF NURSE SCHEDULING
PROBLEM ....................................................................................................................... 24
4.1 Nurse Scheduling Problem without an External Memory. ................................ 24
4.2 Nurse Scheduling Problem with an External Memory ...................................... 37
4.3 Drawbacks and Advantages of Using an External Memory and Without an
External Memory Techniques .................................................................................. 50
CHAPTER 5 .................................................................................................................... 51
CONCLUSION ................................................................................................................ 51
REFERENCES................................................................................................................. 53
vii
LIST OF TABLES
Table 3.1: Pseudo code of the MOGA ............................................................................. 21
Table 4.1: Experimental results achieved using 26 nurses without an external
memory technique using population size 100 .................................................................. 27
Table 4.2: A non-dominated solution without an external memory technique ................ 28
Table 4.3: Experimental results achieved using 26 nurses without an external
memory technique using population size 100, 200 and 300 ............................................ 29
Table 4.4: Experimental results achieved using 8 nurses without an external memory
technique using population size 100, 200 and 300 .......................................................... 30
Table 4.5: Experimental results achieved using 14 nurses without an external
memory technique using population size 100, 200 and 300 ............................................ 31
Table 4.6: Experimental results achieved using 16 nurses without an external
memory technique using population size 100, 200 and 300 ............................................ 32
Table 4.7: Experimental results achieved using 24 nurses without an external
memory technique using population size 100, 200 and 300 ............................................ 33
Table 4.8: Experimental results achieved using 30 nurses without an external
memory technique using population size 100, 200 and 300 ........................................... 34
Table 4.9: Experimental results achieved using 46 nurses without an external
memory technique using population size 100, 200 and 300 ............................................ 35
Table 4.10: Experimental results achieved using 54 nurses without an external
memory technique using population size 100, 200 and 300 ............................................ 36
viii
Table 4.11: Experimental results achieved using 26 nurses with an external memory
technique using using population size 300....................................................................... 40
Table 4.12: A non-dominated solution with an external memory technique ................... 41
Table 4.13: Experimental results achieved using 26 nurses with an external memory
technique .......................................................................................................................... 42
Table 4.14: Experimental results achieved using 8 nurses with an external memory
technique using population size 100, 200 and 300 .......................................................... 43
Table 4.15: Experimental results achieved using 14 nurses with an external memory
technique using population size 100, 200 and 300 .......................................................... 44
Table 4.16: Experimental results achieved using 16 nurses with an external memory
technique using population size 100, 200 and 300 .......................................................... 45
Table 4.17: Experimental results achieved using 24 nurses with an external memory
technique using population size 100, 200 and 300 .......................................................... 46
Table 4.18: Experimental results achieved using 30 nurses with an external memory
technique using population size 100, 200 and 300 .......................................................... 47
Table 4.19: Experimental results achieved using 46 nurses with an external memory
technique using population size 100, 200 and 300 .......................................................... 48
Table 4.20: Experimental results achieved using 54 nurses with an external memory
technique using population size 100, 200 and 300 .......................................................... 49
ix
LIST OF FIGURES
Figure 2.1: A simple schedule with 5 nurses. .................................................................... 8
Figure 3.1: An example of a problem with two objective functions, “The Pareto front
is marked with a bold line”. ............................................................................................. 17
Figure 3.2: MOGA fitness domination; raw fitness is the number of dominating
solutions as shown in the picture ..................................................................................... 18
Figure 3.3: MOGA’s Dominance Fitness Assignment .................................................... 19
Figure 3.4: Mutation for Discrete Representation............................................................ 22
Figure 3.5: Crossover for Discrete Representation .......................................................... 23
Figure 4.1: Flowchart of the MOGA ............................................................................... 26
Figure 4.2: Dominated and non-dominated solutions without an external memory
technique with 100 population size .................................................................................. 27
Figure 4.3: MOGA with an external memory pseudo code. ............................................ 38
Figure 4.4: Flowchart of MOGA with an external memory. ........................................... 39
x
CHAPTER 1
INTRODUCTION
Most of the scheduling problems are NP-hard and their solutions require
problem specific approaches within a general algorithmic framework. This thesis
presents a new multiobjective method for the solution of nurse scheduling problem
(NSP), in which a multi-objective genetic algorithm (MOGA) is used to determine a
set of non-dominated solutions.
A problem is NP-hard if an algorithm for solving it can be translated into one
for solving any NP-problem (nondeterministic polynomial time) problem. NP-hard
therefore means "at least as hard as any NP-problem," although it might, in fact, be
harder [41]. An example of an NP-hard problem is the optimization problem of
finding the least-cost route through all nodes of a weighted graph. This is commonly
known as the Traveling Salesman Problem. In optimization problems the aim is to
find the solution with the best possible score according to some scoring scheme. For
instance, the total number of ways of choosing one hundred students from the four
hundred students is greater than the number of atoms in the known universe. Thus
there is not any supercomputer capable of solving such a problem, by checking every
possible combination of 100 students.
Solving schedule problems are not trivial. The domain often covers staffing,
budgeting and short-term scheduling problems. Although each of these fields has
different time horizons, they are strongly interrelated [1]. The scheduling of hospital
1
personnel is particularly challenging because of different staffing needs on different
days and shifts. Unlike many other organizations, healthcare institutions work around
the clock. Irregular shift work has an effect on the nurses’ well being and jobs
satisfaction. Until recently, most personnel scheduling problems in hospitals were
solved manually. This is sometimes called self-scheduling in the literature [2].
Scheduling by hand used to be very time consuming task. Planers had no automatic
tool to test the quality of a constructed schedule. They made use of very
straightforward constraints on working time and idle time in the recurring process.
This work presents a new method in Nurse scheduling problem (NSP). In this
approach, Multi-Objective Genetic Algorithm (MOGA) is used to determine nondominated solutions. MOGA is a kind of structure of Multi-Objective Evolutionary
Algorithms (MOEAs). There are several variations of MOGA which have been
developed in the past decade.
A pioneer in the field of Pareto-based MOGA,
Fonseca and Fleming [3] proposed a variation of Goldberg’s technique called
MOGA that is relatively easy to implement, in which the rank of a certain individual
will correspond to the number of chromosomes in the current population by which it
is dominated. However, MOGA is efficient to cope with multiobjective problems and
used to search large, nonlinear solution space where expert knowledge is lacking or
difficult to encode. Mathematical programming techniques are not always flexible
enough to cope with relative ranking assigned to various goals. They are often
restricted to optimizing one single goal or criterion. Goal programming defines a
target level for each criterion and relative priorities to achieve these goals. The
method aims at finding a solution which is as close as possible to each of the targets
in the order of the priorities given.
2
In multiobjective nurse scheduling problem, a characteristic feature is that
there are a number of objectives and most of them are in conflict with each other.
Some recent papers have been presented to solve the nurse scheduling problem using
genetic algorithms. G. Tütüncü et al. [4] and Uwe Aickelin et al. [5] are the two
noticeable works of this type. However, the solutions provided by these two papers
have some important drawbacks. For instance, solutions found by [4] was not
feasible in distributed nurses in shifts or slots, in other words it violates day patterns,
whereas the method presented in [5] was computationally expensive and did not give
reasonable computation time to solve the problem. The presented approach employs
an external memory within a MOGA to overcome these drawbacks. The efficiency
and power of external memory-based implementations for single- and multiobjective optimization problems have already been studied in [6, 7]. In [6], an
external memory is implemented as a gene-sequence library and used for the solution
of single-objective numerical optimization problems within a conventional GA
framework. In [7], Acan and Unveren solved the multiobjective quadratic assignment
problem using an external memory storing partial solution segments extracted from
the latest set of nondominated solutions.
In NSP, Dowsland [8] used Tabu search for solving this problem. Cheng et
al. [9] used a slot model. Jingpeng Li et al. [10] suggested a simulated annealing
based multi-objective approach with the following two optional acceptance criteria:
“one with a weighted-sum evolution function which encourages moves
towards users’ predefined preferences, and another one with domination
based fitness function which encourages moves towards a more diversified
approximated Pareto set”.
Also [11], proposed the external memory technique using MOGA to solve NSP.
3
This work is a new method in NSP, in which MOGA is used to determine
non-dominated solutions. Initially, the method generates a pool of solutions and
evaluates these feasible solutions to determine non-dominated solutions. To deal with
NSP, most of the authors consider two kinds of constraints, soft constraint and hard
constraint in which hard constraints are those that must be satisfied at all costs and
soft constraints are those that are desirable but which may need to be violated in
order to generate a workable solution. In nurse rostering, shift types include day,
evening and night shifts. In NSP, solutions of the population participate to generate
new solutions. Also an external memory provides a chance for all steps of nondominated solutions to participate for generating new population to achieve high
preference solutions. In NSP without an external technique, the user can determine
the percentage or rate of cooperation of the memory solutions in the generation of
new results.
Two important operators (crossover and mutation) in MOGA have impact
effect on the results. These operators tackle to achieve monotonic results for which
they cause to obtain a diversity of solutions. Pareto-optimal fronts expose nondominated solutions so that the selection of compatible solution from homogenous
solutions is not difficult.
The organization of this thesis is as follows. In chapter 2, Nurse scheduling
problem (NSP) will be explained briefly; also hard and soft constraints will be
considered. Chapter 3 explains multiobjective genetic algorithm (MOGA) and two
important operators, crossover and mutation. In chapter 4, solving nurse scheduling
problem without an external memory and with an external memory technique along
with various experiments are addressed. Additionally, drawbacks and advantages of
using an external memory and without an external memory technique will be
4
revealed subsequently. Finally, in chapter 5, the conclusion and future works in this
area are presented.
5
CHAPTER 2
NURSE SCHEDULING PROBLEM (NSP)
2.1 Description of Nurse Scheduling Problem
The nurse scheduling problem is concerned with the nurses’ arrangements of
their pattern shifts time table accordance with the shift work. This approach allocates
three shifts and one day off, for each day on the time horizon in which any number of
nurses can be organized easily, for a week. In other words, the method does not have
any limitations in the number of nurses. One of the important aspects is to find
applicable solutions, in addition the solutions must satisfy all hard constraints, and on
the other hand they should optimize soft constraints. In this area the method deals
with some solutions and creates a pool (population) of solutions to meet all hard
constraints, and continues the approach to take high preference answers, so at the
end choosing efficient solutions from these non-dominated solutions is trivial, also
Pareto-optimal fronts is dedicated to non-dominated solutions.
Jan et al. [12] presented the nurse scheduling problem by a matrix M × N in
which M indicates the number of days and N number of nurses. In this thesis, the
number of days is considered as 7 (M=7) whereas N can be any integer number that a
user defines to schedule. Also, a variable Xijw is defined as an element of a solution
X in which i, j and w specify a particular nurse label, type of shift and a day of the
week respectively. Accordingly, the attributes of every element of a solution can be
described as follows:
6
Shift =
1
2
3
day shift ( = d)
evening shift ( = e)
night sift ( = n)
(2.1)
Xijw= elements of solution
N= Number of nurses (any integer number)
M= Maximum number of days (M=7, constant)
s= 1...100, label of a solution in a population
i= 1...N, a particular nurse label
I= set of nurses
w=1...7, a day of the week
W= set of days of the week
j= 1...3, type of shift
J= set of shift types
Hence, in solution s, Xijw means that nurse i works in shift j on day w. Also, in every
shift pattern nurse supervisor can determine suitable shifts types for nurses for days
of a week.
1
X ijw =
if nurse i workes
in shift j on day w
0 otherwise
7
(2.2)
In Figure 2.1 a simple schedule with 5 nurses, in which a dash shows a shift pattern,
is given.
Day1
Day2
Day3
Day4
Day5
Day6
Day7
o
o
d
d
d
Nurse1
e
n
Nurse2
n
e…
Nurse3
e
d…
Nurse4
o
e…
Nurse5
d
d…
Figure 2.1: A simple schedule with 5 nurses
d = day shift
e = evening shift
n = night shift
o = off
8
2.2 Description of NSP Constraints
The Nurse Scheduling Problem (NSP) is a problem that determines nurses’ shifts
in a hospital. The rostering usually has been made by hand in hospitals. Normally,
the number of nurses is some dozens and the given term is about one week. The
problem deals with several constraints such as the service order of each nurse and the
total number of nurses who are needed by each service shift. Making the timetable to
meet the constraints by hand is time consuming. In fact, generating time table
manually to satisfy all the constraints sometimes is not possible or may take long
time. Nurse supervisor’s burden to make the timetable makes her/his own nursing
jobs very severe [13].
2.2.1
Hard Constraints
Violation of hard constraints is not ignorable, according to [14] “hard
constraints are those that must be satisfied at all costs. Defining personnel demands
of a user is not allowed by the system. In addition, the system does not allow any
violation of the hard constraints during the course of the scheduling process”.
Generally, in this problem, every solution should inviolate hard constraints so
that if every solution meets these conditions, it will be accumulated in the pool
otherwise it will be rejected. In this problem, the method first generates several
feasible solutions (100, 200, 300). Also the program evaluates and generates new
solution to take applicable solutions, for this, it considers soft constraints and at the
end represents non-dominated solutions with high quality to apply in the real world
applications. Some constraints of our program have been adopted from Tütüncü et al.
[3] and Burke et al. [4]. So that considering some hard constraints toward taking
feasible solutions is one of the important aspects of this problem in which violation
of them have effect in the feasibility of solutions. These constraints are as follows:
9
1. Each nurse can work only one shift a day;
2. Each nurse must have 2 days off per week;
3. A nurse can not work a day shift followed by a night shift;
4. For each day, a nurse may start at most one shift;
5. Maximum number of working days of each nurse;
6. Maximum three night shifts;
7. Maximum number of consecutive night shifts;
8. Maximum number of consecutive working days.
2.2.2
Soft Constraints
Soft constraints are those that are desirable but which may need to be violated in
order to generate a workable solution. In fact, satisfying all soft constraints is simply
not possible in most real-world cases. All constraints on the personal schedules are
classified as soft constraints. The cost function sums all violations on these
constraints for all the personnel members in the solution. Belgian healthcare
institutions have a tradition of evaluating the personnel schedules on a large number
of criteria. Due to the unpredictable characteristics of the workload, the schedules
have to be very flexible. The constraints are divided into a few categories, affecting
certain groups of personnel members [15]. In this work, we restrict the description of
mostly used constraints in practice; hence some important soft constraints in the
program are as follows in which they are shown subsequently:
1. Avoiding a single day between two off days;
2. Each nurse should not have more than 3 consecutive day shifts per week;
3. Each nurse should not have more than 2 consecutive night shifts per week.
10
There are three objective functions: objective function f1 aims to ovoid a single day
between two days off;
Minimize:
|W | − 1
f1 =
max( 0 ,
X ij ( w −1 ) + X ijw − X ij ( w +1 ) )
w=2
i∈ I
j∈ J
max( 0 ,
+
i∈ I
− X ij (|W |− 1 ) + X ij |W | − X ij 1 )
j∈ J
max( 0 ,
+
i∈ I
X ij |W | + X ij 1 − X ij 2 )
(2.3)
j∈ J
Objective function f 2' aims to minimize consecutive day shifts, in other words each
nurse should not have more than 3 consecutive day shifts per week (shift pattern).
Minimize:
|W |−3
'
2
max (0, (
f =
i∈I w =1
w+3
X i 2 w ) − 3)
j =w
max(0, ( X i 2 (|W |−2 ) + X i 2 (|W |−1) + X i 2|W | + X i 21 ) − 3)
+
i∈I
max(0, ( X i 2 (|W |−1) + X i 2|W | + X i 21 + X i 22 ) − 3)
+
(2.4)
i∈I
max(0, ( X i 2 (|W |) + X i 21 + X i 22 + X i 23 ) − 3)
+
i∈I
Objective function f 2" aims to minimize consecutive night shifts, in other words each
nurse should not have more than 2 consecutive night shifts per week (shift pattern).
Minimize:
|W | − 2
f 2" =
i∈ I
w =1
m ax ( 0 , (
w+2
X i3w − 2)
j=w
max( 0 , ( X i 3 (|W |− 1 ) + X i 3|W | + X i 31 ) − 2 )
+
i∈ I
max( 0 , ( X i 3|W | + X i 31|W | + X i 32 ) − 2 )
+
i∈ I
11
(2.5)
So that in this work, f 2 is the summation of
f 2' and f 2" in which the goal is to
optimize f 2 in the program.
f 2 = f 2' + f 2"
(2.6)
According to [4], all nurses are subject to the same set of soft constraints. The
important thing in rostering is to keep in mind that there are many personnel
scheduling data sets and benchmarks available in the literature however, for the
purpose of this work, it was decided to implement a substantial problem to show the
use of Multi-Objective Genetic Algorithm with an external memory and without an
external memory in the representation of the nurses’ preferences and the schedule’s
overall fitness.
2.3 Staffing
Specifying the number of personnel of the required skilled is the task of hospital
staffing in order to meet the predicted requirements [15]. Some factors such as
organizational structure and characteristics, personnel recruitment, skill categories of
the personnel, working preferences [16], patient needs and circumstances are
included in particular nursing units. Generally staffing, budgeting and employer
rostering often occurs at different levels and for completely different time horizons.
Nurse rostering problem has been categorized into phases by many researches [1720]. Wolfe and Young [21] presented a model to minimize the cost for assigning
nurses of different skill categories to various tasks.
Moreover, in the field of rostering, Warner [18] also has worked on staffing
in some details. He defines the staffing problem as an annual decision in which
seasonal variation can be considered. De Vries [22] developed a ‘management
control framework’ to balance the supply and the demand for nursing care. Smith-
12
Daniels, Schweikhart, and Smith-Daniels [23], present a literature overview on
capacity planning in healthcare. In these categories, two decision levels are selected:
acquisition decisions and allocation decisions. Easton, Rossin, and Broders [24],
compare different staffing policies during a one month period in a large hospital in
the United States. They are attempting to provide adequate staffing levels to meet the
patient’s needs and attractive work schedules to satisfy the personnel. In 1992,
alternative scheduling patterns [24] were becoming common in nurse scheduling
environments. The patterns involve 8, 10, 12 or 16 hour shifts, combined with days
off patterns and compensation days. Easton et al. also discuss the possibility of
working with ‘float’ nurses. Float nurses can easily solve temporarily occurring
under- and overstaffing in different wards. It is not recommendable however, to ask
float nurses to undertake high risk tasks that require a lot of experience, such as
working in intensive care and assisting in an operating theatre.
13
CHAPTER 3
MULTI-OBJECTIVE GENETIC ALGORITHMS
Since the pioneering work of Rosenberg in the late 1960s regarding the
possibility of using genetic-based search to deal with multiple objectives [25], this
new area of research (now called Evolutionary Multi-Objective Optimization, or
EMOO for short) has grown considerably as indicates the notable increment (mainly
in the last 15 years) of technical papers in international conferences and peerreviewed journals, special sessions in international conferences and interest groups in
the Internet.
Multiobjective optimization is with no doubt a very important research topic
both for scientists and engineers, not only because of the multiobjective nature of
most real-world problems, but also because there are still many open questions in
this area. In fact, there is not even a universal accepted definition of “optimum” as in
single-objective optimization, which makes it difficult to even compare results of one
method to another, because normally the decision about what the “best” answer is
corresponds to the so-called (human) decision maker.
Evolutionary algorithms seem particularly suitable to solve multiobjective
optimization problems because they deal simultaneously with a set of possible
solutions (the so-called population) which allows to find an entire set of Pareto
optimal solutions in a single run of the algorithm, instead of having to perform a
series of separate runs as in the case of the traditional mathematical programming
14
techniques. Additionally, evolutionary algorithms are less susceptible to the shape or
continuity of the Pareto front, whereas these two issues are a real concern for
mathematical programming techniques. In this study, we will try to provide a quick
review of Multi-Objective Genetic Algorithm.
3.1 Statement of The Problem
Multi-objective optimization (also called multi-criteria optimization, multiperformance or vector optimization) can be defined as the problem of finding:
a vector of decision variables which satisfies constraints and optimizes a vector
function whose elements represent the objective functions [26]. These functions form
a mathematical description of performance criteria which are usually in conflict with
each other. Hence, the term “optimizes” means finding such a solution which would
give the values of all the objective functions acceptable to the designer.
Formally, we can state it as follows:
We want to find the vector
which will satisfy the m inequality
constraints:
i = 1, 2,…, m
(3.1)
i = 1, 2, …, p
(3.2)
the p equality constraints
and optimizes the vector function;
(3.3)
where
is the vector of decision variables.
In other words, we wish to determine from among the set F of all numbers
which satisfy (3-1) and (3-2) the particular set
optimum values of all the objective functions.
15
which yields the
3.2 Pareto Optimum
The concept of Pareto optimum was formulated by Vilfredo Pareto in the XIX
century [27], and constitutes by itself the origin of research in multiobjective
optimization. We say that a point
is Pareto optimal if for every
either,
(3.4)
or, there is at least
such that
(3.5)
In words, this definition says that
vector
is Pareto optimal if there exist no feasible
which would decrease some criterion without causing a simultaneous
increase in at least one other criterion. Unfortunately, the Pareto optimum almost
always gives not a single solution, but rather a set of solutions called non-inferior or
non-dominated solutions.
3.3 Pareto Front
The minima in the Pareto sense are going to be in the boundary of the design
region, or in the locus of the tangent points of the objective functions. In figure 3.1, a
bold line is used to mark this boundary for a biobjective problem. The region of
points defined by this bold line is called the Pareto Front. In general, it is not easy to
find an analytical expression of the line or surface that contains these points, and the
normal procedure is to compute the points F
k
and their corresponding f(F k).
When we have a sufficient amount of these, we may proceed to take the final
decision. Also several EMOO approaches have been proposed in [28-35], where
MOEA was used in this work.
16
Figure 3.1: An example of a problem with two objective functions, “The Pareto front
is marked with a bold line”
3.4 Fonseca and Fleming's MOGA
Fonseca and Fleming [26] have proposed a scheme in which the rank of a
certain individual corresponds to the number of chromosomes in the current
population by which it is dominated. Consider, for example, an individual xi at
generation t, which is dominated by pi(t) individuals in the current generation. Its
current position in the individuals' rank can be given by [36]:
rank((xi, t) = 1+pi(t)
(3.6)
Figure 3.2 shows a variety of dominated points. Figure 3.3 represents the
MOGA dominance based assignment based upon fitness.
17
Figure 3.2: MOGA fitness domination; raw fitness is the number of dominating
solutions as shown in the picture [40]
All non-dominated individuals are assigned rank 1, while dominated ones are
penalized according to the population density of the corresponding region of the
trade-off surface. Fitness assignment is performed in the following way [28]:
1. Sort population according to rank.
18
Figure 3.3: MOGA’s Dominance Fitness Assignment [40]
2. Assign fitness to individuals by interpolating from the best (rank 1) to the
worst (rank n < N) in the way proposed by Goldberg [37], according to some
function, usually linear, but not necessarily.
3. Average the fitness of individuals with the same rank, so that all of them will
be sampled at the same rate. This procedure keeps the global population
fitness constant while maintaining appropriate selective pressure, as defined
by the function used.
19
As Goldberg and Deb [38] point out, this type of blocked fitness assignment is
likely to produce a large selection pressure that might produce premature
convergence. To avoid that, Fonseca and Fleming used a niche-formation method to
distribute the population over the Pareto-optimal region, but instead of performing
sharing on the parameter values, they have used sharing on the objective function
values [30].
The MOGA provides an efficient search technique which provides the maximum
of information for a decision maker. Several methods for adapting GAs to cope with
the simultaneous optimization of a problem over a number of dimensions have been
proposed, including the use of Pareto-ranking, [39]. In this work the MOGA uses
Pareto-ranking as comparing solutions across multiple objectives. Table 3.1 specifies
the process of MOGA.
The Pareto-optimal set of a multi-objective optimization problem consists of all
vectors for which their components can not be all simultaneously improved without
having a detrimental effect on at least one of the remaining components. This is
known as the concept of Pareto optimality [39], and the solution set is known as the
Pareto-optimal set (or non-dominated set). In other words in MOGA Pareto ranking
is served to achieve a set of candidate solution optimized for various combinations of
criteria.
In the following section, two important operators in MOGA will be explained
crossover and mutation, these two operators have significant roles in genetic
algorithms and it is not possible to disregard these operators.
20
Table 3.1: Pseudo code of the MOGA [40]
1. Initialize Population
2. Evaluate Objective Values
3. Assign Rank Based on Pareto Dominance
4. Compute Niche Count
5. Assign Linearly Scaled Fitness
6. Assign Shared Fitness
7. For i = 1 to number of generation
7.1. Selection via Stochastic Universal Sampling
7.2. Single Point Crossover
7.3. Mutation
7.4. Evaluate Objective Values
7.5. Assign Rank Based on Pareto Dominance
7.6. Compute Niche Count
7.7. Assign Linearly Scaled Fitness
7.8. Assign Shared Fitness
8. End Loop
21
3.5 Mutation Operator
In genetic algorithms, mutation is a genetic operator used to maintain genetic
diversity from one generation of a population of chromosomes to the next. It is
analogous to biological mutation [41].
The classic example of a mutation operator involves a probability that an
arbitrary bit in a genetic sequence will be changed from its original state. A common
method of implementing the mutation operator involves generating a random
variable for each bit in a sequence. This random variable tells whether or not a
particular bit will be modified.
The purpose of mutation in GAs is to allow the algorithm to avoid local minima
by preventing the population of chromosomes from becoming too similar to each
other, thus slowing or even stopping evolution. This reasoning also explains the fact
that most GA systems avoid only taking the fittest of the population in generating the
next but rather a random (or semi-random) selection with a weighting toward those
that are fitter. Mutation is applied to the intermediate population to create the next
population. For instance, Figure 3.4 shows the process of mutation operator to
achieve a new answer.
Figure 3.4: Mutation for Discrete Representation [42]
22
3.6 Crossover Operator
Another operator that is used for solving problems in genetic algorithms is
crossover. On the basis of early theoretical and empirical studies, genetic algorithms
have typically used 1-point crossover (Figure 3.5) and 2-point crossover operators as
the standard mechanisms for implementing recombination. In this thesis 2-point
crossover with different rate is used (70%, 80%, 90% and 95%). One of the unique
aspects of the work involving genetic algorithms is the important role that
recombination plays in the design and implementation of robust adaptive systems. In
most genetic algorithms, individuals are represented by fixed length strings and
recombination is implemented by means of a crossover operator which operates on
pairs of individuals (parents) to produce new strings (offspring) by exchanging
segments from the parents’ strings.
Figure 3.5: Crossover for Discrete Representation [42]
23
CHAPTER 4
MULTIOBJECTIVE IMPLEMENTATION OF NURSE
SCHEDULING PROBLEM
4.1 Nurse Scheduling Problem without an External Memory
In this chapter, a new method of nurse scheduling problem (NSP) will be
introduced. This method includes two techniques; NSP without an external memory
and NSP with an external memory. The presented chapter has an overview on the
strengths and weaknesses of these techniques. Also the results of these techniques
will be compared. Moreover the ability of MOGA in solving nurse scheduling
problem will be shown by our method.
Nurse scheduling problem without an external memory uses standard MOGA.
Figure 4.1 shows MOGA proceedings, where NSP without an external memory was
implemented according to these processes.
In this technique the method generates some solutions (100, 200 or 300) and
accumulates these solutions in a pool (population). This pool contains some
solutions, in which they met hard constraints, in other words it is a prerequisite for
accumulating in the pool. The presented method is so flexible for applying to
schedule every number of nurses, for example consider 26 nurses to schedule; in fact
every solution in the pool contains 26 nurses. The program continues to generate new
solutions and these new solutions in every step are evaluated by the method to
24
determine non-dominated solutions, in other words it specifies Pknown (t) (secondary
population (no-dominance)).
Pknown (t):
Pareto solutions set at generation t.
Pknown (t-1):
Pareto solutions set at generation t-1.
Pknown (0):
empty set
Pknown :
final set of Pareto optimal solutions
PFknown:
Pareto front set found at generation t
PF*:
Pareto front
t:
termination criteria
Also Pknown (t) is compared by Pknown (t-1) to achieve new non-dominated
solutions in order to compare with future step of non-dominated solutions. This
approach will be continued until the number of non-dominated solutions is not
increased. In other words, if in 30 cycles the number of non-dominated solutions is
not increased the program will be terminated. Also if the termination condition is met
then the program will be stopped and last non-dominated solutions will be appeared.
Table 4.1 shows the details of this technique with 26 nurses and indicates number of
non-dominated results. Additionally, Figure 4.2 shows the plot of running this
technique with 26 nurses and indicates dominated and non-dominated solutions. In
that picture asterisk (*) symbols specify dominated solutions and small squares show
non-dominated solutions also f1 and f2 specify objective function 1 and objective
function 2 in which these objective functions were introduced in chapter 2.
25
Initialize Population
Evaluate Objective Values
Assign Rank Based on Pareto Dominance
Compute Niche Count
Assign Linearly Scaled Fitness
Yes
Max Generation
Output
Pareto
set
No
Selection (Pareto domination selection)
End
Crossover
Mutation
Evaluate Objective Values
Assign Rank Based on Pareto Dominance
Compute Niche Count
Assign Rank Based on Pareto Dominance
Assign Linearly Scaled Fitness
Figures 4.1: Flowchart of the MOGA [40]
26
52
50
48
f2: object function 2
46
44
42
40
38
36
34
32
0
5
10
15
f1: object function 1
Figure 4.2: Dominated and non-dominated solutions without an external memory
technique with 100 population size
Table 4.1: Experimental results achieved using 26 nurses without an external
memory technique using population size 100
Number of non-dominated solutions
Population size
100
Rate of mutation (%)
30
22
Execution time for running program
20.93”
Experimental result without an external
memory
Table 4.2 shows one of non-dominated solutions that illustrates the schedule
shifts for 26 nurses. This method was applied to schedule NSP for different number
of nurses in which these numbers (nurses) have adopted from benchmarks [43].
27
Table 4.2: A non-dominated solution without an external memory technique
Nurse 1
Nurse 2
Nurse 3
Nurse 4
Nurse 5
Nurse 6
Nurse 7
Nurse 8
Nurse 9
Nurse 10
Nurse 11
Nurse 12
Nurse 13
Nurse 14
Nurse 15
Nurse 16
Nurse 17
Nurse 18
Nurse 19
Nurse 20
Nurse 21
Nurse 22
Nurse 23
Nurse 24
Nurse 25
Nurse 26
Day 1
e
n
e
n
e
d
o
o
n
e
e
n
n
e
d
d
d
e
o
d
o
n
d
d
n
e
Day 2
d
o
d
e
n
d
e
o
e
o
d
o
n
n
d
n
d
d
e
e
o
n
d
d
o
o
Day 3
d
d
d
o
o
n
o
d
d
d
n
o
n
e
e
n
o
d
d
o
e
o
n
e
o
n
Day 4
e
o
e
n
o
o
n
d
e
d
e
e
o
o
d
o
o
d
d
d
d
o
n
n
d
o
Day 5
o
d
o
n
d
o
e
d
o
e
d
d
e
o
o
o
e
o
e
o
n
d
o
o
n
d
Day 6 Day 7
o
n
d
e
o
d
e
o
d
d
d
e
d
d
n
n
o
e
o
d
o
o
d
e
d
o
d
n
o
e
n
d
e
d
o
n
d
o
n
e
e
n
d
e
o
d
o
d
n
e
e
d
Table 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9 and 4.10 indicate the experimental results
using 26, 8, 14, 16, 24, 30, 46 and 54 nurses with different rate of mutation and
population size (100 to 300).
28
Table 4.3: Experimental results achieved using 26 nurses without an external
memory technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
22
11
12
4
Execution time for running program
20.93”
18.90”
22.76”
10.56”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
31
13
12
10
Execution time for running program
25.92”
28.34”
29.82”
1’, 0.71”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
36
18
6
22
Execution time for running program
1’, 16.0”
1’, 0.71”
1’, 2.18”
29
52.46”
Table 4.4: Experimental results achieved using 8 nurses without an external memory
technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
25
18
11
7
Execution time for running program
20.95”
18.19”
19.02”
17.38”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
29
16
13
11
Execution time for running program
25.12”
25.92”
15.39”
1’,12.01”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
42
17
22
19
Execution time for running program
1’,0.71”
1’,10.01”
28.58”
29.82”
30
Table 4.5: Experimental results achieved using 14 nurses without an external
memory technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
129
89
61
26
Execution time for running program
1’,2.18”
17.11”
1’,0.02”
20.55”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
132
77
99
34
Execution time for running program
1’,1.58”
1’,16.10”
51.18”
41.05”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
161
141
147
64
Execution time for running program
1’,16.21”
1’,43.00”
1’,0.02”
31
54.14”
Table 4.6: Experimental results achieved using 16 nurses without an external
memory technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
12
24
20
11
Execution time for running program
52.46”
25.19”
55.12”
28.34”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
42
17
18
20
Execution time for running program
22.14”
28.38”
52.48”
35.71”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
35
24
10
11
Execution time for running program
29.53”
20.12”
28.18”
20.13”
32
Table 4.7: Experimental results achieved using 24 nurses without an external
memory technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
42
36
33
21
Execution time for running program
21.01”
18.21”
32.51”
52.46”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
20
29
24
15
Execution time for running program
52.23”
44.18”
20.71”
23.43”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
55
40
28
22
Execution time for running program
57.18”
54.13”
34.01”
29.76”
33
Table 4.8: Experimental results achieved using 30 nurses without an external
memory technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
24
24
15
11
Execution time for running program
28.34”
21.16”
17.65”
18.21”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
48
22
16
13
Execution time for running program
1,’15.28”
30.29”
22.82”
18.15”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
20
52
46
22
Execution time for running program
36.17”
47,30”
59.26”
34
2’,28.43”
Table 4.9: Experimental results achieved using 46 nurses without an external
memory technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
47
42
22
14
Execution time for running program
45.23”
55.18”
1’,0.71”
20.22”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
43
51
41
26
Execution time for running program
38.82”
28.64”
21.33”
28.21”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
48
42
33
29
Execution time for running program
1’,45.39”
57.59”
35.92”
32.49”
35
Table 4.10: Experimental results achieved using 54 nurses without an external
memory technique using population size 100, 200 and 300
Population size
Experimental results without an
100
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
88
86
76
37
Execution time for running program
1’,32.48”
1’,29.17”
1’,19.33”
1’,47.12”
Population size
Experimental results without an
200
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
88
75
69
63
Execution time for running program
1’,20.28”
1’,16.01”
1’,47.12”
56.32”
Population size
Experimental results without an
300
external memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
125
87
62
58
Execution time for running program
51.53”
50.08”
36
1’,32.12”
59.48”
4.2 Nurse Scheduling Problem with an External Memory
The main difference between NSP with an external memory and without an
external memory is in using of an external memory. NSP with an external memory
technique uses an external memory to store all non-dominated solutions of all steps
during running the program. These non-dominated solutions will be participated and
combined with pool solutions in order to generate new step solutions (pool).
Solving NSP with an external memory yields wonderful results. This technique is
a new technique to solve NSP and is introduced for the first time in this work. The
result of this technique proves its capability in comparison to other recent works in
scheduling problem. Also the method can be applied to other scheduling problems.
Figure 4.3 demonstrates the pseudo code of this method that it is modified from
MOGA pseudo code and Figure 4.4 shows the procedure used in this technique.
Comparing Figures 4.1 and 4.4, they express all the differences between NSP with an
external memory technique and without an external memory technique. It also shows
how well an external memory was embedded in MOGA to solve NSP.
As mentioned in this technique, an external memory supports the processes to
solve NSP. In this technique, the method first generates some solutions (100, 200 or
300) and stores these solutions in the pool (population) in which these solutions meet
hard constraints. In other words, satisfaction of hard constraints is a prerequisite for
every solution to accumulate in the pool. Therefore these solutions are evaluated to
determine non-dominated solutions in order to specify current non-dominated
solutions. On the other hand, in the same time, these non-dominated solutions are
accumulated in the external memory to participate for generating new steps
(population) solutions together with current solutions.
37
1. Initialize Population
2. Evaluate Objective Values
3. Assign Rank Based on Pareto Dominance
4. Compute Niche Count
5. Assign Linearly Scaled Fitness
6. Assign Shared Fitness
7. Add Non-dominated Solutions to Memory
8. For i = 1 to number of generation
8.1. Generate a Random Number
8.2. If (Generate a Random Number <30%)
8.3. Selection from External Memory)
8.4. End
8.5. Else
8.6. Selection via Stochastic Universal Sampling
8.7. Single Point Crossover
8.8. Mutation
8.9. Evaluate Objective Values
8.8. Assign Rank Based on Pareto Dominance
8.9. Compute Niche Count
8.10. Assign Linearly Scaled Fitness
8.11. Assign Shared Fitness
8.12. Add Non-dominated Solutions to Memory
9. End Loop
Figure 4.3: MOGA with an external memory pseudo code
38
Initialize Population
Evaluate Objective Values
Assign Rank Based on Pareto Dominance
Compute Niche Count
Assign Linearly Scaled Fitness
Add Non-dominated Solutions to Memory
Yes
Max Generation
Output
Pareto
set
No
Generate a
Random
Number<30%
Yes
End
No
Selection
(from pool of solutions)
Selection
(from Memory)
Crossover
Mutation
Evaluate Objective Values
Assign Rank Based on Pareto Dominance
Compute Niche Count
Assign Rank Based on Pareto Dominance
Assign Linearly Scaled Fitness
Add Non-dominated Solutions to Memory
Figures 4.4: Flowchart of MOGA with an external memory
39
External memory in NSP imitates global variable behaviors due to the
number of solutions in this memory is being increased successively along with
running the program. In other words, all non-dominated solutions in every generation
are accumulated in the external memory.
This technique is flexible to schedule every number of nurses, in other words
most recent works in NSP can schedule fix number of nurses for instance only 10
nurses may be scheduled. In our method, there is not such limitation and users or
nurse supervisors can apply this program to schedule every number of nurses’ shifts.
As an example, consider 26 nurses to schedule from a pool of solutions where the
pool has been contained with some solutions (100, 200 or 300) and every solution
includes 26 nurses. The program generates new solutions in every step that are
evaluated by the method to determine non-dominated solutions, in other words the
method specifies Pknown (t) (secondary population).
In this approach, user can determine the rate of using the external memory,
where in this work 30, 20, 10 and 5 percent of memory were used. This percentage is
changeable by user preferences. Table 4.11 shows the details of this technique with
26 nurses and indicates the number of non-dominated solutions, with 30 percent of
mutation rate and initial population size is 300. Also the execution time for running
this approach was 7’, 11.09” and the numbers of non-dominated solutions were 1473.
Table 4.11: Experimental results achieved using 26 nurses with an external memory
technique using population size 300
Number of non-dominated solutions
Population size
300
Rate of mutation (%)
30
1473
Execution time for running program
7’,11.09”
Experimental result without an external
memory
40
Table 4.12 shows one of non-dominated solutions using without an external memory
technique that illustrates the schedule shifts for 26 nurses.
Table 4.12: A non-dominated solution with an external memory technique
Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7
Nurse 1
Nurse 2
Nurse 3
Nurse 4
Nurse 5
Nurse 6
Nurse 7
Nurse 8
Nurse 9
Nurse 10
Nurse 11
Nurse 12
Nurse 13
Nurse 14
Nurse 15
Nurse 16
Nurse 17
Nurse 18
Nurse 19
Nurse 20
Nurse 21
Nurse 22
Nurse 23
Nurse 24
Nurse 25
Nurse 26
d
d
n
d
e
e
o
n
d
e
e
d
n
o
n
e
d
o
d
o
n
n
n
d
d
e
e
d
n
n
e
d
n
e
e
n
o
d
n
o
o
d
o
o
e
d
o
o
n
d
d
n
o
o
o
o
n
d
o
e
o
o
e
n
e
e
n
d
d
n
o
d
e
o
n
e
n
e
e
e
n
o
e
d
e
n
n
o
e
e
o
n
e
d
o
d
o
d
e
d
o
o
n
e
d
e
n
d
o
n
e
o
n
d
o
o
o
e
e
e
e
d
e
n
d
e
o
d
o
d
o
o
o
e
o
o
d
o
n
n
d
o
e
e
e
o
e
n
e
e
e
e
d
d
o
o
e
e
n
d
d
o
d
n
o
n
d
d
d
n
o
o
d
e
d
o
o
n
d
o
d
o
Table 4.13, 4.14, 4.15, 4.16, 4.17, 4.18, 4.19 and 4.20 indicate the
experimental results using 26, 8, 14, 16, 24, 30, 46 and 54 nurses with different rate
of mutation and population size (100 to 300), where the number of individuals
(nurses) has been adopted from benchmarks [43].
41
Table 4.13: Experimental results achieved using 26 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
1115
832
873
452
Execution time for running program
6’,51.19”
5’,15.38”
6’,10.12”
5’,10.16”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
1452
1121
892
527
Execution time for running program
7’,21.19”
7’,14.28”
6’,32.22”
4’,23.16”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
1473
1629
1449
739
Execution time for running program
7’,11.09”
6’,42.18”
6’,14.42”
5’,13.56”
42
Table 4.14: Experimental results achieved using 8 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
982
862
873
520
Execution time for running program
6’,43.61”
7’,17.28”
6’,26.36”
4’,13.52”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
1110
1093
937
926
Execution time for running program
6’,13.11”
6’,02.18”
4’,13.12”
4’,03.66”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
1229
962
739
528
Execution time for running program
6’,37.31”
5’,22.33”
6’,17.42”
6’,23.16”
43
Table 4.15: Experimental results achieved using 14 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
6293
6017
5964
3038
Execution time for running program
3’,35.11”
3’,12.53”
2’,15.26”
1’,28.19”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
5295
6173
5749
1546
Execution time for running program
2’,32.21”
2’,24.22”
2’,10.09”
1’,00.09”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
6651
6047
5481
2385
Execution time for running program
2’,02.61”
2’,17.11”
1’,10.11”
2’,12.19”
44
Table 4.16: Experimental results achieved using 16 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
2837
2169
1529
952
Execution time for running program
2’,22.23”
1’,11.52”
1’,16.11”
1’,24.43”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
2766
2891
2016
1541
Execution time for running program
2’,21.33”
2’,01.22”
1’,26.51”
1’,21.11”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
2926
2690
2241
2159
Execution time for running program
2’,2.53”
1’,0.12”
1’,28.19”
1’,26.23”
45
Table 4.17: Experimental results achieved using 24 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
5034
5159
4993
4876
Execution time for running program
19’,22.21”
17’,31.01”
15’,42.11”
14’,44.51”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
5248
5188
5016
4836
Execution time for running program
20’,22.24”
18’,15.28”
17’,01.56”
14’.13.57”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
5517
5392
5119
4826
Execution time for running program
21’,31.13”
22’,54.13”
18’,19.14”
18’,19.16”
46
Table 4.18: Experimental results achieved using 30 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
4728
4696
4314
4012
Execution time for running program
16’,23.25”
13’,18.36”
17’,12,47”
11’,01.86”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
4809
4993
4529
4257
Execution time for running program
14,’15.28”
13’,20.38”
12’,12.81”
10’,58.45”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
4692
4417
4283
4146
Execution time for running program
19’,16.17”
16’,28.43”
19,17,30”
15’,59.26”
47
Table 4.19: Experimental results achieved using 46 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
2487
2321
2150
2164
Execution time for running program
8’,45.23”
9’,55.18”
11’,0.71”
7’,0.22”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
2726
2684
2392
2104
Execution time for running program
10’.38.82”
12’.28.64”
9’,11.33”
7’,28.21”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
2648
2739
2272
2212
Execution time for running program
6’,45.39”
7’,27.59”
5’,25.92”
5’,52.49”
48
Table 4.20: Experimental results achieved using 54 nurses with an external memory
technique using population size 100, 200 and 300
Population size
Experimental results with an external
100
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
148
87
93
62
Execution time for running program
6’,32.48”
5’,29.17”
3’,19.33”
1’,47.12”
Population size
Experimental results with an external
200
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
152
92
79
41
Execution time for running program
4’,20.28”
1’,16.01”
2’,47.12”
3’,16.32”
Population size
Experimental results with an external
300
memory
Rate of mutation (%)
30
20
10
5
Number of non-dominated solutions
169
60
81
64
Execution time for running program
5’,21.53”
4’,10.08”
3’,32.12”
1’,59.48”
49
4.3 Drawbacks and Advantages of Using an External Memory and
Without an External Memory Techniques
The presented techniques have some advantages and drawbacks in which the
advantages of using an external memory overcome to its drawbacks. The external
memory technique is used to store all non-dominated solutions of each step during
running the program to participate and produce the results of new steps, so that the
use of an external memory sometimes causes to increase the execution time so long
where this time is out of human tolerance. On the other hand, sometimes the number
of non-dominated solutions increases enormously and causes a memory problem. In
such a case, the system can not continue the regular procedures of running the
program. However there are not such problems in without an external memory
technique, since the execution time is short. In addition, there is not any lack of
memory in the system to run the program, but the number of non- dominated
solutions in this technique is low and is not comparable with the number of solutions
using an external memory. Also in the technique of an external memory, plenty of
solutions can be found to apply in the real world whereas without an external
memory technique, finding an applicable solution is not trivial.
The presented techniques in this study are efficient. As mentioned, the
different versions of the GA have been developed to test the efficiency of the
approach. The results of experiments revealed plenty of good quality solutions, so
that the method can be applied in real-life NSPs.
50
CHAPTER 5
CONCLUSION
This study presented a new method to solve nurse scheduling problem. Nurse
scheduling has attracted the attention of scientists from operational research and
artificial intelligence for about 40 years. The problem is so important for a variety of
reasons. The automatic generation of high quality nurse schedules can lead to
improve in hospital resource efficiently such as staff and patient safety, staff and
patient satisfaction and administrative workload. Researchers have constructed and
addressed a wide range of nurse scheduling models which have represented many
different version of the problem. Many of the models that have been presented and
discussed are too simple to be directly applied to hospital wards. This point is even
more pronounced if we are to consider modern problems in large and busy hospitals.
There is a definite gap between much of the current state of the art in nurse
scheduling research and the demanding and challenging requirements of the real
world. Some important goals are achieved by the techniques of this work.
The presented method included two techniques and used multiobjective
genetic algorithm to tackle NSP. Also the method showed its abilities to apply to
nurse scheduling problem for different number of nurses with high flexibility. This
work (method) is so different with other works by introducing two techniques to
solve NSP; without an external memory and with an external memory, later
technique used an external memory than the former to accumulate all non-dominated
51
results of all steps (generations) to participate for generating new steps’ solutions. On
the other hand, in this work, first the method generated some feasible solutions, and
then these solutions have been processed to take non-dominated solution. Generally
these solutions were high quality solutions and were applicable in the real world.
Comparison of these two techniques showed the drawbacks and advantages
of the techniques in which in an external memory technique, the program execution
running time was increased compared to without an external memory technique.
Also it gave varieties of non-dominated applicable solutions with high quality. On
the other hand, the presented approach demonstrated its high speed in comparison
with other presented works in NSP.
The multiobjective genetic algorithm, with the presented approach showed
that it can be used to solve such scheduling problems. Also the results indicated its
aptitudes and skills in coping with such problems than other approaches such as Tabu
Search. Therefore, this thesis proved the ability of MOGA with an external memory
to solve other interesting scheduling problems in the future. Moreover, this approach
can be developed to work in distributed systems. The efficiency of the proposed
approach is demonstrated experimentally and it observed that it extracts three times
more nondominated solutions compared to MOGA without an external memory.
Even though the computation time is increased with the maintained external
memory, the performance improvement achieved makes this computational cost
reasonable. Also the presented memory-based approach can be used for the solution
of other difficult scheduling problems such as timetabling, vehicle routing, and
supply-chain management.
52
REFERENCES
[1]
E.K.Burke, P.De Causmaecker, G.Vanden Berghe and H.Van Landeghem,
“The State of the Art of Nurse Rostering”, The Journal of Scheduling,
Volume 7, pages 441-499, 2004.
[2]
Miller, M. L. “Implementing self-scheduling,” The Journal of Nursing
Administration, 14, 33-36, 1984.
[3]
C. M. Fonseca and P. J. Fleming. “Genetic Algorithms for Multiobjective
Optimization:
Formulation,
Discussion
and
Generalization”,
Fifth
International Conference on Genetic Algorithms, pages 416–423, 1993.
[4]
Tütüncü, G. Y., and Chilcott, B.J., “A genetic algorithm approach to the nurse
scheduling problem with fuzzy preferences”, IMA Journal of Management
Mathematics Page 1 of 15, 2008.
[5]
Aickelin, U., E.K. Burke, and J. Li, “An Estimation of Distribution Algorithm
with Intelligent Local Search for Rule-based Nurse Rostering”, the Journal of
the Operational Research Society, pages 1574–1585, 2007.
[6]
A. Acan, “A Gene-Sequence Library as an External Memory Implementation
in Genetic Algorithms”, The 13th Turkish Symposium on Artificial
Intelligence and Neural Networks – TAINN 2004, pp. 173 – 182, Izmir, June
2004.
53
[7]
A. Acan, A.Unveren, “Evolutionary Multiobjective optimization with a
Segment-Based External Memory Support for the Multiobjective Quadratic
Assignment Problem”, Proceedings of the IEEE Congress on Evolutionary
Computation – CEC 2005, pp. 2723 – 2729, 2005.
[8]
Aickelin, U., & Dowsland, K. A., “Exploiting problem structure in a genetic
algorithm approach to a nurse rostering problem”, Journal of Scheduling, vol.
3, pp. 139-153, 2000.
[9]
Cheng, B. M. W., Lee, J. H. M. & Wu, J. C. K. “A constraint-based nurse
rostering system using aredundant modeling approach”. IEEE 8th
International Conference on Tools with Artificial Intelligence (TAI96),
ICTAI, pp. 140–148, 1996.
[10]
Burke E.K., Li J. and Qu R “Pareto-Based Optimization for Multi-objective
Nurse Scheduling", Annals of Operations Research, 2008.
[11]
Sharifi, O., Unveren, A., and Acan, A., “Evolutionary Multi-Objective
Optimization for Nurse Scheduling Problem”, 5th International Conference on
Soft Computing, Computing with Words and Perceptions in System Analysis,
Decision and Control (ICSCCW2009), 2-4 September 2009, Gazima usa,
Northern Cyprus.
[12]
Jan, A., Yamamoto, M. & Ohuchi, A. “Evolutionary algorithms for nurse
scheduling problem”, Proceedings of the 2000 Congress on Evolutionary
Computation, San Diego, USA, IEEE Press, pp. 196–203, (2000).
54
[13]
A. Ikegami, A. Niwa and M. Oukura: “The nurse scheduling problem in our
country”, Communication of the Operations Research Society of Japan, 41
(1996) 436-442.
[14]
Burke, E.K., De Causmaecker, P., Petrovic, S., Vanden Berghe, G. “ Fitness
Evaluation for Nurse Scheduling Problems” Volume: 2, On page(s): 1139-1146,
2001.
[15]
Gillies, D. A., “Nursing Management-A System Approach”, 21 (7), 70-72,
1989.
[16]
Gray, J. J., D. McIntire, and H. J. Doller, “Preferences for specific work
schedules: Foundation for an expert-system scheduling program,” Computer in
Nursing, 11(3), 115-121 (1993).
[17]
Bradley, D. and J. Martin, “Continues personnel scheduling algorithms: A
literature review,” Journal of the Society of Health Systems, 2, 8-23 (1990).
[18]
Warner, M., “Nurse staffing, scheduling, and reallocation in the hospital,”
Hospital & Health Services Administration, 77-90 (1976).
[19]
Sitompul, D. and S. Randhawa, “Nurse scheduling models: A state-of-the-art
review,” Journal of the Society of Health Systems, 2, 62-72 (1990).
[20]
Tien, J. and A. Kamiyama, “On manpower scheduling algorithms,” Society
for Industrial and Applied Mathematics, 24(3), 275-287 (1982).
55
[21]
Wolfe, H. and J. P. Young, “ Staffing the Nursing unit: Part I,” Nursing Res.,
14(3), 236-234 (1965).
[22]
De
Vries,
G.,
“Nursing
workload
measurements
as
management
information,” European Journal of Operational Research, 29, 199-208 (1987).
[23]
Smith-Daniels, V., S. Schweikhart, and D. Smith-Daniels, “Capacity
management in health care services: Review and future research directions,”
Decision sciences, 19, 891-919 (1988).
[24]
Easton, F. and N. Mansour, “A distributed genetic algorithm for employee
staffing and scheduling problems,” in international Conference on Genetic
Algorithms, San Mateo, 1993, pp. 360-367.
[25]
R S. Rosenberg. “Simulation of genetic populations with biochemical
properties”, PhD thesis, University of Michigan, Ann Harbor, Michigan, 1967.
[26]
Andrzej Osyczka. “Multicriteria optimization for engineering design”, pages
193-227, 1985.
[27]
Vilfredo Pareto. “Cours D’Economie Politique”, volume I and II. F. Rouge,
Lausanne. 1896.
[28]
C. M. Fonseca and P. J. Fleming. “Genetic Algorithms for Multiobjective
Optimization: Formulation, Discussion and Generalization”. Proceedings of the
Fifth International Conference on Genetic Algorithms, pages 416–423, San
Mateo, California, 1993.
56
[29]
J. Horn, N. Nafpliotis, and D. E. Goldberg. “A Niched Pareto Genetic
Algorithm for Multiobjective Optimization”, In Proceedings of the First IEEE
Conference
on Evolutionary Computation,
IEEE World Congress
on
Computational Intelligence, volume 1, pages 82–87, Piscataway, New Jersey,
June 1994.
[30]
N. Srinivas and K. Deb. “Multiobjective Optimization Using Nondominated
Sorting in Genetic Algorithms”, Evolutionary Computation, 2(3):221–248, fall
1994.
[31]
K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. “A Fast and Elitist
Multiobjective
Genetic
Algorithm”,
NSGA–II.
IEEE
Transactions
on
Evolutionary Computation, 6(2):182–197, April 2002.
[32]
E. Zitzler and L. Thiele. “Multiobjective Evolutionary Algorithms: A
Comparative Case Study and the Strength Pareto Approach”, IEEE Transactions
on Evolutionary Computation, 3(4):257–271, November 1999.
[33]
E. Zitzler, M. Laumanns, and L. Thiele. “SPEA2: Improving the Strength
Pareto Evolutionary Algorithm”, Evolutionary Methods for Design, Optimization
and Control with Applications to Industrial Problems, pages 95–100, Athens,
Greece, 2001.
[34]
D.
A.
Van
Veldhuizen.
“Multiobjective
Evolutionary
Algorithms:
Classifications, Analyses, and New Innovations”, PhD thesis, Department of
Electrical and Computer Engineering. Graduate School of Engineering. Air Force
Institute of Technology, Wright-Patterson AFB, Ohio, May 1999.
57
[35]
J. B. Zydallis, D. A. V. Veldhuizen, and G. B. Lamont. “A Statistical
Comparison of Multiobjective Evolutionary Algorithms Including the MOMGA–
II”,
First
International
Conference
on
Evolutionary
Multi-Criterion
Optimization, pages226–240. Springer-Verlag. Lecture Notes in Computer
Science No. 1993, 2001.
[36]
Carlos M. Rmseca and Peter J. Fleming. “Genetic Algorithms for
Multiobjective Optimization: Formulation, Discussion and Generalization”,
Proceedings of the Fifth International Conference on Genetic Algorithms, pages
416-423, San Mateo, C alifornia, 1993.
[37]
D. E. Goldberg. “Genetic Algorithms in Search, Optimization and Machine
Learning” Addison-Wesley Publishing Company, Reading, Massachusetts, 1989.
[38]
D. E. Goldberg and K. Deb. “A Comparison of Selection Schemes Used in
Genetic Algorithms”, In G. J. E. Rawlins, editor, Foundations of Genetic
Algorithms, pages 69–93, 1991.
[39]
C. M. FONSECA & P. J. FLEMING, “An Overview of Evolutionary
Algorithms in Multiobjective Optimisation”, Evolutionary Computing, 3(1):1-16,
1995.
[40]
Coell, C., C. A., Lamont, G. B., & Van V., D. A. , “Evolutionary Algorithms
for Solving Multi-Objective Problems (2nd ed.)”.Springer Science, 978-0-38736797-2, 90, (2007).
58
[41]
Wikipedia Encyclopedia (n.d). Mutation Operator (Genetic algotithms).
Retrieved
June
26,
2009
from
the
World
Wide
Web:
http://en.wikipedia.org/wiki/Mutation_(genetic_algorithm).
[42]
Note. Alex, R. (n.d.). Genetic algorithms. Retrieved May 20, 2007 from the
World Wide Web: http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/tcw2/report.html
[43]
The University of Nottingham (1798). Personnel Scheduling Data Sets and
Benchmarks. Retrieved June 26, 2009 from the World Wide Web:
http://www.cs.nott.ac.uk/~tec/NRP/index.html
59