A DIFFERENTIAL EVOLUTION ALGORITHM DEVELOPED FOR A NURSE SCHEDULING PROBLEM

Nurse scheduling is a type of manpower allocation problem that tries to satisfy hospital managers’ objectives and nurses’ preferences as much as possible by generating fair shift schedules. This paper presents a nurse scheduling problem based on a real case study, and proposes two meta-heuristics – a differential evolution algorithm (DE) and a greedy randomised adaptive search procedure (GRASP) – to solve it. To investigate the efficiency of the proposed algorithms, two problems are solved. Furthermore, some comparison metrics are applied to examine the reliability of the proposed algorithms. The computational results in this paper show that the proposed DE outperforms the GRASP.

Manpower scheduling is a challenging problem in which an extensive field of research has been done since the 1970s, dealing with different aspects in management sciences and operational research.It is a managerial process in which the required manpower level for each craft or skill is selected to complete the work in the most effective manner.Proper scheduling, therefore, leads to increased efficiency, maximum use of the capacity of the resources, less time to finish the work, and increased profitability in the organisation.
Manpower scheduling is classified into three groups: individual scheduling (nurse, physician, surgery, and the like); personnel scheduling; and group scheduling (crew, etc).Providing a schedule that almost satisfies all constraints and objectives is often troublesome, and needs specialised knowledge.Different classifications of manpower are observed in industrial and service environments, including homogeneous and heterogeneous, part-time and full-time, skilled and unskilled workforces, and so on [21,36,49,52].Manpower scheduling and simultaneous allocation have been much considered by researchers.For instance, Cerulli et al. [17] introduced a mathematical model for scheduling and allocating workforces.Emmons & Fuh [25] scheduled full-time and part-time workforces, taking vacations and weekends into account.Blochliger [13] also presented a tutorial for staff scheduling problems.
Selecting a suitable solution method is another important matter in scheduling.Alfares [6] suggested a two-phase algorithm based on mathematical models to schedule manpower, taking cyclic days-off into consideration.Lagodimos et al. [32] used greedy heuristic algorithms.Akjiratikarl et al. [5] introduced a particle swarm optimisation-based algorithm to schedule home care workers in the UK to minimise the total distance travelled by all workers.Musliu et al. [37] also stated that network flow, a combination of management science and artificial intelligence techniques, and mixed approaches joining constraint satisfaction and local improvement algorithms, are just some of the approaches that have been applied so far to solve manpower scheduling problems.Ernst et al. [26] examined literature reviews, applications, models, and algorithms of manpower scheduling, and finally proposed some points for future research.
As mentioned before, a nurse scheduling problem (NSP) is a kind of manpower allocation problem that deals with demand oscillations on different days and shifts.This problem requires hospitals to use their nurses efficiently.On the other hand, shift scheduling must be done so that it provides the opportunity for all nurses to have a safe social life in order to maintain their morale.
An NSP tries to distribute the workload fairly among nurses, reduce the costs, and satisfy both the nurses' preferences and those of the hospital managers.Sometimes these objectives conflict with each other.Nurses' preferences may not be completely satisfied and hospital managers may be forced to pay some penalties.Since hospital managers are often under pressure to control costs, satisfy the nurses, and deliver high-quality services, developing an appropriate nurse scheduling can balance these pressures and use the nurses more effectively.
Over the years, a wide range of models and solution approaches have been developed to deal with NSP.An extensive overview of NSP can be found in Cheang et al. [18] and Burke et al. [15].
As a general rule, nurse scheduling can be categorised into centralised, self, and cyclical scheduling.Two major advantages of centralised scheduling [24,44,46,54] are: (1) fairness to employees through consistent, objective, and impartial application of policies, and (2) opportunities for cost containment through better use of existing resources.When head nurses or unit managers are responsible for generating the schedules locally, it is called 'unit scheduling' [2,14,23,33,34,45].In this case, nurses usually get more personalised attention.Self-scheduling is a manual process [35,43] that takes more time than automatic scheduling.Nurses cooperate and are asked for advice.It is usually performed by the personnel members themselves and coordinated by the head nurse of a ward.In cyclical scheduling, each nurse works a cycle of a number of weeks [11,30].Nurses know their schedule in advance, and the same shift schedule patterns are used over an extended time.Unfortunately, this type of scheduling cannot incorporate many flexible features or personal preferences unless major modifications take place.
Over the last few decades, various approaches have been applied to solve NSP.The more common methods that are applied are mathematical programming, meta-heuristic, and artificial intelligence approaches.
Mathematical programming models are employed to solve NSP using traditional methods that guarantee to find an optimal solution.Azaiez & Al Sharif [9] developed a 0-1 linear goal programming model for nurse scheduling in Riyadh Al-Kharj hospital (in Saudi-Arabia) that considered hospital objectives and nurses' preferences.Bard & Purnomo [10] used a column generation approach, including a combination of integer programming and heuristics, to solve a multi-objective nurses' preference scheduling model.Glass & Knight [28] solved four nurse rostering benchmark problems using mixed integer linear programming.They reduced the solution space of the problems and obtained optimal solutions for all instances within a practical execution time.Topaloglu & Selim [50] presented a novel multi-objective integer programming model for NSP.They converted the presented model to three fuzzy goal programming models using different fuzzy solution approaches.
In real-size problems, mathematical programming approaches are faced with computational difficulties due to increasing complexity.To overcome this, meta-heuristic methods have been developed by some researchers.Meta-heuristics strive to obtain good solutions within a reasonable time, although they cannot be guaranteed to find optimal solutions.Metaheuristics have been employed in solving NSP since the 1990s.Bellanti et al. [12] suggested a tabu search procedure completed by a greedy procedure to avoid generating infeasible solutions to the NSP.Aickelin & Dowsland [3] presented a genetic algorithm coupled with a decoding routine for solving an NSP at a major UK hospital.Gutjahr & Rauner [29] used an ant colony optimisation approach for a dynamic regional NSP at the Vienna hospital compound.Chiaramonte & Chiaramonte [19] recommended a new heuristic using a competitive agent-based negotiation that focuses on nurse preferences.Tsai & Li [51] extended a two-stage mathematical modeling for an NSP using genetic algorithms.Burke et al. [16] combined integer programming and variable neighborhood search to solve a highlyconstrained NSP.
Artificial intelligence is another approach to solving NSP.Meyer auf'm Hofe [34] applied hierarchical constraint programming for nurse scheduling where legal regulations and the preferences of nurses were hard and soft constraints respectively.Abdennadher & Schlenker [1] presented an interactive constrained based scheduler that assigned a working shift to each nurse on each day of a planning horizon.
NSP is a complex combinatorial optimisation problem.Factors that make this problem complex are the organisational structure and characteristics, work agreements, nurses' recruitment, different skill levels of nurses, substitution of skill levels, working preferences, patient necessities, circumstances in particular nursing units, and so forth.Since most NSPs in the real world are NP-hard [19,31,39,55], traditional methods (e.g.mathematical programming) are generally used to solve small problem instances.The high level of computational complexity of NSP has been widely recognised in the nurse scheduling literature, and has led some authors to develop meta-heuristic solution methods.
An almost new meta-heuristic algorithm, called differential evolution (DE), is used to solve the given problem in this paper.DE was first introduced by Storn & Price [47,48].DE is a mathematical global optimisation method, based on population generation, which tries to minimise the non-linear and non-differentiable continuous space functions as much as possible.In order to examine the performance of the proposed DE algorithm, the problem is also solved by another meta-heuristic -the greedy randomised adaptive search procedure (GRASP) -that was introduced by Feo & Resende [27] and Resende [42].The results are subsequently compared.
The rest of this paper is organised as follows.Section 2 deals with the formulation of the proposed nurse scheduling model.An effective DE algorithm to solve the problem, and a GRASP algorithm to compare the related results, are presented in Section 3. The computational results and validation of the proposed solution methods are found in Section 4. Finally, Section 5 provides some concluding remarks.

