## Appendix A Meta-Heuristic Optimization Algorithms
### Crow Search Algorithm  
The Crow Search Algorithm is a meta-heuristic algorithm inspired from the collective behavior of crows in nature [29]. Specifically, abstract ideas of living social behavior and crows feeding aspects led to the evolution of this algorithm with a mathematical model, described in detail in [29]. Many studies have reported in the literature that crows exhibit intelligent behavior and capabilities of intelligently hiding food in a specific location and the capabilities of finding it again. In such a context, crows communicate in a complex way, as they have a good memory of where they store their food. As such, CSA is a meta-heuristic population-based search algorithm, and it is implemented in accordance with the following rules:  
* Crows inhabit in nature in flocks. * Crows can recall the places in which they store their food and fetch it once more. * Crows can see other animals when they pillage their stored food. * Crows have the capacity to manage themselves in ratios to safeguard their unattended food. \begin{table}
\begin{tabular}{l l l} \hline \hline \multicolumn{1}{c}{\(k_{p}\)} & \multicolumn{1}{c}{\(k_{i}\)} & \multicolumn{1}{c}{\(K_{d}\)} \\ \hline \hline \multicolumn{3}{c}{**Algorithm A2:** Pseudo-code of PSO.} \\ \hline
1: & \(N\leftarrow\) Population size. \\
2: & \(L\leftarrow\) Number of iterations. \\
3: & \(l\leftarrow\) Current iteration. \\
4: & \(pbest\leftarrow\) Personal best solution. \\
5: & \(gbest\leftarrow\) Global best solution. \\
6: & \(p\leftarrow\) Best particle. \\
7: & Initialize the positions of all \(N\) particles. \\
8: & Evaluate the fitness function of each particle _using Equation_ (31) \\
9: & **while**\(1\leq\) L do** \\  & **foreach**\(particle\)\(in\)\(p\)**do** \\  & **Update**\(pbest\):** \\
10: & **if**\((f(p)<f(pbest))\)**then** \\  & **\(pbest\) = \(p\). \\  & **end** \\  & **Update**\(gbest\)** \\
11: & **if**\((f(pbest)<f(gbest))\)**then** \\  & _gbest_=_pbest \\  & **end** \\  & **end** \\  & **foreach** particle in \(p\)**do** \\  & **Update**\(velocity\)**\(and\)**\(position\)**: using Equation (A1) \\  & **end** \\  & **end** \\  & **end** \\  & **Results:** return _gbest_. \\ \hline \end{tabular}
\end{table} 
Table A1: PSO particle representation. To solve a particular optimization problem using CSA, the solution is represented as the position of the crows at any instant of time as given in Equation (A2). \[x^{j,g}=\left[x_{1}^{j,g},x_{2}^{j,g},\ldots,x_{D}^{j,g}\right]\] (A2)  
where \(x^{j,g}\) stands for the position of the \(j\)th crow at generation \(g\) and \(D\) identifies the dimension of the problem under study. Similar to any population-based algorithm, CSA begins by randomly generating a pool of possible solutions, representing a flock of crows. As mentioned earlier, crows make use of their memory to recover hidden food placements, which implicitly typifies the quality of the crows' positions. The quality of each solution is judged by the fitness value computed from a fitness evaluation criterion used to solve the given problem. The quality of each solution is collected in a predefined array as stated in Equation (A3). \[Memory=\left[ \begin{array}{cccc}m_{1}^{1}&m_{2}^{1}&\ldots&m_{d}^{1}\\ m_{1}^{2}&m_{2}^{2}&\ldots&m_{d}^{2}\\ \vdots&\vdots&\vdots&\vdots\\ m_{1}^{N}&m_{2}^{N}&\ldots&m_{d}^{N}\end{array} \right]\] (A3)  
The crows in flocks update their positions as per the following procedure: each crow \(j\) realizes another crow \(k\) from the flock to pursue it with the aim to locate the hidden food by the last crow, and is referred to as \(m^{k}\). This mechanism is illustrated in Equation (A4). \[x^{j,k+1}= \begin{cases}x^{j,g}+r_{j}\times f^{j,g}\times\left(m^{k,g}-x^{j,g} \right)&r_{k}\geq AP^{k,g}\\ a\ random\ position&Otherwise\end{cases} \] (A4)  
where \(r_{k}\) indicates a random number generated from a uniform distribution in the interval from 0 to 1, and \(AP^{k,g}\) stands for the awareness probability of crow \(k\)th at generation \(g\).