## 2 Method  
### Conventional Differential Evolution Algorithm  
(1) Initialization  
Like other evolution algorithms (EAs), DE initializes the population within a given search range in a certain way, such as uniform random initialization, chaos initialization, opposition learning initialization, clustering initialization, etc. [45; 46; 47; 48; 49]. In the conventional DE algorithm, the population size (NP) with D dimension is initialized as follows:  
\[m_{ij}^{G}=L_{j}+rand(0,1)\cdot\left(U_{j}-L_{j}\right),G=0,\ i\in[1,NP],\ j\in[1,\ D]\enspace, \tag{1}\]  
where \(U_{j}\) and \(L_{j}\) are the upper and lower bounds of the \(j\)-th variable, respectively, \(rand(0,1)\) generates a random number between [0, 1] according to a uniform distribution, and \(G\) represents the generation number of the evolutionary search.  
(2) Mutation  
After the initialization, a mutant vector \(v_{i}^{G}\) will be created for each target vector \(\mathbf{m}_{i}^{G}\) according to the mutation strategy. The most widely used mutation strategies are listed as follows [50; 51]\"DE/rand/1\":  
\[v_{i}^{\rm G}=m_{r1}^{\rm G}+F\Big{(}m_{r2}^{\rm G}-m_{r3}^{\rm G}\Big{)}, \tag{2}\]  
\"DE/rand/2\":  
\[v_{i}^{\rm G}=m_{r1}^{\rm G}+F\Big{(}m_{r2}^{\rm G}-m_{r3}^{\rm G}\Big{)}+F \Big{(}m_{r4}^{\rm G}-m_{r5}^{\rm G}\Big{)}, \tag{3}\]  
\"DE/best/1\":  
\[v_{i}^{\rm G}=m_{best}^{\rm G}+F\Big{(}m_{r1}^{\rm G}-m_{r2}^{\rm G}\Big{)}, \tag{4}\]  
\"DE/best/2\":  
\[v_{i}^{\rm G}=m_{best}^{\rm G}+F\Big{(}m_{r1}^{\rm G}-m_{r2}^{\rm G}\Big{)}+F \Big{(}m_{r3}^{\rm G}-m_{r4}^{\rm G}\Big{)}, \tag{5}\]  
\"DE/current-to-best/1\":  
\[v_{i}^{\rm G}=m_{i}^{\rm G}+F\Big{(}m_{best}^{\rm G}-m_{i}^{\rm G}\Big{)}+F \Big{(}m_{r1}^{\rm G}-m_{r2}^{\rm G}\Big{)}, \tag{6}\]  
\"DE/current-to-pbest/1\":  
\[v_{i}^{\rm G}=m_{r1}^{\rm G}+F\Big{(}m_{pbest}^{\rm G}-m_{r1}^{\rm G}\Big{)}+ F\Big{(}m_{r2}^{\rm G}-m_{r3}^{\rm G}\Big{)}, \tag{7}\]  
where \(m_{best}^{G}\) is the individual vector, which has the best fitness value at the current generation. \(r1\), \(r2\), \(r3\), \(r4\), \(r5\) were mutually different random integers between \(1\) and NP. F is a scale factor within the range of (0, 1].  
(3) Crossover  
In DE, to obtain the trial vector \(u_{i}^{\rm G}\) by replacing certain variables of the target vector \(m_{i}^{\rm G}\) with corresponding mutant vector \(v_{i}^{\rm G}\), a crossover operation was needed. There were two types of crossover schemes: Exponential crossover and binominal crossover [33]. In the binominal crossover, the following formula is used to generate the trial vector,  
\[u_{ij}^{\rm G}=\ \left\{\begin{array}{ll}v_{ij}^{\rm G},\ \text{if}\ rand(0,1)\leq\ CR\ or\ j=jrand\\ \mathbf{m}_{ij}^{\rm G},\ \text{otherwise}\end{array}\right., \tag{8}\]  
where \(CR\in[0,\ 1]\) is the crossover rate that controls which or how many components were inherited from the mutant vector. \(jrand\) was a randomly selected integer in the range [1, D] to ensure that one of the variables in the trial vector must come from the mutant vector.  
(4) Selection  
DE adopts a one-to-one selection method. The fitness value of the target and the trial vectors determine which one will be selected into the population of the next generation. The selection scheme is given by:  
\[\mathbf{m}_{i}^{\rm G+}=\ \left\{\begin{array}{ll}\mathbf{u}_{i}^{\rm G},\ \text{if}\ f \big{(}\mathbf{u}_{i}^{\rm G}\big{)}\ \leq\ f\big{(}x_{i}^{\rm G}\big{)}\\ \mathbf{m}_{i}^{\rm G},\ \text{otherwise}\end{array}\right., \tag{9}\]  
where \(f(\cdot)\) is the fitness value of the target and the trial vectors.