A differential evolution (DE) algorithm with self-adaptive population resizing mechanism, SapsDE, is proposed to enhance the performance of DE by dynamically choosing one of two mutation strategies and tuning control parameters in a self-adaptive manner. More specifically, more appropriate mutation strategies along with its parameter settings can be determined adaptively according to the previous status at different stages of the evolution process. To verify the performance of SapsDE, 17 benchmark functions with a wide range of dimensions, and diverse complexities are used. Nonparametric statistical procedures were performed for multiple comparisons between the proposed algorithm and five well-known DE variants from the literature. Simulation results show that SapsDE is effective and efficient. It also exhibits much more superiorresultsthan the other five algorithms employed in the comparison in most of the cases.

1. Introduction

Evolutionary algorithms (EAs), inspired by biological evolutionary mechanism in nature, have achieved great success on many numerical and combinatorial optimizations in diverse fields [13]. During the past two decades, EAs have become a hot topic. When implementing the EAs, users need to solve several points, for example, the appropriate encoding schemes, evolutionary operators, and the suitable parameter settings, to ensure the success of the algorithms. The earlier EAs have some disadvantages, such as complex procedure, stagnation, and poor search ability. To overcome such disadvantages, on one hand, some researchers proposed other related methods (e.g., particle swarm optimization (PSO) [4, 5], differential evolution (DE) [6]) which have better global search ability. On the other hand, the effects of setting the parameters of EAs have also been the subject of extensive research [7] by the EA community, and recently there are substantial self-adaptive EAs, which can adjust their parameters along with iterations (see, e.g., [2, 8] for a review).

DE is proposed by Storn and Price [6]. Like other EAs, DE is a population-based stochastic search technique as well, but it is simpler and it can be implemented more easily than other EAs. Besides that, DE [9, 10] is an effective and versatile function optimizer. Owing to simplicity of code, practitioners from other fields can simply apply it to solve their domain-specific problems even if they are not good at programming. Moreover, in traditional DE, there are only three crucial control parameters, that is, scaling factor , crossover rate , and population size NP, which are fewer than other EAs' (e.g., [8, 11]). It is clear that the appropriate settings of the three control parameters ensure successful functioning of DE [12]. However, results in [6, 13] potentially confuse scientists and engineers who may try to utilize DE to solve scientific and practical problems. Further, while some objective functions are very sensitive to parameter settings, it will be difficult to set the parameter values according to prior experience. Hence, a great deal of publications [1421] have been devoted to the adjustment of parameters of variation operators. Brest et al. [15] proposed a self-adaptive differential evolution algorithm (called DE) based on the self-adapting control parameter scheme, which produced control parameters and into a new parent vector and adjusted them with probability. Qin et al. in [20, 21] proposed a SaDE algorithm, in which there was a mutation strategy candidate pool. Specifically, in SaDE algorithm, one trial vector generation strategy and associated parameter ( and ) settings were adjusted according to their previous experiences of generating promising solutions. Moreover, researchers developed the performance of DE by applying opposition-based learning [22] or local search [23].

In most existing DEs, the population size remains constant over the run. However, there are biological and experimental reasonings to expect that a variable population size would work better. In a natural environment, population sizes of species change and incline to steady state due to natural resources and ecological factors. Technically, the population size in a biological system is the most flexible element. And it can be calibrated more easily than recombination. Bäck et al. [24] have indicated that calibrating the population size during iterative process could be more rewarding than changing the operator parameters in genetic algorithms. Unfortunately, the DEs with variable population size (e.g., [25, 26]) have not received much attention despite their various applications in real world, and there is still a lot of research space. Hence in this paper, we will focus on DE with variable population size scheme in which the population size can be adjusted dynamically based on the online solution-search status. In this algorithm, we introduce three population adjustment mechanisms to obtain the appropriate value of according to the desired population distribution. Specifically, while the fitness is improved, it may increase the population size to explore. While short term lacks improvement, it may sink the population size. But if stagnation is over a longer period, the population will grow again. Along with those, two trial vector generation strategies will be adopted adaptively during evolution process.

