Self-adaptive dual-strategy differential evolution algorithm

Exploration and exploitation are contradictory in differential evolution (DE) algorithm. In order to balance the search behavior between exploitation and exploration better, a novel self-adaptive dual-strategy differential evolution algorithm (SaDSDE) is proposed. Firstly, a dual-strategy mutation operator is presented based on the “DE/best/2” mutation operator with better global exploration ability and “DE/rand/2” mutation operator with stronger local exploitation ability. Secondly, the scaling factor self-adaption strategy is proposed in an individual-dependent and fitness-dependent way without extra parameters. Thirdly, the exploration ability control factor is introduced to adjust the global exploration ability dynamically in the evolution process. In order to verify and analyze the performance of SaDSDE, we compare SaDSDE with 7 state-of-art DE variants and 3 non-DE based algorithms by using 30 Benchmark test functions of 30-dimensions and 100-dimensions, respectively. The experiments results demonstrate that SaDSDE could improve global optimization performance remarkably. Moreover, the performance superiority of SaDSDE becomes more significant with the increase of the problems’ dimension.


Introduction
DE is a stochastic optimization method based on population for real-parameter optimization problems, which is proposed by Storn and Price [1]. As a kind of heuristic global search evolution algorithm, differential evolution (DE) has an evolution mechanism similar to the other evolution algorithms, all of which are mutated, crossed and selected. Unlike that the other evolution algorithms (EAs) use the defined probability distribution function, the DE selects individuals from the current population to do differential operations and multiplies by scaling factor. It currently is a very attractive evolutionary algorithm for optimization in continuous search spaces, mainly for its simplicity, a small number of parameters to tune and notable performance. At present, DE is widely used in the research and engineering fields, such as classification [2], neural network training [3][4], data clustering [5], solar energy [6].
Exploration and exploitation are contradictory for most EAs [7]. To further improve the exploitation and exploration capability of DE algorithm, a novel self-adaptive dual-strategy a1111111111 a1111111111 a1111111111 a1111111111 a1111111111 differential evolution algorithm (SaDSDE) is proposed. In summary, the main contributions of this paper are as follows. (1) A dual-strategy mutation operator is proposed. In the proposed mutation operator, the exploitation and exploration capability of mutation operator are simultaneously considered. (2) The scaling factor self-adaption strategy is proposed in an individual-dependent and fitness-dependent way. (3) A dynamic adjustment strategy of exploration ability control factor is introduced to adjust the exploration ability of DE in different stages of evolution process. (4) The performance of SaDSDE is verified by comparing it with 7 existing state-of-art DE variants and 3 non-DE algorithms on 30 benchmark functions. The experimental results demonstrate the effectiveness of the proposed SaDSDE. The performance sensitivities to population size, crossover probability and the impacts of the proposed algorithmic components are also investigated.
The rest of this paper is organized as follows. Section 2 briefly introduces the original DE algorithm and reviews the related works on the DE variants. In Section 3, the proposed SaDSDE algorithm is presented in detail. The experiment comparisons and analysis with 7 state-of-art algorithms and 3 non-DE algorithms are given in Section 4. Finally, Section 5 draws the conclusions of this work, and future work is also described in this section.

Original differential evolution algorithm
DE is based on population evolution. Generally, DE is composed of four components: initialization, mutation, crossover and selection. After initialization, DE enters a loop of mutation, crossover and selection. The details of main components are introduced as follows. Without loss of generality, this paper considers minimization problems. For D-dimensional minimum optimization problems: It is mainly to generate mutation vector by scaling the difference of different individuals. There are many mutation operators proposed by Storn and Price [8,9] and a widely used mutation strategy is listed as follows: where t indicates the generation, the indexes r 1~r3 are distinct integers randomly chosen from the set {1, 2, � � �, N p }\{i}, V t i is the mutation vector of the ith target vector X t i . The scaling factor F controls the amplification of the difference vector and is closely related to convergence speed. The small scaling factor determines the exploitation ability. On the contrary, the large scaling factor determines the exploration ability. It is note that the optimization performance of DE mainly depends on the choice of mutation strategies and the setting of control parameters.
2.1.2 Crossover. By crossover operation on the mutation vector V t i and the ith target vector X t i , the trial vector is generated. The diversity of the population can be increased by crossover operation. There are mainly three classic crossover operators: binomial crossover, exponential crossover and rotationally invariant arithmetic crossover operators. The following binomial crossover operator is the most commonly used.
where rand j is a uniformly distributed random variable within (0, 1). j rand is randomly chosen from the set {1, 2,� � �, D}, which can prevents a direct copy from X t i to U t i . The crossover probability CR is a user-defined crossover factor restricted to (0, 1], which controls the diversity of the population and is closely connected with exploration power.

