Differential evolution improved with self-adaptive control parameters based on simulated annealing

Differential evolution improved with self-adaptive control parameters based on simulated annealing

Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎ 1 2 3 4 5 6 7 8 9 10 11 Q3 12 13 14 15 Q1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3...

1MB Sizes 1 Downloads 51 Views

Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 Q3 12 13 14 15 Q1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

Contents lists available at ScienceDirect

Swarm and Evolutionary Computation journal homepage: www.elsevier.com/locate/swevo

Regular Paper

Differential evolution improved with self-adaptive control parameters based on simulated annealing Haixiang Guo a,b,c,n, Yanan Li a, Jinling Li a, Han Sun a, Deyun Wang a a

School of Economics and Management, China University of Geosciences, Wuhan, Hubei 430074, China Key Laboratory of Tectonics and Petroleum Resources, China University of Geosciences, Ministry of Education, Wuhan, Hubei 430074, China c Center for Digital Business and Intelligent Management, China University of Geosciences, Wuhan, Hubei 430074, China b

ar t ic l e i nf o

a b s t r a c t

Article history: Received 10 August 2013 Received in revised form 29 June 2014 Accepted 2 July 2014

Nowadays, differential evolution (DE) has attracted more and more attention as an effective approach for solving numerical optimization problems. However, the fact that users have to set the control parameters of DE according to every single different problem makes the adjustment of control parameters a very time-consuming work. To solve the problem, this paper presents an enhanced selfadaptive differential evolution (ESADE) for global numerical optimization over continuous space. In this ESADE algorithm, different control parameters have been used to make mutation and crossover. Here is the detailed process: Firstly, it initializes two groups of population. Secondly, it generates a set of control parameters for one of the two populations and then further creates another new series of control parameters for the other population through mutating the initial control parameters. Thirdly, once the control parameters are generated, the two populations are mutated and crossed to produce two groups of trial vectors. Finally, the target vectors are selected from the two groups of trial vectors by selecting operation. In order to enhance its global search capabilities, simulated annealing (SA) are involved in the selecting operation and the control parameters with better performance are chosen as the initial control parameters of the next generation. By employing a set of 17 benchmark functions from previous literature, this study carried out extensive computational simulations and comparisons and the computational results showed that the ESADE algorithm generally performed better than the state-ofthe-art differential evolution variants and PSO. Besides, the influences of initialized ambient temperature and simulated annealing on the performance of ESADE have also been tested. For the purpose of testing the application of ESADE in solving real-world problems, ESADE was applied to identify the parameters of proton exchange membrane fuel cell model. The results showed that ESADE was equal with other state-of-the-art differential evolution variants on performance. & 2014 Published by Elsevier B.V.

Keywords: Differential evolution Simulated annealing self-adaptive Evolution strategy Control parameter

1. Introduction Differential Evolution (DE) was firstly proposed by Price and Storn [1–3] in 1995. The reasons why researchers have been considering DE an attractive optimization tool include the following facts: (1) Compared with most other Evolutionary Algorithms (EAs), DE can be implemented much more simply and straightforwardly, because main body of DE will only take four or five lines of code by any programming language. For practitioners from other fields, they would prefer simplicity in coding due to limitation of their skills on programming. As a result, they always look for an

n Corresponding author at: School of Economics and Management, China University of Geosciences, Wuhan, Hubei 430074, China. E-mail address: [email protected] (H. Guo).

algorithm that can be simply implemented and turned to solve field-specific problems. (2) Thanks to its good accuracy, convergence speed and robustness, DE becomes attractive when dealing with various real-world optimization problems. (3) There are fewer control parameters in DE (mutation control parameter, also called scaling factor F, crossover control parameter, also called crossover rate Cr and population size NP in classical DE). Therefore, DE has been successfully applied to various domains of science and engineering such as signal processing [4], chemical engineering [5], pattern recognition [6], microbiology [7], and image processing [8]. Recently, various offspring generation strategies and parameter adaptation mechanisms have been developed to enhance the reliability and robustness of DE. As we know, the effectiveness of conventional DE in solving a numerical optimization problem mainly hinges upon the selected offspring generation strategy

http://dx.doi.org/10.1016/j.swevo.2014.07.001 2210-6502/& 2014 Published by Elsevier B.V.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

(i.e., mutation and crossover operators) and its associated control parameters (i.e., population size NP, scaling factor F and crossover rate Cr). For this reason, when solving the design and optimization problems, its trial vector generation strategy needs to be determined and good values for the control parameters should be found in advance. However, depending on the problem's nature (unimodal or multimodal) and available computation resources, different optimization problems require different generation strategies with different control parameter values. At present, the control parameter settings of DE are seemingly divided into three parts: (1) Deterministic parameter control takes place when the value of a parameter is altered by some deterministic rule. a. Scaling factor F. In [9,10], F is usually chosen in [0.5,1]. In [11], it is said that values of F smaller than 0.4 and greater than 1.0 are occasionally effective. The value of F is strictly greater than zero. It is also said that F ¼ 0.6 or 0.5 would be a good initial choice while in [12] and that F ¼0.9 would be a good initial choice. Typical values of F are chosen in [0.4, 0.95] according to [12]. b. Crossover rate Cr. A bigger Cr speeds up convergence according to [11,12]. In [11], it is said that Cr ¼0.1 is a good initial choice while Cr ¼ 0.9 or 1.0 can be used to increase the convergence speed. In [13], for separable problems, Cr ranging between (0, 0.2) is the best, while for multimodal, Cr ranging between (0.9,1.0) is the best. When Cr ¼ 1.0, the number of trial solutions will be reduced dramatically, which may lead to stagnation. Therefore, Cr ¼0.9 or 0.99 can be used. The scale factor F can be linearly reduced from a maximum to a minimum value with the increasing generation count [14], or randomly varied in the range (0.5, 1) or a uniform distribution between 0.5 and 1.5 (with the mean value ¼1) can be employed [15]. c. Population size NP. In [3], initial NP ¼ 10D was considered a good choice for DE to find a global optimum. D represents the number of dimension. However, to balance the speed (number of function evaluations) and reliability (ability to find global optimum), different ranges of NP values such as 5D to 10D, 3D to 8D and 2D to 40D were suggested according to [11,12]. (2) Adaptive parameter control is used to place when some feedback from the search is used to determine the direction and/or the magnitude of the change to the parameter. a. Scaling factor F. A fuzzy adaptive differential evolution adapts the control parameters F and Cr based on fuzzy logic controllers whose inputs are the relative function values and individuals of successive generations to the crossover operation [16]. In [16], the diversity of individuals: sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 NP D ð1Þ PC ¼ ∑ ∑ ðx ðgÞ  xj;i ðg þ 1ÞÞ2 NP i ¼ 1 j ¼ 1 j;i Where the diversity of fitness of individuals: sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 NP FC ¼ ∑ ðf ðxi ðgÞÞ  f ðxi ðg þ 1ÞÞÞ2 NP i ¼ 1

ð2Þ

And NP represents the population size, D represents the number of dimension, xi;j ðgÞ represents the ith individual in the population of the gth generation, f ðxi ðg ÞÞ represents the fitness of the ith individual in the population of the gth generation. They are used to control the fuzzy adaption that controls the parameters. When PC and FC are both very small, the algorithm will decrease F to improve the local search capability and accelerate the convergence speed of the algorithm.

On the other hand, it will increase the value of F to improve the global search capability. b. Crossover rate Cr. In [16], Cr can be decreased to improve the local search capability and accelerate the convergence speed of the algorithm while both PC and FC are very small. Otherwise, Cr can be increased to improve the local search capability while PC and FC are enough big. c. Population size NP. A parameter adaptation of DE (ADE) based on controlling the population diversity and multipopulation approach [17] was proposed, which was later extended to form an adaptive Pareto DE algorithm for multi-objective optimization [18]. (3) Self-adaptive parameter control is the idea that “evolution of the evolution” can be used to implement the self-adaptation of control parameters. Here, the control parameters to be adapted are encoded into the chromosome (individuals) and undergo the actions of genetic operators. The better values of 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. a. Scaling factor F. Omran et al. [19] presented a selfadaptation method to control the scaling factor F. It encoded a F into each individual. Brest et al. [20] presented the jDE algorithm, which owned self-adapting parameters F and Cr by encoding the parameters into each individual and adapting them by means of evolution. Ghosh et al. [21] presented the FiADE algorithm, which tuned the scale factor and crossover rate of population members based on their individual objective function vslues. Pan et al. [22] presented a self-adaptive DE algorithm, in which each target individual has its own scaling factor and crossover rate and can be gradually self-adapted from their previous experiments in generating promising solutions. b. Crossover rate Cr. Abbass [23] developed a self-adaptive DE algorithm for solving multi-objective optimization problems by encoding a Cr into each individual. Qin et al. [24] presented a self-adaptive variant of DE (SaDE) where trial vector generation strategies were gradually self-adapted by learning from their prior experiences in generating promising solutions. With the idea of SaDE, the EPSDE algorithm was employed in [9,10]. And, the CoDE algorithm by combining different trial vector generation strategies was proposed [25]. In CoDE, three well-studied Cr were chosen. Islam et al. [26] proposed a MDE_pBX algorithm, in which the adaptation of Cr obtained a weight. The weight was uniformly and randomly fluctuating between 0.9 and 0.1. Zou et al. [27] proposed a MDE algorithm using Gauss distribution and uniform distribution respectively to adjust Cr, which aimed to increase the diversity of candidate. c. Population size NP. Based on Abbass's self-adaptive Pareto DE algorithm [23] , Teo [28] proposed a DE algorithm with self-adapting populations. The population utilization strategy for DE [29] was proposed and compared with the classical DE. Its population size was automatically determined from initialization right through the evolutionary search process to completion. The population size was also adaptively controlled by means of a novel technique based on a measurement of the fitness diversity in [30]. Zhu et al. [31] presented an adaptive population tuning scheme for DE to dynamically adjust the population size. The dynamic population strategy is based on a ranking technique. The bigger the value of F is, the higher exploration capability of DE is. Otherwise, the smaller the value of Cr is, the higher exploitation capability of DE is. Although its search capability and convergence speed are improved, the self-adaption strategies

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