FORMULATION OF PROPOSED NURSE SCHEDULING MODEL
The proposed nurse scheduling model is based on the rules used in the maternity ward of Sina Hospital in Isfahan City, Iran, to schedule nurses in that ward.Nurses are assigned to work in three shifts: a six-hour morning shift, a six-hour afternoon shift, and a 12-hour night shift.The planning horizon is 35 days (five weeks).Nurses are classified into three skill levels: nurse, auxiliary nurse, and co-auxiliary nurse.The highest and lowest skill levels are 'nurse' and 'co-auxiliary nurse' respectively.Each nurse at a higher skill level can be assigned to work at his/her real skill level, or at any lower skill level, but not more than one skill level in a shift.If a nurse is assigned to work at a lower skill level than his/her real skill, hospital managers are forced to pay a penalty.There are limitations on the daily, Friday, weekly, and monthly work hours for nurses.Deviation from the determined weekly work hours is permitted if needed.The total number of required nurses at any skill level in each shift per day is pre-determined.Each nurse cannot be assigned to work for more than 12 hours consecutively.Therefore, nurses cannot be assigned to work the afternoon and night shifts of the same day, or a night shift of a considered day and the morning shift of the next day successively.Nurses are limited to a maximum number of night shifts during the planning period.Also, each nurse who works three night shifts in a row should be off for at least two days to rest.From an efficiency point of view, nurses should not be assigned to work between the two days off, but deviation from this rule is permitted if needed.Nurses prefer to rest for some days or for some shifts determined by them at the beginning of planning.But sometimes, due to the lack of qualified nurses for a shift, they may be assigned to work the days or shifts when they would have preferred to rest.