The remainder of this paper is organized as follows. Section 2 gives a brief review of traditional DE and JADE algorithms. Section 3 introduces the DE with self-adaptive population size scheme—SapsDE. Our mutating and adaptive resizing strategies will also be described. Section 4 describes our studies compared with the traditional DE and several state-of-the-art adaptive DE variants and presents the experimental results on a diverse set of test functions with up to 100 dimensions. Finally, Section 5 concludes this paper with some remarks and future research directions.

2. Differential Evolution and JADE Algorithm

In this section, we present an overview of the basic concepts of DE and JADE algorithm necessary for a better understanding of our proposed algorithm.

2.1. Differential Evolution

DE is a population-based algorithm, and a reliable and versatile function optimizer, which evolves a population of NP D-dimensional individuals towards the global optimum by enhancing the differences of the individuals. In brief, after initialization, DE repeats mutation, crossover, and selection operations to produce a trail vector and select one of those vectors with the best fitness value for each vector until satisfying some specific termination criteria. Conveniently, subsequent generation in DE is denoted by . We notate the th vector of the population at the current generation as follows:

Initialization. First of all, uniformly randomize NP individuals within a D-dimensional real parameter search space. And the initial population should cover the entire search space constrained by the prescribed minimum and maximum bounds: , . Hence, the initialization of the th element in the th vector is taken as follows: where represents a uniformly distributed random variable within the , and it is instantiated independently for each component of the th vector.

Mutation Operation. In the existing literature on DE, mutate vector , called donor vector, is obtained through the differential mutation operation with respect to each individual , known as target vector, in the current population. For each target vector from the current population, the donor vector is created via certain mutation strategy. Several mutation strategies have been proposed. Here we list one of the most popular and simplest forms of DE-mutation as follows: The indices , , and are mutually exclusive integers randomly generated within the , which are different from the base vector index . These indices are randomly generated for each mutant vector. Now, the difference of any two of these three vectors is scaled by a mutation weighting factor which typically lies in the interval in the existing DE literature, and the scaled difference is added to the third one to obtain a donor vector V.

Crossover Operation. After the mutation operation, according to the target vector and its corresponding donor vector , a trail vector is produced by crossover operation. In traditional version, DE applies the binary defined crossover as follows: where is a crossover rate within the , defined by user as a constant, which controls the probability of parameter values employed from the donor vector. is a randomly chosen integer within the which is introduced to ensure that the trial vector contains at least one parameter from donor vector.

Selection Operation. In classic DE algorithm, a greedy selection is adopted. The fitness of every trail vectors is evaluated and compared with that of its corresponding target vector in the current population. For minimization problem, if the fitness value of trial vector is not more than that of target vector, the target vector will be replaced by the trial vector in the population of the next generation. Otherwise, the target vector will be maintained in the population of the next generation. The selection operation is expressed as follows: The algorithmic process of DE is depicted in Algorithm 1.

: Begin
:  Initialization(); Generate uniformly distributed random population of NP individuals
:  while stopping criterion is not satisfied do
:   for   to NP do
:    Select random indexes
:    for to   do
:     if     then
:     else
(13):     end if
(14):    end for
(15):    if   then
(17):    else
(19):    end if
(20):   end for
(21):   G = G + 1
(22):  end while
(23): End

2.2. JADE Algorithm

Zhang and Sanderson [27] introduced adaptive differential evolution with optional external archive, named JADE, in which a neighborhood-based mutation strategy and an optional external archive were employed to improve the performance of DE. It is possible to balance the exploitation and exploration by using multiple best solutions, called DE/current-to-pbest strategy, which is presented as follows: where is randomly selected as one of the top 100 p% individuals of the current population with . Meanwhile, and are diverse and random individuals in the current population P, respectively. is randomly selected from the union of P and the archive A. In Particular, A is a set of achieved inferior solutions in recent generations and its individual number is not more than the population size. At each generation, the mutation factor and the crossover factor of each individual are, respectively, updated dynamically according to a Cauchy distribution of mean and a normal distribution of mean as follows: The proposed two location parameters are initialized as 0.5 and then generated at the end of each generation as follows: where in is a positive constant; / indicates the set of all successful mutation/crossover factors in generation; () denotes the usual arithmetic mean, and () is the Lehmer mean, which is defined as follows:

3. SapsDE Algorithm

Here we develop a new SapsDE algorithm by introducing a self-adaptive population resizing scheme into JADE. Technically, this scheme can gradually self-adapt according to the previous experiences of generating promising solutions. In addition, we use two DE mutation strategies in SapsDE. In each iteration, only one DE strategy is activated. The structure of the SapsDE is shown in Algorithm 2.

: Begin
:  Randomly initialize a population of vectors uniformly distributed in the
:  range
:  Evaluate the fitness values of the population
:  while termination criterion is not satisfied do
:   for   to   do
:    Generate donor vector
:    if     then
:     // mutate with DE/rand-to-best/1 strategy
:    else
(14):     // mutate with DE/current-to- best/1 strategy (JADE)
(15):    end if
(16):    Through crossover operation to generate trial vector
(17):     Strategy
(18):    Evaluate the trial vector
(19):    if    then
(20):      // Save index for replacement
(21):    end if
(22):   end for
(23):   // is the minimum value of function evaluations in the last generation
(24):   // is the low bound of population size
(25):   if min(   then
(26):     ;
(27):     = min( )
(28):   else
(29):     ;
(30):     = + 1;
(31):   end if
(32):   if  popsizeLbound then
(33):     = + 1
(34):   end if
(35):   if ( == 1) and ( ) then
(36):    Population_Reducing_Strategy()
(37):     = 0
(38):   end if
(39):   if ( == 1) then
(40):    Population_Augmenting_Strategy1()
(41):    Evaluate the new additional individuals
(42):     = 0
(44):   end if
(45):   if ( ) or  ( ) then
(46):    Population_Augmenting_Strategy2()
(47):    Evaluate the new additional individuals
(50):   end if
(51):    = + 1
(52):  end while
(53): End

3.1. Generation Strategies Chooser

DE performs better if it adopts different trail vector generation strategies during different stages of optimization [21]. Hence, in SapsDE, we utilize two mutation strategies, that is, DE/rand-to-best/1 and DE/current-to-best/1.

The DE/rand-to-best/1 strategy benefits from its fast convergence speed but may result in premature convergence due to the resultant reduced population diversity. On the other hand, the DE/current-to-best/1 strategy balances the greediness of the mutation and the diversity of the population. Considering the above two strategies, we introduce a parameter to choose one of the strategies in each iteration of the evolutionary process. At an earlier stage of evolutionary process, DE/current-to-best/1 strategy is adopted more to achieve fast convergence speed. For avoiding trapping into a local optimum, as the generation is proceeding further, DE/current-to-best/1 strategy is used more to search for a relatively large region which is biased toward promising progress directions.

As presented in lines 8–15 in Algorithm 2, the DE/rand-to-best/1 strategy is used when is smaller than ; otherwise, DE/current-to-best/1 strategy is picked where is a random number generated from the continuous uniform distribution on the interval . Notice that is a time-varying variable which diminishes along with the increase of generation and it can be expressed as follows: where , , and denotes the generation counter. Hence, DE/rand-to-best/1 strategy can be frequently activated at earlier stage as the random number can easily get smaller than . Meanwhile, DE/current-to-best/1 strategy takes over more easily as the generation increases.

3.2. Population Resizing Mechanism

The population resizing mechanism aims at dynamically increasing or decreasing the population size according to the instantaneous solution-searching status. In SapsDE, the dynamic population size adjustment mechanism depends on a population resizing trigger. This trigger will activate population-reducing or augmenting strategy in accordance with the improvements of the best fitness in the population. One step further, if a better solution can be found in one iteration process, the algorithm becomes more biased towards exploration augmenting the population size, short-term lack of improvement shrinks the population for exploitation, but stagnation over a longer period causes population to grow again. Further, the population size is monitored to avoid breaking lower bound. As described in lines 23–34 in Algorithm 2, Lb is the lower bound indicator. Correspondingly, Lbound is the lower bounds of the population size. The proposed , , and are three significant trigger variables, which are used to activate one of all dynamic population size adjustment strategies. More specifically, the trigger variable is set to 1 when the best fitness does not improve, that may lead to a population-reducing strategy to delete poor individuals from current population. Furthermore, similarly, if there is improvement of the best fitness, and are assigned 1, respectively. The population-augmenting strategy 1 is used when the trigger variable is set to 1. Besides, if the population size is not bigger than the lower bound (Lbound) in consecutive generations, the lower bound monitor () variable will be increased in each generation. This process is continuously repeated until it achieves a user-defined value ; that is, the population-augmenting strategy2 will be applied if or .

Technically, this paper applies three population resizing strategies as follows.

Population Reducing Strategy. The purpose of the population-reducing strategy is to make the search concentrating more on exploitation by removing the redundant inferior individuals when there is no improvement of the best fitness in short term. More specifically, in population reducing strategy, the first step is to evaluate fitness function values of individuals. Second step is to arrange the population with its fitness function values from small to large. For minimization problems, the smaller the value of fitness function is, the better the individual performs. Consequently, the third step is to remove some individuals with large values from the current population. The scheme of population reduction is presented in Algorithm 3, where denotes the number of deleted individuals.

: Begin
:  Arrange the population with its fitness function values in ascending order
:  Remove the last individuals from current population
: End

Population Augmenting Strategy1. Population Augmenting strategy1 is intended to bias more towards exploration in addition to exploitation. Here it applies DE/best/2 mutation strategy to generate a new individual increasing the population size on fitness improvement. The pseudocode of the population-increasing scheme is shown in Algorithm 4.

: Begin
:   Select the best individual from the current population
:  Randomly select four different vectors from the
:  current population
:  Store into BA
:  Add the individual of BA into the current population
:  Empty BA
: End

Population Augmenting Strategy2. The population size is increased by population augmenting strategy2, shown in Algorithm 5 if there is no improvement during the last number of evaluations. The second growing strategy is supposed to initiate renewed exploration when the population is stuck in local optima. So, here it applies DE/rand/1 mutation scheme. In theory, the size to increase the population in this step can be defined independently from others, but in fact we use the same growth rate as one of the population-reducing strategy.

: Begin
:  Select best individuals from the current population
:  for   to   do
:   Randomly generate three different vectors from the
:   current population
:    Store into BA
:  end for
:  Add the total individuals of BA into the current population, and empty BA
: End

4. Experiments and Results

4.1. Test Functions

The SapsDE algorithm was tested on benchmark suite consisting of 17 unconstrained single-objective benchmark functions which were all minimization problems. The first 8 benchmark functions are chosen from the literature and the rest are selected from CEC 2005 Special Session on real-parameter optimization [28]. The detailed description of the function can be found in [29, 30]. In Table 1, our test suite is presented, among which functions , , and are unimodal and functions and are multimodal.

4.2. Parameter Settings

SapsDE is compared with three state-of-the-art DE variants (JADE, DE, and SaDE) and the classic DE with DE/rand/1/bin/strategy. To evaluate the performance of algorithms, experiments were conducted on the test suite. We adopt the solution error measure (), where is the best solution obtained by algorithms in one run and is well-known global optimum of each benchmark function. The dimensions () of function are 30, 50, and 100, respectively. The maximum number of function evaluations (FEs), the terminal criteria, is set to , all experiments for each function and each algorithm run 30 times independently.

In our experimentation, we follow the same parameter settings in the original paper of JADE, DE, and SADE. For DE/rand/1/bin, the parameters are also studied in [31]. The details are shown as follows:(1)the original DE algorithm with DE//1/ strategy, F = 0.9, = 0.9 and P (population size) (dimension);(2)JADE, ;(3)DE, ;(4)SaDE, : , .

For SapsDE algorithm, the configuration is listed as follows: the is set to 50. Initial population size is set to 50. The adjustment factor of population size is fixed to 1. The threshold variable of boundary and stagnation variable is set to 4.

All experiments were performed on a computer with Core 2 2.26-GHz CPU, 2-GB memory, and Windows XP operating system.

4.3. Comparison with Different DEs

Intending to show how well the SapsDE performs, we compared it with the conventional DE and three adaptive DE variants. We first evaluate the performance of different DEs to optimize the 30-dimensional numerical functions . Table 2 reports the mean and standard deviation of function values over 30 independent runs with 300 000 FES. The best results are typed in bold. For a thorough comparison, the two-tailed t-test with a significance level of 0.05 has been carried out between the SapsDE and other DE variants in this paper. Rows “+ (Better),” “ (Same),” and “− (Worse)” give the number of functions that the SapsDE performs significantly better than, almost the same as, and significantly worse than the compared algorithm on fitness values in 30 runs, respectively. Row total score records the number of +’s and the number of s to show an overall comparison between the two algorithms. Table 2 presents the total score on every function.

From Table 2, SapsDE is significantly better than other comparisonal algorithms on thirteen functions while it is outperformed by JADE on functions and and by SaDE on functions and . Obviously, SapsDE obtains the best average ranking among the five algorithms.

More specifically, with respect to JADE, the t-test is 4/1/12 in Table 2. It means that SapsDE significantly outperforms JADE on 4 out of 17 benchmark functions. JADE is significantly better than SapsDE on one function . For the rest of benchmark functions, there is no significant difference between SapsDE and JADE. Similarly, we can get that SapsDE performs significantly better than DE, DE, and SaDE on 14, 11, and 14 out of 17 test functions, respectively. Thus, SapsDE is the winner of test. The reason is that SapsDE implements the adaptive population resizing scheme, which can help the algorithm to search the optimum as well as maintaining a higher convergence speed when dealing with complex functions.

In order to further evaluate the performance of SapsDE, we report the results of SapsDE and other four DE variants on test functions at . The experimental results are summarized in Table 3.

From Table 3, it can be seen that SapsDE is significantly better than other algorithms on the 14 (, , and ) out of 17 functions. On the two functions and , DE outperforms SapsDE. And for test function , the best solution is achieved by SaDE.

Particularly, SapsDE provides the best performance among the five algorithms on all unimodal functions. The three inferior solutions of SapsDE are all on the multimodal functions. However, in general, it offers more improved performance than all of the compared DEs. The t-test is summarized in the last three rows of Table 3. In fact, SapsDE performs better than DE, JADE, DE, and SaDE on 16, 8, 11, and 16 out of 17 test functions, respectively. In general, our proposed SapsDE performs better than other DE variants on benchmark functions at in terms of the quality of the final results.

We can see that the proposed SapsDE is effective and efficient on optimization of low dimensional functions. However, high dimensional problems are typically harder to solve and a common practice is to employ a larger population size. In order to test the ability of the SapsDE in high dimensional problems, we compared it with other four DE variants for our test functions at . In Table 4, the experimental results of 100-dimensional problems are summarized.

Table 4 shows that the SapsDE provides the best performance on the , , , , , , and and performs slightly worse than one of four comparisonal algorithms on the rest of the functions. The DE offers the best performance on the , , and . SaDE performs best on the . However, the differences between SapsDE and DE are considered to be not quite statisfically significant on the , , and , neither does it between SapsDE and SaDE on the .

To apply the t-test, we obtain the statistic results of the experiments at for all functions. The results of SapsDE are compared with those of DE, JADE, SaDE, and DE. Results of t-test are presented in the last three rows of Table 4. It is clear that SapsDE obtains higher “+”  values than “−”  values in all cases. Unquestionably, SapsDE performs best on 100-dimension benchmark functions.

Comparing the overall performances of five algorithms on all functions, we find that SapsDE obtains the best average ranking, which outperforms the other four algorithms. JADE follows SapsDE in the second best average ranking. The DE can converge to the best solution found so far very quickly though it is easy to stuck in the local optima. The SaDE has good global search ability and slow convergence speed. The DE can perform well on some functions. The SapsDE has good local search ability and global search ability at the same time.

4.4. Comparable Analysis of Convergence Speed and Success Rate

Table 5 reports the success rate () and the average number of function evaluations () by applying the five algorithms to optimize the 30-D, 50-D, and 100-D numerical functions , , , and . The success of an algorithm means that the algorithms can obtain a solution error measure no worse than the prespecified optimal value, that is, error measures for all problem with the number of less than the prespecified maximum number. The success rate is the proportion of success runs number among the total runs number. is the average number of function evaluations required to find the global optima within the prespecified maximum number of when an algorithm is a success. Because the convergence graphs of the 30-D problems are similar to their 50-D and 100-D counterparts, they are given as represented here. Figure 1 illustrates the convergence characteristics of each algorithm for the four 30-dimensional benchmark functions.

From Table 5, we find that SapsDE almost achieves the fastest convergence speed at all functions, which is also displayed visually in Figure 1. Moreover, SapsDE obtains a higher success rate than the four DE variants in most instances.

4.5. Compared with ATPS

Recently, in [26], Zhu et al. proposed an adaptive population tuning scheme (ATPS) for DE. The ATPS adopts a dynamic population strategy to remove redundant individuals from the population according to its ranking order, perturb the population, and generate good individuals. this APTS framework could be incorporated into several recently reported DE variants and achieves good performance on function optimization. In this section, we compare the SapsDE with the ATPS-DE variants, which are reported in [26], on nine 30-D benchmark functions. The parameter settings are the same as those in [26]. The averaged results of 30 independent runs are shown in the Table 6 (results for ATPS-DEs are taken from [26]). Obviously, from Table 6, we can observe that the number of “+” is more than that of “−”. On the whole, the SapsDE outperforms the ATPS-DEs, respectively.

4.6. Time Complexity of SapsDE

In this section, we analyze time complexity of the SapsDE algorithm by using power regression . Here is dimension , and is the time in Table 7. Table 7 lists all time of the function with 30, 50, and 100 dimensions in 30 runs. After calculations, the results of power regression are also listed in Table 7. It can be found that the time complexity of our algorithm is less than .

4.7. Parameter Study

In this section, we use 30-D test functions to investigate the impact of the initial value on SapsDE algorithm. The SapsDE algorithm runs 30 times on each function with three different initial values of 50, 100, and 200. We here present the results of mean and standard deviation for these functions in Table 8.

Furthermore, we study the robustness of value by testing the 30-D benchmark functions . Similarly, the SapsDE algorithm runs 30 times on each function with three different values of 1, 3, and 5. The result of experiments is shown in Table 9.

From Tables 8 and 9, we find that SapsDE algorithm obtains similar optimization solutions on most of the functions by using three different initial values and values, respectively. Therefore, the performance of SapsDE algorithm is less sensitive to the parameter initial value between 50 and 200 and value between 1 and 5.

5. Conclusion

This paper presents a SapsDE algorithm which utilizes two DE strategies and three novel population size adjustment strategies. As evolution processes, the algorithm selects a more suitable mutation strategy. Meanwhile, three population size adjustment strategies will dynamically tune the value according to the improvement status learned from the previous generations. We have investigated the characteristics of SapsDE. Experiments show that SapsDE has low time complexity, fast convergence, and high success rate. The sensitivity analysis of initial value and indicates that they have insignificant impact on the performance of the SapsDE.

We have compared the performance of SapsDE with the classic DE and four adaptive DE variants over a set of benchmark functions chosen from the existing literature and CEC 2005 special session on real-parameter optimization problems, and we conclude that the SapsDE algorithm is a highly competitive algorithm in 30-, 50-, and 100-dimensional problems. To summarize the results of the tests, the SapsDE algorithm presents significantly better results than the remaining algorithms in most cases. In our future work, we will focus on solving some real-world problems with the SapsDE. We will also tend to modify it for discrete problems.


This paper was partially supported by the National Natural Science Foundation of China (61271114).