Performance comparison of self-adaptive and adaptive ... - CiteSeerX

7 downloads 46033 Views 186KB Size Report
Jul 4, 2006 - In this paper we will call this algorithm jDE. The other objective ..... distributed within a range with center CRm and variance. 0.1. Initially, CRm ...
Soft Comput (2007) 11:617–629 DOI 10.1007/s00500-006-0124-0

O R I G I NA L PA P E R

Performance comparison of self-adaptive and adaptive differential evolution algorithms Janez Brest · Borko Boškovi´c · Sašo Greiner · Viljem Žumer · Mirjam Sepesy Mauˇcec

Published online: 4 July 2006 © Springer-Verlag 2006

Abstract Differential evolution (DE) has been shown to be a simple, yet powerful, evolutionary algorithm for global optimization for many real problems. Adaptation, especially self-adaptation, has been found to be highly beneficial for adjusting control parameters, especially when done without any user interaction. This paper presents differential evolution algorithms, which use different adaptive or self-adaptive mechanisms applied to the control parameters. Detailed performance comparisons of these algorithms on the benchmark functions are outlined. Keywords Differential evolution · Control parameter · Fitness function · Optimization · Self-adaptation

1 Introduction Differential evolution (DE) is a floating-point encoding evolutionary algorithm for global optimization over continuous spaces (Liu and Lampinen 2002a,b, 2005; Price and Storn 1997; Price et al. 2005; Rönkkönen et al. 2005; Storn and Price 1995, 1997), which can also work with discrete variables. DE creates new candidate solutions by combining the parent individual and several other individuals of the same population. A candidate replaces the parent only if it has better fitness value. DE J. Brest (B) · B. Boškovi´c · S. Greiner · V. Žumer · M. Sepesy Mauˇcec Faculty of Electrical Engineering and Computer Science, University of Maribor, Maribor, Slovenia e-mail: [email protected]

has three control parameters: amplification factor of the difference vector – F, crossover control parameter – CR, and population size – NP. The original DE algorithm keeps all three control parameters fixed during the optimization process. However, there still exists a lack of knowledge of how to find reasonably good values for the control parameters of DE, for a given function (Liu and Lampinen 2005). Although the DE algorithm has been shown to be a simple, yet powerful, evolutionary algorithm for optimizing continuous functions, users are still faced with the problem of preliminary testing and hand-tuning of the evolutionary parameters prior to commencing the actual optimization process (Teo 2005). As a solution, self-adaptation has proved to be highly beneficial in automatically and dynamically adjusting evolutionary parameters, such as crossover and mutation rates. Selfadaptation allows an evolutionary strategy to adapt itself to any general class of problems, by reconfiguring itself accordingly, and to do this without any user interaction (Bäck 2002; Bäck et al. 1997; Eiben and Smith 2003). In literature, self-adaptation is usually applied to the F and CR control parameters. This is mainly because the efficiency and robustness of the DE algorithm are much more sensitive to the setting of F and CR control parameters, in comparison to the setting of the third DE parameter, namely NP. Globally, we can distinguish two major forms of setting parameter values: parameter tuning and parameter control. The former means the commonly practised approach that tries to find good parameter values before running the algorithm, and then tuning the algorithm using these values, which remain fixed during the run. The latter means that parameter values are changed

618

J. Brest et al.

during the run. According to Eiben et al. (1999) and Eiben and Smith (2003), this change can be categorized into three classes:

obtained results is given in Sect. 6. Section 7 concludes the paper with some final remarks.



2 Work related to differential evolution





Deterministic parameter control: it takes place when the value of a parameter is altered by some deterministic rule. Adaptive parameter control: it is used to place when there is some form of feed-back from the search that is used to determine the direction and/or the magnitude of parameter change. Self-adaptive parameter control: the idea of ‘evolution of the evolution’ can be used to implement the self-adaptation of parameters. Here the parameters to be adapted are encoded into the chromosome (individuals) and undergo the actions of genetic operators. The better values of these encoded parameters lead to better individuals which, in turn, are more likely to survive and produce offspring and, hence, propagate these better parameter values.

The main objective of this paper is a performance comparison of certain selected DE algorithms, which use different self-adapting control parameter mechanisms. We particularly focus on self-adaptation, but our comparison also uses one algorithm with adaptive control parameters. The first algorithm is called differential evolution with self adapting populations (DESAP) (Teo 2005). The second is fuzzy adaptive differential evolution (FADE) (Liu and Lampinen 2005). The third algorithm is self-adaptive differential evolution algorithm (SaDE) (Qin and Suganthan 2005), which uses selfadaptation when choosing strategy and strategy control parameters F and CR. The last algorithm is the recently proposed self-adapting DE algorithm (Brest et al. 2006). In this paper we will call this algorithm jDE. The other objective of this paper is to present some improvements in (our) self-adapting jDE algorithm. This article is structured as follows. Section 2 gives an overview of work dealing with DE. Section 3 shortly summarizes differential evolution. Section 4 describes differential evolution algorithms, which use self-adaptive and adaptive adjusting of control parameters. This section presents one DE algorithm with adaptive control parameters, and three algorithms with self-adapting control parameters. We conclude this section by proposing some improvements in our self-adapting jDE algorithm. Section 5 presents the experimental results on the benchmark functions. This section gives performance comparisons for self-adaptive and adaptive DE algorithms on the benchmark functions. Discussion of the

The DE (Storn and Price 1995, 1997) algorithm was proposed by Storn and Price, and since then it has been used in many practical cases. The original DE was modified and many new versions have been proposed. Ali and Törn (2004) proposed new versions of the DE algorithm, and also suggested some modifications to the classical DE in order to improve its efficiency and robustness. They introduced an auxiliary population of NP individuals alongside the original population (noted in Ali and Törn (2004), a notation using sets is used – population set-based methods). Next they proposed a rule for calculating the control parameter F, automatically. Sun et al. (2004) proposed a combination of the DE algorithm and the estimation of distribution algorithm (EDA), which tries to guide its search towards a promising area by sampling new solutions from a probability model. Based on experimental results it has been demonstrated that the DE/EDA algorithm outperforms both the DE and EDA algorithms. Liu and Lampinen (2002b) reported that the effectiveness, efficiency and robustness of the DE algorithm are sensitive to the settings of control parameters. The most suitable settings for the control parameters depend on the function and requirements for consumption time and accuracy. Quite different conclusions were reported concerning the rules for choosing the control parameters of DE. In Price and Storn (1997) it is stated that the control parameters of DE are easy to choose. On the other hand, Gämperle et al. (2002) reported that choosing the proper control parameters is more difficult than expected. Liu and Lampinen (2005) proposed a version of DE, where the mutation control parameter and the crossover control parameter are adaptive. Teo (2005) proposed an attempt at self-adapting the population size parameter, in addition to self-adapting crossover and mutation rates. Brest et al. (2006) recently proposed a DE algorithm, using a self-adapting mechanism on the F and CR control parameters. Qin and Suganthan (2005) proposed the SaDE, where the choice of learning strategy and the two control parameters F and CR do not require pre-defining. During evolution, suitable learning strategy and parameter