Notations
The following notations are used in the presented model.

2𝑖
Deviation from upper bound on the total number of hours worked by nurse i during a week

3𝑖
Deviation from off-on-off for nurse i

4𝑖
Deviation from days/shifts that nurse i is interested in taking a rest

Decision variable
1, if nurse i is assigned to work at skill level s in shift j on day k; otherwise 0    1, if nurse i is assigned to work three successive night shifts on days k-2, k-1, and k; otherwise 0

•
The first objective is to minimise the sum of deviations from lower and upper bounds on the total number of hours worked by nurses during a week: ||  2 =1

•
The second objective is to minimise the sum of deviations from off-on-offs for nurses:

•
The third objective is to minimise the sum of deviations from days/shifts that nurses are interested in taking a rest:

•
The fourth objective is to minimise the nurses' assignment at lower skill levels than their real skill:

Constraints
In the presented model, constraints are divided into hard constraints that must be satisfied in all cases, and soft constraints that may be violated so that a feasible schedule can be obtained.

•
Lower and upper bound on the total number of hours worked by each nurse on a day: • Lower and upper bound on the total number of hours worked by each nurse during the planning period: • Lower and upper bound on the total number of hours worked by each nurse on Fridays during the planning period: • Each nurse can be assigned to work at his/her real skill level or any lower skill level in each shift per day: • Total number of required nurses at any skill level in each shift per day: • Each nurse cannot be assigned to work for more than 12 hours consecutively: • Each nurse cannot be assigned to work at more than one skill level in each shift per day: • Maximum number of night shifts that each nurse can be assigned to work during the planning period: • Each nurse cannot be assigned to work more than three successive night shifts: • Each nurse should be off for at least two days after working three successive night shifts: The constraints (19) to (22) ensure that: = 1, if nurse i is assigned to work three successive night shifts on days k-2, k-1, and k; otherwise 0.
Then, the rule is verified by adding the following constraints:

•
Lower and upper bound on the total number of hours worked by each nurse during a week: • Each nurse should not be assigned to work between two days off (off-on-off is not allowed): • Each nurse is interested in taking a rest in pre-determined days/shifts:

Simplification of the presented nurse scheduling model
Objective functions and soft constraints of the presented model can be rewritten as follows: which are subject to the constraints (5) to (24).

META-HEURISTIC SOLUTION METHODS
The DE technique, which belongs to the class of evolutionary algorithms, is established on the principles of mutation, crossover, and selection [47,48].It is based on a special way of creating new individuals.Mutation and crossover operators are used to generate new individuals, and the selection operator chooses the best generated individual for the next generation.This algorithm, which has recently become increasingly popular, is very efficient.For instance, Pan et al. [40] presented a discrete DE algorithm to solve the permutation flow-shop scheduling problem with total flow-time criterion.Damak et al. [22] recommended a DE algorithm to solve the resource-constrained project scheduling problem with multiple execution modes for each activity and minimisation of the makespan.Wang et al. [53] presented a new hybrid discrete DE algorithm to solve the blocking flow-shop scheduling problems in order to minimise the maximum completion time.Pan et al. [41] also developed an effective hybrid discrete DE algorithm to minimise the maximum completion time for a flow-shop scheduling problem, with intermediate buffers located between two consecutive machines.
In order to investigate the quality of generated solutions by the proposed DE in this paper, a GRASP algorithm is also applied to solve the given problem.GRASP is a meta-heuristic that is characterised by multiple initialisations [27,42].In this algorithm, a feasible solution is initially obtained, and then is improved by a local search technique.This process is repeated in an iterative manner to reach the best solution.Some applications of the GRASP algorithm are observed in [4,7,8,38].The proposed structures of both algorithms are thoroughly explained.

