A novel population-based local search for nurse rostering problem

Anmar Abuhamdah, Wadii Boulila, Ghaith M. Jaradat, Anas M. Quteishat, Mutasem K. Alsmadi, Ibrahim A. Almarashdeh MIS Department, Faculty of Business Administration, Taibah University, Saudi Arabia IS Department, College of Computer science and Engineering, Taibah University, Saudi Arabia RIADI Laboratory, National School of Computer Science, Manouba University, Tunisia Department of Computer Science, Faculty of Computer Science and Information Technology, Jerash University, Jordan Department of Computer and Network Engineering, Faculty of Engineering Technology, Al-Balqaa Applied University, Jordan Electrical and Computer Engineering, Faculty of Engineering, Sohar University, Oman MIS Department, College of Applied Studies and Community Service, Imam Abdulrahman Bin Faisal University, Saudi Arabia


INTRODUCTION
Nurse rostering problem (NRP) involves assigning a set of nurses to different shifts subject to a variety of constraints until a complete roster is constructed [1,2]. Constraints in the NRP problem can be categorized as hard and soft [3][4][5]. The main goal, when allocating nurses to various shifts is to fulfill the hard constrains (i.e. feasible rosters) and try to minimize the soft constraints as much as possible with Table 1. INRC2010 datasets summarization   Instances  Early instances  Hidden instances  Hint instances  Late instances  Sprint run  10  10  3  10  Medium run  5  5  3  5  Long run  5  5  3  5 3. METHODOLOGY In this paper, a population-based local search approach (PB-LS) is proposed [36] for nurse rostering problems (NRP). PB-LS is assembled of gravitational emulation local search (GELS), based on the natural principle of gravitational attraction [39]. PB-LS is proposed to overcome some of the population based approaches limitations such as [36]: -Using a population of solutions in local search to increase the capability of the intensification process and to overcome the weakness of the intensification process, which leads to non-significant improvements. -Using Memory Guide with elite solutions for useful information (in descending order) to overcome the limitation of the approaches that did not employ memory guidance for the search. In addition, this allows overcoming the dependency on randomization that requires a repair mechanism to be efficient in constrained problems and overcoming the issue of randomly updating the population. -Less parameterized and systemically updating the population.
PB-LS proves its efficiency over an NP-hard optimization problem of university course timetabling problem [36]. This motivated us to use this method for NRP by using different neighborhood structures. PB-LS starts with an initial population and tries to minimize soft constraints iteratively by exploring their neighbor solutions. These solutions are obtained by using one or more neighborhood structures over the current solution. For more details about the constraints Hint, Hard and Soft presented in the INRC2010 datasets and their mathematical formulations, readers can refer to [5]. As in [6], four groups of neighborhood structures are used: -Single shift per day neighborhood structure associated with hard constraint. -Weekend, personal request, alternative qualifications, overtime, and under time are the most violated constraints associated with soft constraints. -Shuffle, greedy shuffle, core shuffle to swap large sections of personal schedules.
-Shake a shift, weekend, and two people for solution shaking.
PB-LS calculates the gravitational force value (F, assuming minimization problem) by calculating the difference between two objects; the trial solutions objective function values (i.e. Ts) and the current solution objective function value (i.e. Cs) as presented in (1).

F= Cs -Ts
(1) Figure 1 shows the pseudo-code for the PB-LS approach for NRP. Below the description of some terms that are used in Figure 1.
-Initial solution: Si; and the quality of Si denoted by f(Si) -Best obtained solution: Sb and the quality of Si denoted by f(Sb) -The maximum number of iterations denoted by N.max -Number of iterations to reset the solution directions to update denoted by R.iter -Force value for gravity denoted by force -N th velocity vector memory to provide direction value denoted by VV n -Number of shaking neighborhood denoted by Nsn The PB-LS algorithm starts with a zero direction value (i.e. zero velocity) that initializes the search, and then this value is updated throughout the search process. For better shifting, the search space is administered by the force value (using (1)), and then the search space is intensified using any local search algorithm. PB-LS uses the MPCA-ARDA algorithm [36] as a local search due to its ability of complementary exploration and exploitation. MPCA-ARDA is proposed in [40] as hybridization between multi-neighborhood particle collision algorithm and adaptive randomized descent algorithm.
In step 1 (i.e. Initialization phase), we initialize all the required parameters mentioned in Table 2. Then, the initial solution for the memory of the velocity vector vv is generated by applying shaking neighborhoods. Initially, solutions (vv 1 ,…, vv N ) are produced based on the number of neighborhoods and their directions are set to zero in the vv memory.  and is added (negative or positive) to the stored direction value of vv 1 . The best solution (i.e. Sb) is updated with S i * in case of f(S i * ) (i.e. the quality of S i * ) is better than f(Sb) (i.e. the quality of Sb). If the quality of S i * is better than S i , we replace vv 1 with S i * . Otherwise, the unimproved counter is increased (UnImprove 1 ) by one for the selected solution. In case UnImprove1 is equal to pre-set unimproved iterations (i.e. R.iter), the direction of vv n is returned to zero and vv 1 solution is changed with the best neighbor solution generated from Sb random neighbors (i.e. Sb*) by shaking the neighborhoods. This practicability tries to escape from local optima and attempts to expand the search space. b. In step 2.2, if the direction values are similar for all vv solutions, step 2.1.a is executed to distinguish the solutions of similar direction values. This tries to preserve a set of diverse solutions.