Selection.
After crossover, the objective function value of the trial vector can be obtained according to the optimization problem. The newly generated trial vectors are evaluated and compared with the target vectors. A greedy strategy is adopted to perform the selection operation in DE. The superior of the target vector X t i and trial vector U t i will survive in the next generation. In mathematics, one has

Literature review.
The performance of DE is mainly influenced by mutation mode, control parameters (i.e. population size (N p ), scaling factor (F) and crossover probability (CR)) and crossover mode. Inappropriate configurations of mutation strategies and control parameters can cause stagnation or premature convergence. Therefore, many scholars have proposed a series of improved DE algorithms .
To avoid manually tuning parameters, researchers have developed some techniques to automatically set the parameter values. Ryoji and Alex [10] used a historical memory of successful control parameters to guide the selection of future control parameters and proposed a parameter adaptation technique for DE (SHADE). Rcr-JADE [11] was an improved version of JADE [12] which employs successful parameters to repair crossover rate. To enhance the performance of L-SHADE algorithm, Awad and Ali et al. [13] proposed LSHADE-EpSin by using an adaptive approach based on sinusoidal formulas to adapt the scaling factor. In addition, some scholars have proposed adaptive strategies for the population size. Zhu et al. [14] proposed an adaptive population tuning scheme. In SapsDE [15], a self-adaptive population resizing mechanism was employed to adjust the population size. Chen and Zhao [16] et al. proposed population adaptive differential evolution (PADE). Award and Ali [17] et al. presented ensemble sinusoidal differential evolution with niching-based population reduction (called EsDEr-NR).
A large number of studies have carried out on improving mutation strategies. A part of studies focused on single-mutation mode. In JADE [12], an optional external archive is combined with a mutation strategy DE/current-to-pbest/1 that utilizes historical information to direct population searching. Wang et al. [18] proposed a self-adaptive differential evolution algorithm with improved mutation mode (IMMSADE) by improving "DE/rand/1". Cai et al. [19] designed a neighborhood-dependent directional mutation operator and presented a neighborhood-adaptive DE (NaDE). A novel "DE/current-to-SP-best-ring/1" mutation operation is introduced in decentralizing and coevolving differential evolution (DCDE), proposed by Tang [20]. A novel and effective adaptation scheme is used to update the crossover rate in adaptive guided differential evolution algorithm (AGDE) [21]. He and Zhou [22] presented a novel DE variant with covariance matrix self-adaptation (DECMSA). In EFADE [23], a new triangular mutation operator is introduced. Cai et al. [24] presented an adaptive social learning (ASL) strategy to extract the neighborhood relationship information. The best search strategies and parameters of an EA are generally different in solving different optimization problems. Therefore, in order to improve the performance of an EA like DE, researchers make efforts to realize an ensemble of multiple strategies and parameters [25][26][27][28][29][30][31][32][33]. Qin et al. [25] proposed a self-adaptive DE algorithm (SaDE), both trial vector generation strategies and their associated control parameter values were gradually self-adapted. Wang et al. [26] introduced a Composite Differential Evolution algorithm (CoDE), which used three trial vector generation strategies and three control parameter settings. Mallipeddi et al. [27] employed an ensemble of mutation strategies and control parameters with the DE (EPSDE). Elsayed et al. [28] used multiple search operators in conjunction with multiple constraint handing techniques. Wu and Mallipeddi et al. [29] proposed a multi-population ensemble DE (MPEDE). YEH et al. [30] mixed Gauss mutation and the "DE/best/1" operator. Cui et al. [31] proposed an adaptive multipleelites-guided composite differential evolution algorithm with a shift mechanism (AME-CoDEs). Wu et al. [32] focused on the high-level ensemble of different DE variants and proposed a new algorithm named EDEV. Lin and Ma et al. [33] proposed an adaptive immuneinspired multi-objective algorithm (AIMA).
In addition to the modification of mutation and control parameters optimization, enhancements in crossover operators have also been investigated, such as covariance matrix learning operator [34], hybrid linkage crossover [35], a crossover operator utilizing eigenvectors of covariance matrix of individual solutions [36], superior-inferior crossover scheme [37], an adaptive hybrid crossover operator(AHX) [38], optional blending crossover scheme [39] and a multiple exponential recombination that inherits all the main advantages of existing crossover operators [40].
Through the synergistic mechanism, a hybrid algorithm could take advantage of various merits within different algorithms, and then yields more favorable performance than a single algorithm. Some preliminary research manifest that hybrid optimizers are effective and competent for global optimization. Li et al. [41] proposed a new hybrid algorithm, called as differential evolution algorithm (DE) / artificial bee colony (ABC) algorithm. Vaisakh et al. [42] came up with a hybrid approach involving differential evolution (DE) and bacterial foraging optimization algorithm (BFOA). Ponsich and Coello [43] hybridized DE with Tabu Search (TS). Gu et al. [44] mixed binary differential evolution (BDE) and Tabu search (TS) to propose the memetic algorithm. Le et al. [45] merged differential evolution and harmony search. Nenavath and Jatoth [46] hybridized sine cosine algorithm with differential evolution.