become much more complicated. According to the literature mentioned above, related simulation results show that there is still much room left to improve its performance. In order to match self-adapt the control parameters with different problems, a new DE algorithm called enhanced self-adaptive differential evolution (ESADE) has been proposed and it can achieve better experimental results. In the ESADE algorithm, each target individual has its own scaling factor F and crossover rate Cr. The algorithm generates a set of control parameters for one of the two populations and then creates a new series of control parameters for the other population mutating from the initial control parameters. After the control parameters are generated, the two populations are mutated and crossed to produce two groups of trial vectors. At last, the target vectors are selected from the two groups of trial vectors in the selecting operation. In order to enhance global search capabilities, simulated annealing is added (SA) into the selecting operation and the control parameters with better performance will be used in the next generation of initial control parameters. During the evolution, control parameters of each target individual can be gradually selfadapted from their previous experience in generating promising solutions. The study and comparison by experiments show that the performance of ESADE algorithm is generally better than other DE variants such as CoDE, JADE, jDE, EPSDE and SaDE when used to optimize 17 benchmark global optimization problems. The whole paper is generally organized into five parts. The first part makes an introduction about this study. The second part introduces the traditional DE algorithm and it demonstrates the basic differential evolution and several DE variants which perform

Initialization

Mutation

Crossover

3

better. After that, the third part presents an enhanced selfadaptive differential evolution (ESADE) for global numerical optimization over continuous space. Following that, the experimental study is taken to test the performance of ESADE compared with jDE, JADE, SaDE, EPSDE, CoDE, PSO as well as the influence of initialized ambient temperature and simulated annealing on ESADE. Furthermore, ESADE is applied in solving the parameter identification of PEMFC model. At last, this paper provides the conclusion of this study.

2. Differential evolution algorithm 2.1. Basic differential evolution Four basic operations are involved in the differential Evolution and they are called initialization, mutation, crossover and selection respectively. The whole flow chart of DE is shown in Fig. 1. In DE-literature, a parent vector from the current generation is called target vector, a mutant vector obtained through the differential mutation operation is known as donor vector and finally an offspring formed by recombining the donor with the target vector is called trial vector. (1) Coding. DE is a global optimization algorithm and individuals in the population are encoded by real number. (2) Individual. NP denotes size of the population in DE. The ith individual at gth generation is denoted by X i;G ¼ ½x1;i;G ; x2;i;G ; x3;i;G ; :::; xD;i;G , where D represents dimension.

Selection

Termination

Y

Output

N Fig. 1. Basic flow chart of DE.

DE Pseudo Code Step 1. Initialization. Generation G = 0 , Mutation control parameter F , Crossover probability Cr and Size of population NP Step 2.While the stopping criterion is not satisfied Do For i=1 to NP Step 2.1 Mutation Generate a donor vector Vi ,G based on mutation operation (such as DE/rand/1) Step 2.2 Crossover Generate a trial vector U i ,G based on crossover operation (such as bin or exp) Step 2.3 Selection Evaluate the trial vector U i ,G IF f (U i ,G ) ≤ f ( X i ,G ) THEN X i ,G +1 = U i ,G , f ( X i ,G +1 ) = f (U i ,G ) ELSE X i ,G +1 = X i ,G , f ( X i ,G +1 ) = f ( X i ,G ) END IF Step 2.4 Increase the generation count G = G + 1 END WHILE

Fig. 2. Pseudo code of DE.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

(3) Initializing population. The initial population (at G ¼ 0) should cover the entire search space as much as possible by uniformly and randomly distributed individuals within the search space constrained by the prescribed minimum and maximum bounds:xj; min A X min ¼ fx1; min ; x2; min ; :::; xD; min g and xj; max A X max ¼ fx1; max ; x2; max ; :::; xD; max g. Hence the jth component of the ith individual should be initialized as xj;i;0 ¼ xj; min þ randi;j ð0; 1Þ  ðxj; max  xj; min Þ. (4) Mutation. Mutation operation contains different ideas. The general process of mutation is expressed by (3): V k;G ¼ X m;G þ F nðX i;G  X j;G Þ

differ from the current individual, where k am a ia j. V k;G represents donor vector. F A ½0; 1 means mutation control parameter. Usually, DE/x/y/z denotes variant mutation strategies. DE denotes differential evolution, x denotes base vector which has rand (base vector is randomly selected from current generation), best (base vector is the best vector in current generation), rand-to-best, current-to-best and so on. y denotes the number of differential vectors, y is 1 or 2. z denotes crossover strategies which contain exponential crossover and binomial crossover. (5) Crossover. Crossover probability is Cr A ½0; 1. The donor vector exchanges its components with the target vector X k;G under this operation to form the trial vector U i;G ¼ ½u1;i;G ; u2;i;G ; u3;i;G ; ⋯; uD;i;G . In exponential crossover, an integer n from the

ð3Þ

where k means the kth individual vector of current generation. X m;G , X i;G and X j;G represent other three random individuals

=

+



={

×



} }

