Top Banner
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 Gazimausa, North Cyprus
69

Evolutionary multiobjective optimization for medical classification

Jan 18, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Evolutionary multiobjective optimization for medical classification

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

Page 2: Evolutionary multiobjective optimization for medical classification

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. 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 ______________________________

Asst. Prof. Dr. Adnan Acan Co-supervisor

Page 3: Evolutionary multiobjective optimization for medical classification

iii

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.

Page 4: Evolutionary multiobjective optimization for medical classification

iv

Ö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.

Page 5: Evolutionary multiobjective optimization for medical classification

v

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.

Page 6: Evolutionary multiobjective optimization for medical classification

vi

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

Page 7: Evolutionary multiobjective optimization for medical classification

vii

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

Page 8: Evolutionary multiobjective optimization for medical classification

viii

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

Page 9: Evolutionary multiobjective optimization for medical classification

ix

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

Page 10: Evolutionary multiobjective optimization for medical classification

x

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

Page 11: Evolutionary multiobjective optimization for medical classification

1

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

Page 12: Evolutionary multiobjective optimization for medical classification

2

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 non-

dominated 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.

Page 13: Evolutionary multiobjective optimization for medical classification

3

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 multi-

objective 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.

Page 14: Evolutionary multiobjective optimization for medical classification

4

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 non-

dominated 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 non-

dominated 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

Page 15: Evolutionary multiobjective optimization for medical classification

5

revealed subsequently. Finally, in chapter 5, the conclusion and future works in this

area are presented.

Page 16: Evolutionary multiobjective optimization for medical classification

6

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:

Page 17: Evolutionary multiobjective optimization for medical classification

7

��

��

=

=

=

=

n)( siftnight 3

e)( shiftevening 2

d)( day shift 1

Shift

(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.

��

��

=

otherwise 0

day w onj shiftin

workesi nurse if 1

X ijw

(2.2)

Page 18: Evolutionary multiobjective optimization for medical classification

8

In Figure 2.1 a simple schedule with 5 nurses, in which a dash shows a shift pattern,

is given.

Figure 2.1: A simple schedule with 5 nurses

d = day shift

e = evening shift

n = night shift

o = off

Day1 Day2 Day3 Day4 Day5 Day6 Day7

Nurse1

e n o o d d d

n e…

e d…

o e…

d d…

Nurse2

Nurse3

Nurse4

Nurse5

Page 19: Evolutionary multiobjective optimization for medical classification

9

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:

Page 20: Evolutionary multiobjective optimization for medical classification

10

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.

Page 21: Evolutionary multiobjective optimization for medical classification

11

There are three objective functions: objective function f1 aims to ovoid a single day

between two days off;

Minimize:

� �

� �

� � �

∈ ∈

∈ ∈

= ∈

+−

−++

−+−+

−+=

Ii Jj

ijijWij

Ii Jj

ijWijWij

Ii

W

w Jj

wijijwwij

XXX

XXX

XXXf

),0max(

),0max(

),0max(

21||

1||)1|(|

1||

2)1()1(1

(2.3)

Objective function '2f 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:

)3)(,0max(

)3)(,0max(

)3)(,0max(

)3)(,0(

232221|)(|2

2221||2)1|(|2

21||2)1|(|2)2|(|2

3

2

3||

1

'2

−++++

−++++

−++++

−=

���

−−

+

=∈

=

ii

Ii

iWi

ii

Ii

WiWi

iWi

Ii

WiWi

w

wj

wi

Ii

W

w

XXXX

XXXX

XXXX

Xaxmf

(2.4)

Objective function "2f 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:

)2)(,0max(

)2)(,0max(

)2(,0(

32||31||3

31||3)1|(|3

2

3

2||

1

"2

−+++

−+++

−=

�� �

+

=∈

=

i

Ii

WiWi

i

Ii

WiWi

w

wj

wi

Ii

W

w

XXX

XXX

Xaxmf

(2.5)

Page 22: Evolutionary multiobjective optimization for medical classification

12

So that in this work, 2f is the summation of '2f and "

2f in which the goal is to

optimize 2f in the program.

2f =

'f2

+ "

2f (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 [17-

20]. 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-

Page 23: Evolutionary multiobjective optimization for medical classification

13

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.

Page 24: Evolutionary multiobjective optimization for medical classification

14

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 peer-

reviewed 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

Page 25: Evolutionary multiobjective optimization for medical classification

15

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, multi-

performance 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)

the p equality constraints

������� �� � i = 1, 2, …, p (3.2)

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 ���� �

�� � ��� which yields the

optimum values of all the objective functions.

Page 26: Evolutionary multiobjective optimization for medical classification

16

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 ���� is Pareto optimal if there exist no feasible

vector �� 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.

Page 27: Evolutionary multiobjective optimization for medical classification

17

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.

Page 28: Evolutionary multiobjective optimization for medical classification

18

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.

Page 29: Evolutionary multiobjective optimization for medical classification

19

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.

Page 30: Evolutionary multiobjective optimization for medical classification

20

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.

Page 31: Evolutionary multiobjective optimization for medical classification

21

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

Page 32: Evolutionary multiobjective optimization for medical classification

22

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]

Page 33: Evolutionary multiobjective optimization for medical classification

23

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]

Page 34: Evolutionary multiobjective optimization for medical classification

24

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

Page 35: Evolutionary multiobjective optimization for medical classification

25

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.

Page 36: Evolutionary multiobjective optimization for medical classification

26

Figures 4.1: Flowchart of the MOGA [40]

Initialize Population

Assign Rank Based on Pareto Dominance

Assign Linearly Scaled Fitness

Evaluate Objective Values

Compute Niche Count

Max Generation

Selection (Pareto domination selection)

Crossover

Mutation

Evaluate Objective Values

Assign Rank Based on Pareto Dominance

Compute Niche Count

Assign Rank Based on Pareto Dominance

Assign Linearly Scaled Fitness

Output Pareto

set

End

Yes

No

Page 37: Evolutionary multiobjective optimization for medical classification

27

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

Experimental result without an external

memory

Population size 100

Rate of mutation (%) 30

Number of non-dominated solutions 22

Execution time for running program 20.93”

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].

