Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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