Dual-strategy mutation operator
In the original mutation strategies [8,9], "DE/best/1" and "DE/best/2" conduct mutation on the best individual with better local exploitation ability and fast convergence speed, but they are easy to suffer premature convergence. "DE/rand/1" and "DE/rand/2" do mutation based on random individuals with stronger global exploration ability, but they are lack of the guidance of the optimal individual, so the convergence speed is slow. "DE/current-to-best/1" performs mutation based on the parent individual and the optimal individual with high convergence precision, but it is easy to fall into local optimum. Above mutation strategies are either too greedy or too stochastic. Therefore, in order to balance the exploitation and exploration better, a novel dual-strategy mutation operator is proposed based on "DE/best/2" and "DE/rand/2", which is shown in Eqs (5)- (7).
where X t b is the best solution at the current generation t. r 1 6 ¼ r 2 6 ¼ r 3 6 ¼ r 4 6 ¼ r 5 are randomly chosen from the set {1, � � �, N p }\{i}, F t i is the scaling factor of the ith individual. ω i_1 and ω i_2 are the weights of two mutation operators, which take the value of either 0 or 1. If rand i () < 0.5, ω i_1 = 1, ω i_2 = 0; otherwise, ω i_1 = 0, ω i_2 = 1. Two weights satisfy ω i_1 + ω i_2 = 1. In the above mutation scheme, only one of the two strategies is used for each vector depending on a uniformly distributed random value within the range (0, 1). λ is the exploration ability control factor and adjusts the exploration ability of mutation operator.

The scaling factor self-adaption strategy
The solution quality and the fitness are closely related. For the solution quality, the fitness is the larger the better. Therefore, the scaling factor is tuned according to the fitness in a selfadaptive and individual-dependent way, as is described in Eq (8).
Where f ðX t i Þ is the fitness of the individual X t i , f t max is the maximum fitness at the current generation, and f t min is the minimum fitness. In particular, when f t max is equal to f t min , F t i is set to a uniformly distributed random variable within (0, 1) to increase disturbance. Superior individuals tend to be assigned with smaller parameter values so as to exploit their neighborhoods in which better solutions, while inferior individuals tend to be assigned with larger parameter values so as to explore further areas in the solution space.