Performance comparison of self-adaptive and adaptive differential evolution algorithms

settings are gradually self-adapted, according to the learning experience.

(7)

The general problem an optimization algorithm is concerned with is to find x so as to optimize f (x); x = {x1 , x2 , . . . , xD }. D is the dimensionality of the function. The variables’ domains are defined by their lower and upper bounds: xj,low , xj,upp ; j ∈ {1, . . . , D}. The population of the original DE algorithm (Rönkkönen et al. 2005; Storn and Price 1995, 1997) contains NP D-dimensional vectors: i = 1, 2, . . . , NP,

(1)

G denotes the generation. During one generation for each vector, DE employs mutation and crossover operations to produce a trial vector: ui,G = {ui,1,G , ui,2,G , . . . , ui,D,G },

i = 1, 2, . . . , NP,

(2)

Then, a selection operation is used to choose vectors for the next generation (G + 1). The initial population is selected uniform randomly between the lower (xj,low ) and upper (xj,upp ) bounds defined for each variable xj . These bounds are specified by the user according to the nature of the problem. After initialization, DE performs several vector transforms (with the above mentioned operations), in a process called evolution. 3.1 Mutation operation Mutation for each population vector creates a mutant vector: xi,G ⇒ vi,G = {vi,1,G , vi,2,G , . . . , vi,D,G }, i = 1, 2, . . . , NP,

(3)

The mutant vector can be created by using one of the mutation strategies. The most useful strategies are: –

– ‘best/2’: vi,G = xbest,G +F · (xr1 ,G −xr2 ,G )+F · (xr3 ,G −xr4 ,G )

3 The differential evolution algorithm

xi,G = {xi,1,G , xi,2,G , . . . , xi,D,G },

619

– ‘rand/2’: vi,G = xr1 ,G +F · (xr2 ,G −xr3 ,G )+F · (xr4 ,G −xr5 ,G ), (8)

where the indexes r1 , r2 , r3 , r4 , r5 represent the random and mutually different integers generated within the range [1, NP] and also different from index i. F is a mutation scale factor within the range [0, 2], usually less than 1. xbest,G is the best vector in generation G. 3.2 Crossover operation After mutation, a ‘binary’ crossover operation forms the final trial vector, according to the i-th population vector and its corresponding mutant vector:  ui,j,G =

vi,j,G

if rand(0, 1) ≤ CR or j = jrand ,

xi,j,G

otherwise

(9)

i = 1, 2, . . . , NP and j = 1, 2, . . . , D, Crossover parameter or factor within the range [0, 1) and presents the probability of creating parameters for the trial vector from a mutant vector. Index jrand is a randomly chosen integer within the range [1, NP]. It is responsible for the trial vector containing at least one parameter from the mutant vector. If the control parameters from the trial vector are out of bounds, the proposed solutions in literature (Rönkkönen et al. 2005; Storn and Price 1995, 1997) are: they are reflected into bounds, set on bounds or used as they are (out of bounds).

‘rand/1’: 3.3 Selection operation vi,G = xr1 ,G + F · (xr2 ,G − xr3 ,G )



‘best/1’: vi,G = xbest,G + F · (xr1 ,G − xr2 ,G )



(4)

(5)

The selection operation selects, according to the fitness value of the population vector and its corresponding trial vector, which vector will survive to be a member of the next generation. For example, if we have a minimization problem, the following selection rule is used: 

‘current to best/1’: vi,G = xi,G +F · (xbest,G −xi,G )+F · (xr1 ,G −xr2 ,G ) (6)

xi,G+1 =

ui,G xi,G

if f (ui,G ) < f (xi,G ), otherwise.

(10)

620

4 The adaptive and self-adaptive differential evolution algorithms This section briefly describes four versions of the DE algorithm from literature. The first one uses an adaptation mechanism on the control parameters. All other algorithms use (different) self-adapting mechanisms on the control parameters or on the choice of strategy. 4.1 FADE algorithm The FADE algorithm, introduced by Liu and Lampinen (2005), is a version of the DE algorithm, with adaptive control parameters. FADE stands for Fuzzy Adaptive Differential Evolution algorithm, which employs fuzzy logic-based (Di Nola and Gerla 2001) controllers to adapt the search parameters for crossover and mutation operations. Control inputs incorporate the relative objective function values and the individuals of successive generations. Using FADE, the initial population is generated at random using uniformly distributed random numbers chosen from a uniform distribution of an interval [0, 1]. The main difference between the original DE and FADE is that DE keeps all parameters fixed during the evolution process, while FADE adapts them by means of fuzzy controllers. Fuzzy logic comprises conditional statements, which are formulated with the so-called IF-THEN rule statements. 4.2 DESAP algorithm Teo (2005) proposed an algorithm, called DESAP. The main idea of the proposed algorithm is that the population size is automatically determined from initialization, and throughout the evolutionary search process to completion. Therefore, the user does not need to be concerned about determining the population size to be used for the evolution process. Self-adaptive strategy is also used for controlling the crossover and mutation rates for both the proposed DESAP, as well as conventional DE algorithms. The authors propose two different versions of DESAP, where the first version utilizes an absolute encoding methodology for population size, which is referred to as DESAP-Abs, and the second version DESAP-Rel utilizes a relative encoding methodology for population size. Differential evolution with self adapting populations automatically creates a random initial population NP of (10 . D) individuals, where D represents the dimensionality of the test problem. The crossover and mutation rates are assigned by random values according to

J. Brest et al.

a uniform distribution between [0, 1]. In DESAP-Abs, the population size parameter is initialized to NPi,G=0 = round(10 . D + N(0, 1)),

(11)