RESULTS
The proposed approach is experimented for 25 runs (as suggested in [6]) through 69 instances that were announced in INRC2010 (https://www.kuleuven-kulak.be/nrpcompetition/instances) for 100,000 iterations. The machine used is an Intel Core i5 3.2 GHz processor, 8 GB RAM, and the code implemented using java language over NetBeans IDE v 8.2. As stated in INRC2010, the instances require a solution within approximately 10 seconds for the sprint instances, 10 minutes for the medium instances, and 10 hours for the long instances. However, different factors affect the performance of the machine such as memory, clock speed and the operating system. Therefore, the results of the runs are obtained at different times. As depicted in [5], simulations in our approach are performed under relaxing timeout conditions, and we employ 1000 seconds for the sprint instances, 5000 seconds for the medium instances and 20 hours for the long instances. As shown in Table 2, PB-LS employs four parameters: a. The termination criteria (N.max), which is presented in [6] and takes into consideration the relax timeout condition. b. Iteration number to reset (or retune) the directions (R.iter), which is presented in [2]. c. Shaking-neighborhood structures (Nsn), which is presented in [6]; d. Iteration number for the local search (in this case, MPCA-ARDA used as a local search with 10 iterations), which is presented in [36].
In order to evaluate the performance of PB-LS, a comparison is made between PB-LS performance and results of similar methods based on their published works. Table 3 shows a comparison based on sprint instances, Table 4 shows a comparison based on medium instances and Table 5 shows a comparison based on long instances.
Despite that PB-LS has obtained second place in some instances, it outperformed the same approaches in other different instances. For example, PB-LS obtained the eighth rank in sprint_early_01 and outperformed R2, R4, R5, R6, R7, R9 and R10. In addition, PB-LS outperformed R2 in sprint_early_02, R4 in medium_hidden_02, R5 in sprint_late_07, R6 in medium_early_01, R7 in medium_hidden_01, R9 in sprint_hidden_01, R10 in sprint_late_05. Moreover, PB-LS outperformed R1 in sprint_early_02, R3 in sprint_early_02, and R8 in sprint_early_02. Results indicate that PB-LS outperformed all approaches in some instances and obtained similar performances to other approaches in some cases. This confirms that PB-LS can be considered as a good approach for NRP. To better evaluate the performance of the proposed approach, Figure 2 depicts a comparison between PB-LS and other approaches refereeing to the number of best results (optimal solutions) obtained over the 69 instances. Figure 2 shows the number of best results obtained over 69 datasets for the proposed approach and the considered existing works. The proposed approach obtained 55 best optimal solutions over 69 instances. R4 comes in the second rank with 52 best optimal solutions. R3 comes in the last rank with only one optimal solution. Figure 3 depicts further analysis by comparing similar, worse and better results of the proposed approach over the 69 instances to the other considered approaches. In the legend, the blue color denotes that the proposed approach has the same number of better results than the existing approach. The orange color represents the number of times that the proposed approach has the best results. The gray color represents the number of times that the existing approach has the best results. For example, the proposed approach and R1 obtained 62 similar number of best solutions. However, the proposed approach outperformed R1 in 7 cases. In addition, in all cases, PB-LS obtained several better results greater than the other existing approaches (orange bar against gray bar). Table 6 summarizes experimental results achieved by PB-LS over sprint instances, Table 7 for the medium instances, and Table 8 for the long instances.   In Tables 6-8, the best result obtained over 25 runs is denoted by Best, the average result is denoted by avg, the standard deviation is denoted by σ, and the computational time of the best result is denoted by Time (where * is the time limit in INRC2010). For example, in Table 6, the PB-LS achieves a value of 57 as the best result (over 25 runs) for sprint_early_01 instance in 4 seconds, with an average of 58.7 and a standard deviation of 1.8. Tables 6, 7, and 8 illustrate that PB-LS obtains 43 out of 69 instances within the time limit (which marked as *) of INRC2010.
Results in Tables 3-5, and analysis in Figure 2 and Figure 3 confirm that the proposed approach can produce good quality solutions for the NRP compared to other existing approaches in the literature. In addition, results in Tables 6-8 show that the proposed approach runs in a good manner for all instances with instances of diversity. As a perpective to this work will be to apply the proposed approach in the context of remote sensing big data [41][42][43][44], to explore the context of case-based reasoning using 'hyper-heuristic' [45,46], and to evaluate the effect of uncertainty in the process of search for nurse rostering problem [47][48][49].

CONCLUSION
In this paper, we proposed a population-based local search approach (PB-LS) for the nurse rostering problem. The population-based is motivated by a gravitational emulation local search algorithm to intensify the search space and by an MPCA-ARDA to diversify the search. A comparison is made between the performance of the proposed approach and performances of other exiting approaches in the literature over 69 datasets. In this paper, ten existing approaches are considered for comparison. Results indicate that the proposed approach produces a good quality solution compared to the existing approaches.
Our approach obtained 55 optimal solutions over 69 cases, and it is ranked first while comparing it to other approaches according to the number of optimal solutions. Additionally, results indicate that the proposed approach outperformed all the existing approaches while comparing the number of better solutions to the number of worse solutions. These results confirm the good performance of the proposed approach for solving the problem of nurse rostering.
As future work, we propose to use more case studies to test the performance of the proposed approach and to apply it in context of remote sensing big data. Additionally, in this paper, we use a single heuristic approach with different neighborhoods over a population of solutions; which is chosen based on gravity formula. Another challenging topic to be explored is the study of the case-based reasoning method to allow using of 'hyper-heuristic'. This will help to determine the better heuristic for a given population, and hence avoiding solving problems from scratch.