The dynamic adjustment strategy of the exploration ability control factor λ
A key problem in many evolutionary algorithms is premature convergence, especially in the later stage of evolution. However, promoting strong global exploration ability at all stages of an evolutionary process might even be counterproductive in a phase where high exploitation is needed. In general, most algorithms perform more effectively with a high convergence rate in the earlier stage of the searching process relative to the later stage, especially for multimodal functions. At the later stage, the algorithms are easily trapped in local optimal solutions due to poor population diversity. Therefore, the dynamic adjustment strategy of the exploration ability control factor is introduced according to the evolution property, which is shown in Eq (9).
Taking 1000 generations as an example, the dynamic adjustment curve of the exploration ability control factor is shown in the Fig 1. During evolution, the population diversity is better and λ is assigned a smaller value at the earlier stage. In response to the decreased diversity of the population at the later stage of evolution, λ is assigned a larger value to increase the proportions of the explorative mutation operator.
Based on all the components described above, the pseudo-code of the complete procedure of SaDSDE is outlined in Algorithm 1. Comparing to the basic DEs, the time complexity of proposed SaDSDE is still O(T � N p � D) without extra time complexity. Herein, T, N p and D are respectively the maximum generation number, the population size and the dimension of problem.

Experiments setup
In our experiments, 30 benchmark test functions from references [47][48][49] are used to test the performance of SaDSDE, which are listed in Table 1. f 1 -f 11 are unimodal functions, f 12 -f 30 are multimodal functions.

Time complexity
The time complexity is calculated as described in [47]. The codes are implemented in Matlab 2015a and run on a PC with an Intel (R) Core (TM) i5-6500 CPU (3.20GHz) and 8GB RAM. The algorithm complexity is listed in Table 2. In Table 2, T 0 denotes the running time of the following program: end T 1 is the computing time just for Function 3 (Elliptic function) for 200,000 evaluations at a certain dimension D. T 2 is the complete computing time for the algorithm with 200,000 evaluations of D dimensional Elliptic Function. T 2 is evaluated five times, andT 2 is used to denote the mean T 2 . At last, the complexity of the algorithm is reflected by: T 0 , T 1 ,T 2 , ðT 2 À T 1 Þ=T 0 .

Sensitivity analysis to control parameters
4.3.1 Sensitivity analysis to population size. The effect of population size in SaDSDE is investigated by testing 30-dimensional problems. N p is set to 50, 75, 100, 125, 150, 175, 200, 225 and 250. For each test function with a different population size, the maximum generation number is still set to 1000. From the statistical Friedman test [50] results in Fig 2, the performance of SaDSDE decreases with reducing population size, because a larger population size has high exploration ability.
Although SaDSDE with N p = 250 is best in Fig 2, there is no obvious performance difference in Table 3. Therefore, we can say that SaDSDE is not sensitive to the population size.

Sensitivity analysis to crossover probability.
The impact of the crossover probability CR on the performance of proposed algorithm is also analyzed. The candidate values of CR are 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 and 0.9, respectively. We perform Friedman test and Wilcoxon's rank-sum test [50] among the optimization result on different CR values, respectively. The test results are shown in Fig 3 and Table 4, respectively. From Fig 3, we can observe that the performance of SaDSDE is best at CR = 0.9.
From Table 4, it can be observed that SaDSDE is not sensitive to CR except for CR = {0.1, 0.2, 0.3} at the 0.1 significance level. Based on the trade-off of the convergence precision and convergence rate, we think that CR = 0.9 is a more appropriate value. Therefore, we set CR = 0.9 in the following series of experiments unless noted otherwise.

Name
Function Domain Sphere Step ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi
The common parameters are set as follows. The max number of iterations is set to T = 1000, the population size is set to N p = 100, and the times of all experiment runs is set to 30.    R+ is the sum of ranks in which the first algorithm outperformed the second, and R-is the sum of ranks for the opposite. The R+ is bigger, the first algorithm is better. "Yes" indicates that the performance of the SaDSDE with CR = 0.9 is better than its competitor significantly, "No" indicates that there is no significant performance discrepancy.