where the initial population size is perturbed by adding a Gaussian value N(0, 1) to it. In DESAP-Rel, the population size parameter is initialized to a random value, according to a uniform distribution between [−0.5, 0.5], which represents a relative population growth rate. This can be negative or positive, to allow for variations in population size that can either decrease or increase. During evaluation, all three control parameters are changed using self-adapting mechanisms at individual levels. For DESAP-Abs, the population size of subsequent generations is taken as an average of the population size attribute from all individuals in the current population; whereas for DESAP-Rel, it is taken to be the current population size plus a percentage increase or decrease according to the population growth rate. 4.3 SaDE algorithm The SaDE (Qin and Suganthan 2005) algorithm can automatically adapt the learning strategies and the settings of parameters during evolution. In the SaDE algorithm, two out of five from the original (binary) DE’s learning strategies are selected as candidates, due to their good performance on problems with different characteristics. These two learning strategies are chosen for applying to individuals in the current population with probability proportional to their previous success rates, in order to generate potentially good, new solutions. Two out of three critical parameters associated with the original DE algorithm, namely CR and F, are adaptively changed instead of taking fixed values to deal with different classes of problems. Assuming that the probability of applying strategy ‘rand/1/bin’ [see formula (4)] to each individual in the current population is p1 , the probability of applying strategy ‘current to best/1/bin/’ [see formula (6)] should be p2 = 1 − p1 . The initial probabilities are set to be equal to p1 = p2 = 0.5. Therefore, both strategies have equal probability to be applied to each individual in the initial population. For a population of size NP, the SaDE algorithm randomly generates an additional vector with uniform distribution within the range [0, 1] for each individual element xi,G [see definition (1)]. If the jth element value of the vector is smaller than or equal to p1 , the first strategy ‘rand/1/bin’ will be applied to the jth individual in the current population. Otherwise the second strategy ‘current to best/1/bin’ will be applied. After evaluation of all newly generated trial vectors, the number of

Performance comparison of self-adaptive and adaptive differential evolution algorithms

trial vectors successfully entering the next generation, whilst being generated by the strategy ‘rand/1/bin’ and the strategy ‘current to best/1/bin’ are recorded as ns1 and ns2 , respectively, and the numbers of trial vectors discarded while generated by the strategy ‘rand/1/bin’ and the strategy ‘current to best/1/bin’ are recorded as nf1 and nf2 . Those two numbers are accumulated within a specified number of generations (50 generations were proposed by the authors of the SaDE algorithm). Then, the probability of p1 is updated as:    ns1 . ( ns2 + nf2 )   , p1 =  ns2 . ( ns1 + nf1 )

p2 = 1 − p1 .

(12)

The above expression represents the ratio for the success rate of those trial vectors generated by strategy ‘rand/1/bin’ to the success rate of those trial vectors generated by strategy ‘current to best/1/bin’ during the specified number of generations. Therefore, the probability of applying these two strategies is updated after the learning experience of the algorithm over a specified    number ns1 , ns2 , nf1  of generations. The sums and nf2 are set to zero, after the probabilities p1 and p2 are updated to avoid any possible bad accumulation effects. This adaptation procedure can gradually evolve the most suitable learning strategy for the problem under consideration. The control parameters of the original DE were set as follows. NP was kept as a user-specified value as in the original DE (NP = 50 is used by the authors). F takes different random values within the range (0, 2] with normal distribution, with center 0.5 and variance 0.3 for different individuals in the current population. Those values were obtained based on some initial experiments made by the authors of SaDE algorithm. CR was set to be a self-adaptive control parameter. In Qin and Suganthan (2005) the authors assume CR is normally distributed within a range with center CRm and variance 0.1. Initially, CRm is set to 0.5 and different CR values conforming to this normal distribution are generated for each individual in the current population. These CR values for all individuals remain for several generations (5 is used by the authors) and then a new set of CR values is generated under the same normal distribution. The CR values associated with those trial vectors successfully entering the next generation are recorded during every generation. After a specified number of generations (25 is used by the authors), CR is changed several times (25/5=5 times) under the same normal distribution with center CRm and variance 0.1. The algorithm then recalculates the center of CR’s normal distribution, according to all the recorded CR values, corresponding to successful trial vectors during this period. The

621

algorithm repeats the above procedure, using this new normal distribution’s center and the variance of 0.1. As a result, the proper CR value range for the current problem can be obtained (learned) in order to suit the particular problem and a search phase that is either global or local. Note that the algorithm empties the successful CR value’s record once we recalculate the normal distribution center, to avoid any possible inappropriate long-term accumulation effects. In order to speed up the convergence of the SaDE algorithm, the authors applied the local search procedure (Quasi–Newton method) after a specified number of generations (200 is used by authors), on 5% of individuals including the best individual found so far, and the randomly selected individuals from the best 50% in the current population. 4.4 Self-adapting F and CR Parameters: jDE algorithm Brest et al. (2006) used the self-adapting control parameter mechanism of ‘rand/1/bin’ strategy [see formula (4)]. This strategy is the most often used in practice (Gämperle et al. 2002; Liu and Lampinen 2002b; Storn and Price 1997; Sun et al. 2004). In Brest et al. (2006) a self-adaptive control mechanism was used to change the control parameters F and CR during the run. The third control parameter NP was not changed during the run. Each individual in the population was extended using parameter values. The control parameters adjusted by means of an evolutionary process were F and CR (see Fig. 1). Both of them were applied at individual levels. The better values for these (encoded) control parameters lead to better individuals which, in turn, are more likely to survive and produce offspring and, hence, propagate these better parameter values. New control parameters Fi,G+1 and CRi,G+1 were calculated as follows:

x

F

CR

x

F

CR

...

...

...

x

F

CR

1,G

2,G

NP, G

1, G

2, G

NP, G

1, G

2, G

NP, G

Fig. 1 Encoding aspect of self-adapting control parameters F and CR. The vector of each individual xi,G is extended by the values of two parameters: Fi,G and CRi,G

622

J. Brest et al.

Fi,G+1 = CRi,G+1

 Fl + rand1 ∗ Fu

Fi,G  rand3 = CRi,G

if rand2 < τ1 , otherwise,

if rand4 < τ2 , otherwise.

(13) (14)

and they produce control parameters F and CR in a new parent vector. randj , j ∈ {1, 2, 3, 4} are uniform random values ∈ [0, 1]. τ1 and τ2 represent the probabilities of adjusting control parameters F and CR, respectively. τ1 , τ2 , Fl , Fu were taken as fixed values 0.1, 0.1, 0.1, 0.9, respectively. (These values were obtained based on additional experiments reported in Brest et al. (2006).)The new F takes a value from [0.1, 1.0] in a random manner. The new CR takes a value from [0, 1]. Fi,G+1 and CRi,G+1 are obtained before the mutation is performed. So they influence the mutation, crossover and selection operations of the new vector xi,G+1 . 4.5 Improvements of the jDE algorithm This section presents some new ideas on how to improve the jDE algorithm.We will outline some features, which would make the jDE algorithm more general, and also improve its performance. In order to keep the solution of bound-constrained problems feasible, those trial parameters that volatile boundary constraints are set to the bound values by jDE algorithm (Brest et al. 2006). Rönkkönen et al. (2005) suggest the solution that volatile boundary constraints should be reflected back from the bound by the amount of violation:  if uj,i,G < xj,low , 2 . xj,low − uj,i,G (15) ui,j,G = . 2 xj,upp − uj,i,G if uj,i,G > xj,upp , where xj,low and xj,upp are the pre-defined lower and upper bounds, respectively. An improved version of jDE (jDE-2) uses both solutions for volatile boundary constraints with equal probability in a random manner:

