2017 8th International Conference on Information Technology (ICIT) ECG Signal Denoising Using ȕ-Hill Climbing Algorithm and Wavelet Transform Zaid Abdi Alkareem Alyasseri 1,2 School of Computer Sciences ,University Science Malaysia,Pulau Pinang, Malaysia 2 ECE Dept. / Faculty of Engineering, University of Kufa, Najaf, Iraq Zaid.alyasseri@uokufa.edu.iq 1 Mohammed Azmi Al-Betar Department of information technology, Al-Huson University College, Al-Huson, Irbid-Jordan Abstract— Electrocardiogram (ECG) is a graphical recording of the electrical activity of human heart muscles. ECG is classified as a non-stationary signal. A major problem encountered with non-stationary signals is noise removal, particularly when the signal has a low signal-to-noise ratio (SNR). In this paper, the authors propose a hybrid method of ȕ-hill climbing combined with wavelet transform for denoising ECG signals. Selecting wavelet parameters is a challenging task that is usually performed based on empirical evidence or experience. Therefore, ȕ-hill climbing must find the optimal wavelet parameters for ECG signal denoising that can obtain the minimum mean square error between the original and the denoised ECG signals. The proposed method was tested using a standard ECG dataset established by MIT-BIH. The proposed hybrid method was also evaluated using two criteria, namely, percentage root mean square difference and SNR. The proposed method demonstrated outstanding noise reduction performance for ECG signals, and the quality of the denoised signal is suitable for clinical diagnosis. Keywords— ECG ; Signal Denoising ; Wavelet denoising ; Optimization ; ȕ-Hill Climbing. I. INTRODUCTION Electrocardiogram or (ECG) is a graphical recording of the electrical activity of human heart muscles. ECG is commonly used for cardiology tests. ECG recording is conducted by placing electrodes on the skin for a period of time (depending on the patient’s condition; the test generally lasts for 10 s) [1]. The task of the electrodes is to detect any electrical change on the skin that originates from the heart muscle with each heartbeat [2]. Thus, ECG signals are classified as non-stationary signals [2]. A major problem encountered with non-stationary signals is noise removal, particular when the signal has a low signal-tonoise ratio (SNR). Researchers have proposed various efficient methods for signal noise reduction. Wavelet transform (WT) is one of the most widely used approaches for signal processing [3–7]. It is a powerful tool for representing signals in the time domain. WT has five parameters, namely, wavelet function name, decomposition level, thresholding methods, thresholding selection rule, and threshold rescaling methods. Each of these parameters has several types or values. TABLE I shows the 978-1-5090-6332-1/17/$31.00 ©2017 IEEE Ahamad Tajudin Khader School of Computer Sciences, University Science Malaysia Pulau Pinang, Malaysia Laith Mohammad Abualigah School of Computer Sciences, University Science Malaysia Pulau Pinang, Malaysia possible ranges of the wavelet denoising parameters. The thresholding parameters were applied in WT to obtain a smooth signal. Donoho [7,8] proposed thresholding in wavelet for 1D and 2D signals. The proposed methods are very efficient in noise reduction. WT is the most effective technique for solving the signal denoising problem, particularly in biomedical signal processing where WT has been applied for ECG noise reduction [3, 6, 9]. Several techniques have been proposed for denoising ECG signals in biological signal processing. Most of the previous methods adopted Donoho’s universal theory [3, 6, 9–11]. A popular approach for ECG noise reduction is the shrinkage of wavelet coefficients. Sayadi et al. [3] proposed a new scheme named bionic WT (BWT) for ECG noise reduction by the adaptive thresholding of WT. Novak et al. [12] proposed a procedure for noise removal that uses a detection algorithm for different noise levels with wavelet. The authors employed soft thresholding, wherein the thresholding value is based on the noise level in each signal decomposing level. Singh et al. [13] proposed a selection method of mother wavelet basis functions for ECG noise removal in the wavelet domain. In this paper, the authors propose the use of the ȕ-hill climbing algorithm for ECG signal denoising to find the optimal wavelet parameters that will minimize the mean square error (MSE) between the original and denoised signals. Selecting the right combination of wavelet parameters is a challenging task because no technique has been established for determining the optimal tuning of wavelet denoising parameters, whose selection is commonly conducted based on experience or empirical evidence. This paper is organized as follows. Section 2 describes WT and Donoho’s theory. Section 3 presents the ȕ-hill climbing algorithm. The proposed denoising method is explained in Section 4. The ȕ-hill climbing experiments and results are discussed in Section 5. Finally, the conclusion is provided in Section 6. 96 2017 8th International Conference on Information Technology (ICIT) II. ECG BASED ON WAVELET DENOISING Noise reduction is one of the most difficult challenges in signal processing [2]. Many researchers have attempted to solve this problem by using filtering, thresholding, and others techniques. Wavelet is one of these techniques [19]. In recent years, wavelet theory has been used extensively in several problems, such as signal denoising, compression, and feature extraction [20]. WT has five parameters: (1) the type of wavelet basis function Ɏ, (2) the decomposition level L, (3) the thresholding function ȕ, (4) the threshold selection rules Ȝ, and (5) the threshold rescaling methods ȡ. Each of these parameters has several values, as shown in TABLE I. Fig. 1 shows the proposed design technique for denoising ECG signals. The task of DWT is to decompose the input signal using different coefficients levels to correct the high frequency of the input signal. Matlab provides several methods for signal decomposition through DWT. In addition, Matlab provides a signal reconstruction technique by applying an inverse DWT (iDWT). Fig. 3 shows the wavelet denoising task procedure. Original Signal De-noised Signal Compute DWT Apply Thresholding Compute iDWT Fig 3: The wavelet denoising procedure Fig 1. proposed design technique for optimization Wavelet. The optimal parameters were evaluated by an objective function to minimize the MSE between the original and denoised signals. The wavelet denoising approach was developed based on the original ECG signal corrupted with white Gaussian noise (WGN) estimation. Fig. 2 shows the original and noisy ECG signals with an input SNR noise of 15. Fig 2. ECG signal corrupted with SNR noise =15 dB. III. WAVELET DENOISING PRINCIPLE WT is a powerful tool for time domain representation; it explains the signal on the basis of the correlation between the translation and the dilation of a function called the mother wavelet [14]. WTs can be classified as continuous wavelet transform (CWT) and discrete wavelet transform (DWT) [18]. In this study, Donoho’s approach was applied to the DWT. A DWT is defined [13] as follows: C ( a, b) = ¦ x ( n ) g j , k ( n ) (1) As mentioned, WT has five parameters, and each parameter has different types (TABLE I). The efficiency of noise reduction relies on the selection of wavelet parameters. As shown in Fig. 3, the wavelet denoising process has three phases. The first phase is the decomposition of the ECG signal using DWT. This phase involves selecting the appropriate wavelet basis function (Ɏ) for use in the ECG signal decomposition task. The second wavelet parameter, that is, the decomposition level (L), is also selected in this phase based on the ECG signal and experience. In the second phase, thresholding is applied. The wavelet provides two standard types of thresholding functions (ȕ), namely, hard and soft thresholding [7, 8]. The thresholding type (soft “s” or hard “h”), selection rules (Ȝ), and rescaling methods (ȡ) must all be selected. These threshold mechanisms must be applied because the selection will affect the global denoising performance. The thresholding value is generally defined based on the standard deviation (ı ) of the noise amplitude [14]. TABLES II and III provide the different types of parameters for the thresholding selection rule and rescaling methods. Finally, the thresholding rules are selected according to Equation (2). (2) s ( n ) = x ( n ) + σ e( n ) where x(n) is the original ECG signal, e is the noise, ı is the amplitude of the noise, and n is the number sampling. TABLE I. THE RANGES OF THE WAVELET DENOISING PARAMETERS Wavelet denoising parameters Wavelet function Ɏ n∈Z where C(a,b) denotes the wavelet dynamic coefficients, a = 2íj, b = k2íj, j אN, k אZ; a is the size of the time scale, b is the translation, x(n) is the input ECG signal, and gj,k(n) = 2j/2g(2jník) is the DWT. Thresholding function ȕ Method (Range) 1. Meye (meyr), 2. Morlet (morl), 3. Gaussian (gaus1…gaus8), 4. Symlet (sym1 … sym45), 5. Coiflet (coif1 .. coif5), 6. Daubechies (db1..db45), 7. Biorthogonal (bior1.1 .. bior1.5 & bior2.2 .. bior2.8 & bior3.1 .. bior3.9). Soft threshold ‘s’ or Hard threshold ‘h’ Decomposition level L From (1) to (10) Thresholding selection rule Ȝ. Heursure, Rigsure, Sqtwolog, and Minimax 97 2017 8th International Conference on Information Technology (ICIT) Wavelet denoising parameters Method (Range) Rescaling approach ȡ ‘one’, ‘sln’,’mln’ TABLE II. SHOWS FOUR THRESHOLD SELECTION RULES Thresholding rule Rule 1: Rigrsure Rule 2: Sqtwolog Rule 3: Heursure Rule 4: Minimaxi problems than other advanced techniques. In this paper, we use the ȕ-hill climbing algorithm as an optimization technique to find the optimal wavelet parameters for ECG signal denoising. Description Threshold is selected using the principle of Stein’s Unbiased Risk Estimate (SURE) Threshold is selected equal to sqrt(2 כlog(length(signal))) Threshold is selected according to mixture (Rigrsure and Sqtwolog) Threshold is selected equal to Max(MSE) TABLE III. SHOW THE WAVELET THRESHOLDING RESCALING METHODS Wavelet threshold rescaling methods (ȡ) one rescaling No scaling sln Single level mln Multiple level The wavelet parameters (ȕ, Ȝ, and ȡ) must be separately applied for each wavelet coefficient (approximation and details) level. In the last phase, the denoised ECG signal is reconstructed by iDWT. IV. ȕ-HILL CLIMBING ALGORITHM The last development in optimization domain related to meta heuristics which is categories into: evolutionary algorithm [2226], swarm intelligence [27-28], and trajectory algorithms [15,21,30]. Hill climbing is a simple trajectory-based method that can find the local optimal solution. It is an iterative approach that starts with an arbitrary solution to a problem and then continues the search trajectory in the problem space to find a better solution. If the previous step produced a better solution, an incremental change will continue to find a new solution. This process is repeated until the solution can no longer be improved. The problem with hill climbing algorithm is that only uphill movements are accepted, which leads to getting easily stuck in the local optima [16]. Several extension methods have been proposed to overcome this problem. The most recent extension proposed by Al-Betar in 2016 is called ȕ-hill climbing [15], wherein a single stochastic operator is used in hill climbing to strike an efficient balance in both exploration and exploitation during the search. The proposed operator is called the ȕoperator. The ȕ-hill climbing algorithm was inspired by the uniform mutation operator of the genetic algorithm. At each iteration, the search space of the current solution is defined based on the number of problem parameters. In denoising ECG signals, we use five parameters. The task of the ȕ operator is to find a new explorative search space of the current solution. Fig. 4 shows the flowchart of the ȕ-hill climbing algorithm. The proposed method was tested and evaluated using IEEECEC2005 global optimization functions. According to [15,21], ȕ-hill climbing showed efficient improvements to the hill climbing algorithm and achieved better results in many global Fig. 4 Flowchart of ȕ-hill climbing V. THE HYBRID Ǻ-HILL CLIMBING AND WAVELET FOR ECG SIGNAL DENOISING Proposed procedure for ECG signal denoising has three phases which are summarized below and Fig. 5 shows the flowchart of the proposed method: 1. First phase (Inputs): Noisy ECG signal and wavelet denoising parameters (Ɏ, L, ȕ, Ȝ, and ȡ) are the inputs. We consider that the original ECG signal (MIT-BIH) was corrupted by the standard white Gaussian noise with a SNR input noise ranging from 0 to 30. 2. Second phase (Tuning wavelet parameters using the ȕ-hill climbing algorithm): In this phase, ȕ-hill climbing will search the ECG signal space to find the optimal wavelet parameters that can achieve the minimum objective function. Several kinds of objective functions have been proposed for solving the denoising problem. One such objective function is the MSE, which was proposed in [3,6]. The MSE is the difference between the original and the ECG denoised signals over N samples. The MSE equation is given in Equation (3), where x(n) denotes the original ECG signal and x̂ (n) is the denoised ECG signal obtained by tuning the wavelet parameters using the ȕ-hill climbing algorithm. MSE = 1 N [x(n) − xˆ (n)]2 ¦ n=1 N (3) 3. Third phase (ECG denoising based on the optimal wavelet parameters): The denoising process involves the following steps: a- ECG signal decomposition using DWT b- Thresholding based on the coefficients noise level 98 2017 8th International Conference on Information Technology (ICIT) c- Reconstruction of the denoising signal by iDWT VI. RESULTS AND DISCUSSION To test and evaluate the efficiency of the proposed ECG denoising method, several standard benchmarks were obtained from MIT-BIH [17]. This database has approximately 48 halfhour ECG recordings. Each ECG record has the following specifications: signal length is 650,000 samples, sampling rate is 360 Hz, resolution is 11 bits over a 10 mV range, and bit rate is 3960 bps. The MIT-BIH database has been freely available in PhysioNet since February 2005. The MIT-BIH database is a widely used benchmark for comparing and evaluating the performance of different noise reduction techniques in the literature. As mentioned, parameter selection is typically performed based on experience or empirical evidence. Therefore, the ȕ-hill climbing algorithm is suggested as an optimization method for finding the optimal wavelet ECG denoising parameters. TABLE IV shows the optimal wavelet parameters selected using the proposed method. Original Signal Add White Gaussian Noise to original signal and initial wavelet parameters First phase ȕ -Hill Climbing Algorith Second phase Optimal Wavelet Parameters Third phase Signal decomposition using DWT Results evolution using SNR and PRD Apply Threshold methods Denoised Signal Signal reconstruction using iDWT End Fig. 5 Flowchart of the purposed method i7, RAM 8G, using MATLAB R2014a. The ȕ-hill climbing parameters were 5000 iterations and ȕ-operator = 0.5. As shown in Table 2, the MSE decreased with the noise value (the objective function is to minimize MSE), which started at 0.012564875 when the input noise was zero and continued to decrease until the best minimum value of 7.26028E-05 was reached at the input noise of 30. At run time, the wavelet function obtained different ranges, but Daubechies and Symlets were selected twice (sym3, syn8, db36, and db43). According to [6,7,14], Daubechies and Symlets are very concise and facilitate a perfect and simple reconstruction of the original signal. The decomposition level was defined according to the noise level, for which the suitable decomposition level was 7 for a high input noise and 2–4 for a low noise. Even though the hard thresholding method is the simplest approach, the selection soft thresholding for all noise inputs was the algorithm proposed. This is because the hard method occasionally causes discontinuities in the signals [14]. For the thresholding selection rule parameter, two options, namely, heursure and rigrsure, were selected; heursure was selected four times and rigrsure was selected thrice. Finally, the option ‘sln’ in the wavelet rescaling approach parameter showed dominance when selected for all input noise levels. For evaluation, the noise reduction performance was measured by two criteria, namely, PRD and SNR. PRD and SNR were computed according to Equations (4) and (5), respectively. ° ¦ N [x ( n) − xˆ ( n) ]2 ½° PRD = 100 * ® n =1 N ¾ 2 °¿ °̄ ¦ n =1 [x (n )] (4) ° ¦ N [x(n)]2 ½° SNR = 10 log10 ® N n =1 2¾ °̄ ¦n =1 [x(n) − xˆ (n)] °¿ (5) where x(n) denotes the original ECG signal, ݔො(n) is the denoised ECG signal obtained by tuning the wavelet parameters through the ȕ-hill climbing algorithm, and N is the sampling number. The proposed ECG denoising method was tested on the MITBIH database for 48 ECG signals [17]. The average values of SNR and PRD were calculated for the signal before and after denoising using the proposed method. The evaluation efficiency of wavelet denoising based on the ȕ-hill climbing algorithm is presented in Table 4 for the ECG signal with an input SNR ranging from 0 to 30 dB. Fig 6 shows that a linear relation exists between the input SNR and the output SNR, as revealed by the proposed method. In addition, PRD indicates that the proposed method denoises signals smoothly, particularly when the ECG signal has low noise. The decrease in PRD indicates the efficiency of the denoising of the original ECG signal. Moreover, a high SNR corresponds to low noise. Finally, the proposed denoising method successfully achieved a high SNR and a low PRD for the ECG signal. The results in TABLE IV were obtained by implementing the ȕ-hill climbing algorithm on LENOVO ideapad 310, intel core 99 2017 8th International Conference on Information Technology (ICIT) TABLE I. Input SNR Noise 0 5 10 15 20 25 30 THE OPTIMAL WAVELET DENOSING PARAMETERS OBTAINED BY THE Ǻ-HILL CLIMBING ALGORITHM Best F(x) Wavelet Function Decomposition Level Thresholding Function Thresholding Selection Rule Wavelet Rescaling Approach 0.012564875 0.005507495 0.002123174 0.000902087 0.00037877 0.000166879 7.26028E-05 sym3 rbio4.4 coif3 bior6.8 sym8 db36 db43 7 5 6 4 4 2 4 Soft 's' Soft 's' Soft 's' Soft 's' Soft 's' Soft 's' Soft 's' heursure rigrsure rigrsure heursure rigrsure heursure heursure sln sln sln sln sln sln sln TABLE II. Input SNR Noise THE PERFORMANCE OF DENOISING THE ECG SIGNALS FOR DIFFERENT SNR INPUT Output SNR(dB) Improvement SNR (dB) PRD before denoising PRD after denoising 0 8.9649 5 10 15 20 25 30 12.6986 16.6867 20.404 24.1728 27.7325 31.3455 8.9649 100 35.6249 7.6986 6.6867 5.404 4.1728 2.7325 1.3455 56.1648 31.6086 17.7839 9.9813 5.6258 3.1632 23.1778 14.6442 9.5455 6.1853 4.1056 2.7085 Fig.6 performance of ȕ-hill climbing for ECG signal denosing Fig.7 Performance of proposed method for input SNR 10 (dB) 100 2017 8th International Conference on Information Technology (ICIT) [9] Figures 7 shows the denoised ECG signal from using the proposed technique (ĳ = coif3, ȕ = soft, Ȝ = rigrsure, L = 6, and ȡ = sln) with an output SNR = 16.6867 dB with an input SNR = 10 dB as example. VII. CONCLUSSION In this study, a new method was proposed for ECG signal denoising that is based on ȕ-hill climbing and WT. The proposed method is a preprocessing procedure for analyzing and classifying tasks with non-stationary signals, such as the ECG signal. WT has five parameters, and each parameter has different types. Selecting the wavelet parameters is a challenging task because it is usually performed based on empirical evidence or experience. The task of the ȕ-hill climbing algorithm is to find the optimal wavelet parameters that can obtain the minimum MSE between the original and denoised ECG signals. The proposed method demonstrated outstanding performance in terms of noise removal in ECG signals, particularly in ECG signals with high noise. The proposed methods were tested using the MIT-BIH dataset and were evaluated using PRD and SNR. The proposed method achieved a high SNR and a low PRD. Finally, the hybridization of ȕ-hill climbing and WT for signal denoising exhibited excellent results according to these two criteria. The authors intend to apply the proposed technique to more complex signals, such as the EEG signal, in future works. ACKNOWLEDGMENT The first author would like to thanks The University Sains Malaysia (USM) and The World Academic Science (TWAS) for supporting his PhD study. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] B. N. Singh and A. K. Tiwari, “Optimal selection of wavelet basis function applied to ECG signal denoising,” vol. 16, pp. 275–287, 2006. McSharry, Patrick E., et al. "A dynamical model for generating synthetic electrocardiogram signals." IEEE Transactions on Biomedical Engineering 50.3 (2003): 289-294. Sayadi, Omid, and Mohammad Bagher Shamsollahi. "ECG denoising with adaptive bionic wavelet transform." Conference proceedings:... Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE Engineering in Medicine and Biology Society. Annual Conference. 2005. Holan, Scott H., and John A. Viator. "Automated wavelet denoising of photoacoustic signals for circulating melanoma cell detection and burn image reconstruction." Physics in medicine and biology 53.12 (2008): N227. Manikandan, M. Sabarimalai, and Samarendra Dandapat. "Wavelet energy based diagnostic distortion measure for ECG." Biomedical Signal Processing and Control 2.2 (2007): 80-96. Prasad, V. V. K. D. V., P. Siddaiah, and B. Prabhakara Rao. "A new wavelet based method for denoising of biological signals." International Journal of Computer Science and Network Security 8.1 (2008): 238-244. Donoho, David L. "De-noising by soft-thresholding." IEEE transactions on information theory 41.3 (1995): 613-627. Donoho, David L., and Jain M. Johnstone. "Ideal spatial adaptation by wavelet shrinkage." Biometrika 81.3 (1994): 425-455. Poornachandra, S. "Wavelet-based denoising using subband dependent threshold for ECG signals." Digital signal processing 18.1 (2008): 49-55. [10] Poornachandra, S., and N. Kumaravel. "Hyper-trim shrinkage for denoising of ECG signal." Digital Signal Processing 15.3 (2005): 317327. [11] Alfaouri, Mikhled, and Khaled Daqrouq. "ECG signal denoising by wavelet transform thresholding." American Journal of applied sciences 5.3 (2008): 276-281. [12] Novak, Daniel, et al. "Denoising electrocardiogram signal using adaptive wavelets." Energy 200 (2000): 250. [13] Singh, Brij N., and Arvind K. Tiwari. "Optimal selection of wavelet basis function applied to ECG signal denoising." Digital Signal Processing 16.3 (2006): 275-287. [14] El-Dahshan, El-Sayed A. "Genetic algorithm and wavelet hybrid scheme for ECG signal denoising." Telecommunication Systems 46.3 (2011): 209-215. [15] Al-Betar, Mohammed Azmi. "ȕ-Hill climbing: an exploratory local search." Neural Computing and Applications (2016): 1-16 , doi:10.1007/s00521- 016-2328-2 [16] Skiena, Steven S. The algorithm design manual: Text. Vol. 1. Springer Science & Business Media, 1998. [17] Moody GB, Mark RG. The impact of the MIT-BIH Arrhythmia Database. IEEE Eng in Med and Biol 20(3):45-50 (May-June 2001). (PMID: 11446209) [18] Sawant, Chitrangi, and Harishchandra T. Patii. "Wavelet based ECG signal de-noising." Networks & Soft Computing (ICNSC), 2014 First International Conference on. IEEE, 2014. [19] Nagendra, H., S. Mukherjee, and Vinod Kumar. "Application of wavelet techniques in ECG signal processing: an overview." Int J Eng Sci Technol 3.10 (2011): 7432-7443. [20] Merry, R. J. E., and M. Steinbuch. "Wavelet theory and applications." Literature Study, Eindhoven University of Technology, Department of Mechanical Engineering, Control Systems Technology Group (2005). [21] Laith M. Abualigah, Ahamad T. Khader, Mohammed A. Al-Betar, Zaid A. Alyasseri, Osama A. Alomari and Essam S. Hanandeh, “Feature Selection with ȕ-Hill climbing Search for Text Clustering Application”, PICICT (2017). [22] Al-Betar, Mohammed Azmi, et al. "Gray image enhancement using harmony search." International Journal of Computational Intelligence Systems 9.5 (2016): 932-944. [23] Alkareem, YA Zaid Abdi, et al. "Edge preserving image enhancement via harmony search algorithm." Data Mining and Optimization (DMO), 2012 4th Conference on. IEEE, 2012. [24] Al-Betar, Mohammed Azmi, and Ahamad Tajudin Khader. "A harmony search algorithm for university course timetabling." Annals of Operations Research 194.1 (2012): 3-31. [25] BOLAJI, ASAJU LA'ARO, et al. "Artificial bee colony algorithm, its variants and applications: A survey." Journal of Theoretical & Applied Information Technology 47.2 (2013). [26] Lim, Ting Yee, Mohammed Azmi Al-Betar, and Ahamad Tajudin Khader. "Taming the 0/1 knapsack problem with monogamous pairs genetic algorithm." Expert Systems with Applications 54 (2016): 241-250. [27] Shehab, Mohammad, Ahamad Tajudin Khader, and Mohammed Azmi AlBetar. "A survey on applications and variants of the cuckoo search algorithm." Applied Soft Computing (2017). [28] Bolaji, Asaju La’aro, et al. "A comprehensive review: Krill Herd algorithm (KH) and its applications." Applied Soft Computing 49 (2016): 437-446. [29] Awadallah, Mohammed A., Asaju La’aro Bolaji, and Mohammed Azmi Al-Betar. "A hybrid artificial bee colony for a nurse rostering problem." Applied Soft Computing 35 (2015): 726-739. [30] Awadallah, Mohammed A., et al. "Hybridization of harmony search with hill climbing for highly constrained nurse rostering problem." Neural Computing and Applications (2015): 1-20. 101

1/--страниц