Experimental comparisons 4.5.1 Numerical analysis. The optimization performance of DE is evaluated in terms of the Mean and Standard Deviation (STD) of the function solutions, and the best and the second
https://doi.org/10.1371/journal.pone.0222706.t004 Table 5. Parameter settings.  best results are respectively marked in bold and italic. In order to show the performance clearly, the number of the best and second best results are summarize graphically. In addition, 4 non-parametric statistical tests [50] are used to compare the performances among all the algorithms, including Wilcoxon signed-rank test, Friedman test, Kruskal_Wallis test and Wilcoxon rank-sum test. Friedman test and Kruskal_Wallis test are conducted based on the optimization results to evaluate the overall performance and we can obtain the rankings of algorithms. Wilcoxon signed-rank test at the 0.05 significance level and Wilcoxon rank-sum test respectively are used to verify the differences among algorithms for single and multiple problems. Signs "+", "-" and "�" indicate that the performance of SaDSDE is significantly better than, worse than and similar to its competitor, respectively. R + denotes the sum of ranks for the test problems in which the first algorithm performs better than the second algorithm, and R − represents the sum of ranks for the test problems in which the first algorithm performs worse than the second algorithm. Larger ranks indicate larger performance discrepancy. "pvalue" indicates the probability of rejecting the hypothesis. "Yes" indicates that the performance of the first algorithm is better than the second algorithm significantly, and "No" indicates that there is no significant performance discrepancy. Self-adaptive dual-strategy differential evolution algorithm  According to Fig 7, SaDSDE is the best, and EsDEr-NR and MPEDE are respectively the second best at D = 30 and D = 100.

Rcr-JADE
As shown in Table 8, we can observe that SaDSDE gets higher R+ values than R− values for all the compared DEs, and all the p-values are less than 0.05. It proves that SaDSDE outperforms other compared DE algorithms significantly.
B. Comparison with 3 non-DE algorithms. DE simulates the natural evolution (such as mutation, crossover and selection) for global search. Unlike DE algorithm, SL-PSO [51], GWO [52] and WOA [53] are swarm intelligence optimization algorithms which simulate the social behavior of natural biological groups (such as foraging, nesting, migration, hunting, predation, etc.). SL-PSO, GWO and WOA are highly competitive swarm intelligence optimization algorithms. Therefore, in order to further verify the effectiveness of SaDSDE algorithm, SaDSDE is compared with SL-PSO, GWO and WOA algorithms. The obtained results (i.e., Mean and STD) and Wilcoxon signed-rank test results at the 0.05 significance level are shown in Tables 9 and 10. The number of the best and the second best results are shown in Fig 8. Additionally, the statistical analysis results for all test functions are listed in Fig 9 and the Wilcoxon rank-sum test results are represented in Table 11.
Analyzing the test results in Tables 9 and 10 Fig 9 shows that SaDSDE gets the best ranking, followed by WOA. SaDSDE is better than 3 non-DE variants significantly, as shown in Table 11.

Convergence analysis.
In order to study the evolution properties, convergence curves are utilized to prove the difference, as illustrated in Fig 10. Furthermore, to illustrate the distribution of the results of each algorithm, the box plots of function solutions of all the algorithms on 6 functions (1 unimodal function and 5 multimodal functions) at D = 30 are depicted in Fig 11.  Fig 10 shows that SaDSDE can obtain the global optimum and has the best convergence rate on 6 functions in the minimum generations, while other compared algorithms have strapped into "evolution stagnation" on different functions. For example, Non-Continuous Rastrigin's Function (f 26 ) is multi-modal, non-separable and asymmetrical function and the local optima's number is huge, DE is easy to suffer premature convergence to be trapped in one of its many local minima. SaDSDE can find the global optimal solution. However, IMMSADE, EFADE, AGDE and GWO have trapped into "evolution stagnation". In addition, we can see that SaDSDE performs more consistently than other algorithms on these problems, as shown in Fig 11. As evident from above analysis, the proposed SaDSDE demonstrates the better performance of convergence precision and robustness than most of the compared algorithms. To summarize, the proposed SaDSDE has the best convergence precision and stability. The reason is that the proposed mutation strategy, scaling factor self-adaption strategy and dynamic adjustment strategy of the exploration ability control factor achieve a better balance of exploration and exploitation.

