## 3 Determination of PEMFC Parameter by COA  
### Coyote Optimization Algorithm (COA)  
Figure 2 shows the flow chart of COA that is developed for solving the parameter estimation problem of the PEM fuel cell. The total population of coyotes is divided into a number of packs, \(N_{P}\in N^{\bullet}\) packs. Each pack contains \(N_{C}\in N^{\bullet}\) coyotes. The number of the coyote in each pack is considered as a static value. The total number population can be obtained by multiplying both \(N_{P}\) and \(N_{C}\). The solution to the optimization problem depends on the social conditions of the coyote. Each coyote can represent a possible solution to the problem based on its social conditions, _soc_. The social conditions of the coyote characterize the control variables (\(\overline{X}\)) of a stated global optimization model [42]. COA is a d-dimensional environment representing the space of decision variables. The social condition _soc_, of \(c\)th coyote that belongs to the \(P\)th pack at \(t\)th instant of time, is \(soc_{C}^{P,t}\). It can be written as:  
\[soc_{C}^{P,t}=\overline{X}=(x_{1},x_{2},x_{31},\ldots,x_{d}). \tag{17}\]  
The evaluation of coyote's social conditions determines the objective function, \(fit_{C}^{P,t}\), which reveals the adaptation of coyotes to environmental conditions. COA is achieved starting from the initialization of the global population of coyotes, packs with \(N_{C}\) coyotes. The preliminary social conditions are designated arbitrarily for each coyote \(c\)th of \(P\)th at instantaneous \(t\)th and \(j\)th dimension as follows:  
\[soc_{C,j}^{P,t}=LB_{j}+r_{j}\times\left(UB_{j}-LB_{j}\right) \tag{18}\]  
where, \(LB_{j}\) and \(UB_{j}\) represent the lower and upper bounds of the decision variable \(j\)th of the search space, \(d\). The value of the real random number \(r_{j}\) lies in the range [0,1], which is generated using uniform probability. The evaluation of the coyotes' adaptive corresponding to the current decision variables is determined. \[fit_{C}^{P,t}=f(soc_{C}^{P,t}) \tag{19}\]  
The diversity of coyotes occurs due to leaving a pack and joining another one. The probability of a coyote leaving its pack or evicted from a pack is \(P_{e}\). It depends on \(N_{C}\) and given as follows:  
\[P_{e}=0.005\ N_{C}^{2}. \tag{20}\]  
The number of \(N_{C}\) that makes \(P_{e}>1\) is limited to 14 coyotes inside the pack. The best social adapted to the environment, _alpha_, is only one for the global population. It represents the best solution to the optimization problem at \(t\)th instant of time of \(P\)th pack. \[alpha^{P,t}=\left\{ \begin{array}{c}soc_{C}^{P,t}\Big{|}arg_{C=\{1,2,\ldots,N_{C }\}}\ minf\Big{(}soc_{C}^{P,t}\Big{)}\end{array} \right\} \tag{21}\]  
Figure 2: Flow chart of the proposed coyote optimization algorithm (COA). The COA as swarm intelligence facilitates the distribution of social situations and relations all info from the total population. COA, formerly, calculates the cultural tendency of the pack,  
\[cult_{j}^{P,t}=\left\{ \begin{array}{c}\mathcal{O}_{\frac{(N_{C}+1)}{2},j}^{P,t },\text{ $N_{C}$ is odd}\\ \frac{\mathcal{O}_{N_{C},j}^{P,t}+\mathcal{O}_{\frac{(N_{C}+1)}{2}}^{P,t}}{2} \text{ $otherwise$}\end{array} \right. \tag{22}\]  
where \(O^{P,t}\) represents the ranked decision variables (i.e., social conditions) of all coyotes in the \(p\)th pack at \(t\)th instant for every \(j\) in the search space of control variables \(d\). The cultural tendency of the pack represents the median social conditions of all coyotes from that defined pack. The birth of a coyote, as well as the death, affects the size of the population. For the purpose of retaining the pack size static, the developed COA tool calculates the ages of all coyotes within a pack as \(age_{C}^{P,t}\in\ N\). Further, the birth of an updated coyote is denoted by a mixture of the social circumstances of two parents in a pack, that is selected arbitrarily, as follows:  
\[Pup_{j}^{P,t}=\left\{