0 5 10 1532

34

36

38

40

42

44

46

48

50

52

f1: object function 1

f 2:

obje

ct

function 2

Page 38: Evolutionary multiobjective optimization for medical classification

28

Table 4.2: A non-dominated solution without an external memory technique

Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7

Nurse 1 e d d e o o n

Nurse 2 n o d o d d e

Nurse 3 e d d e o o d

Nurse 4 n e o n n e o

Nurse 5 e n o o d d d

Nurse 6 d d n o o d e

Nurse 7 o e o n e d d

Nurse 8 o o d d d n n

Nurse 9 n e d e o o e

Nurse 10 e o d d e o d

Nurse 11 e d n e d o o

Nurse 12 n o o e d d e

Nurse 13 n n n o e d o

Nurse 14 e n e o o d n

Nurse 15 d d e d o o e

Nurse 16 d n n o o n d

Nurse 17 d d o o e e d

Nurse 18 e d d d o o n

Nurse 19 o e d d e d o

Nurse 20 d e o d o n e

Nurse 21 o o e d n e n

Nurse 22 n n o o d d e

Nurse 23 d d n n o o d

Nurse 24 d d e n o o d

Nurse 25 n o o d n n e

Nurse 26 e o n o d 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).

Page 39: Evolutionary multiobjective optimization for medical classification

29

Table 4.3: Experimental results achieved using 26 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

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”

Experimental results without an

external memory

Population size

300

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” 52.46”

Page 40: Evolutionary multiobjective optimization for medical classification

30

Table 4.4: Experimental results achieved using 8 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

Rate of mutation (%)

30 20 10 5

Number of non-dominated solutions 29 16 13 11

Execution time for running program 25.12” 1’,12.01” 25.92” 15.39”

Experimental results without an

external memory

Population size

300

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”

Page 41: Evolutionary multiobjective optimization for medical classification

31

Table 4.5: Experimental results achieved using 14 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

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”

Experimental results without an

external memory

Population size

300

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” 54.14”

Page 42: Evolutionary multiobjective optimization for medical classification

32

Table 4.6: Experimental results achieved using 16 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

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”

Experimental results without an

external memory

Population size

300

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”

Page 43: Evolutionary multiobjective optimization for medical classification

33

Table 4.7: Experimental results achieved using 24 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

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”

Experimental results without an

external memory

Population size

300

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”

Page 44: Evolutionary multiobjective optimization for medical classification

34

Table 4.8: Experimental results achieved using 30 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

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”

Experimental results without an

external memory

Population size

300

Rate of mutation (%)

30 20 10 5

Number of non-dominated solutions 20 52 46 22

Execution time for running program 36.17” 2’,28.43” 47,30” 59.26”

Page 45: Evolutionary multiobjective optimization for medical classification

35

Table 4.9: Experimental results achieved using 46 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

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”

Experimental results without an

