## 3 Review of PSO, DE, and DEPSO
### Differential Evolution
#### 3.2.1 Improvements on DE Parameters Control  
One of the components that influence the performance of the DE algorithm is the control of the \(F\) and \(Cr\) parameters [32; 53]. The standard version of the DE algorithm uses fixed values for these two parameters; however, the selection of these parameters can be done deterministically (following a certain rule that modifies these values after a certain number of iterations), adaptively (according to the feedback of the search process), and in a self-adaptive way (by means of the evolution information provided by the individuals of the population) [37]. One of the most representative variants concerning the improvement of the control of the parameters \(F\) and \(Cr\) of the DE algorithm is proposed in the SHADE algorithm [32].  
Precisely, in each iteration of the SHADE algorithm, the parameters \(F\) and \(Cr\), which are associated with test vectors with a better fit than their parent vector, are stored in two sets: \(S_{F}\) and \(S_{Cr}\), respectively. Two archives or memories, \(M_{F}\) and \(M_{Cr}\) with a defined time \(H\), and whose contents \(M_{Cr,k}\) and \(M_{F,k}\) (\(k=1,\ldots,H\)) are initialized with a value of 0.5, serve to generate the parameters \(F_{i}\) and \(Cr_{i}\) of the \(i\)-th individual \(X_{i,t}\) at each iteration \(t\). The way to generate the values of these parameters requires the uniform selection of an index, \(r_{i}\in[1,H]\), and is carried out according to the following expressions:  
\[Cr_{i} =\text{randn}_{i}(M_{Cr,r_{i}},0.1) \tag{25}\] \[F_{i} =\text{randn}_{i}(M_{F,r_{i}},0.1) \tag{26}\]where \(M_{CR,r_{i}}\) is the element selected from \(M_{Cr}\) to generate the value of \(Cr_{i}\), while \(M_{F,r_{i}}\) is the element selected from \(M_{F}\) to generate the value of \(F_{i}\); rand\({}_{i}(M_{Cr,r_{i}},0.1)\) represents a normal distribution with mean \(M_{CR,r_{i}}\) and standard deviation 0.1, while rand\({}_{i}(M_{F,r_{i}},0.1)\) represents a Cauchy distribution with parameter position \(M_{F,r_{i}}\) and scale factor 0.1. When generating the value of the parameter \(Cr_{i}\), it must be verified that it is within the range \([0,1]\); otherwise, if \(Cr_{i}<0\) then \(Cr_{i}\) is truncated to 0 and if \(Cr_{i}>1\) then \(Cr_{i}\) is truncated to 1. For the parameter \(F_{i}\), if \(F_{i}>1\) then \(F_{i}\) is truncated to 1, otherwise, if \(F_{i}<0\) then \(F_{i}\) is regenerated until \(F_{i}>0\).  
At the end of each iteration, the contents of the \(M_{Cr}\) and \(M_{F}\) memories are updated as follows:  
\[M_{Cr,k,l+1}=\begin{cases}mean_{WL}(S_{Cr}),&\text{si }S_{Cr}\
eq \emptyset\\ M_{Cr,k,l},&\text{otherwise}\end{cases} \tag{27}\]  
\[M_{F,k,l+1}=\begin{cases}mean_{WL}(S_{F}),&\text{si }S_{F}\
eq\emptyset\\ M_{F,k,l},&\text{otherwise}\end{cases} \tag{28}\]  
where \(mean_{WL}(S)\) is the Lehmer weighted mean defined by the means of Equation (29), and \(S\) refers to \(S_{Cr}\) or \(S_{F}\).  
\[mean_{WL}=\frac{\sum\limits_{k=1}^{|S|}w_{k}\cdot S_{k}^{2}}{\sum\limits_{k=1 }^{|S|}w_{k}\cdot S_{k}} \tag{29}\]  
\[w_{k}=\frac{\Delta f_{k}}{\sum\limits_{l=1}^{|S|}\Delta f_{l}} \tag{30}\]  
\[\Delta f_{k}=|f(X_{p,k,l})-f(X_{k,l})| \tag{31}\]  
In Equations (27) and (28), \(k\in[1,H]\) determines the position in memory to be updated. At iteration \(t\), the \(k\)-th element in memory is updated. At the beginning of the optimization process, \(k=1\) and is incremented each time a new element is added to memory. If \(k>H,k\) is assigned equal to 1.  
Due to the good performance obtained by the SHADE algorithm when solving optimization problems using this strategy, this paper takes advantage of the adaptive control of the parameters provided by the SHADE algorithm.