ui,j,G

t = rand(0, 1), p0 = 0.5,   xj,low if (t ≤ p0 ) ∧ (uj,i,G    x if (t ≤ p0 ) ∧ (uj,i,G j,upp = .  2 xj,low − uj,i,G if (t > p0 ) ∧ (uj,i,G    2 . x −u if (t > p ) ∧ (u j,upp

j,i,G

0

j,i,G

< xj,low ), > xj,upp ), < xj,low ), > xj,upp ). (16)

Strategy ‘rand/1/bin’ is used in the jDE algorithm and control parameters F and CR are encoded into each individual. Qin and Suganthan (2005) propose a selfadapting DE algorithm which uses two of five original

x 1,G

1 F1,G

1 CR1,G

2 F1,G

2 CR1,G

x 2,G

1 F2,G

1 CR2,G

2 F2,G

2 CR2,G

...

...

...

...

...

x NP,G

1 FNP,G

1 CRNP,G

2 FNP,G

2 CRNP,G

Fig. 2 Encoding aspect of self-adapting control parameters F and CR by applying two strategies. The vector of each individ1 and ual xi,G is extended by the values of four parameters: Fi,G 2 and CR2 belong to the CR1i,G belong to the first strategy and Fi,G i,G second strategy

DE’s strategies, which are chosen to be applied to individuals in the current population. Figure 2 shows a new solution on how the control parameters of two original DE’s strategies can be encoded into each individual. Each strategy uses its own control parameters. In the experiments of this paper, the proposed jDE-2 algorithm uses two strategies ‘rand/1/bin’ and ‘current to best/1/bin’, and the first pair of control parameters F and CR belong to the ‘rand/1/bin’ strategy and the second pair belongs to the ‘current to best/1/bin’ strategy. The solution of applying more strategies into our algorithm is straight-forward. Our jDE-2 algorithm replaces the k worst individuals at every l-th generation with parameter values distributed uniform randomly between the lower and upper bounds without evaluating those k individuals. In the experiments in this paper we set k = 30 and l = 100. 5 Benchmark functions and experimental results We compared the version of a self-adaptive jDE algorithm with the FADE, DESAP, and SaDE algorithms. Firstly a comparison was made with the FADE algorithm, which uses adaptive control parameter. Then a performance comparison was made with the DESAP algorithm, which uses self adaptation for all three control parameters of the DE (F, CR and NP). Finally a comparison between the jDE and jDE-2 algorithms was made with the SaDE algorithm, which uses a self-adapting mechanism on the F and CR control parameters, and a mechanism for choosing more prospective strategy of the two different DE strategies. 5.1 Comparison of self-adaptive jDE with fuzzy adaptive differential evolution algorithm The benchmark functions are given in Table 1. S denotes the input range of the search space, and fmin is a function value of the global optimum. A more detailed description of each function is given in Lee and Yao

Performance comparison of self-adaptive and adaptive differential evolution algorithms

623

