A wide variety of constraints can be imposed on rosters depending on the ... Nurse rostering problems have been solved using a variety of different mathematical and artificial ..... is calculated using a weighted nearest neighbour function: d(vγ, vR) = â ...... ment Society, Savannah, Georgia, United States, 2003. 7. E K Burke ...
Determining feature weights using a genetic algorithm in a case-based reasoning approach to personnel rostering Gareth Beddoe and Sanja Petrovic Automated Scheduling, Optimisation, and Planning Research Group, School of Computer Science and Information Technology, University of Nottingham, Jubilee Campus, Nottingham NG8 1BB, United Kingdom { grb | sxp }@cs.nott.ac.uk
Abstract. Personnel rostering problems are highly constrained resource allocation problems. Human rostering experts have many years of experience in making rostering decisions which reflect their individual goals and objectives. We present a novel method for capturing nurse rostering decisions and adapting them to solve new problems using the Case-Based Reasoning (CBR) paradigm. This method stores examples of previously encountered constraint violations and the operations that were used to repair them. The violations are represented as vectors of feature values. We investigate the problem of selecting and weighting features so as to improve the performance of the case-based reasoning approach. A genetic algorithm is developed for off-line feature selection and weighting using the complex data types needed to represent real-world nurse rostering problems. This approach significantly improves the accuracy of the CBR method and reduces the number of features that need to be stored for each problem. The relative importance of different features is also determined, providing an insight into the nature of expert decision making in personnel rostering. Keywords: Scheduling, Knowledge Based Systems, Case-Based Reasoning, Meta-heuristics, Feature Selection and Weighting.
1
Introduction
Nurse rostering can be defined to be the problem of placing resources (nurses), subject to constraints, into slots in a pattern, where the pattern denotes a set of legal shifts defined in terms of work that needs to be done [30]. A wide variety of constraints can be imposed on rosters depending on the legal, management, and staffing requirements of individual organisations. Definitions of roster quality and optimality are highly subjective and therefore difficult to represent systematically using utility functions or rule bases. Human rostering experts have many years of experience in making rostering decisions which reflect their individual goals and objectives. Nurse rostering problems have been solved using a variety of different mathematical and artificial intelligence methods. They are usually modelled as optimisation problems but the objective functions used vary considerably between problems. Bailey [3], Beaumont [5], and Warner [28] use mathematical programming techniques to generate nurse rosters optimised with respect to staffing costs, under-staffing costs, and shift pattern penalties. Constraint satisfaction techniques have been developed by Abdennadher and Schlenker [1], Cheng et al. [10], and Meyer auf’m Hofe [20] which allow the definition of many different types of constraint. A number of meta-heuristic approaches have been explored including genetic algorithms [13], simulated annealing [4], tabu search [7, 12], and hyper-heuristics [9]. A CBR approach by Scott and Simpson [26] combined case-based reasoning with constraint logic programming by storing shift patterns used for the construction of nurse rosters. Case-Based Repair Generation (CBRG) is a technique developed by the authors to solve nurse rostering problems [6] which uses Case-Based Reasoning (CBR). CBR is a reasoning paradigm in which new problems are solved using the solutions to similar problems that have previously
been encountered [18]. Previous problems and their corresponding solutions are stored as cases in a database called a case-base. New problems are compared to the cases in the case-base and the most similar is retrieved. The solution to the problem from the retrieved case is then adapted to the context of the new problem. If the new solution could be useful for future problem solving then it is stored in the case-base, thus increasing the total knowledge held. The CBRG method considers each constraint violation in a roster as a separate problem. The case-base contains a history of previous constraint violations and the operations that were used to repair them. Cases are retrieved from the case-base using a two stage retrieval process [23]. The first stage retrieves those cases containing violations of the same type as the current problem. The second stage calculates the similarity of these cases to the current problem using the weighted nearest neighbour method. The violations are represented by a set of characteristic features and can be interpreted as points in a feature space. Weights are assigned to the features representing their relative importance. The most similar case is then defined as the one with the smallest weighted distance from the feature vector representing the current problem. It is vital for the retrieval process that appropriate features are selected to represent the violations and that these features are carefully weighted. One of the most common ways to determine the accuracy of a case-base is to measure its classification accuracy. The CBRG method can be seen as a classifier which determines the type and parameters of a repair for a given violation. Its classification accuracy can be measured by repeatedly removing a case from the case-base, performing a retrieval to determine the nearest case to the removed case, and then comparing the repairs. In the literature, nearest neighbour classification algorithms [14] have been used successfully to solve a number of different classification problems. They allow complex relationships between input parameters to be captured without the need to model them explicitly. However, they can be sensitive to noise in the data sets and erroneous or irrelevant features [2]. These effects can be reduced by selecting only relevant features from the feature set and assigning a weight to each feature representing its relative importance. A number of different feature weighting and selection methods have been developed including Salzberg’s [25] feature weighting algorithm based on a heuristic approach for his EACH classification method, a random mutation hill climbing approach for feature selection by Skalak [27], and a genetic algorithm by Kuncheva and Jain [19]. Many more algorithms are described in a review by Wettschereck et al. [29]. We investigate an approach to automated weighting and feature selection based on the genetic algorithm based GA-WKNN developed by Kelly and Davis [17] and a dimensionality reduction algorithm developed by Raymer et al. [24]. These approaches are adapted so that they can handle the types of data used in the CBRG method to model the nurse rostering problem. In this paper we present an adaptation of a feature weighting and selection algorithm to a complex real life nurse rostering problem. This algorithm allows us to learn which features are important when making rostering decisions and which features are irrelevant, thus increasing our understanding of the nurse rostering problem. The accuracy of the CBRG method is increased by weighting the features and the search time is decreased by reducing the number of features that it is necessary to store in each case. Furthermore, the flexibility and adaptability of the casebased approach is enhanced because its behaviour can be tuned more precisely to the decision making style of the expert who trained it. The data used for the experiments in this paper has been derived from rosters provided by the ophthalmology ward at the Queens Medical Centre University Hospital Trust (QMC) in Nottingham, United Kingdom. The nurse rostering problem is introduced in Section 2 and the CBRG method is described in Section 3. Section 4 introduces the different types of features used to describe the violations. The modified genetic algorithm for feature weighting and selection is presented in Section 5. The results obtained by applying the algorithm to a case-base of real life rostering decisions are presented in Section 6. Section 7 concludes the paper. 2
2
The Nurse Rostering Problem
The nurse rostering problem is represented by the ordered pair R = hN, Ci
(1)
N = {nursei : 0 ≤ i < I}
(2)
where
is the set of I nurses to be rostered, and C = {constraintk : 0 ≤ k < K}
(3)
is the set of K constraints. The set N contains information about the nurses to be rostered, the shifts they have been assigned and the shifts that they would prefer to work over the rostering period. The set C imposes constraints on the shift assignments in N . Each nurse is denoted by a 4-tuple, nursei = hN urseT ypei , hoursi , N Ri , N Pi i
(4)
where N urseT ypei is an array of descriptive information about nursei , and hoursi are the maximum number of hours that nursei should work according to their contract (for example this is 37.5 for full time nurses in the QMC). The set of assignment variables, N Ri , is defined: N Ri = {si,j : 0 ≤ j < p}, 0 ≤ i < I
(5)
where si,j are the shift assignments of nursei on days j over the rostering period of length p (usually 28 days). Similarly, the set of preferred assignments, N Pi , is defined: N Pi = {pi,j : 0 ≤ j < p}, 0 ≤ i < I
(6)
where pi,j are the shifts that nursei would prefer to work on days j over the rostering period. N Pi will be referred to as the preference roster of nursei . The shifts that can be assigned to the si,j and pi,j variables are: UNASSIGNED: (U) No shift is currently assigned and the nurse has no request; OFF: (O) No shift is currently assigned and the nurse has requested that they do not work; EARLY: (E) The early shift (0700-1445); LATE: (L) The late shift (1330-2115); NIGHT: (N) The night shift (2100-0715). The descriptive information about a nurse is stored in the N urseT ype structure. As well as being used to describe individual nurses, this data structure is also used to describe nurse requirements for the definitions of constraints. The structure is represented as an 5-tuple of fields as follows: N urseT ypeγ = hqualγ , gendγ , intlγ , trainγ , gradeγ i, γ ∈ Γ
(7)
where the fields are defined in Table 1. Nurses in the QMC ward belong to one of four possible qualification categories. These are, in descending order of seniority: registered (RN), enrolled (EN), auxiliary (AN), and student (SN). Registered nurses are the most qualified and have had extensive training in both the practical and managerial aspects of nursing, whereas enrolled nurses have received mainly practical training. Auxiliary nurses are unqualified nurses who can perform basic duties and student nurses are 3
Table 1. The fields of N urseT ype Field qual gend intl train grade
Domain Description {RN, EN, AN, SN, QN, P N, XN } the qualification level of the nurse {M, F } the gender of the nurse - (M)ale or (F)emale {I, H} the nationality of the nurse (I)nternational or (H)ome {ET, N T } the specialty training of the nurse - eyetrained (ET) or non-eye-trained (NT) {A, B, C, D, E, F, G, H, I} the grade of the nurse according to the NHS grading system
training to be either registered or enrolled. These four nurse qualifications are classified hierarchically by using three additional qualifications. RNs and ENs are classified as qualified (QN) while QNs and ANs, are both employed (PN). Finally, XN denotes nurses of any qualification level. The gender and nationality of a nurse are also factors that affect rostering decisions. Registered and enrolled nurses can receive additional training specific to the ward that they work in. In the ophthalmology ward these nurses receive eye-training, denoted ET (a nurse without eye-training is called non-eye-trained denoted NT). The grade of each nurse is determined by a National Health Service (NHS) standard which is based on the qualification level of the nurse and the amount of hospital experience that they have. In the literature constraints are often divided into two categories, hard and soft [8]. Hard constraints are those that must not be violated. A roster is considered to be feasible if it violates none of the hard constraints. Soft constraints are considered to be more flexible and do not have to be satisfied. They are often used to describe roster quality by adding a penalty to an objective function proportional to the degree of their violation. In this paper we do not define soft constraints explicitly. Their treatment is captured implicitly within the experience stored in the case-base. For the remainder of this paper the word ‘constraints’ refers to the hard constraints defined in the set C. Each constraint in C is defined as a function: constraintk (N ) = {violationkm : 0 ≤ m < Mk }, 0 ≤ k < K
(8)
where the violationkm are the Mk violations of constraintk in the current roster. Constraints may be one of five different types, and different parameters are used for each type. Each constraintk has a corresponding function description: constraintk = ConstraintT ypek [N urseT ypek , cparamk,1 , . . . , cparamk,Pk ], 0 ≤ k < K
(9)
where ConstraintT ypek is the type of constraint, N urseT ypek describes the types of nurses affected by the constraint, and cparamk,p , (p ∈ [1, Pk ]), are the Pk parameters specific to the constraint type. The parameters are enclosed in square brackets in order to denote that they are used to define the constraints. The five constraint types defined at the current stage of the research are: Cover[N urseT ype, shif t, min]: The Cover constraints together define the skill mixes required for different shifts. A minimum number of nurses (min) of a particular description (represented by the N urseT ype variable) must be assigned to a particular shift (shif t). For example, the early shift requires 4 qualified nurses; 4
M axDaysOn[N urseT ype, max]: MaxDaysOn constraints limit the number of days (max) that nurses may work in a row. For the QMC ward this is generally 6 for all nurses; M inDaysOn[N urseT ype, min]: MinDaysOn constraints define the minimum number of days (min) that nurses may work successively; Succession[N urseT ype, shif t1, shif t2]: Succession constraints define illegal shift combinations for nurses. It is not possible to work shifts of type shif t1 on one day followed by shifts of type shif t2 on the day after. A N IGHT shift followed by an EARLY shift is one such illegal combination, for all nurses; T otals[N urseT ype, period, max]: Totals constraints define the maximum number of hours (max) a nurse may work over a set number of days (period). For example, no nurse may work more than 75 hours in a fortnight (14 days). For example, a constraint which restricts the maximum number of consecutive days on which any nurse may work to six is written: M axDaysOn[hXN, ∗, ∗, ∗, ∗i, 6]
(10)
where the wildcard symbol * indicates that the field may take any value. When constraintk is applied to N it produces violations of the form: violationkm = ConstraintT ypek [vparamkm ,1 , . . . , vparamkm ,Pkm ], 0 ≤ km < Mk
(11)
where vparamkm ,p , (p ∈ [1, Pkm ]) are the Pkm parameters specific to the violation type. There are five different violation types that the constraints may generate when they are applied to the roster: Cover[N urseT ype, day, shif t]: There are insufficient nurses of the description N urseT ype assigned to shif t on day; M axDaysOn[nursei , startDay, numDays]: nursei is working too many shifts in a row starting on startDay for numDays days; M inDaysOn[nursei , startDay, numDays]: nursei is working too few shifts in a row starting on startDay for numDays days; Succession[nursei , day]: nursei has an illegal shift combination on days day and day + 1; T otals[nursei , startDay, endDay]: nursei is working too many hours between days startDay and endDay. Following the previous example of a M axDaysOn constraint (10), a violation involving nurse8 starting on day 0 for six days would be written: M axDaysOn[nurse8 , 0, 6]
(12)
A repair is defined as an action which alters the assignment of shifts for the nurses in N . The notation used is: repairn = RepairT ypen [rparamn,1 , . . . , rparamn,Pn ]
(13)
where rparamn,p , (p ∈ [1, Pn ]) are the Pn parameters specific to the type of repair. Three different repair operations have been identified for this rostering problem. They are the natural repairs that are most commonly used by rostering experts. Reassign[nursei , day, shif t]: Assign shif t to nursei on day; Swap[nursea , nurseb , day]: Interchange the shift assignments of nursea and nurseb on day; Switch[nursei , day1, day2]: Interchange the shift assignments of nursei on day1 and day2. For example, a repair which assigns the EARLY shift to nurse7 on day 3 would be written: Reassign[nurse7 , 3, E] 5
(14)
3
The Case-based Repair Generation Method
The Case-Based Repair Generation (CBRG) method was developed by the authors to capture examples of individual constraint violations and the repairs that were used by human experts to solve them [23]. The violations and repairs are stored as cases in a case-base and are used to solve new violations in new rosters. When a new violation is identified in a roster the case containing the most similar violation in the case-base is retrieved. The repair from the retrieved case is used to generate a set of possible repairs that could be performed on the current roster. These repairs are then compared with the repair from the retrieved case and the most similar is selected. The information stored within the case-base about violations and repairs is deliberately not roster specific. Hence, the experience stored about repairing the violations in one roster can be used to solve violations (of the same type) in any other roster, regardless of any staffing differences. It has been demonstrated in previous papers that the CBRG method can learn to imitate the rostering decisions of human experts [22] and that its accuracy increases as more experience is added to the case-base. A detailed mathematical description of the retrieval and adaptation methods is given in [23]. The method has also been combined with a tabu search mechanism to successfully solve a number of real-world nurse rostering problems [6]. In this paper we shall describe in detail only those parts of the methodology that are relevant to and affected by the feature weighting and selection algorithm. The structure of the cases in the case-base is described in Section 3.1, highlighting the non-roster-specific way that the violations and repairs are stored. In Section 3.2 the retrieval and adaptation algorithms are briefly described. The algorithm for measuring the accuracy of the case-base in terms of its ability to classify training cases is described in Section 3.3. 3.1
Case Storage
A case consists of information about one violation and the repair that was used to resolve that violation. The violation and repair structures defined in Section 2 are not stored directly in the case-base because they refer to a specific roster. Consequently, two alternative structures are defined in order to represent the non-specific information about violations and repairs that is stored inside each case. A case-base CB is a set of cases such that caseγ = hvγ , rγ i , γ ∈ Γ
(15)
where vγ and rγ represent a violation and a repair, respectively. In the case-base, a violation is defined as a duple vγ = hviolation′γ , vγ i , γ ∈ Γ
(16)
The first member of the duple represents structural information about the violation being stored. When a problem solving episode is stored in a case this structural information is extracted from the roster, and the violation being repaired, through a process called generalisation. This process identifies information about the violation which is not specific to the current roster. For example, only the N urseT ype information is stored about any nurses that are involved in the violation. The type of the violation and any shifts involved are also stored in this structure. The second member is a vector of feature values. These features represent statistical and shift pattern information about the violation and roster at the time it was being repaired. Different features are used depending on the violation type. These will be described in Section 4. Repairs are represented in cases in a similar way. A repair is defined 6
rγ = hrepairγ′ , rγ i , γ ∈ Γ
(17)
repairγ′
is the structural information generalised from the repair and rγ is a vector of where repair feature values. The generalised information stored in the case about the repair includes the N urseT ype of any nurses involved and the shifts assigned before and after the repair took place. As an example of the process of converting a violation and repair into a case, consider the following: violation = M axDaysOn[nurse8 , 0, 6] repair = Reassign[nurse8 , 3, U]
(18) (19)
where nurse8 = hhRN, F, H, ET, Ei, 37.5, N R8 , N P8 i. This violation and repair describe a scenario where a nurse had too many consecutive shift assignments, starting on day 0 for 6 days, which was rectified by changing the shift assignment on day 3 to UNASSIGNED. A case can be generated by generalising the violation and repair as follows: violation′ = M axDaysOn′ [hRN, F, H, ET, Ei] repair′ = Reassign′ [hRN, F, H, ET, Ei, E, U]
(20) (21)
In this case the generalised MaxDaysOn violation stores information about the type of nurse involved, while the repair records that the nurse originally had an EARLY shift on the day that the repair took place, and it was reassigned to UNASSIGNED. 3.2
Retrieval and Adaptation
The two key processing tasks used in the CBRG method to generate repairs to constraint violations are retrieval and adaptation. The retrieval process identifies the case containing the most similar violation to the current violation, referred to as the focus violation. The repair from this retrieved case is then adapted to solve the focus violation. The retrieval process begins after a focus violation, violationR , has been identified in the roster, R. This focus violation must first be generalised into hviolation′R , vR i so that it can be compared to the non-roster-specific violations in the case-base. The process then identifies the cases in the case-base whose violations match the structural information of the focus violation. These matching violations are then ranked according to the distance of their feature vector vγ from the feature vector of the focus violation, vR . Given a vector of feature weights w, distance is calculated using a weighted nearest neighbour function: v uF −1 uX w[i]fi (vγ [i], vR [i])2 (22) d(vγ , vR ) = t i=0
where fi (vγ [i], vR [i]) is the distance function for the ith feature and F is the total number of features. The definition of the distance function for each feature depends on the type of data used to represent the feature and this will be described in Section 4. The case returned by the retrieval process is referred to as the retrieved case. The adaptation process generates a set of candidate repairs by considering all possible repairs that can be performed on the roster. The candidate repairs are of the same type as the repair from the 7
Given case-base CB, initialise total := 0 initialise correct := 0 for all caseL ∈ CB total := total + 1 remove caseL from CB retrieve caseγ ∈ CB most similar to caseL ′ if repairγ′ = repairL then correct := correct + 1 end if restore caseL to CB end for return (100 × correct/total) Fig. 1. Pseudo-code for the algorithm for measuring classification accuracy
retrieved case and use the same types of nurses and shifts (this information is found in the repair′ structure of the retrieved case). Furthermore, it is ensured that any individual nurses specified in the focus violation are also included in the repairs. For example, if the focus violation involves a nurse, nursea , who is working too many hours over a period, then all the repairs that are generated for the candidate set must involve nursea . The candidate repairs are then generalised and ranked according to the distance of their feature vector, r, from the feature vector of the repair from the retrieved case. The weighted nearest neighbour function (Equation 22) is again used, with all weights equal in value.
3.3
Measuring Classification Accuracy
One of the most common ways to assess the performance of a CBR system is to measure its classification accuracy [29]. Although the CBRG method is more than simply a classification algorithm, this measure is still very important as it indicates how well CBRG identifies which type of repair to generate for a given violation. It is important that the method correctly classifies violations as this increases the likelyhood that the adaptation method will generate appropriate repairs. The classification accuracy of a case-base is measured by performing retrievals on the cases it contains (see Figure 1). A leave-one-out cross-validation strategy is used whereby a case is removed from the case-base and then passed to the retrieval algorithm as the focus case. The retrieval algorithm returns the most similar (nearest) case to the focus case. If the retrieved case and the focus case contain repairs with the same structural information then the focus case is deemed to be correctly classified. This operation is performed on every case in the case-base and the classification accuracy is measured as the percentage of correctly classified cases. An additional measure of classification accuracy is performed on the data in the case-base. This involves a random retrieval of cases from the case-base for each focus case. Instead of using the retrieval algorithm a random case is selected and compared to each focus case. The percentage of correctly classified cases is calculated and referred to as the random classification accuracy (RCA) of the case-base. It is useful to calculate this value to ensure that the CBR mechanism is doing more than just randomly selecting cases. Therefore it is important to ensure that the classification accuracy of a case-base is significantly higher than its random classification accuracy. 8
4
Violation Features
The first stage of the retrieval process chooses cases that are structurally the same as the focus violation. A large number of such cases can exist within a case-base and therefore it is necessary to rank them according to their violation features. The violation features are statistical characteristics of the roster and the violation. They can be seen as a ‘snap-shot’ of the state of the roster at the time the violation was repaired. They are considered to be important when making rostering decisions but their exact relationships with each other and with the decisions that are made are not known a priori. Nearest neighbour similarity measures such as those employed by case-based reasoning allow these relationships to be captured without the need for explicit representation [29]. In order to represent sufficient information about a roster and its violations a number of different types of data are used for the features. Four different types of features are used here: Real-Valued, Shift Pattern, On-Off Pattern, and Cover Array. The inclusion of features that are not real or integer valued also necessitates the definition of alternative difference measures. 4.1
Real-Valued Features
The real-valued features are statistical measurements of the roster and violation. They are normalised to the interval [0,1]. An example is the percentage of nurse preferences satisfied. The distance measure used for real-valued features is: f (a, b) = |b − a|
(23)
where a, b ∈ [0, 1]. 4.2
Shift and On-Off Pattern Features
A significant amount of the information needed to make rostering decisions is present in the working patterns of the nurses involved. Shift pattern features are arrays representing the shifts that an individual nurse works over a specific number of days. On-off pattern arrays are similar but only represent whether or not an individual nurse is working any shift on each day. The number of days can vary depending on the type of constraint violation that is being recorded in the case-base. The distance between patterns is calculated as the total number of positions in which the shift is different and is normalised by dividing by the pattern length. Given a = [a0 , a1 , . . . , aP −1 ] and b = [b0 , b1 , . . . , bP −1 ], f (a, b) =
P −1 1 X δ(ai , bi ) P i=0
(24)
where δ(ai , bi ) =
0 ai = bi 1 ai 6= bi
(25)
It may be unclear why both shift patterns and on-off patterns are defined as separate feature types. Shift patterns contain more information than on-off patterns but could potentially cloud the similarity measure if the extra detail is not relevant. Hence both types are included with the intention that the genetic algorithm will decide whether either or both types are useful to the retrieval process. 9
4.3
Cover Array Features
Cover arrays provide a data structure for storing information about the different types of nurse working a particular shift on a single day, or over a number of days. There are two types of cover array: ordinary cover arrays and average cover arrays. An ordinary cover array counts the number of nurses of different qualifications or specialty training working on a particular shift. The ordinary cover array x is defined as an array of integers: x = [[x0,0 , x0,1 , . . . , x0,S−1 ], [x1,0 , x1,1 , . . . , x1,S−1 ], . . . , [xD−1,0 , xD−1,1 , . . . , xD−1,S−1 ]]
(26)
where S is the number of different types of nurse and D is the number of days. For cover arrays measuring the number of nurses based on qualification level S will be equal to 7 (i.e. XN, SN, PN, AN, QN, EN, RN) and based on skill level S will equal 2 (ET or NT). The number of days that a cover array is measured over depends on the type of constraint violation for which it is being used. Cover arrays over several days are useful for storing shift pattern information around the day in which a violation occurs (for violations such as Cover, Succession, and MinDaysOn). They store information which indicates the possibility of different repair types that could take place around the violation. An average cover array records the mean of the number of nurses of each type over a specified period. It takes the same format as the ordinary cover array, but with D set to 1 and with realvalued elements. The distance measure for cover arrays takes into consideration the difference between each corresponding pair of elements. Given cover arrays a and b the difference function is defined as follows: f (a, b) =
D−1 S−1 1 X 1 X |bd,s − ad,s | D S s=0
(27)
d=0
When designing features for the nurse rostering problem it became evident that the definition of similarity of violations must include information about the scope for repair. For example, if the EARLY shift on a particular day is not sufficiently covered then information about the number of nurses of each type who are currently UNASSIGNED, or OFF, indicates how ‘easy’ it will be to solve the violation. The number of available nurses of each type is very relevant to decision making and should be captured by the case-base. Cover arrays provide a way in which to record shift pattern information about a large number of nurses. This can be illustrated with several examples. Consider the following seven day roster in Table 2. Table 2. An example roster Nurse N urseT ype 0 1 2 nurse0 hRN, M, H, ET, Ei E L E nurse1 hRN, F, H, N T, Di N N U nurse2 hEN, F, H, ET, Di U U N nurse3 hAN, F, H, N T, Bi E L U
3 E U N U
4 L E U E
5 U L U L
6 U E E U
The ordinary cover array that counts the nurses based on their qualification (XN, SN, PN, AN, QN, EN, or RN) for the EARLY shift on day 4 is: 10
[[2, 0, 2, 1, 1, 0, 1]]
(28)
indicating that there are 2 nurses (of any qualification), 0 student nurses, 2 employed nurses, 1 auxiliary nurse, 1 qualified nurse, and 1 registered nurse working the early shift on day 4. The cover array for unassigned shifts over the three day period from day 3 to day 5 is: [[2, 0, 2, 1, 1, 0, 1], [1, 0, 1, 0, 1, 1, 0], [2, 0, 2, 0, 2, 0, 2]]
(29)
Finally, the average skill mix for the unassigned shift over the seven day period based on specialty training is: [[1.57, 0.00, 1.57, 0.14, 1.14, 0.57, 0.57]]
(30)
indicating that there is an average of 1.57 nurses with unassigned shifts over the period, 0 student nurses, 1.57 employed nurses, 0.14 auxiliary nurses, and so on. 4.4
Features
The set of constraint violation features used for each violation type has grown throughout the development of the CBRG method. Features have been added and refined through experimentation and contact with the experts at the QMC. One of the goals of this paper is to discover which aspects of the roster are important when making rostering decisions by selecting the ‘best’ of the large number of violation features. The genetic algorithm described in this paper will reduce the number of features (perhaps significantly) and thus increase both the quality and efficiency of the CBRG method. Table 3 describes the features used for each violation type. The first column contains the feature descriptions, and the second, third, and fourth columns describe the nurses, shifts, and period (number of days), respectively, over which each feature is measured. The fifth and sixth columns give the abbreviation for each violation and the data type used to represent them. The final columns indicate the violations for which the features are used. Features can be measured over different combinations of nurses, shifts, and periods. The second column in Table 3 shows which nurses are considered for each feature. Features that measure over all of the nurses in the roster have ‘All’ in this column. The features who have ‘N urseT ype’ in this column consider only those nurses in the roster with type information that matches the N urseT ype variable of the violation. For example, if the violation describes a problem involving an enrolled nurse then the associated features will measure their statistics for all enrolled nurses in the roster. When ‘Specific’ appears in this column it indicates that the feature considers only the specific nurse involved in the violation. The first six features in the table are used by all of the violation types. They are general, real-valued statistics measured over the entire rostering period. They describe the overall state of the roster at the time the violation was repaired. The next four features are unique to cover violations and describe the number of hours that have been assigned to nurses on the day that the violation of the cover constraint took place. The final six real-valued features are used by all of the violation types except cover violations. They all measure the percentage of contract hours that are currently allocated within the period of the violation (the number of days over which the violation takes place) and also outside this period. These features are measured for all nurses, the specific nurse involved in the violation, and nurses of the same type as the nurse involved in the violation. The shift pattern feature is a feature of all of the violations except cover violations. It records the shift assignments of a particular nurse and is not used for violations of cover constraints as these do not involve a single identifiable nurse. Similarly, the on-off pattern feature is not used 11
to describe cover violations or succession violations. Succession violations always involve a two day period, both of which will always be assigned as ‘on’ shifts for the nurse, and consequently on-off pattern features are not useful. Eight features which use ordinary cover arrays to represent their values are used for cover violations, four of which count the nurses who have OFF shifts and four which count UNASSIGNED shifts. They measure cover on both the single day that the cover violation takes place and for five days around the violation (two days either side), for nurse qualification and specialty training. MaxDaysOn and Totals violations take place over larger periods (e.g. 14 days) and so average cover arrays are used. Four of these are defined, counting nurses who have OFF and UNASSIGNED shifts for both qualification and specialty training. Six average cover arrays are used for MinDaysOn violations, measuring cover around the period of the violation (i.e. over the period and one day either side) for EARLY, LATE, and NIGHT shifts. These are summarised in two lines on the table for brevity. This is also the case for the twelve ordinary cover array features used by the Succession violation. These are measured on both days of the violation separately for the OFF shifts and UNASSIGNED shifts as well as for the specific shift that the nurse had on the day. A large number of features have been described here. These features are predicted to have an impact on rostering decisions. The feature selection algorithm aims to reduce this number and identify the features that are most relevant for the nurse rostering problem.
5
Genetic Algorithm for Feature Weighting and Selection
The nearest neighbour distance function which is used in the retrieval process requires a good selection of features and an appropriate set of feature weights. The effect of an increase in the weight of a particular feature as an increase the influence that the feature has on the selection process. By decreasing their weighting, irrelevant features exert less influence on the calculation of the distance between cases, thus increasing the accuracy of the system. It is not always the case that a set of equal-valued feature weights is appropriate for any given case-base. The definition of a good set of feature weights is not a trivial problem. Manual selection of weights is a difficult task and can introduce unwanted bias to the classification process. The automated feature weighting algorithm used here is an adaptation of the GAWKNN algorithm proposed by Kelly and Davis [17]. This method uses genetic algorithms to find an optimal set of feature weights with respect to the classification accuracy of the case-base. Feature selection is effectively an extension of feature weighting. Feature weights set at zero (or close to zero) represent a deselection of the corresponding features. Feature selection introduces the concept of an optimal subset of features as an extension of the optimal set of feature weights. One of the major advantages of feature selection is the reduction in the dimensionality of the feature space. By selecting only those features that are most relevant to the problem the storage requirements of the case-base are reduced and the speed with which cases are retrieved is increased. The feature selection algorithm presented here works alongside the feature weighting algorithm, in a combination similar to that first suggested by Raymer et. al. in [24]. Genetic algorithms are optimisation tools based on the concepts of natural evolution. A population of solutions is manipulated through a number of generations according to the principals of natural selection. The solutions are represented as chromosomes which can be combined to produce offspring through crossover operations. Crossover operations use information from two or more parent chromosomes to generate new chromosomes. Members of the population can be altered between generations by applying local mutations to chromosomes. Members of a current population are selected for crossover and mutation according to their fitness - a measure of the quality of the solution that they represent. Members with higher fitness are more likely to be 12
Table 3. The features used to represent constraint violations in the case-base
13
Description Number of Violations Violation Magnitude Percentage Assigned Hours Percentage Assigned Hours Preference Satisfaction Preference Satisfaction Number of Assigned Hours Number of Assigned Hours Number of Unassigned Hours Number of Unassigned Hours Percentage of Assigned Hours Percentage of Assigned Hours Percentage of Assigned Hours Percentage of Assigned Hours Percentage of Assigned Hours Percentage of Assigned Hours Shift Pattern On-Off Pattern Qualification Cover Array Qualification Cover Array Qualification Cover Array Qualification Cover Array Specialty Training Cover Array Specialty Training Cover Array Specialty Training Cover Array Specialty Training Cover Array Average Qualification Cover Array Average Specialty Training Cover Array Average Specialty Training Cover Array Average Qualification Cover Array Average Qualification Cover Array Average Specialty Training Cover Array Qualification Cover Array Around Day1 Qualification Cover Array Around Day2 Specialty Training Cover Array Around Day1 Specialty Training Cover Array Around Day2
Nurse All =NurseType All =NurseType All =NurseType All =NurseType All All Specific Specific =NurseType =NurseType Specific Specific All All All All All All All All All All All All All All All All All All
Shift O O U U O O U U O O U U E/L/N E/L/N Specific/U/O Specific/U/O Specific/U/O Specific/U/O
Period All Days All Days All Days All Days All Days All Days 1 Day 1 Day 1 Day 1 Day Outside Period Period Outside Period Period Outside Period Period Period Period 5 Days Day 5 Days Day 5 Days Day 5 Days Day Period Period Period Period Around Around 4 Days 4 Days 4 Days 4 Days
Code W-Viol V-Mag W-G-Ass W-L-Ass W-G-Sat W-L-Sat D-G-Ass D-L-Ass D-G-Un D-L-Un O-G-Ass P-G-Ass O-N-Ass P-N-Ass O-L-Ass P-L-Ass P-N-Spat P-N-OOPat 5-O-QCA D-O-QCA 5-U-QCA D-U-QCA 5-O-SCA D-O-SCA 5-U-SCA D-U-SCA P-O-QCA P-O-SCA P-U-SCA P-U-QCA P-E/L/N-QCA P-E/L/N-SCA 4-S/U/O-QCA-1 4-S/U/O-QCA-2 4-S/U/O-SCA-1 4-S/U/O-SCA-2
Data Type Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Shift Pattern On-Off Pattern OCA OCA OCA OCA OCA OCA OCA OCA ACA ACA ACA ACA ACA ACA OCA OCA OCA OCA
Cover • • • • • • • • • •
MaxDaysOn • • • • • •
MinDaysOn • • • • • •
Succession • • • • • •
• • • • • • • •
• • • • • • • •
• • • • • • •
• • • • • • • • • • • • • • • • • •
To
selected than those with lower fitness and are therefore more likely to pass good solution information to the next generation. There is a large body of literature dedicated to the theory and practice of genetic algorithms. Some key texts are [15, 16, 21]. In this problem chromosomes are vectors of real and binary values. The vector can be split into four sections. The first section contains the real valued weights for each of the features. The remaining three sections represent binary feature selection variables - three for each feature. A voting system is used to determine if a feature is selected. At least two out of the three selection variables must have value 1 for the associated weighted feature to be used in the distance function given in Equation 22, otherwise the feature’s weight is set to 0 and the feature is excluded (deselected) from the distance function. The use of three sets of selection variables effectively smooths out the fitness landscape by reducing the impact of a change in the selection status of a feature on a chromosomes fitness [24]. Given violation feature vectors of dimension F , a member of a population is represented as: m = {w0 , . . . , wF −1 , f0,0 , . . . , f0,F −1 , f1,0 , . . . , f1,F −1 , f2,0 , . . . , f2,F −1 } {z } | | {z } feature weights feature selection sets
(31)
One-point crossover [11] was used to combine two parents with a 0.6 probability. This operation chooses a position on two chromosomes at random and then creates two children by swapping the parent’s values to the right of the selected position. Given two children x = {x0 , x1 , . . . , xZ−1 } and y = {y0 , y1 , . . . , yZ−1 }, and crossover point c ∈ [0, Z −1], where Z = 4×F (the number of features), the two children produced by a crossover of x and y are: x’ = {x0 , . . . , xc , yc+1 , . . . , yZ−1 } and
y’ = {y0 , . . . , yc , xc+1 , . . . , xZ−1 }
(32)
Parents were selected for crossover using a roulette wheel selection process [21]. In this method, individuals are selected with a probability equal to the proportion that their calculated fitness contributes to the sum of the fitness of all members of the population. Chromosomes are mutated by adding or subtracting a set amount from one of their weights, or by performing a NOT operation on a feature selection variable. Children undergo mutation with a 0.7 probability. Finally, an elitist strategy is used whereby the chromosome with the highest fitness is always passed on, without mutation, to the next generation. The fitness of an individual chromosome is calculated by first normalising the weight part of the chromosome so that the total sum of weights is equal to one. The chromosome is then converted into a standard weight vector by setting those weights to 0 whose feature selection variables vote for deselection. This weight vector is then used in the weighted nearest neighbourhood function and the classification accuracy of the case-base is calculated. The initial population is filled with randomly generated vectors. The feature selection variables are set randomly with no bias placed on how many features are selected. The feature weights of all members of the population vectors are normalised before the mutation and crossover operators are applied. The feature set used for each type of violation is different and so the algorithm must be run separately for each. The result of this is that each different violation type will have a different set of feature weights and a different subset of selected features. There are clear advantages to treating violations of different types separately in the case-base. It is intuitive that different information is needed to make decisions about different types of problems, and the separation of weighting and feature selection allows the appropriate emphasis to be placed on the relevant data. 14
6
Results
The algorithm was used to select features and feature weights based on a case-base trained using the expert rostering knowledge of nurses at the QMC. It was trained over two months on rosters involving 12 different constraints: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Cover: EARLY shifts require 4 Qualified Nurses Cover: EARLY shifts require 1 Registered Nurse Cover: EARLY shifts require 1 Eye-Trained Nurse Cover: LATE shifts require 3 Qualified Nurses Cover: LATE shifts require 1 Registered Nurse Cover: LATE shifts require 1 Eye-Trained Nurse Cover: NIGHT shifts require 2 Qualified Nurses Cover: NIGHT shifts require 1 Eye-Trained Nurse MaxDaysOn: The maximum number of consecutive shifts for nurses of any type is 6 MinDaysOn: The minimum number of consecutive shifts for nurses of any type is 2 Succession: An EARLY shift must not follow a NIGHT shift Totals: The maximum number of hours any nurse may work in a fortnight (14 days) is 75
This case-base contained 237 cases representing different numbers of each violation type: 97 Cover, 29 MaxDaysOn, 48 MinDaysOn, 29 Succession, and 34 Totals. The comparatively large number of cover violations reflects their prevalence within the rosters used to train the case-base. In this section three different approaches to feature selection and weighting are evaluated by measuring the classification accuracy of the CBRG method. Feature selections and weights generated by the genetic algorithm and by a simple local search algorithm are compared to a flat (all equal) weighting of the nearest neighbour function with all features selected. The local search method applies a simple greedy heuristic and includes no mechanism for avoiding local optima. It uses two neighbourhood definitions. The first generates neighbouring vectors by switching the selection status of each feature in turn. The second chooses a feature at random and generates neighbouring vectors by setting the weight of the feature to all values between 0 and 1 with a discretisation step of 0.1. At every iteration the best neighbour is selected from these two neighbourhoods. The search stops when no improvement is made for a number of iterations which was determined based on the size of the two neighbourhoods. The local search method is also applied to the GA generated weight vectors to ensure that these have been locally optimised. The genetic algorithm was run 20 times on the case-base, each time for 60 generations with a population size of 60. Table 4 shows the average (and standard deviation) classification accuracy of the case-base for each type of violation using the different weighting approaches. The bottom row gives the overall classification accuracy for the whole case-base (i.e. taking into account all violation types). The RCA and CBRG-1 columns show the random classification accuracy of the case-base (calculated 20 times) and the classification accuracy using flat weights, respectively. The results for the local search (CBRG-LS) and genetic algorithm (CBRG-GA) are presented in the fourth and fifth columns. The final column shows the results for the genetic algorithm followed by the local search (CBRG-GA+LS). It is clear from the results that the overall classification accuracy of the CBRG method is significantly increased by applying the feature weighting and selection algorithms. The results also verify that the flat weighted nearest neighbour similarity measure performs significantly better than a random selection strategy. The genetic algorithm produces consistently better weight vectors than the local search method due to its ability to escape bad local optima. The weight vectors produced by the local search method vary more considerably and this is evident in the larger standard deviations in the results produced. Furthermore, applying local search to the final solutions produced by the genetic algorithm did not increase performance in the vast 15
Table 4. Classification accuracy (with full initial feature set) Violation Type Cover MaxDaysOn MinDaysOn Succession Totals OVERALL:
RCA 47.42 (6.98) 18.97 (5.92) 21.88 (8.35) 25.07 (8.23) 18.46 (11.27) 31.88
CBRG-1 70.10 58.62 83.33 55.16 23.53 62.87
CBRG-LS 75.72 (3.69) 73.10 (4.82) 95.10 (3.72) 85.17 (4.67) 48.24 (5.68) 76.54
CBRG-GA 80.88 (1.48) 78.28 (2.98) 97.60 (1.02) 90.52 (2.47) 52.65 (1.88) 81.08
CBRG-GA+LS 80.88 (1.48) 78.92 (2.64) 97.60 (1.02) 90.52 (2.47) 53.15 (1.76) 81.23
Table 5. The average number of selected features (with full initial feature set) Violation Type CBRG-1 CBRG-LS CBRG-GA CBRG-GA+LS Cover 18 3.4 4.1 4.1 MaxDaysOn 18 2.8 2.9 2.9 MinDaysOn 20 3.1 3.7 3.7 Succession 25 2.6 3.1 3.1 Totals 18 3.6 3.2 3.2
majority of instances. This indicates that the genetic algorithm is capable of converging to good local optima. It should be noted that the classification accuracies for Totals constraint violations are significantly lower than for other constraint types. Totals violations usually occur over larger periods than other violations - typically 14 days. This low classification accuracy is a reflection of how difficult it is for the nearest neighbour distance measure to differentiate between different cases when data about so many days must be considered. Improving the performance of the CBRG method for Totals violations is the subject of on-going research. Table 5 shows the average number of features selected in the best solutions of each weighting algorithm. The random classification method does not use the feature sets and so is not included in the table. The results are shown for the flat weighting (i.e. the original feature set), the local search method, the genetic algorithm, and the genetic algorithm followed by local search. The feature weighting and selection algorithms all found good solutions with significantly smaller sets of selected features. The genetic algorithm selected slightly more features than the local search. This is probably due to the fact that if the local search deselects features very early on in the search it may be unable to re-select them without first reducing the overall quality of the weight vector. Its inability to escape local optima prohibits it from performing this kind of optimisation. When applied to the final solutions of the genetic algorithm the local search did not change the number of selected features in any instance. This re-enforces the conclusion that the genetic algorithm is capable of converging to local optima in the search space. Each run took approximately half an hour on a machine with an Intel Pentium 4 - 3.0GHz processor. This large run time was in part due to the large number of features used for each type of violation. The most computationally expensive operation of the algorithm is the calculation of chromosome fitness. One goal of this work is to reduce the number of features that are stored in cases. This will reduce the runtime to operationally feasible levels and potentially allow the algorithm to achieve even better classification accuracy by re-weighting and selecting from the relevant subset. In order to test this hypothesis a further round of experiments was performed on a refined subset of the features. 16
Table 6. Classification accuracy (with refined initial feature set) Violation Type CBRG-1 Cover 78.35 MaxDaysOn 72.41 MinDaysOn 91.67 Succession 86.21 Totals 50.00 OVERALL: 77.22
CBRG-LS 79.43 (4.20) 78.44 (3.33) 97.81 (0.47) 89.83 (2.62) 53.09 (1.50) 80.53
CBRG-GA 81.96 (0.85) 82.06 (1.80) 97.92 (0.00) 93.10 (0.00) 54.12 (1.48) 82.57
CBRG-GA+LS 81.96 (0.85) 82.06 (1.80) 97.92 (0.00) 93.10 (0.00) 54.12 (1.48) 82.57
Table 7. Average number of selected features (with refined initial feature set) Violation Type CBRG-1 CBRG-LS CBRG-GA CBRG-GA+LS Cover 5 3.0 3.8 3.8 MaxDaysOn 8 3.3 3.5 3.5 MinDaysOn 11 3.0 4.1 4.1 Succession 9 3.4 3.7 3.7 Totals 4 2.6 2.2 2.2
The refined sets of features were determined using the results of the initial experiments. A simple selection heuristic was applied based on two conditions. A feature was retained in the refined set if one of the following conditions was true: 1. It was selected in at least half of the ten best performing solutions produced by the genetic algorithm over the 20 runs; 2. It was selected in the best solution produced by the genetic algorithm over the 20 runs. A new case-base was then created with cases which included only these features in their violation feature vectors. The feature weighting and selection algorithms were then applied to the new case-base. The genetic algorithm was then run 20 times for 50 generations and with a population size of 50. Each run of the algorithm took less than 5 minutes. Table 6 shows the classification accuracy of the CBRG method using flat weights, local search, the genetic algorithm, and the genetic algorithm followed by the local search. The average number of features selected by each algorithm is presented in Table 7. The genetic algorithm outperforms the other weighting methods for all of the violation types. The solutions it produced from the refined set of features are significantly better than the solutions it produced using the larger set, with greatly reduced run-times. The classification accuracy of the CBRG method using flat weights is also improved for the refined feature set. The local search is again unable to find solutions of as high a quality as the genetic algorithm although the difference between them is not as large. Applying the local search after the genetic algorithm lead to no improvement in fitness for any violation type. Although the reduction in the numbers of features selected was less significant for this experiment it is of interest that only around half of the features in the refined sets were selected in the best solutions. Figures 2 to 6 show the best set of weights discovered by the genetic algorithm for each violation type. For each violation type the following observations are made: Cover. The 20 solutions produced by the genetic algorithm for the large initial feature set displayed a high degree of homogeneity and consequently the refined feature set chosen by the feature selection conditions was relatively small. Indeed the best solutions of the 20 17
Fig. 2. Feature weights for Cover Violations
Fig. 3. Feature weights for MaxDaysOn Violations
18
Fig. 4. Feature weights for MinDaysOn Violations
Fig. 5. Feature weights for Succession Violations
19
Fig. 6. Feature weights for Totals Violations
runs on the refined set selected all five features. The largest weight was given to W-G-Ass, the percentage of assigned hours for all nurses over the whole roster. This could indicate that the order in which violations are repaired is being captured by the case-base. Early in the rostering process, when fewer nurses have assigned shifts, cover violations are more easily solved using highly qualified nurses. This is not the case later in the process when less qualified nurses must be assigned due to previous rostering actions. Information about the qualifications of nurses who have UNASSIGNED shifts on the day of the violation (D-U-QCA), and around the violation (5-U-QCA) is also important when repairing cover violations. MaxDaysOn. A further ‘refinement’ of the features was carried out by the genetic algorithm during the second round of experiments. Four of the features which were including in the refined set by the selection conditions were deselected in the best solution produced during the second 20 runs. The most important features according to the weighting were O-L-Ass, the percentage of hours assigned to nurses of the same type as the nurse involved in the violation on days outside the period of the violation, and P-U-SCA, the specialty training cover array over the period of the violation counting nurses who have the UNASSIGNED shift. This shows that the level of shift assignment both inside and outside the violation period is used to make repairs of MaxDaysOn violations. It is also evident that the specialty training of other nurses during the period of the violation must be considered. This reflects the fact that swap operations are frequently used to repair these violations. MinDaysOn. A large number of features were included in the refined set by the selection conditions. However, in the best solution of the second round of experiments only two of these were selected. P-N-SPat received the larger weight, showing that the shift pattern that the nurse has over the violation period is very important when choosing which repair to use. Succession. Again, only two features from the refined set were selected in the best solutio over the second 20 runs of the genetic algorithm. The most important feature describing the Succession violation is the specialty training cover array measured over four days around the second day of the violation counting nurses who have the UNASSIGNED shift (4-U-SCA-2). The bad succession described by the violations in the case-base was NIGHT-EARLY. The weighting shows that most repairs are made by considering the possibilities for swapping the EARLY shift to another nurse (i.e. one with an UNASSIGNED shift if possible) and leaving the NIGHT shift where it is. 20
Totals. Of the four features included in the refined set three were selected by the second round of experiments. The most important of these was O-N-Ass, which measures the percentage of assigned hours outside of the period of the violation. It is difficult to explain this result and the low classification accuracy for Totals violations indicates that more relevant features must be designed.
7
Conclusion
This paper has described a method for the automated selection and weighting of features for a case-based reasoning approach to nurse rostering. A genetic algorithm is used to find a subset of weighted features by searching for combinations of features and corresponding feature weights that increase the overall classification accuracy of the case-base retrieval method. The increase in classification accuracy improves the quality of the repairs that are generated by the CBRG method by ensuring that the repair types, and the subsequent nurses, days, and shifts involved, are more likely to be appropriate for the constraint violations they are used to repair. At the same time, the decrease in the number of features used to represent cases in the case-base reduces the time needed for retrieval. The results of the test using the genetic algorithm on real-world data has also provided an insight into the nature of manual nurse rostering. The relative importance of features present in the roster to the making of rostering decisions has been determined. This kind of information could be very beneficial to other researchers who are developing nurse rostering algorithms. Meta-heuristic approaches, in particular, could benefit from the use of such knowledge in the defining of neighbourhood structures and evaluation functions. For example, information about the staff qualification levels and training should be considered when performing swap operations on shifts or shift patterns between nurses. The case-based repair generation method is enhanced by the inclusion of automatically determined feature weights. One of the fundamental characteristics of the method is its ability to adapt to the operational priorities of different nurse rostering experts. Automatic weighting and feature selection increases this ability by focusing on the data that is important from a given case-base of experience. Further research is needed to determine the nature of the solution space of the genetic algorithm - particularly the frequency of local optima and their proximity to each other. There are a number of mechanisms which could be included in the genetic algorithm to further improve its ability to escape local optima. The efficiency of the fitness evaluation must be improved either analytically or by implementing sensible heuristics for approximating chromosome fitness.
8
Acknowledgements
This research is supported by the Engineering and Physical Sciences Research Council (EPSRC) in the UK (grant number GR/N35205/01) and by the Queen’s Medical Centre University Hospital Trust, Nottingham.
References 1. S Abdennadher and H Schlenker. INTERDIP – an interactive constraint based nurse scheduler. In Proceedings of The First International Conference and Exhibition on The Practical Application of Constraint Technologies and Logic Programming, PACLP, 1999. 2. D W Aha. Tolerating noisy, irrelevant and novel attributes in instance-based learning algorithms. International Journal of Man-Machine Studies, 36:267–287, 1992.
21
3. J Bailey. Integrated days off and shift personnel scheduling. Computing and Industrial Engineering, 9(4):395–404, 1985. 4. R N Bailey, K M Garner, and M F Hobbs. Using simulated annealing and genetic algorithms to solve staff scheduling problems. Asia-Pacific Journal of Operational Research, 14:27–43, 1997. 5. N Beaumont. Scheduling staff using mixed integer programming. European Journal of Operational Research, 98:473–484, 1997. 6. G R Beddoe and S Petrovic. A novel approach to finding feasible solutions to personnel rostering problems. In Proceedings of the 14th Annual Conference of the Production and Operation Management Society, Savannah, Georgia, United States, 2003. 7. E K Burke, P De Causmaecker, and G Vanden Berghe. A hybrid tabu search algorithm for the nurse rostering problem. In Selected Papers from the 2nd Asia Pacific Conference on Simulated Evolution and Learning Volume, volume 1585 of LNAI, pages 187–194. Springer Verlag, 1998. 8. E K Burke, P De Causmaecker, S Petrovic, and G Vanden Berghe. Fitness evaluation for nurse scheduling problems. In Proceedings of the 2001 IEEE Congress on Evolutionary Computation, Seoul, Korea, pages 1139–1146. 9. E K Burke, G Kendall, and E Soubeiga. A tabu-search hyperheuristic for timetabling and rostering. accepted for publication in Journal of Heuristics, 2003/4. 10. B M W Cheng, J H M Lee, and J C K Wu. A constriant-based nurse rostering system using a redundant modeling approach. Technical report, Department of Computer Science and Engineering at The Chinese University of Hong Kong, 1996. 11. D Bull D Beasley and R Martin. An overview of genetic algorithms: Part 1, fundamentals. University Computing, 15(2):58–69, 1993. 12. Kathryn Dowsland. Nurse scheduling with tabu search and strategic oscillation. European Journal of Operational Research, 106:393–407, 1998. 13. A Duenas, N Mort, C Reeves, and D Petrovic. Handling preferences using genetic algroithms for the nurse scheduling problem. In Proceedings of The First Multidisciplinary International Conference on Scheduling: Theory and Applications (MISTA), volume 1, pages 180–196, 2003. 14. B V Dasarathy (Ed). Nearest neighbor(NN) norms: NN pattern classification techniques. IEEE Computer Society Press, 1991. 15. D Goldberg. Genetic algorithms in search, optimisation, and machine learning. Addison Wesley, 1989. 16. J Holland. Adaption in natural and artificial systems. MIT Press, 1975. 17. J D Kelly Jr and L Davis. A hybrid genetic algorithm for classification. In Proceedings of the International Joint Conference on Artificial Intelligence, pages 645–650, 1991. 18. J L Kolodner. Case-Based Reasoning. Morgan Kaufmann Publishers Inc., 1993. 19. L I Kuncheva and L C Jain. Nearest neighbor classifier: simultaneous editing and feature selection. Pattern Recognition Letters, 20:1149–1156, 1999. 20. H Meyer auf’m Hofe. Solving rostering tasks as constraint optimization. In Selected Papers from the 3rd international conference on Practice and Theory of Automated Timetabling (PATAT), Lecture Notes on Computer Science, pages 280–297. Springer-Verlag, 2000. 21. Z Michalewicz and D B Fogel. How to Solve It: Modern Heuristics. Springer, 2000. 22. S Petrovic, G R Beddoe, and G Vanden Berghe. Case-based reasoning in employee rostering: learning repair strategies from domain experts. Technical Report NOTTCS-TR-2002-4, Automated Scheduling Optimisation and Planning Research Group, School of Computer Science and Information Technology, University of Nottingham, 2002. 23. S Petrovic, G R Beddoe, and G Vanden Berghe. Storing and adapting repair experiences in employee rostering. In Practice and Theory of Automated Timetabling IV - Selected Papers from PATAT’2002, volume LNCS2740 of Lecture Notes in Computer Science, pages 149–166. Springer Verlag, 2003. 24. M L Raymer, W F Punch amd E D Goodman, L A Kuhn, and A K Jain. Dimensionality reduction using genetic algorithms. IEEE Transactions on Evolutionary Computation, 4:164–171, 2000. 25. S Salzberg. A nearest hyperrectangle learning method. Machine Learning, 6:251–276, 1991. 26. S Scott and R Simpson. Case-bases incorporating scheduling constraint dimensions - experiences in nurse rostering. In Advances in Case-Based Reasoning - EWCBR98, Lecture Notes in Artificial Intelligence. Springer Verlag. 27. D B Skalak. Prototype and feature selection by sampling and random mutation hill climbing algorithms. In Proceedings of the International Conference on Machine Learning, 1994.
22
28. M Warner. Scheduling nursing personnel according to nurse preference: A mathematical programming approach. Operations Research, 24:842–856, 1976. 29. D Wettschereck, D W Aha, and T Mohri. A review and empirical evaluation of feature weighting methods for a class of lazy learning algorithms. Artificial Intelligence Review, 11(1):273–314, 1997. 30. A Wren. Scheduling, timetabling and rostering - a special relationship? In E Burke and P Ross, editors, Practice and Theory of Automated Timetabling, volume LNCS 1153 of Lecture Notes in Computer Science, pages 46–75. Springer Verlag, 1996.
23