external memory

Population size

300

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”

Page 46: Evolutionary multiobjective optimization for medical classification

36

Table 4.10: Experimental results achieved using 54 nurses without an external memory technique using population size 100, 200 and 300

Experimental results without an

external memory

Population size

100

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”

Experimental results without an

external memory

Population size

200

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”

Experimental results without an

external memory

Population size

300

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” 1’,32.12” 59.48”

Page 47: Evolutionary multiobjective optimization for medical classification

37

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.

Page 48: Evolutionary multiobjective optimization for medical classification

38

Figure 4.3: MOGA with an external memory pseudo code

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

Page 49: Evolutionary multiobjective optimization for medical classification

39

Figures 4.4: Flowchart of MOGA with an external memory

Initialize Population

Assign Rank Based on Pareto Dominance

Assign Linearly Scaled Fitness

Evaluate Objective Values

Compute Niche Count

Max Generation

Selection (from pool of solutions)

Crossover

Mutation

Evaluate Objective Values

Assign Rank Based on Pareto Dominance

Compute Niche Count

Assign Rank Based on Pareto Dominance

Assign Linearly Scaled Fitness

Output Pareto

set

End

Add Non-dominated Solutions to Memory

Generate a Random

Number<30%

Selection (from Memory)

Add Non-dominated Solutions to Memory

Yes

No

Yes

No

Page 50: Evolutionary multiobjective optimization for medical classification

40

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

Experimental result without an external

memory

Population size 300

Rate of mutation (%) 30

Number of non-dominated solutions 1473

Execution time for running program 7’,11.09”

Page 51: Evolutionary multiobjective optimization for medical classification

41

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 d e o e d o e

Nurse 2 d d o e e o e

Nurse 3 n n o n n o n

Nurse 4 d n o o d e d

Nurse 5 e e n e o o d

Nurse 6 e d d d n o o

Nurse 7 o n o e e d d

Nurse 8 n e e n o o n

Nurse 9 d e o n n n o

Nurse 10 e n o o d n n

Nurse 11 e o e e o d d

Nurse 12 d d n e o o d

Nurse 13 n n e o o e d

Nurse 14 o o e n e e n

Nurse 15 n o n e e e o

Nurse 16 e d d d e o o

Nurse 17 d o d o e e d

Nurse 18 o o n d d n e

Nurse 19 d e o o e e d

Nurse 20 o d d d n e o

Nurse 21 n o e e d e o

Nurse 22 n o o d e e n

Nurse 23 n n n o o d d

Nurse 24 d d e o d d o

Nurse 25 d d n n o o d

Nurse 26 e n e e d o 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].

Page 52: Evolutionary multiobjective optimization for medical classification

42

Table 4.13: Experimental results achieved using 26 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 53: Evolutionary multiobjective optimization for medical classification

43

Table 4.14: Experimental results achieved using 8 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 54: Evolutionary multiobjective optimization for medical classification

44

Table 4.15: Experimental results achieved using 14 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 55: Evolutionary multiobjective optimization for medical classification

45

Table 4.16: Experimental results achieved using 16 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 56: Evolutionary multiobjective optimization for medical classification

46

Table 4.17: Experimental results achieved using 24 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 57: Evolutionary multiobjective optimization for medical classification

47

Table 4.18: Experimental results achieved using 30 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 58: Evolutionary multiobjective optimization for medical classification

48

Table 4.19: Experimental results achieved using 46 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 59: Evolutionary multiobjective optimization for medical classification

49

Table 4.20: Experimental results achieved using 54 nurses with an external memory technique using population size 100, 200 and 300

Experimental results with an external

memory

Population size

100

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”

Experimental results with an external

memory

Population size

200

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”

Experimental results with an external

memory

Population size

300

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”

Page 60: Evolutionary multiobjective optimization for medical classification

50

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.

Page 61: Evolutionary multiobjective optimization for medical classification

51

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

Page 62: Evolutionary multiobjective optimization for medical classification

52

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.

Page 63: Evolutionary multiobjective optimization for medical classification

53

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.

Page 64: Evolutionary multiobjective optimization for medical classification

54

[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).

Page 65: Evolutionary multiobjective optimization for medical classification

55

[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).

Page 66: Evolutionary multiobjective optimization for medical classification

56

[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.

Page 67: Evolutionary multiobjective optimization for medical classification

57

[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.

Page 68: Evolutionary multiobjective optimization for medical classification

58

[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-387-

36797-2, 90, (2007).

Page 69: Evolutionary multiobjective optimization for medical classification

59

[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