Table 1 Benchmark functions Test function  f1 (x) = D x2i i=1 D−1 f2 (x) = i=1 [100(xi+1 − x2i )2 + (xi − 1)2 ]  2 f3 (x) = D (x i + 0.5) i=1 D 4 f4 (x) = i=1 ixi + random[0, 1)  2 f5 (x) = D x ) + 10] i=1 [xi − 10 cos(2π   i 1 1 D 2 f6 (x) = −20 exp −0.2 D D i=1 xi − exp D i=1 cos 2π xi + 20 + e 

D xi 1 D 2 √ f7 (x) = 4000 +1 i=1 xi − i=1 cos i −1  1 1 2 + 25 f8 (x) = 500 j=1 6 j+

f9 (x)

i=1 (xi −aij )

= [1 + (x1 + x2 + 1)2 (19 − 14x1 + 3x21 − 14x2 + 6x1 x2 + 3x22 )] ×[30 + (2x1 − 3x2 )2 (18 − 32x1 + 12x21 + 48x2 − 36x1 x2 + 27x22 )]

D

S

fmin

30 30 30 30 30

[−100, 100]D [−30, 30]D [−100, 100]D [−1.28, 1.28]D [−5.12, 5.12]D

0 0 0 0 0

30

[−32, 32]D

0

30

[−600, 600]D

0

2

[−65.536, 65.536]D

0.998004

2

[−2, 2]D

3

Table 2 The experimental results, averaged over 100 independent runs, of the self-adaptive DE and fuzzy adaptive DE algorithms F

#Gen.

Self-adaptive DE mean best (Std Dev)

Fuzzy adaptive DE mean best (Std Dev)

f1 f2 f3 f4 f5 f6 f7 f8 f9

5,000 7,000 5,000 5,000 10,000 5,000 5,000 100 50

1.98 × 10−70 (1.56 × 10−70 ) 7.29 × 10−14 (2.36 × 10−15 ) 0 (0) 4.25 × 10−3 (6.87 × 10−3 ) 0 (0) 6.8 × 10−15 (1.4 × 10−15 ) 0 (0) 0.998004 (5.2 × 10−12 ) 3.00001 (9.6 × 10−6 )

2.35 × 10−10 (2.97 × 10−21 ) † 4.16 × 10+1 (1.82 × 10−2 ) 0 (0) † 1.90 × 10+1 (2.92 × 10−1 ) † +2 +1 2.58 × 10 (9.17 × 10 ) † −2 −6 5.9 × 10 (1.23 × 10 ) † 5.78 × 10−1 (3.5 × 10−3 ) −26 0.9980 (2.5 × 10 ) 3.0001 (3.35 × 10−7 )



‘Mean Best’ indicates the average of the minimum values obtained and ‘Std Dev’ stands for the standard deviation. The t-test tests of self-adaptive DE against other algorithms, respectively † The t value of 99 degree of freedom is significant at a 0.05 level of significance by two-tailed t-test

(2004) and Yao et al. (1999), where the functions were divided into three classes: functions with no local minima, many local minima, and a few local minima. Functions f1 –f7 are high-dimensional problems. Functions f1 –f2 are unimodal. Function f3 is the step function which has one minimum and is discontinuous. Function f4 is a noisy quadratic function. Functions f5 –f7 are multimodal functions where the number of local minima increases exponentially with the problem dimension (Törn and Žilinskas 1989; Yao et al. 1999). Functions f8 –f9 are low-dimensional functions which have only a few local minima (Törn and Žilinskas 1989; Yao et al. 1999). The comparison in this subsection is taken from (Brest et al. 2006). The FADE algorithm was tested on a set of standard test functions, where it outperformed the original DE when the dimensionality of the problem was high (Liu and Lampinen 2005). The comparison with jDE (published in [Brest et al. (2006)]) was done using nine benchmark functions. The following parameters were used in both experiments:

dimensionality of the problem D = 50, population size NP = 10 . D, maximum number of generations 5,000 for f1 , f3 , f4 , f6 , f7 , 7,000 for f2 , 10,000 for f5 , 100 for f8 , and 50 for f9 . Both algorithms used an approach to adapt mutation control parameter F and the crossover control parameter CR. The average results of 100 independent runs are summarized in Table 2. The experimental results show that the jDE algorithm certainly performs better than the FADE algorithm. This is also clearly reflected by the t-test. 5.2 Comparison of self-adaptive jDE algorithm with DESAP algorithm This comparison was done using the widely-used De Jong’s F1 –F5 test functions (De Jong 1975), which are presented in Table 3. Five different population sizes of 10, 20, 30, 50, and 100 were used for the conventional DE algorithm, which are denoted as DE-10P, DE-20P, DE-

624

J. Brest et al.

Table 3 Benchmark functions F1 –F5

Test function  F1 (x) = D x2i i=1 D−1 F2 (x) = i=1 [100(xi+1 − x2i )2 + (xi − 1)2 ]  integer(xi ) F3 (x) = D i=1 4 F4 (x) = D i=1 ixi + Gauss(0, 1) −1  1 1 2 F5 (x) = 500 + 25 j=1 6 j+

i=1 (xi −aij )

D

S

fmin

3 2 5 30

[−5.12, 5.12]D [−2.048, 2.048]D [−5.12, 5.12]D [−1.28, 1.28]D

0 0 0 0

2

[−65.536, 65.536]D

0.998004

Table 4 The experimental results, averaged over 50 independent runs, of the self-adaptive DE (Brest et al. 2006) and DESAP (Teo 2005) algorithms Algorithm

F1

F2

F3

F4

F5

DESAP-Abs DESAP-Rel DE-10P DE-20P DE-30P DE-50P DE-100P DE-s7-10P DE-s7-20P DE-s7-30P DE-s7-50P DE-s7-100P DE-s7r-10P DE-s7r-20P DE-s7r-30P DE-s7r-50P DE-s7r-100P jDE-10P jDE-20P jDE-30P jDE-50P jDE-100P

0.0005 0.0005 0.0017 0.0009 0.0005 0.0003 0.0001 0.0637 (0.24) 1.16 × 10−14 (2.3 × 10−14 ) 1.13 × 10−14 (2.3 × 10−14 ) 7.33 × 10−15 (9.9 × 10−15 ) 3.75 × 10−15 (3.5 × 10−15 ) 0.001 (0.009) 8.91 × 10−14 (1.8 × 10−13 ) 3.44 × 10−14 (5.9 × 10−14 ) 3.94 × 10−14 (1.5 × 10−13 ) 1.07 × 10−14 (1.1 × 10−14 ) 9, 77 × 10−05 (0.0006) 3.85 × 10−14 (6.4 × 10−14 ) 2.32 × 10−14 (6.4 × 10−14 ) 1.18 × 10−14 (1.9 × 10−14 ) 6.88 × 10−15 (1.0 × 10−14 )

0.0113 0.0156 0.0271 0.0129 0.0098 0.0034 0.0018 0.4871 (1.89) 0.0154 (0.08) 8.95 × 10−20 (1.7 × 10−19 ) 4.06 × 10−20 (1.2 × 10−19 ) 9.14 × 10−21 (1.4 × 10−20 ) 0.082 (0.415) 4.58 × 10−13 (2.4 × 10−12 ) 1.06 × 10−13 (3.2 × 10−13 ) 3.33 × 10−14 (6.1 × 10−14 ) 6.86 × 10−15 (1.2 × 10−14 ) 0.0488 (0.22) 4.17 × 10−14 (1.2 × 10−13 ) 3.79 × 10−14 (2.5 × 10−13 ) 2.78 × 10−15 (1.1 × 10−14 ) 3.68 × 10−16 (6.7 × 10−16 )

0.48 1.14 3.74 2.36 1.52 0.54 0.16 0.580 (1.8) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0)

7.7899 7.0239 21.6080 16.7103 14.3968 12.9318 10.4214 7.5307 (5.83) 1.1317 (0.66) 0.5139 (0.27) 0.4888 (0.19) 1.1247 (0.39) 4.308 (3.481) 0.819 (0.388) 0.551 (0.187) 0.595 (0.185) 0.568 (0.147) 3.5243 (2.31) 0.7754 (0.53) 0.4537 (0.15) 0.4082 (0.12) 0.4292 (0.11)

5.2351 5.8397 7.9802 5.5710 3.2273 1.8220 0.9980 5.1516 (4.68) 1.4740 (1.15) 1.0773 (0.44) 0.9980 (9.4 × 10−16 ) 0.9980 (3.4 × 10−16 ) 2.459 (2.418) 1.078 (0.272) 1.018 (0.140) 0.9980 (1.3 × 10−16 ) 0.9980 (1.5 × 10−16 ) 3.4363 (3.49) 0.9980 (6.0 × 10−16 ) 1.0179 (0.14) 0.9980 (1.1 × 10−15 ) 0.9980 (3.1 × 10−16 )

Table entries indicate the average of the minimum values obtained and values in parenthesis stands for the standard deviation

30P, DE-50P, and DE-100P respectively. In Teo (2005) the conventional DE algorithm was similar to the DESAP algorithm in all aspects, except that the population size is static and non-adaptive. Each evolutionary setup was run for 100 generations and repeated 50 times. Results for the DESAP algorithm were taken from (Teo 2005) and are presented in Table 4 at the top of the table. Table 4 shows the results, which were obtained by the original DE strategy ‘rand/1/bin’, with F = 0.5 and CR = 0.9 and five different population sizes of 10, 20, 30, 50, and 100. Results are denoted as DE-s7-10P, DEs7-20P, DE-s7-30P, DE-s7-50P, and DE-s7-100P, respectively. Then follow the results denoted with DE-s7r-10P, DE-s7r-20P, DE-s7r-30P, DE-s7r-50P, and DE-s7r-100P, where we left strategy and population sizes unchanged, but the F and CR took values in a random manner from [0.1, 1.0] and [0, 1], respectively. The results obtained

by the jDE algorithm are presented at the bottom of Table 4. The best results overall were obtained by the jDE algorithm. One can learn from this section, that selfadaptation can help the user to overcome the hand-tuning of the control parameters, but the efficiency of the final optimization results can also decrease. For example, the DESAP algorithm, which uses self-adapting on all three DE control parameters, did not give as good results, on average, as other algorithms.

5.3 Comparison of self-adaptive jDE and jDE2 algorithms with SaDE algorithm This section presents the performance comparison of jDE algorithms with SaDE (Qin and Suganthan 2005)

Performance comparison of self-adaptive and adaptive differential evolution algorithms

algorithm. The performance comparison was made on the test set of 25 benchmark functions designed for the special session on real-parameter optimization of CEC 2005 (Suganthan et al. 2005). A compilation of the results on the CEC 2005 benchmark function set is presented in (Hansen 2005). In performance comparison we followed (Hansen 2005), where the authors split the benchmark functions into three subsets: – – –

Unimodal functions, Solved multimodal functions (at least one algorithm conducted at least one successful run), and Unsolved multimodal functions (no single run was successful for any algorithm).

Unimodal functions are f1 – f6 , solved multimodal functions are f7 , f9 – f12 , and f15 , and unsolved multimodal functions include f8 , f13 , f16 – f25 . Table 5, shows the results of four DE algorithms on the benchmark functions with dimensionality D = 10. Twenty five runs are performed for each benchmark functions. The results of 1st (min), 7th, 13th (median), 19th, and 25th (max) run are reported. All runs are averaged (Avg), and standard deviation (Std) is also given. The results for the SaDE algorithm were taken from (Qin and Suganthan 2005). Parameter settings of SaDE algorithm are presented in Sect. 4.3. The results for the jDE-2, jDE and DE algorithms were obtained during our experiments. The parameters were set as follows: – –

Population size NP = 100, Control parameters F = 0.5 and CR = 0.9 for (original) DE using strategy ‘rand/1/bin’. jDE and jDE-2 algorithms used a self-adapting mechanism for those parameters [see formulas (13) and (14)].

The best results for unimodal benchmark functions were obtained by the DE and jDE-2 algorithms. For the solved multimodal benchmark functions the SaDE and jDE-2 algorithms perform better, on average, than the jDE and original DE algorithms. When a comparison of the SaDE and jDE-2 algorithms was made on the median (13th) of the best function values from 25 runs, it can be noted that the SaDE algorithm performed better three times (functions f10 , f13 , and f15 ), the jDE-2 algorithm better three times (functions f7 , f11 , and f13 ), and once both algorithms returned equal function values (function f9 ). For unsolved multimodal benchmark functions it was also hard to judge which of the four algorithms performed

625

Table 5 The experimental results of self-adaptive DE algorithms and original DE algorithm F

SaDE

jDE-2

jDE

DE

1st 7th 13th 19th 25th Avg Std SR

0 0 0 0 0 0 0 100%

0 0 0 0 0 0 0 100%

0 0 0 0 0 0 0 100%

0 0 0 0 0 0 0 100%

1st 7th 13th 19th 25th Avg Std SR

0 0 0 0 2.5580e-12 1.0459e-13 5.1124e-13 100%

0 0 0 0 0 0 0 100%

0 0 0 2.7755e-17 4.4408e-16 2.8865e-17 9.0109e-17 100%

0 0 0 0 0 0 0 100%

1st 7th 13th 19th 25th Avg Std SR

0 0 0 9.9142e-06 1.0309e-04 1.6720e-05 3.1196e-05 64%

0 0 0 2.7758e-17 1.3569e-11 5.4316e-13 2.7138e-12 100%

1.0963e-14 6.1627e-12 1.3901e-10 9.5245e-09 6.2006e-06 4.3401e-07 1.3459e-06 88%

2.0006e-11 5.6570e-11 1.2865e-10 3.1894e-10 6.4665e-10 1.9741e-10 1.7516e-10 100%

1st 7th 13th 19th 25th Avg Std SR

0 0 0 0 3.5456e-04 1.4182e-05 7.0912e-05 96%

0 0 0 0 0 0 0 100%

0 5.5511e-17 1.9428e-16 4.4408e-16 4.0245e-15 4.4186e-16 8.1713e-16 100%

0 0 0 0 0 0 0 100 %

1st 7th 13th 19th 25th Avg Std SR

1.1133e-06 0.0028 0.0073 0.0168 0.0626 0.0123 0.0146 0%

0 0 0 0 0 0 0 100%

1.7763e-15 5.3290e-15 1.0658e-14 1.5987e-14 5.5067e-14 1.5312e-14 1.3994e-14 100%

0 0 0 0 1.7763e-15 3.5527e-16 6.7835e-16 100%

1st 7th 13th 19th 25th Avg Std SR

0 4.3190e-09 5.1631e-09 9.1734e-09 8.0479e-08 1.1987e-08 1.9282e-08 100%

0 0 0 2.7755e-17 1.1379e-15 1.2767e-16 3.0520e-16 100%

7.8986e-13 5.9842e-03 0.0203 0.0886 0.6044 0.0760 0.1303 32%

0 1.7652e-13 5.5942e-12 1.7363e-10 1.8754e-06 7.6912e-08 3.7474e-07 100%

1

2

3

4

5

6

626

J. Brest et al.

Table 5 continued F

Table 5 continued

SaDE

jDE-2

jDE

DE

1st 7th 13th 19th 25th Avg Std SR

4.6700e-10 0.0148 0.0197 0.0271 0.0369 0.0199 0.0107 24%

0 7.3960e-03 0.0123 0.0270 0.0467 0.0167 0.0140 40%

1.8444e-13 0.0322 0.0555 0.0767 0.1124 0.0531 0.0310 12%

0.0690 0.2746 0.3554 0.4044 0.4888 0.3349 0.1059 0%

1st 7th 13th 19th 25th Avg Std SR

20.0000 20.0000 20.0000 20.0000 20.0000 20.0000 5.3901e-08 0%

20.1999 20.3017 20.3444 20.4060 20.5016 20.3541 0.0711 0%

20.1727 20.2538 20.3384 20.3951 20.4314 20.3206 0.0750 0%

20.0898 20.2919 20.3564 20.3855 20.4379 20.3272 0.0849 0%

1st 7th 13th 19th 25th Avg Std SR

0 0 0 0 0 0 0 100%

0 0 0 0 0 0 0 100%

0 0 0 0 0 0 0 100%

11.4791 14.4375 16.5782 17.5427 20.4705 16.1756 2.5091 0%

1st 7th 13th 19th 25th Avg Std SR

1.9899 3.9798 4.9748 5.9698 9.9496 4.9685 1.6918 0%

2.2576 5.1310 5.9697 7.4081 9.9866 6.1680 1.9945 0%

4.4341 7.6225 9.6381 10.3258 13.2220 9.2627 1.9270 0%

16.8943 23.7556 25.5785 27.9354 30.9578 25.1502 3.8588 0%

1st 7th 13th 19th 25th Avg Std SR

3.2352 4.5129 4.7649 5.3823 5.9546 4.8909 0.6619 0%

8.9258e-10 2.0095e-05 3.2703e-03 0.1453 6.4392 0.8058 1.9162 56%

0.0859 4.7395 5.1636 5.9770 6.8224 5.0802 1.4210 0%

6.1309e-3 2.2181 7.2510 7.9062 8.6116 5.2831 3.0764 4%

1st 7th 13th 19th 25th Avg Std SR

1.4120e-10 1.7250e-08 8.1600e-08 3.8878e-07 3.3794e-06 4.5011e-07 8.5062e-07 100%

0 0 0 10.0030 712.2541 67.8339 198.4822 68%

2.8310e-15 1.0361e-13 4.6544e-09 1.2524e-04 35.4601 4.1255 8.7597 76%

0 5.5511e-17 6.9388e-16 10.0030 20.9488 3.9920 6.4405 68%

7

F

SaDE

jDE-2

jDE

DE

1st 7th 13th 19th 25th Avg Std SR

0.1201 0.1957 0.2170 0.2508 0.3117 0.2202 0.0411 0%

0.3701 0.4394 0.5053 0.5700 0.6486 0.5052 0.0813 0%

0.3090 0.3988 0.4573 0.5006 0.5458 0.4504 0.0631 0%

1.3227 1.8750 2.1393 2.3388 2.7518 2.1209 0.3239 0%

1st 7th 13th 19th 25th Avg Std SR

2.5765 2.7576 2.8923 3.0258 3.3373 2.9153 0.2063 0%

1.4669 2.6163 2.8582 2.9935 3.2399 2.7747 0.3540 0%

2.8531 3.2235 3.2685 3.3636 3.5279 3.2613 0.1668 0%

2.8212 3.1664 3.2801 3.4311 3.5245 3.2724 0.1745 0%

1st 7th 13th 19th 25th Avg Std SR

0 0 0 2.9559e-12 400.0000 32.0000 110.7550 92%

0 0 400.0000 400.0000 400.0000 224.0000 202.6491 44%

0 0 67.8032 100.5804 400.0000 95.1523 122.2963 28%

69.9444 121.3416 400.0000 400.0000 400.0000 308.6145 139.3196 0%

1st 7th 13th 19th 25th Avg Std SR

86.3059 98.5482 101.4533 104.9396 111.9003 101.2093 6.1686 0%

61.4505 91.6652 98.3280 102.0676 124.0614 96.7627 12.0952 0%

95.3606 107.4456 112.8221 115.7979 121.4367 111.2191 6.1818 0%

135.9641 143.8914 149.2554 157.5891 165.0263 150.2628 8.8899 0%

1st 7th 13th 19th 25th Avg Std SR

99.0400 106.7286 113.6242 119.2813 135.5105 114.0600 9.9679 0%

96.3383 101.0323 112.0854 116.7995 121.5371 109.9146 8.5175 0%

108.1094 124.9650 129.6757 136.1688 153.8196 130.4137 10.7680 0%

129.8269 154.4543 161.3335 168.8236 182.9263 161.4000 13.2942 0%

1st 7th 13th 19th 25th Avg Std SR

300.0000 800.0000 800.0000 800.0000 900.8377 719.3861 208.5161 0%

300.0000 800.0000 800.0000 800.0000 800.0000 700.0000 204.1241 0%

300.0000 300.0000 300.0000 800.0000 800.0000 440.0000 229.1288 0%

300.0000 300.0000 300.0000 300.0000 800.0000 380.0000 187.0829 0%

13

8

14

9

15

10

16

11

17

12

18

Performance comparison of self-adaptive and adaptive differential evolution algorithms Table 5 continued F

627

Table 5 continued

SaDE

jDE-2

jDE

DE

1st 7th 13th 19th 25th Avg Std SR

300.0000 653.5664 800.0000 800.0000 930.7288 704.9373 190.3959 0%

300.0000 300.0000 800.0000 800.0000 852.8697 662.1148 230.7133 0%

300.0000 300.0000 300.0000 300.0000 800.0000 400.0000 204.1241 0%

300.0000 300.0000 300.0000 800.0000 800.0000 440.0000 229.1288 0%

1st 7th 13th 19th 25th Avg Std SR

300.0000 800.0000 800.0000 800.0000 907.0822 713.0240 201.3396 0%

300.0000 300.0000 800.0000 800.0000 852.9271 662.1171 230.7153 0%

300.0000 300.0000 300.0000 300.0000 800.0000 400.0000 204.1241 0%

300.0000 300.0000 300.0000 800.0000 800.0000 460.0000 238.0476 0%

1st 7th 13th 19th 25th Avg Std SR

300.0000 300.0000 500.0000 500.0000 800.0000 464.0000 157.7973 0%

300.0000 500.0000 500.0000 500.0000 862.5199 514.5008 173.9449 0%

500.0000 500.0000 500.0000 500.0000 800.0000 512.0000 60.0000 0%

500.0000 500.0000 500.0000 500.0000 500.0000 500.0000 0 0%

1st 7th 13th 19th 25th Avg Std SR

300.0000 750.6537 752.4286 756.9808 800.0000 734.9044 91.5229 0%

754.6395 757.3936 763.5070 766.7042 825.7207 770.4906 22.1955 0%

749.4194 761.3741 763.6705 766.6464 768.1616 763.2931 4.5850 0%

756.2844 764.5590 767.2276 768.4471 774.3190 766.6585 3.8968 0%

1st 7th 13th 19th 25th Avg Std SR

559.4683 559.4683 559.4683 721.2327 970.5031 664.0557 152.6608 0%

559.4683 559.4683 559.4683 721.2160 970.5031 670.5235 151.4658 0%

559.4683 559.4683 559.4683 559.4683 970.5031 605.2911 118.6263 0%

559.4683 559.4683 559.4683 559.4683 721.2160 585.3479 60.5204 0%

1st 7th 13th 19th 25th Avg Std SR

200.0000 200.0000 200.0000 200.0000 200.0000 200.0000 0 0%

200.0000 200.0000 200.0000 200.0000 500.0000 248.0000 112.2497 0%

200.0000 200.0000 200.0000 200.0000 200.0000 200.0000 0 0%

200.0000 200.0000 200.0000 200.0000 200.0000 200.0000 0 0%

19

F

SaDE

jDE-2

jDE

DE

370.9112 373.0349 375.4904 378.1761 381.5455 375.8646 3.1453 0%

402.0977 402.3489 402.5183 402.6305 114.9815 452.1622 166.3749 0%

401.7665 402.3340 402.5493 402.6452 402.9896 402.4783 0.2858 0%

401.8359 402.4053 402.5753 402.6837 402.8116 402.5177 0.2376 0%

25 1st 7th 13th 19th 25th Avg Std SR

20

21

22

23

24

better than others. A pairwise comparison of the SaDE and jDE-2 algorithms showed that, on the median of the best function values from 25 runs, the first algorithm performed better three times, the second one also performed better three times, and equal solutions were obtained three times by both of them. Table 6 shows the summarized results for the same four algorithms. A successful run is defined as a run during which the algorithm achieved a fixed accuracy level within the Max_FES for the particular problem. In our case Max_FES = 10, 000 . D. Success rate SR is defined as the number of successful runs divided by the total runs (25 in our case). For unimodal functions, the jDE-2 and the original DE algorithms had the best success rate SR = 100%. For solved multimodal functions, the best success rate SR = 53% was obtained by the SaDE algorithm, followed by the jDE-2 algorithm with SR = 51%. Both algorithms swapped places when a comparison was made on solved multimodal functions. Tables 5, and 6 show that the jDE-2 algorithm, which uses two DE strategies, performs better than the jDE algorithm, which uses only one strategy. Based on the results in this section it can be concluded that our self-adaptive jDE-2 algorithm gives comparable results to the SaDE algorithm, which additionally uses a local search procedure (Quasi–Newton method).

6 Discussion and future work The algorithms in this paper use different self-adapting control parameter mechanisms on the differential evolution. It can be noticed that, a self-adapting mechanism on F and CR control parameters are usually used in DE. SaDE and jDE-2 algorithms use two DE strategies. Here the question is, which combination of two or even more strategies gives the overall best results. This remains a challenge for future work.

628

J. Brest et al.

Table 6 Total success rates (SR) and the number of solved functions (SF) for unimodal and solved multimodal benchmark functions Algorithm

Unimodal functions Solved multimodal functions

SaDE

jDE-2

jDE

DE

SR(%)

SF

SR(%)

SF

SR(%)

SF

SR(%)

SF

77 53

5 3

100 51

6 5

87 36

6 4

100 12

6 2

This paper carried out performance comparisons between different DE algorithms on benchmark functions. Only the DESAP algorithm uses self-adapting population size control parameter. In our jDE and jDE-2 algorithms, we did not experiment with different population sizes, neither did we make the population size adaptive. This also remains a challenge for future work. 7 Conclusion Choosing the proper control parameters for DE is quite a difficult task, because the best settings for the control parameters can be different for different functions. This paper presented a performance comparison of selfadaptive and adaptive DE algorithms, which are able to determine the values of control parameters without any user interaction. Algorithms were tested on benchmark optimization problems taken from literature. The jDE algorithm gives better results when compared with the FADE algorithm and the DESAP algorithm. The results show that the jDE-2 algorithm with self-adaptive control parameter settings and with a mixing of two DE strategies, is comparable with the SaDE algorithm, when considering the quality of the solutions obtained.

References Ali MM, Törn A (2004) Population set-based global optimization algorithms: some modifications and numerical studies. Comput Operat Res 31(10):1703–1725 Bäck T (2002) Adaptive business intelligence based on evolution strategies: some application examples of self-adaptive software. Inf Sci 148:113–121 Bäck T, Fogel DB, Michalewicz Z (1997) Handbook of evolutionary computation. Institute of Physics Publishing and Oxford University Press, New York Brest J, Greiner S, Boškovi´c B, Mernik M, Žumer V (2006) Self-adapting control parameters in differential evolution: a comparative study on numerical benchmark problems. IEEE Trans Evolut Comput (in press) Di Nola A, Gerla G (2001) Lectures on soft computing and fuzzy logic. Series: advances in soft computing. Springer, Berlin Heidelberg New York

De Jong KA (1975) An analysis of the behavior of a class of genetic adaptive systems. PhD Thesis, University Michigan Eiben AE, Hinterding R, Michalewicz Z (1999) Parameter control in evolutionary algorithms. IEEE Trans Evolut Comput 3(2):124–141 Eiben AE, Smith JE (2003) Introduction to evolutionary computing. Natural Computing. Springer, Berlin Heidelberg New York Gämperle R, Müller SD, Koumoutsakos P (2002) A parameter study for differential evolution. In: Proceedings WSEAS international conference on advances in intelligent systems, fuzzy systems, evolutionary computation, pp 293–298 Hansen N (2005) Compilation of results on the CEC benchmark function set. http://www.ntu.edu.sg/home/epnsugan/ index_files/CEC05/compareresults. pdf Lee CY, Yao X (2004) Evolutionary programming using mutations based on the Lévy probability distribution. IEEE Trans Evolut Comput 8(1):1–13 Liu J, Lampinen J (2002a) Adaptive parameter control of differential evolution. In: Proceedings of the 8th international conference on soft computing (MENDEL 2002), pp 19–26 Liu J, Lampinen J (2002b) On setting the control parameter of the differential evolution method. In: Proceedings of the 8th international conference on soft computing (MENDEL 2002), pp 11–18 Liu J, Lampinen J (2005) A fuzzy adaptive differential evolution algorithm. Soft Comput Fusion Found Methodol Appl 9(6):448–462 Price K, Storn R (1997) Differential evolution: a simple evolution strategy for fast optimization. Dr. Dobb’s J Softw Tools 22(4):18–24 Price K, Storn R, Lampinen J (2005) Differential evolution, a practical approach to global optimization. Springer, Berlin Heidelberg New York Qin AK, Suganthan PN (2005) Self-adaptive differential evolution algorithm for numerical optimization. In: The 2005 IEEE congress on evolutionary computation CEC2005, pp 1785– 1791 DOI 10.1109/CEC.2005.1554904 Rönkkönen J, Kukkonen S, Price K (2005) Real-parameter optimization with differential evolution. In: The 2005 IEEE congress on evolutionary computation CEC2005, pp 506–513 Storn R, Price K (1995) Differential evolution – a simple and efficient adaptive scheme for global optimization over continuous spaces. Technical Report TR-95-012, Berkeley Storn R, Price K (1997) Differential evolution – a simple and efficient heuristic for global optimization over continuous spaces. J Global Optim 11:341–359 Suganthan PN, Hansen N, Liang JJ, Deb K, Chen Y-P, Auger A, Tiwari S (2005) Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization. Technical Report Report #2005005, Nanyang Technological University, Singapore and IIT Kanpur, India. http://www.ntu.edu.sg/home/EPNSugan/.

Performance comparison of self-adaptive and adaptive differential evolution algorithms Sun J, Zhang Q, Tsang EPK (2004) DE/EDA: a new evolutionary algorithm for global optimization. Inf Sci 169:249–262 Teo J (2005) Exploring dynamic self-adaptive populations in differential evolution. Soft Computing – a fusion of foundations, methodologies and applications. DOI 10.1007/s00500005-0537-1

629

Törn A, Žilinskas A (1989) Global optimization. Lecture Notes in Computer Science Vol 350 Yao X, Liu Y, Lin G (1999) Evolutionary programming made faster. IEEE Trans Evolut Comput 3(2):82–102