={





=



+

×





− −



=

υ



+

=



+

=

>

=

+

+

+

Fig. 3. The detailed flow chart of DE based on DE/rand/1/bin.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

numbers ranging between ½1; D is randomly chosen. This integer acts as a starting point in the target vector, from where the crossover or exchanged components with the donor vector starts. Another integer L is also chosen from the interval ½1; D, where L denotes the number of components that the donor vector actually contributes to the target vector. After n and L being chosen, the trial vector is demonstrated as ( υj;i;G ; for j ¼ 〈n〉D ; 〈n þ 1〉D ; :::; 〈n þ L  1〉D ð4Þ uj;i;G ¼ xj;i;G ; for all other jA ½1; D L¼0 Do {L ¼ L þ 1;} While ((randð0; 1Þ o Cr) and (L o D))} where j represents dimension, i represents individual, G represents generation.vj;i;G comes from donor vector V k;G , xj;i;G comes from target vector X k;G . Binomial crossover is shown in (5) ( υj;i;G ; if ðrandi;j ð0; 1Þ r Cr or j ¼ jrand Þ ð5Þ uj;i;G ¼ xj;i;G ; otherwise

jrand A ½1; 2; :::; D is a randomly chosen index. There are usually ten following differential evolution strategies when mutation and crossover operations are combined together. DE/rand/1/bin: V i;G ¼ X ri ;G þ F  ðX ri ;G  X ri ;G Þ 1 2 3 DE/best/1/bin: V i;G ¼ X best;G þ F  ðX ri ;G  X ri ;G Þ 2 3 DE/target-to-best/1/bin: V i;G ¼ X i;G þF  ðX best;G  X i;G Þ þF  ðX ri ;G  X ri ;G Þ 1 2 DE/best/2/bin: V i;G ¼ X best;G þ F  ðX ri ;G X ri ;G Þ þ F  ðX ri ;G  X ri ;G Þ 1 2 3 4 DE/rand/2/bin: V i;G ¼ X ri ;G þ F  ðX ri ;G X ri ;G Þ þ F  ðX ri ;G  X ri ;G Þ 5 1 2 3 4 The other five strategies are DE/rand/1/exp, DE/best/1/ exp, DE/target-to-best/1/exp, DE/best/2/exp, and DE/ rand/2/exp. (6) Selection. The offspring or trial vector X i;G þ 1 can be obtained through comparing the fitness value of trial vector U i;G and target vector X i;G according to Eq.(6) and Eq.(7). X i;G þ 1 ¼ U i;G

if f ðU i;G Þ rf ðX i;G Þ

ð6Þ

X i;G þ 1 ¼ X i;G

if f ðU i;G Þ 4 f ðX i;G Þ

ð7Þ

5

lower bounds of the parameters respectively. The newly-generated F i;G þ 1 and Cr i;G þ 1 are procured before the mutation is implemented. As a result, the scheme will influence the mutation, crossover and selecting operation of the new vector. 2.2.2. The JADE algorithm Zhang et al. [29] proposed the JADE algorithm, in which a novel mutation strategy and an optional external archive were utilized to provide information of progress direction. This DE/current-to-best strategy uses multiple best solutions to balance the greediness of the mutation and the diversity of the population, which can be demonstrated as (10): V i;G ¼ X i;G þ F i  ðX pbest;G  X i;G Þ þ F i  ðX r1;G  X~ r2;G Þ

ð10Þ

where X pbest;G represents randomly selected individual from the top 100 p% individuals of the current population with p A ð0; 1. X i;G , X pbest;G and X r1;G are chosen from the current population P. X~ r2;G is randomly selected from the union, P [ A, while A, an archive, is employed to store the recently explored inferior solutions. The archive operation is made very simple to avoid significant computation overhead. The archive is initiated as an empty state. Then, after each generation, the parent solutions that fail in the selection process are added to the archive. If the archive size exceeds a certain threshold, say NP, then some solutions are randomly removed from the archive to keep the archive size at NP. F i denotes the scaling factor and Cri denotes the crossover rate associated with the ith individual and they are updated dynamically in each generation. F i ¼ randci ðμF ; 0:1Þ

ð11Þ

Cr i ¼ randni ðμCr ; 0:1Þ

ð12Þ

F i and Cr i are generated according to a Cauchy distribution and a Normal distribution with associated mean values μF and μCr . The proposed two location parameters are initialized to be 0.5 and then updated at the end of each generation according to (13) and (14).

μF ¼ ð1  cÞ  μF þc  meanL ðSF Þ

ð13Þ

μCr ¼ ð1 cÞ  μCr þ c  meanA ðSCr Þ

ð14Þ

The detailed pseudo code and flow chart of DE are respectively shown in Figs. 2 and 3.

where c is a positive constant in the range(0,1); SF and SCr denote the set of all successful mutation/crossover rates; meanA ð UÞ indicates the usual arithmetic mean and meanL ð U Þ returns the Lehmer mean shown as (15).

2.2. Some variants of DE

meanL ðSF Þ ¼

2.2.1. The jDE algorithm Brest et al. [20] proposed the jDE algorithm in which the control parameters F and Cr were encoded into the individual ! X i;G ¼ o x i;G ; F i;G ; Cr i;G 4 and were adjusted by two new arguments τ1 and τ2 . They are calculated independently, as shown in (8) and (9) ( F l;G þ rand1  F u;G ; if rand2 o τ1 ð8Þ F i;G þ 1 ¼ F i;G ; otherwise

How to get archive A, SF and SCr . In the selection process, archive A, SF and SCr will be demonstrated as the following:

( Cri;G þ 1 ¼

rand3 ;

if rand4 o τ2

Cr i;G ;

otherwise

2 Fj ∑jS i ¼ 1Fi

ð15Þ

Fj ∑jS i ¼ 1Fi

if f ðX i;G Þ r f ðU i;G Þ X i;G þ 1 ¼ X i;G Else X i;G þ 1 ¼ U i;G ; X i;G -A; CRi -SCR ; F i -SF

ð9Þ

where randk , k A f1; 2; 3; 4g are uniformly and randomly distributed values belonging to the range ½0; 1; τ1 and τ2 are constant values that represent the probability of parameters to be adjusted; F u;G and F l;G are also constant values which denote the upper and

Fig. 4. Encoded individual.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

2.2.3. The SaDE algorithm Qin et al. [24] presented the SaDE, where one trial vector generation strategy was chosen from the candidate pool(“DE/rand/ 1”, “DE/rand/2”,“DE/rand-to-best/2” and “DE/current-to-rand/1”) according to the probability learned from its success rate in generating promising solutions within a certain number of previous generations, called the learning period (LP). More specifically, these probabilities are initially equal and then gradually selfadapted upon (16) P k;G ¼

Sk;G ∑Kk ¼ 1 Sk;G

ð16Þ

where P k;G , k ¼ 1; 2; …; K, denotes the probability of applying the kth strategy. Here, K is the total number of strategies contained in the pool. Sk;G is the success rate of the trial vector, which is

generated by the kth strategy and successfully enters the next generation: Sk;G ¼

1 ∑Gg  ¼ G  LP nsk;g 1 G1 ∑gG  ¼ G  LP nsk;g þ ∑g ¼ G  LP nf k;g

þε

ð17Þ

where nsk;g and nf k;g record the number of trial vectors generated by the kth strategy that are retained or discarded in the selecting operation in the last LP generations. The small constant value ε ¼ 0:01 is used to avoid the possible null success rates. At each generation, for each solution in the current population, the parameters F i;k and Cr i;k are independently calculated upon (18) and (19). F i;k ¼ randni ð0:5; 0:3Þ

ð18Þ

Fig.5. Flowchart of ESADE.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

Cr i;k ¼ randni ðCrmk ; 0:1Þ

ð19Þ

where coefficients are respectively generated, for each individual, by sampling their values from a normal distribution. Nevertheless, the mean value of Cr (Crmk ) is gradually self-adapted according to a success rule. 2.2.4. The EPSDE algorithm Mallipeddi et al. [9,10] provided the EPSDE, in which a pool of mutation strategies, along with a pool of values corresponding to each associated parameter, competed to produce successful offspring population. More specifically, the pool of strategies is formed with three diverse schemes. The pool of Cr values is taken from the range [0.1, 0.9] and every step moves 0.1, and the pool of F values from the range [0.4, 0.9] in step of 0.1 as the following: A pool of mutation strategies includes DE/best/2, DE/rand/1 and DE/current-to-rand/1; A pool of F values includes F ¼ ½0:4; 0:5; 0:6; 0:7; 0:8; 0:9 A pool of Cr values includes Cr ¼ ½0:1; 0:2; 0:3; 0:4; 0:5; 0:6; 0:7; 0:8; 0:9 In EPSDE, each individual of the initial population is randomly matched with a mutation strategy and associated parameter values taken from the respective pools. When the trial vector performs better than the target vector, the combination of the mutation strategy and parameter values can survive until the next generation and be further stored. However, when the trial vector performs poorer, the target vector should be randomly regeneralized with a new mutation strategy from the respective pools or from the successfully stored combinations with equal probability.

X i;G þ 1 ¼ X i;G

X i;G þ 1 ¼ U i;G X i;G þ 1 ¼ X i;G

if f ðU i;G Þ rf ðX i;G Þ if f ðU i;G Þ 4 f ðX i;G Þ

X i;G þ 1 represents the trial vector or offspring of next generation. U i;G þ 1 represents the trial vector. X i;G represents the target vector. f ð U Þ represents the fitness function. It is easy for greedy rule to be trapped by local optimal. In order to avoid this situation, the study proposes the new selection based on simulated annealing. X i;G þ 1 ¼ U i;G

if f ðU i;G Þ rf ðX i;G Þ

X i;G þ 1 ¼ U i;G if f ðU i;G Þ 4f ðX i;G Þ and expð  ðf ðU i;G Þ  f ðX i;G ÞÞ=t G Þ 4 randð0; 1Þ

if f ðU i;G Þ 4 f ðX i;G Þ and expð  ðf ðU i;G Þ

f ðX i;G ÞÞ=t G Þ r randð0; 1Þ t G represents the Gth generation temperature.

3. Enhanced self-adaptive differential evolution (ESADE) This paper proposes an enhanced self-adaptive differential evolution (ESADE) and the steps are as the following: Step 1. Encode individual. The encoded individual includes three parts: individual, control parameter, and fitness value. The encoded individual is shown in Fig. 4. Step 2. Initialization Initialization includes two parts, one is parameter initialization and the other is population initialization. Parameter initialization such as population size NP ¼ 30D (D is the number of dimension), t 0 ¼ 1000 (t 0 is the initialized ambient temperature), oF i;G ¼ randci ðμF ; 0:1Þ for each individual, oCri;G ¼ randni ðμCr ; 0:1Þ for each individual, F i and Cr i are generated according to a Normal distribution and a Cauchy distribution with associated mean value μF and μCr . The two proposed location parameters are initialized to be 0.5 and then updated at the end of each generation according to:

μF ¼ ð1  cÞ  μF þ c  meanL ðSF Þ μCr ¼ ð1  cÞ  μCr þ c  meanA ðSCr Þ SF is an array where scaling factors with better performance can be saved, SCR is an array where crossover rates can be saved. The initial population is uniformly distributed within their corresponding ranges:   and xj; max A X max ¼ x j; min A X min ¼ x1; min ; x2; min ; :::; xD; min x1; max ; x2; max ; :::; xD; max . Hence the jth component of the ith individual is initialized when G ¼ 0 as:

2.2.5. The CoDE algorithm Similarly, Wang et al. [25] proposed a systematic framework for combining different trial vector generation strategies, called composite DE. Three well-studied offspring generation strategies are randomly coupled with three parameter settings to generate trial vectors in the following way: Three well-studied offspring generation strategies are DE/rand/1, DE/rand/2, DE/current-to-rand/1. Three parameter are settled as ½F ¼ 1:0; Cr ¼ 0:1, ½F ¼ 1:0; Cr ¼ 0:9, ½F ¼ 0:8; Cr ¼ 0:2. In CoDE, three trial vectors are generated for each target vector. Then, the best one enters the next generation if it is better than its target vector. 2.2.6. The ESADE algorithm This study proposes the novel differential algorithm combined with simulated annealing algorithm. In the selection of DE, the traditional selecting strategy is a greedy rule. According to Greedy rule, if the fitness value of trial vector is less than the target vector, the trial vector is definitely selected into the next generation. The mathematic presentation is as the following:

7

xj;i;0 ¼ xj; min þrandi;j ð0; 1Þ  ðxj; max  xj; min Þ

ð20Þ

Step 3. Parameter mutation mF i;G ¼ oF i;G þ randð0; 1Þ  ðoF r1;G  oF r2;G Þ

ð21Þ

Table 1 Global optimum and initialization ranges for the benchmark functions. Functions

Dimension

f1

30

Global optimum

f ðxn Þ

Initialization range

o

0

½  100; 100D

f2

o

0

½  100; 100D

f3

o

0

½  100; 100D

f4

o

0

½  100; 100D

f5

o

0

½  100; 100D

f6

o

0

½  100; 100D

f7

o

0

½0; 600D

f8

o

0

½  32; 32D

f9

o

0

½  5; 5D

f 10

o

0

½  3; 1D

f 11

o

0

½  5; 5D

f 12

o

0

½  5; 5D

f 13

o1

0

½  5; 5D

f 14

o1

0

½  5; 5D

f 15

o1

0

½  5; 5D

f 16

o1

0

½  5; 5D

f 17

o1

0

½2; 5D

Note: o is the shifted vector. o1 is the shifted vector for the first basic function in the composition function

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

8

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

mCr i;G ¼ oCr i;G þ randð0; 1Þ  ðoCrr1;G  oCr r2;G Þ

ð22Þ

where r1, r2 are distinct integers randomly chosen from the set 1; 2; …; NP besides the ith individual. The initial population is divided into two parts. One is the poplutiono with control parameter oF i;G and oCri;G and the other is the poplutionm with control parameter mF i;G and mCr i;G . Step 4. Population mutation In poplutiono, population mutation is based on strategy DE/ current-to-pbest/1(without archive). is shown as Eq. (23): oV i;G ¼ X i;G þoF i;G  ðX pbest  X i;G Þ þ oF i;G  ðX r1;G  X r2;G Þ

ð25Þ

In poplutionm, it is based on crossover operation bin: ( mU j;i;G ¼

mV j;i;G

if ðrandj;i ð0; 1Þ rmCrj;i

X j;i;G

otherwise

or

j ¼ jrand Þ

ð26Þ

ð23Þ

In poplutionm, population mutation is based on strategy DE/ current-to-pbest/1(without archive) is shown as Eq. (24): mV i;G ¼ X i;G þ mF i;G  ðX pbest  X i;G Þ þ mF i;G  ðX r1;G  X r2;G Þ

Step 5. Population Crossover In poplutiono, it is based on crossover operation bin: ( oV j;i;G if ðrandj;i ð0; 1Þ roCrj;i or j ¼ jrand Þ oU j;i;G ¼ otherwise X j;i;G

ð24Þ

Step 6. Population selection Population selection is processed through the comparison among target vector X i;G , trial vector oU i;G from poplutiono, and trial vector mU i;G from poplutionm. Furthermore, simulated annealing is added into selection operator to enhance global

Table 2 Experimental results of jDE, JADE, SaDE, EPSDE, CoDE, and ESADE over 25 independent runs on 17 test functions of 50 variables with 10,000 FES. Function Unimodal

f1

f2

f3

f4

f5

Basic multimodal

f6

f7

f8

f9

Expanded multimodal

f 10

Hybrid composition

f 11

f 12

f 13

f 14

f 15

f 16

f 17

Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median Mean Std Median

jDE

JADE

SaDE

EPSDE

CoDE

ESADE

2.01E  30 1.00E  29 0.00E þ 00 1.20E  19 3.79E  19 3.75E  21 4.74Eþ 04 2.91E þ 04 4.04E þ 04 1.14E 03 5.13E  03 1.02E  5 7.00Eþ 02 4.47E þ02 6.86Eþ 02 4.78E  01 1.32E þ 00 0.00E þ 00 4.69Eþ 3 1.24E 12 4.69Eþ 3 2.09Eþ 01 4.86E  02 2.09Eþ 01 0.00E þ 00 0.00E þ 00 0.00E þ 00 1.01Eþ 00 9.82E  02 1.01Eþ 00 3.60Eþ 02 1.00Eþ 02 4.00E þ 02 9.05Eþ 02 1.86E þ 02 9.05Eþ 02 9.05Eþ 02 1.80E þ 02 9.06E þ 02 9.05Eþ 02 1.46E þ 00 9.06E þ 02 5.00E þ 02 1.06E  12 5.00E þ 02 8.95Eþ 02 1.67Eþ 01 8.96Eþ 02 1.62E þ 03 4.06E þ 00 1.62E þ 03

0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 6.78E  28 3.15E  28 6.43E  28 8.38E þ02 6.77Eþ 02 6.78E þ02 8.86E  13 3.98E  12 4.53E  16 3.38E  01 1.68E þ 00 2.14E  07 1.22Eþ 00 3.87E þ00 0.00Eþ 00 4.69E þ03 1.25E  12 4.69E þ03 2.07Eþ 01 3.81E  01 2.09E þ01 0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 1.04E þ 00 1.05E  01 1.05Eþ 00 3.38E þ02 1.07Eþ 02 3.00Eþ 02 9.05E þ02 1.64E þ 00 9.04E þ 02 9.05E þ02 1.21E þ00 9.04E þ 02 9.05E þ02 1.20Eþ 00 9.04E þ 02 5.36E þ02 9.94E þ01 5.00Eþ 02 8.71Eþ 02 2.11Eþ 01 8.73Eþ 02 1.63Eþ 03 4.18Eþ 00 1.63Eþ 03

0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 4.68E 12 1.28E  11 2.61E  13 2.95E þ 05 1.44Eþ 05 2.72E þ05 1.46E þ01 3.42E þ 01 2.89E þ 00 3.10E þ 03 4.15E þ 02 3.02E þ 03 4.28E þ 01 3.48Eþ 01 6.84E  01 4.69E þ 03 2.59E  12 4.69E þ 03 2.09E þ 01 5.00E  02 2.09E þ 01 0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 3.06Eþ 00 4.64E 01 3.07Eþ 00 3.92E þ 02 7.02E þ01 4.00Eþ 02 8.89E þ 02 5.71Eþ 01 9.19E þ 02 8.64Eþ 02 6.30E þ 01 9.14E þ 02 8.74E þ 02 6.25E þ 01 9.19E þ 02 5.25E þ 02 1.29E þ02 5.00Eþ 02 9.54E þ 02 1.65E þ01 9.54E þ 02 1.64E þ 03 5.01Eþ 00 1.64E þ 03

0.00E þ00 0.00E þ00 0.00E þ00 6.32E  26 1.25E  25 2.45E  26 1.37Eþ 06 5.48E þ 06 2.54Eþ 04 4.92E  01 1.55E þ 00 5.75E  4 1.15E þ 03 4.94Eþ 02 1.08E þ 03 4.78E  01 1.32E þ 00 0.00E þ00 3.78Eþ 00 2.26Eþ 00 4.73Eþ 00 2.09Eþ 01 6.65E  02 2.09Eþ 01 0.00E þ00 0.00E þ00 0.00E þ00 1.57Eþ 00 1.36E  01 1.58E þ 00 2.19Eþ 02 4.65Eþ 01 2.01E þ 02 8.20Eþ 02 3.40Eþ 00 8.19Eþ 02 8.22Eþ 02 5.25Eþ 00 8.23Eþ 02 8.22Eþ 02 5.25Eþ 00 8.23Eþ 02 8.33Eþ 02 1.00Eþ 02 8.62Eþ 02 5.06E þ 02 6.46Eþ 00 5.04E þ 02 2.12Eþ 02 2.07Eþ 00 2.11Eþ 02

0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 1.37E  28 1.10E  28 1.00E  28 1.98E þ 04 1.56E þ 04 1.50E þ 04 2.32E  26 9.67E 26 1.82E  27 3.33E 08 1.05E  07 8.73E  11 1.38E  26 3.05E  26 0.00Eþ 00 4.69E þ03 2.23E  12 4.69E þ03 2.03E þ01 6.39E  01 2.00Eþ 01 0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 1.23E þ 00 2.51E  01 1.22E þ 00 4.00Eþ 02 5.00Eþ 01 4.00Eþ 02 9.03E þ02 2.50E  01 9.03E þ02 9.03E þ02 2.95E  01 9.03E þ02 9.03E þ02 2.28E  01 9.03E þ02 5.00Eþ 02 5.80E  14 5.00Eþ 02 8.86E þ02 1.41Eþ 01 8.83E þ02 1.64Eþ 03 3.80E þ00 1.64Eþ 03

0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 1.90E  28 2.44E  28 1.10E  28 4.34E þ 02 5.11Eþ 02 2.29E þ 02 9.27E  07 9.21E  07 4.65E  7 9.86E þ 02 7.66E þ 02 7.69E þ03 5.36E  01 7.95E  01 0.00Eþ 00 9.43E  04 1.19E  03 4.98E  04 2.09E þ 01 5.37E  02 2.09E þ 01 0.00Eþ 00 0.00Eþ 00 0.00Eþ 00 9.78E  01 9.68E 02 9.91E  01 3.02E þ 02 1.05E þ02 3.00Eþ 02 8.25E þ 02 3.38E þ 00 8.25E þ 02 8.25E þ 02 2.89E þ 00 8.25E þ 02 8.25E þ 02 3.66Eþ 00 8.25E þ 02 5.05E þ 02 3.91Eþ 00 5.05E þ 02 5.10E þ 02 2.82E þ 00 5.10E þ 02 2.10E þ 02 6.13E  01 2.10E þ 02

Note: “Mean”, “Std” and “Median” indicate the average values, standard deviation and the median values of the functions obtained in 25 runs, respectively.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

search capabilities, t G represents Gth ambient temperature. t G ¼ t 0 nð0:99Þ 4 G

X i;G þ 1 ¼

8 oU i;G > > > > > mU i;G > > > > > oU i;G > < > > > mU i;G > > > > > > > > :X i;G

ð27Þ if f ðoU i;G Þ r f ðX i;G Þ and f ðoU i;G Þ r f ðmU i;G Þ

Step 8. Updating control parameters If SF is not null set

μF ¼ ð1  cÞ  μF þ c  meanL ðSF Þ

if f ðmU i;G Þ r f ðX i;G Þ and f ðmU i;G Þ r f ðoU i;G Þ if f ðoU i;G Þ 4 f ðX i;G Þ and f ðoU i;G Þ r f ðmU i;G Þ

oF i;G ¼ randci ðμF ; 0:1Þ

and expð  ðf ðoU i;G Þ f ðX i;G ÞÞ=t G Þ 4 randð0; 1Þ

If SCr is not null set

if f ðmU i;G Þ 4 f ðX i;G Þ and f ðmU i;G Þ r f ðoU i;G Þ

oCri;G ¼ randni ðμCr ; 0:1Þ

and expð  ðf ðmU i;G Þ  f ðX i;G ÞÞ=t G Þ 4 randð0; 1Þ otherwise ð28Þ

9

μCr ¼ ð1  cÞ  μCr þ c  meanA ðSCr Þ The detailed flow chart of ESADE are respectively shown in Fig. 5

Step 7. Recording well-performed control parameters if X i;G þ 1 ¼ oU i;G

4. Experimental study

oF i;G -SF ; oCri;G -SCr if X i;G þ 1 ¼ mU i;G mF i;G -SF ; mCr i;G -SCr

4.1. Benchmark functions

Control parameters corresponding trial vector capable of entering into the next generation are considered as good control parameters. These good control parameters will be further saved in the scaling factor array SF and crossover rate array SCR respectively. However, SF and SCR will be cleared when the number of generations reach an upper bound every time. Table 3 Comparison results based on Wilcoxon's rank sum test.

This section mainly presents 17 global minimization benchmark functions which are used to evaluate the proposed ESADE algorithm against other DE variants. The 17 test functions (f 1  f 17 ) are dimension-wise scalable [32]. Among the 17 benchmark functions, f 1  f 5 represent unimodal functions, f 6  f 9 represent basic multimodal functions, f 10 represents expanded multimodal functions, and f 11  f 17 represent hybrid composition functions. The optimum value, position of the global optima and initialization ranges for these 17 benchmark problems are provided in Table 1.

Table 5 Comparison results based on Friedman test.

Function

jDE

JADE

SaDE

EPSDE

CoDE

Function

jDE

JADE

SaDE

EPSDE

CoDE

f1 f2 f3 f4 f5 f6 f7 f8 f9 f 10 f 11 f 12 f 13 f 14 f 15 f 16 f 17

E √ √ √  √ √ √ E √ √ √ √ √ E √ √

E √ √ E   √  E √ √ √ √ √ E √ √

E √ √ √ √ √ √ √ E √ √ √ √ √ E √ √

E √ √ √   √ √ E √    √ √  √

E E √ E   √  E √ √ √ √ √ E √ √

f1 f2 f3 f4 f5 f6 f7 f8 f9 f 10 f 11 f 12 f 13 f 14 f 15 f 16 f 17

E √ √   E √ E E √ E √ √ √  √ √

E √ √   √ √  E √ √ √ √ √ E √ √

E √ √ √  √ √ E E √ √ √ E E E √ √

E √ √ √ √ E √ E E √     √ √ √

E E √    √  E √ E √ √ √  √ √

Note: “  ”, “√”, and “E” denote that the performance of the corresponding algorithm is better than, worse than, and similar to that of ESADE respectively. Wilcoxon's rank sum test at a 0.05 significance is performed between ESADE and each of jDE, JADE, SaDE, EPSDE, and CoDE.

Note: “  ”, “√”, and “E” denote that the performance of the corresponding algorithm is better than, worse than, and similar to that of ESADE respectively. Friedman test at a 0.05 significance is performed between ESADE and each of jDE, JADE, SaDE, EPSDE, and CoDE.

Table 4 Comparison between ESADE and CoDE, JADE, jDE, EPSDE, and SaDE based on Wilcoxon's rank sum test.

Table 6 Comparison between ESADE and CoDE, JADE, jDE, EPSDE, and SaDE on Friedman test.

Function

jDE

JADE

SaDE

EPSDE

CoDE

Function

jDE

JADE

SaDE

EPSDE

CoDE

ESADE better ESADE worse ESADE equal Success Rate

13 1 3 94.11%

10 3 4 82.35%

14 0 3 100%

9 6 2 64.70%

9 3 5 82.35%

ESADE better ESADE worse ESADE equal Success rate

9 3 5 82.35%

11 3 3 82.35%

10 1 6 94.11%

9 4 4 76.47%

8 5 4 70.59%

Note: “ESADE better” means the value of ESADE is better than other algorithms, “ESADE worse” means the value of ESADE is worse than other algorithms, “ESADE equal” means the value of ESADE is equal with other algorithms, and “Success Rate” means the successful rate of ESADE (including the better and equal ones). Wilcoxon's rank sum test at a 0.05 significance is performed between ESADE and each of jDE, JADE, SaDE, EPSDE, and CoDE.

Note: “ESADE better” means the value of ESADE is better than other algorithms, “ESADE worse” means the value of ESADE is worse than other algorithms, “ESADE equal” means the value of ESADE is equal with other algorithms, and “Success Rate” means the successful rate of ESADE (including the better and equal ones). Friedman test at a 0.05 significance is performed between ESADE and each of jDE, JADE, SaDE, EPSDE, and CoDE.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

4.2. Experimental setup To test the performance of the proposed ESADE algorithm, the proposed ESADE algorithm was compared with jDE, JADE, SaDE, EPSDE and CoDE. The experiments were conducted on the suite of 17 numerical functions listed in Section 4 when the value of dimension D ¼ 30. For all the algorithms, the maximum number of function evaluations was set to 10,000 generations while the population size was set as NP ¼ 50 and the initialized ambient temperature t 0 ¼ 1000. Moreover, SF and SCR were emptied every 50 generations.

4.3. Comparison between ESADE and other DE algorithms The evaluation of the performance of ESADE is based on comparing various state-of-the-art adaptive/self-adaptive DE algorithms, such as jDE, JADE, SaDE, EPSDE, and CoDE. The main code can be seen in Appendix A. Table 2 presents the average value after the DE algorithms ran 25 times on the 17 test functions when dimension D ¼ 30. Wilcoxon's rank sum test at a 0.05 significance was carried out between ESADE and each of jDE, JADE, SaDE, EPSDE,

and CoDE. Results can be directly observed from Table 3. Table 4 presents the results of comparison between ESADE and other DEs. It is clear that on average the proposed ESADE algorithm performed better than the other compared algorithms. For example, it was better than jDE on 13 test functions and was similar to it on 3 test functions, better than JADE on 10 test functions and similar to it on 4 test functions, better than SaDE on 14 test functions and similar to it on 3 test functions, EPSDE on 9 test functions and similar to it on 2 test functions, better than EPSDE on 9 test functions and similar to it on 5 test functions. Since Wilcoxon test can confront the familywise error, Friedman test at a 0.05 significance was also conducted between ESADE and each of jDE, JADE, SaDE, EPSDE, and CoDE. Results are shown in Table 5. Table 6 presents the results of comparison between ESADE and other DEs based on Friedman test. It is clear that on average the proposed ESADE algorithm performed better than the other compared algorithms. For instance, it was better than jDE on 9 test functions and was similar to it on 5 test functions, better than JADE on 11 test functions and similar to it on 3 test functions, better than SaDE on 10 test functions and similar to it on 6 test functions, EPSDE on 9 test functions and similar to it on 4 test functions, better than EPSDE on 8 test functions and similar to it on 4 test functions. For further illustration, in Fig. 6, the convergence graphs show the values of function derived from ESADE, jDE, JADE, SaDE, EPSDE, and CoDE on six benchmark

Fig. 6. The convergence graphs for average best fitness derived from ESADE, jDE, JADE, SaDE, EPSDE. and CoDE on six test functions. (a) f 1 , (b) f 3 , (c) f 7 , (d) f 10 , (e) f 14 and (f)f 17 .

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

11

Table 7 Experimental results of PSO and ESADE over 25 independent runs on 17 test functions of 50 variables with 10,000 FES. Function

ESADE PSO

f2

f1 Mean

Std

Median

Mean

Std

Median

Mean

Std

Median

0.00E þ 00 1.96E  03

0.00E þ 00 7.23E  03

0.00E þ 00 3.11E  08

1.90E  28 1.56E  03

2.44E  28 5.97E 03

1.10E 28 5.21E  09

4.34E þ02 2.10E þ03

5.11E þ 02 1.16E  03

2.29E þ02 2.10Eþ03

7.95E  01 6.17E  03

0.00E þ00 2.50E  08

0.00E þ00 2.01E 04

0.00E þ00 5.82E  08

3.38E þ00 2.88E  01

8.25E þ02 9.23E þ02

3.91E þ 00 1.30E-02

5.05E þ02 1.28E þ03

f5

f4 ESADE PSO

9.21E  07 6.11E  03

9.27E 07 1.53E  03

4.65E  07 2.82E  08

9.43E  04 8.94E  03

1.19E  03 3.63E  02

4.98E  04 3.63E  07

5.36E  01 1.82E  03

5.37E 02 3.73E 11

2.09E þ01 3.18Eþ03

0.00E þ00 6.25E  05

f 11

9.78E  01 6.23E þ00

9.68E 02 1.10E þ00

9.91E  01 5.73E þ00

f 12

3.02E þ02 5.00E þ 02

1.05E þ 02 1.04E  01

3.00E þ02 5.00Eþ02

8.25E þ02 9.23E þ02

f 14

8.25E þ02 9.61E þ02

2.89E þ00 1.06E þ02

8.25E þ02 9.01E þ02

f 15

8.25E þ02 1.28E þ03

3.66E þ00 5.44E  04

8.25E þ02 1.28E þ03

6.13E 01 1.17E þ01

2.10Eþ 02 6.83E þ02

5.05E þ02 1.21E þ03

f 17

f 16 ESADE PSO

7.69E þ03 1.69E þ03

f9

2.09E þ01 3.18Eþ03

f 13 ESADE PSO

7.66E þ02 3.74E  03

f8

f 10 ESADE PSO

f6

9.86E þ02 1.69E þ03

f7 ESADE PSO

f3

2.82E þ00 8.66E þ01

5.10Eþ02 1.02E þ03

5.10E þ02 9.66E þ02

2.10Eþ02 6.84E þ02

Note: “Mean”, “Std” and “Median” indicate the average values, standard deviation and the median values of the functions obtained in 25 runs respectively.

Table 8 Comparison results based on Wilcoxon's rank sum test and Friedman test. Function

f1

f2

f3

f4

f5

f6

f7

f8

f9

f 10

f 11

f 12

f 13

f 14

f 15

f 16

f 17

PSO Wilcoxon Friedman

√ √

√ √

√ √

√ √

√ √

 

√ √

√ √

√ √

√ √

√ √

√ √

√ √

√ √

√ √

√ √

√ √

Note: “  ” and “√” denote that the performance of the corresponding algorithm is better than or worse than that of ESADE respectively. Wilcoxon's rank sum test and Friedman test at a 0.05 significance are performed between ESADE and PSO respectively.

functions at 30D. Fig. 6 provides evidence that the overall convergence speed of ESADE was better than the other six algorithms. In Fig. 6, graphs of six benchmark functions are of very representativity and thus provided here. Given the Comparison between ESADE and other DEs, it can be shown that the performance of ESADE was the best. Therefore, the advantages of ESADE are obvious when compared with other DE algorithms. The reason may lies in that new DE is able to self-adapt the control parameters to satisfy the requirements of different problems. Besides, the selecting operation of the new algorithm has also been improved with the help of simulated annealing algorithm. 4.4. Comparison between ESADE and PSO algorithms Compared with particle swarm optimization algorithm, the performance of ESADE can be properly evaluated. Table 7 presents the average values after PSO and ESADE algorithms ran 25 times on the 17 test functions when dimension D ¼ 30. Wilcoxon's rank sum test and Friedman test at a 0.05 significance were performed between ESADE and PSO respectively. It can be observed from Table 8. Table 9 presents the results of comparison between ESADE and PSO. It is clear that on average the proposed ESADE algorithm performed better than PSO algorithm. ESADE algorithm only performed worse than PSO algorithm on f 6 .

Table 9 Comparison between ESADE and PSO on Wilcoxon's rank sum test and Friedman test. Function

ESADE better

ESADE worse

ESADE equal

Success Rate

PSO Wilcoxon Friedman

16 16

1 1

0 0

94.11% 94.11%

Note: “ESADE better” means the value of ESADE is better than other algorithms, “ESADE worse” means the value of ESADE is worse than other algorithms, “ESADE equal” means the value of ESADE is equal with other algorithms, and “Success Rate” means the successful rate of ESADE (including the better and equal ones). Wilcoxon's rank sum test and Friedman test at a 0.05 significance are performed between ESADE and PSO respectively. implies that ESADEn cannot get the optimal value every time. It illustrates that global search capabilities of ESADE can be enhanced when simulated annealing is added into selection operator.

4.6. Comparison of the influences on ESADE when the value of t 0 varies 4.5. Comparison of the influences on ESADE with or without simulated annealing The algorithm is designed to be tested to illustrate that global search capabilities of ESADE can be enhanced after simulated annealing is added into selection operator. The algorithm without simulated annealing is called ESADEn for convenience. ESADE algorithm is compared with ESADEn. Table 10 presents the average values after ESADEn and ESADE algorithms ran 25 times on the 17 test functions with dimension D ¼ 30. It can be found that the standard deviation of ESADEn was relatively larger compared with that of ESADE. It

The initialized ambient temperature may affect the performance of ESADE. The algorithm is tested when t 0 equals 10, 100, 1000 and 10,000 respectively. In Fig. 7, the convergence graphs show the mean function error values derived from ESADE on six benchmark functions with 30D when the value of t 0 varies. It is clear that the performance of ESADE was worse when t 0 equals 10,000. However, it is difficult to judge the performance of ESADE when t 0 equals 10, 100, and 1000. To illustrated this in depth, in Table 11, the comparison results based on Wilcoxon's rank sum test between ESADE and other DEs are listed when the value of t 0 varied. As is shown,

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

Table 10 Experimental results of ESADE* and ESADE over 25 independent runs on 17 test functions of 50 variables with 10,000 FES. Function

ESADE n ESADE

f2

f1 Mean

Std

Median

Mean

Std

Median

Mean

Std

Median

0.00E þ00 3.02E  29

0.00E þ00 6.83E  29

0.00E þ 00 0.00E þ 00

1.90E  28 1.12E þ 03

2.44E  28 2.18E þ 03

1.10E  28 0.00E þ00

4.34E þ 02 7.41E þ 05

5.11E þ02 3.70Eþ 06

2.29Eþ 02 6.33Eþ 02

7.95E  01 6.09E þ 01

0.00E þ 00 1.21E þ01

0.00E þ 00 2.75E  01

0.00E þ 00 0.00E þ 00

3.38E þ 00 9.90E þ 00

8.25Eþ 02 8.25Eþ 02

3.91E þ00 7.32E þ01

5.05Eþ 02 8.65Eþ 02

f4 ESADE ESADEn

9.27E  07 8.53E þ 03

f5 9.21E  07 1.60E þ 04

4.65E  07 0.00E þ 00

9.43E  04 2.08E  02

1.19E  03 1.97E 02

4.98E  04 1.47E  02

9.78E  01 1.12E þ00

9.68E  02 9.67E 02

9.91E  01 1.15E þ00

f 13 ESADE ESADEn

8.25E þ 02 8.34E þ 02

5.10E þ 02 5.41E þ02

7.69E þ 03 2.57E þ 03

2.09Eþ 01 2.09Eþ 01

3.02Eþ 02 2.56Eþ 02

2.89E þ 00 1.20E þ 01

8.25E þ 02 8.37E þ02

8.25Eþ 02 8.35Eþ 02

5.36E  01 4.03E þ 01 f9

5.37E 02 4.82E  02

2.09E þ 01 2.09E þ 01

0.00Eþ00 7.95E  02 f 12

1.05Eþ 02 9.01E þ01

3.00E þ02 2.06E þ 02

f 14

8.25E þ 02 8.28E þ 02 f 15

3.66E þ 00 1.29Eþ 01

8.25E þ 02 8.37E þ 02

6.13E  01 1.39Eþ 01

2.10Eþ 02 2.08E þ 02

5.05E þ 02 8.51E þ02

f 17

f 16 ESADE ESADEn

7.66E þ02 1.78Eþ 03

f 11

f 10 ESADE ESADEn

9.86Eþ 02 2.43Eþ 03

f6

f8

f7 ESADE ESADEn

f3

2.82E þ 00 6.19E þ 01

5.10E þ 02 5.28E þ 02

2.10E þ02 2.09Eþ 02

Note: “Mean”, “Std” and “Median” indicate the average values, standard deviation and the median values of the functions obtained in 25 runs respectively.

Fig. 7. The convergence graphs for average best fitness derived from ESADE on six test functions when the value of t 0 varies. (a) f 1 , (b) f 3 , (c) f 7 , (d) f 10 , (e) f 14 and (f) f 17 .

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

13

Table 11 Comparison between ESADE and CoDE, JADE, jDE, EPSDE, SaDE when the value of t 0 varies. DE algorithms

t0

ESADE better

ESADE worse

ESADE equal

Success rate

jDE

10 100 1000 10,000 10 100 1000 10,000 10 100 1000 10,000 10 100 1000 10,000 10 100 1000 10,000

13 11 13 8 10 10 12 7 14 13 14 10 9 8 9 7 9 9 9 6

2 3 1 7 5 5 3 8 1 1 0 5 6 6 6 8 6 5 3 9

2 3 3 2 2 2 2 2 2 3 3 2 2 3 2 2 2 3 5 2

88.23% 82.35% 94.11% 58.82% 70.58% 70.58% 82.35% 52.94% 94.11% 94.11% 100% 70.58% 64.70% 64.70% 64.70% 52.94% 64.70% 70.58% 82.35% 47.05%

JADE

SaDE

EPSDE

CoDE

Note: “ESADE better” means the value of ESADE is better than other algorithms, “ESADE worse” means the value of ESADE is worse than other algorithms, “ESADE equal” means the value of ESADE is equal with other algorithms, and “Success Rate” means the successful rate of ESADE (including the better and equal ones).

Table 12 The results of ESADE , CoDE, JADE, jDE, EPSDE, and SaDE on PEMFC model. N N ¼ 50

Mean Std Median Mean Std Median Mean Std Median

N ¼ 75

N ¼ 100

ESADE

jDE

JADE

SADE

EPSDE

CoDE

7.32E  05 8.61E  17 7.32E  05 1.33E 03 2.75E  17 1.33E 03 5.83E  02 2.68E  16 5.83E  02

7.32E  05 4.43E  14 7.32E  05 1.33E 03 4.50E  17 1.33E 03 5.83E  02 2.48E  16 5.83E  02

7.32E  05 1.32E  17 7.32E  05 1.33E 03 4.10E  17 1.33E 03 5.83E  02 2.40E  16 5.83E  02

8.83E  05 3.00E  05 7.32E  05 1.35E 03 1.11E  04 1.33E 03 5.83E  02 1.33E 16 5.83E  02

8.03E  05 3.12E  05 7.32E  05 1.33E 03 3.99E  08 1.33E 03 5.83E  02 2.44E  09 5.83E  02

7.32E  05 8.08E  18 7.32E  05 1.33E 03 3.19E  17 1.33E 03 5.83E  02 2.55E  16 5.83E  02

Note: “Mean”, “Std” and “Median” indicate the average values, standard deviation and the median values of the functions obtained in 25 runs respectively. the performance of ESADE was the best when t 0 ¼ 1000. As a result, the initialized ambient temperature was set as t 0 ¼ 1000.

4.7. The application of ESADE in solving the parameter identification of PEMFC model 4.7.1. The objective function of the problem In this study, ESADE is applied to solve a frequently-discussed problem, that is, the parameter identification of proton exchange membrane fuel cell (PEMFC) model. The PEMFC stack model presented in [33] is used. The objective function is shown as the following: N

min f ðxÞ ¼ ∑ ðV sm;k  V so;k Þ2

ð29Þ

k¼1

where V sm represents the output voltage of the actual PEMFC stack, V so represents the model output voltage, and N represents the number of the experimental data point.

4.7.2. Experimental setup The number of the experimental data point was set as N ¼ 50,75,100, which can be found in Appendix B. The maximum number of function evaluations for all the algorithms was set to 10,000 generations while the population size was set as NP ¼ 50. The independent run-time was set as 25.

4.7.3. The results and analysis Table 12 shows the numerical results when ESADE, CoDE, JADE, jDE, EPSDE and SaDE were applied to the parameter identification of PEMFC model. The results show that ESADE can obtain the optimal value exactly like CoDE, JADE, jDE, EPSDE and SaDE, which means that ESADE can solve the problem of the parameter identification of PEMFC model.

5. Conclusions As an efficient and powerful search and optimization algorithm, differential evolution (DE) has been widely used in science and engineering. In the DE algorithm, trial vector generation strategy and control parameters are very important to the algorithm's performance. However, it is difficult to select a suitable strategy and the associated parameters, because their best settings can be different for not only different problems but also different evolution phases of the same problem. Therefore, an ESADE algorithm is developed. It mutates parameters oF and oCr to generate new parameters mF and mCr. Then, it respectively mutates and crosses populationo and populationm with different parameters to select vectors which fit best as target vectors oU and mU. Besides, its selecting operation combined with simulated annealing has enhanced its global search capabilities. In this study, the experimental studies had been carried out on 17 global numerical optimization functions from CEC2005 special session on real-parameter optimization. ESADE was compared with other five state-of-the-art DE variants, such as jDE, JADE, SaDE, EPSDE and CoDE. The experimental results suggested that the overall performance of ESADE was better than the five competitors. Comparison between ESADE and PSO showed that the performance of ESADE was better than PSO. In order to illustrate it that the global search capabilities of ESADE can be enhanced after simulated annealing being added into selecting operation, ESADE was compared with the algorithm without simulated annealing. The influence of initialized ambient temperature on ESADE was tested and the

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Q2 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

if g 41 &&  isempty(goodCR)&&sum(goodF) CRm ¼(1 - c) n CRm þc n mean(goodCR); Fm¼ (1 - c) n Fmþc n sum(goodF.^ 2) / sum(goodF); % Lehmer mean End %generate oF,oCR [oF,oCR] ¼randFCRQ(NP,CRm,0.1,Fm,0.1); %generate mF,mCR mF ¼genMF(NP,oF); mCR ¼genMCR(NP,oCR); %Mutation&Crossover %Strategy, DE/current-to-pbest/1(without archive) oU ¼ strategy(oF,oCR,oldpop,func_num); mU ¼strategy(mF,mCR,oldpop,func_num); %generate tg tg ¼t0n(0.99)^g; %%Selection oufit ¼ benchmark_func(oU,func_num); mufit¼ benchmark_func(mU,func_num); for i ¼1:NP if oufit(i) o ¼min(fit(i),mufit(i)) pop(i,:) ¼oU(i,:); goodF(i) ¼oF(i); goodCR(i) ¼oCR(i); elseif mufit(i)o ¼min(fit(i),oufit(i)) pop(i,:) ¼mU(i,:); goodF(i) ¼mF(i); goodCR(i) ¼mCR(i); elseif oufit(i) 4fit(i)&&oufit(i) o ¼mufit(i)&&exp (-(oufit(i)-fit(i))/tg) 4rand pop(i,:) ¼oU(i,:); goodF(i) ¼oF(i); goodCR(i) ¼oCR(i); elseif mufit(i)4 fit(i)&&mufit(i)o ¼oufit(i)&&exp (-(mufit(i)-fit(i))/tg) 4rand pop(i,:) ¼mU(i,:); goodF(i) ¼mF(i); goodCR(i) ¼mCR(i); else pop(i,:) ¼oldpop(i,:); end end fitness ¼benchmark_func(pop,func_num); outcome ¼[outcome min(fitness)]; end

optimum value was set as the initialized ambient temperature. At last, in order to test the application of ESADE in solving realworld problems, ESADE was applied to the parameter identification of proton exchange membrane fuel cell model. The results showed that the performance of ESADE was as good as the state-of-the-art differential evolution variants. In the future, the study will focus on improving the ESADE algorithm and applying ESADE to solve more real-world problems. For example, it can be generalized to solve constraint and multiobjective optimization problems, compared with some other algorithms (e.g. GA, ACO, etc.), and applied to oil reservoir identification, including feature selection and rule extraction.

Acknowledgments This study is supported by the National Natural Science Foundation of China, Nos. 71103163, 71103164 and 71301153, by Program for New Century Excellent Talents in University, No. NCET-13-1012, by Research Foundation of Humanities and Social Sciences of Ministry of Education of China, No. 10YJC790071, by the Fundamental Research Founds for National University, China University of Geosciences(Wuhan) Nos. CUG110411,CUG120111, G2012002A and CUG140604, by the Open Foundation for the Research Center of Resource Environment Economics in China University of Geosciences (Wuhan) and by the open foundation for Key Laboratory of Tectonics and Petroleum Resources (China University of Geosciences), Ministry of Education No. TPR-2011-11. Appendix A The main code of ESADE: %———Initialize population———————————————————— pop ¼repmat(lu(1,:), NP, 1)þ rand(NP, D).n (repmat(lu(2,:) lu(1,:), NP, 1)); % lu()is the upper and lower of function % Record the best results outcome ¼ []; % Record the number of generations(g) for g¼ 1:10000 oldpop¼ pop; %the fitness value of population fit¼benchmark_func(pop,func_num); %goodCR can record the better CR,goodF can record the better F %When g is integer multiples of inter(inter is set as 50), goodCR and goodF will be cleared if mod(g,inter)¼ ¼0 goodCR¼[]; goodF¼[]; End %Update CRm and Fm

Appendix B See Tables B1–B3.

Table B1 The experimental data point when N ¼ 50. I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

1.00 1.19 1.28 1.30 1.35 1.37 1.38 1.40 1.47

23.70 23.41 23.28 23.26 23.19 23.17 23.15 23.13 23.05

1.48 1.52 1.69 1.80 1.88 1.98 2.29 2.37 2.42

23.03 22.99 22.81 22.70 22.62 22.52 22.27 22.21 22.17

2.55 2.66 2.77 2.84 2.91 2.98 3.35 3.59 4.58

22.07 22.00 21.92 21.87 21.83 21.79 21.57 21.44 20.96

4.94 5.92 6.90 7.88 8.86 9.84 10.82 11.80 12.78

20.80 20.42 20.08 19.77 19.48 19.20 18.93 18.68 18.43

13.76 14.25 14.74 15.72 16.70 17.68 18.66 19.64 20.13

18.18 18.05 17.93 17.67 17.41 17.14 16.84 16.52 16.34

20.62 21.11 21.60 22.89 23.21

16.15 15.93 15.67 14.35 11.91

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

15

Table B2 The experimental data point when N ¼ 75. I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

1.00 1.00 1.00 1.01 1.01 1.02 1.04 1.05 1.06 1.07 1.08

23.70 23.70 23.69 23.69 23.68 23.66 23.64 23.62 23.60 23.59 23.57

1.09 1.11 1.12 1.13 1.14 1.15 1.16 1.18 1.19 1.20 1.21

23.55 23.53 23.51 23.50 23.48 23.46 23.44 23.43 23.41 23.39 23.38

1.23 1.24 1.25 1.27 1.28 1.30 1.31 1.33 1.34 1.35 1.37

23.36 23.34 23.32 23.30 23.28 23.26 23.24 23.22 23.21 23.19 23.17

1.38 1.40 1.41 1.43 1.45 1.47 1.48 1.50 1.52 1.52 1.53

23.15 23.13 23.11 23.09 23.07 23.05 23.03 23.01 22.99 22.99 22.97

1.55 1.57 1.59 1.61 1.63 1.65 1.67 1.69 1.71 1.73 1.75

22.95 22.94 22.92 22.89 22.87 22.85 22.83 22.81 22.78 22.76 22.74

1.77 1.80 1.83 1.85 1.88 1.90 1.93 1.95 1.98 2.02 2.05

22.72 22.70 22.67 22.65 22.62 22.60 22.57 22.55 22.52 22.50 22.47

2.08 2.11 2.14 2.18 2.21 2.25 2.29 2.33 2.37

22.44 22.42 22.39 22.36 22.33 22.30 22.27 22.24 22.21

Table B3 The experimental data point when N ¼ 100. I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

I

Vsm

1.00 1.00 1.00 1.01 1.01 1.02 1.04 1.05 1.06 1.07 1.08 1.09 1.11 1.12 1.13

23.70 23.70 23.69 23.69 23.68 23.66 23.64 23.62 23.60 23.59 23.57 23.55 23.53 23.51 23.50

1.14 1.15 1.16 1.18 1.19 1.20 1.21 1.23 1.24 1.25 1.27 1.28 1.30 1.31 1.33

23.48 23.46 23.44 23.43 23.41 23.39 23.38 23.36 23.34 23.32 23.30 23.28 23.26 23.24 23.22

1.34 1.35 1.37 1.38 1.40 1.41 1.43 1.45 1.47 1.48 1.50 1.52 1.52 1.53 1.55

23.21 23.19 23.17 23.15 23.13 23.11 23.09 23.07 23.05 23.03 23.01 22.99 22.99 22.97 22.95

1.57 1.59 1.61 1.63 1.65 1.67 1.69 1.71 1.73 1.75 1.77 1.80 1.83 1.85 1.88

22.94 22.92 22.89 22.87 22.85 22.83 22.81 22.78 22.76 22.74 22.72 22.70 22.67 22.65 22.62

1.90 1.93 1.95 1.98 2.02 2.05 2.08 2.11 2.14 2.18 2.21 2.25 2.29 2.33 2.37

22.60 22.57 22.55 22.52 22.50 22.47 22.44 22.42 22.39 22.36 22.33 22.30 22.27 22.24 22.21

2.42 2.46 2.50 2.55 2.61 2.66 2.72 2.77 2.84 2.91 2.98 3.07 3.15 3.24 3.35

22.17 22.14 22.11 22.07 22.03 22.00 21.96 21.92 21.87 21.83 21.79 21.73 21.68 21.63 21.57

3.46 3.59 3.72 3.89 4.06 4.29 4.58 4.94 5.43 5.92

21.51 21.44 21.37 21.28 21.20 21.09 20.96 20.80 20.60 20.42

References [1] R. Storn, K.V. Price, Differential evolution: A simple and efficient adaptive scheme for global optimization over continuous spaces, ICSI, USA, Tech. Rep. TR-95-012, 1995 [Online]. Available: 〈http://icsi.berkeley.edu/  storn/litera. html〉. [2] R. Storn, K.V. Price, Minimizing the real functions of the ICEC 1996 contest by differential evolution, in: Proceedings of the 1996 IEEE International Conference on Evolutionary Computation, 1996, pp. 842–844. [3] R. Storn, On the usage of differential evolution for function optimization, in: Proceedings of the North American Fuzzy Information Processing Society Conference, 1996, pp. 519–523. [4] S.F. Sheniha, S.S. Priyadharsini, S.E. Rajan, Removal of artifact from EEG signal using differential evolution algorithm, in: Proceedings of 2nd International Conference on Communication and Signal Processing, 2013, pp. 134–138. [5] S. Sharma, G.P. Rangaiah, An improved multi-objective differential evolution with a termination criterion for optimizing chemical processes, Comput. Chem Eng. 56 (2013) 155–173. [6] M. Secmen, M.F. Tasgetiren, Ensemble of differential evolution algorithms for electromagnetic target recognition problem, IET Radar, Sonar Navig. 7 (7) (2013) 780–788. [7] M. Cruz-Ramírez, J. Sánchez-Monedero, F. Fernández-Navarro, J.C. Fernández, C. Hervás-Martínez, Memetic pareto differential evolutionary artificial neural networks to determine growth multi-classes in predictive microbiology, Evol. Intell. 3 (3) (2010) 187–199. [8] J.X. Zhu, X.B. Wen, H.X. Xu, L.Q. Sun, Image sparse decomposition and reconstruction based on differential evolution algorithm, Adv. Inf. Sci. Serv. Sci. 3 (10) (2011) 131–137. [9] R. Mallipeddi, S. Mallipeddi, P. Suganthan, Ensemble strategies with adaptive evolutionary programming, Inf. Sci. (2010) 1571–1581. [10] R. Mallipeddi, P.N. Suganthan, Q.K. Pan, M.F. Tasgetiren, Differential evolution algorithm with ensemble of parameters and mutation strategies, Appl. Soft Comput. (2011) 1679–1696. [11] R. Storn, K.V. Price, Differential evolution: a simple and efficient heuristic for global optimization over continuous spaces, J. Glob. Optim. 11 (4) (1997) 341–359. [12] J. Rönkkönen S. Kukkonen, K.V. Price, Real-parameter optimization with differential evolution, in: Proceedings of IEEE Congress on Evolutionary Computation, 2005, pp. 506–513.

[13] K.V. Price, R.M. Storn, J.A. Lampinen, Differential evolution: a practical approach to global optimization, in: Natural Computing Series, Springer, Berlin, 2005. [14] S. Das, A. Konar, U.K. Chakraborty, Two improved differential evolution schemes for faster global search, in: Proceedings of the 2005 Conference on Genetic and Evolutionary Computation, 2005, pp. 991–998. [15] U.K. Chakraborthy, S. Das, A. Konar, Differential evolution with local neighborhood, in: Proceedings of the Congress on Evolutionary Computation, Vancouver, BC, Canada, 2006, pp. 2042–2049. [16] J. Liu, J. Lampinen, A fuzzy adaptive differential evolution algorithm, Soft Comput. (2005) 448–462. [17] T. Lan, S.R. Liu, X.S. Gu, Approaches of evolutionary multiobjective optimization, Control Dec. 21 (6) (2006) 601–605. [18] R.H. Lei, Y.H. Cheng A pareto-based differential evolution algorithm for multiobjective optimization problems, in: Proceedings of 2010 Chinese Control and Decision Conference, 2010. [19] M.G.H. Omran A. Salman , A.P. Engelbrecht, Self-adaptive differential evolution, in: Computational Intelligence and Security, PT 1, Proceedings of the Lecture Notes in Artificial Intelligence, 2005, pp. 192–199. [20] J. Brest, M. Mernik, Population size reduction for the differential evolution algorithm, Appl. Intell. (2008) 228–247. [21] A. Ghosh, S. Das, A. Chowdhury, R. Giri, An improved differential evolution algorithm with fitness-based adaptation of the control parameters, Inf. Sci. 181 (18) (2011) 3749–3765. [22] Q.K. Pan, P.N. Suganthan, L. Wang, L. Gao, R. Mallipeddi, A differential evolution algorithm with self-adapting strategy and control parameters, Comput. Oper. Res. 38 (1) (2011) 394–408. [23] H.A. Abbass,The self-adaptive Pareto differential evolution algorithm, in: Proceedings of the 2002 congress on evolutionary computation, 2002, Honolulu, HI, USA, 2002, pp. 831–836. [24] A.K. Qin, P.N. Suganthan, Self-adaptive differential evolution algorithm for numerical optimization, in: Proceedings of IEEE Congress on Evolutionary Computation (CEC 2005), Edinburgh, Scotland, IEEE Press, 2005, pp. 1785–1791. [25] Y. Wang, Z. Cai, Q. Zhang, Differential evolution with composite trial vector generation strategies and control parameters, IEEE Trans. Evol. Comput. 15 (1) (2011) 55–66. [26] S.M. Islam, S. Das, S. Ghosh, S. Roy, P.N. Suganthan, An adaptive differential evolution algorithm with novel mutation and crossover strategies for global numerical optimization, in: Proceedings of IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, 2012, 42, 2, pp. 482–500.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

16

1 2 3 4 5 6 7 8 9 10

H. Guo et al. / Swarm and Evolutionary Computation ∎ (∎∎∎∎) ∎∎∎–∎∎∎

[27] D.X. Zou, J.H. Wu, L.Q. Gao, S. Li, A modified differential evolution algorithm for unconstrained optimization problems, Neurocomputing 120 (2013) 469–481. [28] J. Teo, Exploring dynamic self-adaptive populations in differential evolution, Soft Comput. 10 (8) (2006) 673–686. [29] V. Tirronen, F. Neri, Differential evolution with fitness diversity self-adaptation, in: Proceedings of the Nature-Inspired Algorithms for Optimisation, Springer-Verlag, Berlin, 2009, pp. 199–234. [30] J.Q. Zhang, A.C. Sanderson, JADE: adaptive differential evolution with optional external archive, IEEE Trans. Evol. Comput. 13 (5) (2009) 945–958pp 13 (2009) 945–958.

[31] W. Zhu, Y. Tang, J. Fang, W.B. Zhang, Adaptive population tuning scheme for differential evolution, Inf. Sci. 223 (2013) 164–191. [32] P.N. Suganthan, N. Hansen, J.J. Liang, et al. Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization, Technical Report, Nanyang Technological University, Singapore, May 2005 and KanGAL Report#2005005, IIT Kanpur, India, 2005, pp. 1–50. [33] Z.J. Mo, X.J. Zhu, L.Y. Wei, et al., Parameter optimization for a PEMFC model with a hybrid genetic algorithm, Int. J. Energy Res.30 (8) (2006) 585–597.

Please cite this article as: H. Guo, et al., Differential evolution improved with self-adaptive control parameters based on simulated annealing, Swarm and Evolutionary Computation (2014), http://dx.doi.org/10.1016/j.swevo.2014.07.001i

11 12 13 14 15 16 17 18 19