The proposed structure of the DE algorithm
The proposed structure of DE in pseudo-code format is as follows: Initialise initial population.
Initialise Pareto Archive set so that it is empty.For counter=1 to max-iteration (e.g., 100) For each solution in the population Create a mutant matrix for each solution in the current population.
Apply crossover operator and select elements of a solution.
Apply repair method to construct a feasible solution.
Apply feasibility check procedure for generated solutions in the previous step.

End for
Apply improvement procedure on the generated new solutions.Apply feasibility check procedure on the outputs of improvement procedure.Update Pareto Archive set.End for Return Pareto Archive set.

End DE }
The initialisation method, mutant operator, crossover operator, repair procedure, solution feasibility check procedure, solution improvement procedure, and Pareto Archive updating procedure propounded in the above pseudo-code are described in subsections 3.1.1 to 3.1.7below.

Initialisation method
The initial solutions generation method that can produce high quality and feasible initial population has been designed as follows: { Repeat the following procedure equal to the required number of initial solutions (e.g., 100 times): For each Morning shift of planning period Assign nurses randomly from among the nurses who are able to work (from the feasibility viewpoint) and also prefer to work on the considered day until the demand for all skill levels is met.

End for For each Afternoon and Night shift of planning period
Assign nurses randomly from among the nurses who are able and prefer to work on the considered day, and also have been assigned to fewer shifts so far, until the demand for all skill levels is met.
If no qualified nurse is found to assign Assign nurses randomly from among the nurses who are able to work but do not prefer to work on the considered day, and also have been assigned to fewer shifts so far, until the demand for all skill levels is met.

End if
End for End }

Mutant operator
In a similar way to the genetic algorithm (GA), the parent and offspring theory is used to search in the solution space.In this paper, a mutant matrix is produced for each solution as follows [53]: { For each solution   in the population Generate two indices j and k that are non-equal to i randomly.Consider two solutions   and   and obtain a new solution (a mutant matrix) by using solutions   and   according to Equation (37): End For } where A, which is used to control the population's evolution rate, is greater than 1 (e.g., 2) and rand is a random number in the interval [0,1].Note that each generated mutant matrix   corresponds to a solution   .

Crossover operator
Once the mutant matrix is produced in the DE algorithm, the crossover operator must be specified for each solution structure too.In this paper, the crossover operator is defined by Equation (38): where cr is a random number in the interval [0,1], and   is a matrix whose elements are generated randomly in the interval [0,1] for each   and   .Obviously   has the same size as   .It should be noted that Equation ( 38) is applied to each solution   and to its corresponding mutant matrix   in order to obtain a matrix   .

Repair procedure
There is a matrix   for each solution   and its corresponding   that is used to convert solution   to a feasible one by using a repair procedure.Each element of   includes a number that has been generated by applying mutant and crossover operators.These elements are used to prioritise the nurses who will be assigned to shifts.The repair procedure is applied to all solutions to produce new feasible ones where possible.

