## 2 Background
### Crow Search Algorithm (CSA)  
Recently, many metaheuristics have been proposed to solve global optimization problems, such as the slime mould algorithm (SMA) ([[https://aliasgharheidari.com/SMA.html](https://aliasgharheidari.com/SMA.html)]([https://aliasgharheidari.com/SMA.html](https://aliasgharheidari.com/SMA.html)), accessed on 1 April 2020) [73], weighted mean of vectors (INFO) ([[https://aliasgharheidari.com/INFO.html](https://aliasgharheidari.com/INFO.html)]([https://aliasgharheidari.com/INFO.html](https://aliasgharheidari.com/INFO.html)), accessed on 1 June 2022) [74], colony predation algorithm (CPA) [75], Harris hawks optimization (HHO) ([[https://aliasgharheidari.com/HHO.html](https://aliasgharheidari.com/HHO.html)]([https://aliasgharheidari.com/HHO.html](https://aliasgharheidari.com/HHO.html)), accessed on 1 August 2019) [76], Runge Kutta optimizer (RUN) ([[https://aliasgharheidari.com/RUN.html](https://aliasgharheidari.com/RUN.html)]([https://aliasgharheidari.com/RUN.html](https://aliasgharheidari.com/RUN.html)), accessed on 1 November 2021) [77], and the hunger games search (HGS) [78]. These optimizers have shown great potential in many fields, such as medicine [79; 80; 81], energy [82; 83], finance [84; 85], education [86] and engineering [87; 88]. The CSA is one of these members, which focuses on the following behaviors by simulating arrows: (a) Crows live in groups; (b) crowds call back to mind where they hide; (c) crowds track mutual for theft; (d) crowds protect their food from theft [51]. Suppose there exists a space, and the number of rows (group size) is \(N\) and \(crow_{i}\) in the search space in time (iteration), which is defined by a vector \(x^{i,iteration}(i=1,\,2,\,\ldots,\,\,N;\,iteration=1,\,2,\,\ldots,\,\,iteration _{max},\,x^{iteration}= \begin{bmatrix}x_{1}^{i,iteration},\,x_{2}^{i,iteration },\ldots,\,x_{d}^{i,iteration}\end{bmatrix} \) and \(iteration_{max}\) is the maximum number of iterations. When \(iteration\) is going on, the hidden position of \(crow_{i}\) is represented by \(m^{i,iteration}\). This is by far the best position to have. In fact, in the memory of each crow, what it considers to be in the optimal position is remembered. After that, the crow moves through the spatial environment and then looks for a more optimal location for the presence of food. Suppose that in \(iter\) iteration, \(crow_{i}\) wants to access its hidden location \(m^{j,iteration}\). In this iteration, \(crow_{i}\) decides to follow \(crow_{j}\) and close to \(crow_{j}\)'s hideout. In this case, there may be two states:  
State 1: \(crow_{j}\) does not know \(crow_{i}\) is tracking it. As a result, \(crow_{i}\) will be close to \(crow_{j}\)'s hiding position. In this case, the new location of \(crow_{i}\) is obtained as follows:  
\[x^{i,iteration+1}=x^{i,iteration}+r_{i}\times fl^{i,iteration}\times\left(m^{j,iteration }-x^{i,iteration}\right) \tag{1}\]  
where \(r_{i}\) is a random value between \([0,1]\), and \(fl^{i,iteration}\) is the flight length of \(crow_{i}\) when iterating \(iter\). State 2: \(crow_{j}\) knows \(crow_{i}\) is tracking it. Therefore, to keep its food from being stolen, \(crow_{j}\) will deceive \(crow_{i}\) by leaving for another location. In general, state 1 and state 2 can be expressed as:  
\[x^{i,iteration+1}=\{x^{i,iteration}+r_{i}\times fl^{i,iteration}\times\left(m^{ j,iteration}-x^{i,iteration}\right)\quad r_{j}\geq AP^{j,iteration} \tag{2}\]  
Among them, \(r_{j}\) is a random number that is evenly distributed between 0 and 1; \(iteration\) represents \(crow_{j}\) perception probability in \(iteration\). The MA should supply a good equilibrium between exploration and exploitation. In the CSA, the perception/affinity probability (AP) parameter controls exploration and exploitation. By abating the value of perception chance, the CSA tends to search for the current good solution in the local area. Therefore, using a smaller AP value will enhance the local search capability.