Efficiency analysis of proposed algorithmic components
The proposed algorithm represents a combined effect. Therefore, we do the efficiency analysis of proposed algorithmic components, including dual-strategy mutation operator, scaling factor self-adaption strategy and dynamic adjustment strategy of exploration ability control factor. Some variants of SaDSDE are listed as follows.  1. To study the effectiveness of scaling factor self-adaptation strategy, SaDSDE variants adopt dynamic λ and fixed scaling factor of F = 0.3, F = 0.7 and random real number in [0, 1], which are respectively named SaDSDE-1, SaDSDE-2 and SaDSDE-3 one by one.
In order to evaluate and compare the performance of different SaDSDE variants, Friedman test and Wilcoxon's rank-sum test are employed, and the test results are plotted in Fig  12 and Table 12, respectively. Observing the test results in Fig 12 and Table 12, we can obtain the following conclusions easily. (1) From Fig 12, the proposed SaDSDE and SaDSDE-1 are Self-adaptive dual-strategy differential evolution algorithm respectively the best and the second best, followed by SaDSDE-4, SaDSDE-3, SaDSDE-2, SaDSDE-6 and SaDSDE-5. It is clear that the combined effect of proposed algorithm components is best. (2) From Table 12, there is no significant performance difference between proposed SaDSDE and SaDSDE variants with exploration ability control factor, while proposed SaDSDE is better than SaDSDE-5 with a larger exploration ability control factor significantly. The validity of two proposed strategies is verified by means of above experimental comparisons. It is note that the contribution of dynamic adjustment strategy of the exploration ability control factor is larger than scaling factor self-adaptation strategy. In other words, although the scaling factor self-adaption is effective, SaDSDE is less susceptible to scaling factor.

Adaptability analysis to high-dimensional problems
In order to evaluate the adaptability to high-dimensional problems of each algorithm, we conduct Wilcoxon's signed-rank test and Wilcoxon rank-sum test at the 0.05 significance level for each algorithm between its own 30 variables and 100 variables. The nonparametric statistical test results are shown in Fig 13 and Table 13. From Fig 13, we can obtain the following observations: (1) For EsDEr-NR, AGDE and EFADE, the low-dimensional performance is significantly better than high-dimensional performance on all the test functions.
(2) For SaDSDE, the low dimensional performance is significantly better than, worse than and similar to high dimensional performance on 7 and 23 out of 30 functions, respectively. (3) For IMMSADE, GWO, WOA and SaDSDE, the difference is not statistically significant in Table 13, while the gap between R + and Rof SaDSDE is significantly smaller than IMMSADE, GWO and WOA. Therefore, SaDSDE has the best adaptability to high-dimensional problems.

Discussions on the comparison results
A series of experiment comparisons have proved the effectiveness of SaDSDE. The reasons can be concluded as follows. (1) The novel dual-strategy mutation operator gives attention to exploitation and exploration ability simultaneously. Exploration can make the algorithm   https://doi.org/10.1371/journal.pone.0222706.g010 Self-adaptive dual-strategy differential evolution algorithm https://doi.org/10.1371/journal.pone.0222706.g012 Self-adaptive dual-strategy differential evolution algorithm search every promising solution area with good diversity, while exploitation can make the algorithm execute a local search in some promising solution areas to find the optimal point with a high convergence rate. (2) In scaling factor self-adaption strategy, the scaling factors of each individual are set for individuals to make full use of the differences in their fitness. Therefore, the superior individuals are assigned relatively smaller values to exploit their neighborhoods in which better solutions. On the contrary, the inferior individuals are assigned larger values to explore further areas in the solution space. (3) The exploration ability control factor is adjusted dynamically according to the generations, which takes into account the evolutionary property in different evolution stages. It can get a good balance between exploration and exploitation ability to make the algorithm search promising solution area and help algorithm jump over the trap of local optimal solution.

Conclusions
The novel mutation operator with "DE/best/2" operator and "DE/rand/2" operator is proposed in this paper. The "DE/rand/2" mutation operator can expand the search area in the later stage of evolution and avoid suffering premature convergence. The "DE/best/2" mutation operator can accelerate the convergence speed greatly. The performance of the algorithm is excellent even if CR is set to a fixed value. Experiment results show that: (1) SaDSDE is not sensitive to the population size and it is easier to implement. (2) SaDSDE has the best performance among all the compared variants. (3) For the high-dimensional functions, with the same-scale population and iterations, SaDSDE can still get the excellent global optimization performance, while there is serious performance degradation for other compared algorithms. In other words, SaDSDE has the best adaptability to high-dimensional problems.
As a continuation of this research, we will focus on multi-objective optimization (MOO) problems and some actual engineering applications, such as flight conflict resolution and image registration, etc.