{ For each solution 𝑠 𝑖 in the population
For each required skill level in each shift of planning period.Assign a nurse who is able to work in the considered shift and whose corresponding element in matrix   is smaller than the other qualified nurses.
If no qualified nurse is found to assign to the considered skill level Do not assign any nurse.

End if End for
If some required skill levels for some shifts of solution   have not been met Consider   as an infeasible solution and apply feasibility check procedure on it in order to convert it to a feasible one if possible.

Solution feasibility check procedure
Since new solutions are generated while running the proposed DE algorithm, a procedure has been designed to check the satisfaction of all constraints for the generated solution, which tries to convert an infeasible solution to a feasible one if possible.This procedure is expressed as the following: { For each generated solution   If a nurse has been assigned to work for more than 12 hours consecutively Cancel some of his/her assignments so that the violated constraint is satisfied, and then assign a qualified nurse instead.End if If a nurse has been assigned to work after working the maximum number of successive night shifts Cancel some of his/her assignments so that the violated constraint is satisfied, and then assign a qualified nurse instead.For the rest constraints, nurses are assigned in this manner, and the schedules change as much as possible until all constraints are satisfied.If assigning a nurse while taking all conditions into consideration is not possible, this solution cannot be converted into a feasible one, and the procedure will end.

Solution improvement procedure
This procedure improves all generated feasible solutions, as far as possible.Three neighborhood search operators (NSO1, NSO2, and NSO3) are used in parallel to improve the feasible solutions as below: The applied NSOs are defined as follows: • NSO1: A nurse is selected randomly.If he/she has been assigned to work some shifts/days that he/she prefers to rest, his/her assignment will be cancelled for that shift/day and another nurse who is able to work this shift/day will replace him/her.• NSO2: A nurse is selected randomly and his/her assignments are checked for all shifts.If this nurse has been assigned to work at a lower skill level than his/her real skill in a shift, his/her assignment will be cancelled for this shift and a qualified nurse in the same shift will replace him/her if possible; or his/her assignment will be displaced with a nurse who has been assigned to work in the same shift at a skill level closer to the considered skill level.• NSO3: The assignment of nurses who have been assigned to work between two offdays is cancelled, and is replaced by some qualified nurses, if possible.
It should be mentioned that the improvement procedure is even applied to the infeasible solutions obtained by the NSOs in order to convert them to feasible ones.If this conversion is impossible, the solution   will be considered as the output of the improvement procedure.The population acquired by the improvement procedure is regarded as the population of the next iteration, after checking the feasibility.

Pareto Archive updating procedure
In any iteration, non-dominated solutions are stored in a set called the Pareto Archive.The best solution obtained in each iteration is compared with the solutions existing in the Pareto Archive set by using non-dominated relations.The selected non-dominated solutions are then considered as a new Pareto Archive.

The proposed structure of the GRASP algorithm
The general structure of the GRASP algorithm is as follows:

End GRASP }
In the proposed GRASP algorithm, non-dominated solutions in any iteration are stored in a set, and eventually a set of solutions is considered as the output of the GRASP algorithm.The proposed structure of GRASP in pseudo-code format is as follows:

Greedy randomised construction procedure
In this phase, one solution is initially constructed.Solution construction starts from the first shift of the first day and continues to the last shift of the last day of the planning horizon.

{
For each required skill level in each shift of planning period Assign some qualified nurses randomly until the required number is met.
If the required number is not met Apply repair procedure to meet the required number.End if End For }

Repair procedure
The solution feasibility check procedure proposed in Section 3.1.5is used to repair the solutions.

Local search procedure
The three neighborhood search operators (NSO1, NSO2, and NSO3) proposed in Section 3.1.6are used in parallel as a local search procedure.

Solution updating procedure
In this procedure, the best solution is selected from among the current solution and the three solutions obtained by the NSOs in the local search procedure using non-dominated relations.If more than one solution is found to be the best, one will be randomly selected.

Pareto Archive updating procedure
The updating procedure proposed in Section 3.1.7 is used to update the Pareto Archive.

COMPUTATIONAL RESULTS
To examine the efficiency of the model presented in Section 2 (formulated according to a real case study carried out in the maternity ward of Sina Hospital in Isfahan), two numerical examples are solved by the proposed DE and GRASP algorithms on an Intel(R) Core(TM) i3 with 4 GB of memory and 2.27 GHZ of Dual Core CPU, and MATLAB R2009a software.The parameters of the given model are presented in Table 1.The planning horizon is considered to be 35 days (5 weeks).Table 2 lists the real skill level of all nurses for both problem instances.For example, the real skill level of nurses with ID=1 to 8 in Problem instance 1 is 'nurse', and they are able to work at 'auxiliary nurse' and 'co-auxiliary nurse' skill levels as well as their real skill; and the real skill level of nurses with ID=21 to 35 in Problem instance 2 is 'auxiliary nurse', and they are able to work at 'co-auxiliary nurse' skill level as well as their real skill.As mentioned before, all nurses with a higher real skill level are capable of working at lower skill levels.Nurses with 'co-auxiliary nurse' real skill level can only work at their real skill level.Tables 4 and 5 summarise the rest days that nurses prefer in both problem instances.These days are determined by nurses at the beginning of planning.
Tables 6 and 7 illustrate the objective values of non-dominated solutions existing in Pareto Archives of the proposed DE and GRASP algorithms for Problem instances 1 and 2 respectively.Note that non-repetitive non-dominated solutions (non-identical nondominated solutions) existing in a Pareto Archive set may have equal objective values.For example, non-repetitive non-dominated solutions 2 and 14 obtained by the proposed DE for Problem instance 1 have equal objective values, as shown in Table 6.The validation of the presented model is proved by solving a small-sized problem (Problem instance 1) and comparing the results with a shift schedule provided manually by the maternity ward supervisor.Tables 9  It takes more than four days for the ward supervisor to provide a shift schedule manually in the small-sized problem (Problem instance 1).When the number of nurses is greater than 25, and the nurses' preferences increase, the ward supervisor is not capable of providing a shift schedule manually.Since Sina hospital intends to develop the maternity ward and employ more nurses, the hospital managers have decided to automate the nurses' shift scheduling.To validate the reliability of the proposed algorithms, the following comparison metrics are taken into account: • Quality metrics: This metric puts together the non-dominated solutions found by both algorithms, and measures the ratios between them.In fact, this metric considers the non-dominated solutions found by both algorithms as a set of solutions.It then acquires non-dominated solutions from this set by using nondominated relations, and measures what percentage of these non-dominated solutions belongs to each algorithm.

•
Spacing metric (SM) [20]: This metric is defined by the following formula: ( − 1) *   (39) where   is the Euclidean distance between successive solutions in the obtained non-dominated set of solutions, and   is the average of these distances.Spacing metric allows measuring the uniformity of the spread of the solution set points.

•
Diversification metric (DM) [20]: This metric measures the spread of the solution set by the following formula: where �   −    � is the Euclidean distance between the non-dominated solutions    and    .

•
Hyper area ratio metric (HR) [20]: This metric is defined by the following formula:  =     (41) where   and   are the areas occupied by the solution set of practical PF and the solution set of theoretical PF respectively.(The set of all globally optimal solutions is called the Pareto optimal set, and the set of all non-dominated objective vectors is called the Pareto front (PF).Obtaining an approximation to either the Pareto optimal set or the PF is referred to as Pareto optimisation).Since obtaining theoretical PF is practically impossible, it is produced by all nondominated solutions provided from both algorithms in this paper.If the value of HR is smaller than 1, the points of practical tradeoff surface are not spread over the whole tradeoff surface, and if the value of HR is greater than 1, the practical tradeoff surface is distant from the tradeoff surface.

•
The relative metric (C(F ′ , F ′′ )) [20]: The following function transforms two given sets F ′ and F ′′ to a real value in the interval [0,1]: where ( ′′ ) corresponds to the number of elements inside the set  ′′ , and  ′ <  ′′ means that the vector  ′ dominates the vector  ′′ .Therefore, this metric allows for computing the portion of the surface  ′′ that is dominated by the tradeoff surface  ′ .If points in  ′ dominate to all points in  ′′ , then by definition ( ′ ,  ′′ ) = 1.( ′ ,  ′′ ) = 0 implies the opposite.

C(DE,GRASP) C(GRASP,DE)
Problem instance 2 0.67 0 The proposed DE takes less time than the proposed GRASP.Meanwhile, the values of the comparison metrics show that the proposed DE is superior to the proposed GRASP in both problem instances.As a result: • The proposed DE consumes less time than the proposed GRASP.

•
The proposed DE can obtain a greater number of Pareto-optimal solutions with higher qualities than the proposed GRASP.

•
The proposed DE acquires non-dominated solutions that have lower less values of spacing metric.This shows that the non-dominated solutions obtained by the proposed DE are distributed more uniformly in comparison with the proposed GRASP.

•
The values of the diversification metric in the proposed DE are suffiiciently greater than the proposed GRASP.
If both these changes are impossible Cancel his/her assignment, and change the assignment of a nurse who can work at the considered skill level but has been scheduled to work in the previous or next shifts if possible, in order to assign at the considered skill level.

{
For each solution   in the population Counter = 0 While Counter <= max-Iteration (say, 20 in this paper) do Apply NSO1 on the solution   .Apply NSO2 on the solution   .

Table 3
represents the number of nurses required in each shift of the planning period.For example, two nurses at 'auxiliary nurse' skill level are needed in 'Morning', 'Afternoon', and 'Night' shifts of all days in Problem instance 1 (remembering that all nurses with 'Nurse' and 'Auxiliary nurse' real skill levels can work at this skill level).

Table 8
lists all possible assignments that may be used in the shift schedule tables.Due to insufficient space in this paper, all assignments are displayed as an abbreviation.

Table 8 : Abbreviations of all possible assignments used in the shift schedule tables All possible assignments in terms of Day:Shift:Skill
Nurse with ID=i has been assigned to work the morning shift of day k at 'Nurse' skill level.Nurse with ID=i has been assigned to work the night shift of day k at 'Nurse' skill level.Nurse with ID=i has been assigned to work the night shift of day k at 'Co-auxiliary nurse' skill level.

Table 12
lists the computational time of both algorithms and the values of these comparison metrics.