## 2 Chimp Optimization Algorithm
### Mathematical Model: Chimp Optimization  
ChoA mimics the siege and hunting behavior of chimpanzees. The enclosing behavior can be modeled mathematically in the following way. The mathematical model of chimpanzee eviction and prey pursuit are shown in Equations (1) and (2):  
\[d=\left|C\cdot X_{prey}(t)-m\cdot X_{chimp}(t)\right| \tag{1}\]  
\[X_{chimp}(t+1)=X_{prey}(t)-ad \tag{2}\]  
where \(t\) denotes the number of current iterations; \(X_{prey}\) is the prey position vector; \(X_{chimp}\) is the current chimpanzee position vector; and \(a\), \(m\), and \(C\) are the coefficient vectors, which are calculated as shown in Equations (3)-(5). \[a=2f\cdot r1-f \tag{3}\]  
\[m=Chaotic\ value \tag{4}\]  
\[C=2\cdot r2 \tag{5}\]  
where \(r1\) and \(r2\) are random vectors in the range of [0, 1], respectively; \(f\) is a convergence factor whose value decreases nonlinearly from 2.5 to 0 with an increasing number of iterations; a is a random vector determining the distance between chimpanzees and prey with a random number in the range of [\(-f\),\(f\)]; m is a chaotic mapping vector representing the effect of neutral motivation of chimpanzees during hunting; \(C\) is a chimpanzee control coefficient of prey expulsion and chasing, whose value is a random number in the range of [0, 2]. After population initialization, the four optimal solutions are selected as the positions  
Figure 1: Schematic diagram of chimpanzee group foraging. of attacker, obstacle, repeller, and chaser, in turn, and the other chimpanzee positions in the population are updated around the following four chimpanzee positions, which are described by the mathematical model shown in Equations (6)-(9):  
\[X_{1}=X_{attacker}-a1\cdot|C1\cdot X_{attacker}-m1\cdot X| \tag{6}\]  
\[X_{2}=X_{barrier}-a2\cdot|C2\cdot X_{barrier}-m2\cdot X| \tag{7}\]  
\[X_{3}=X_{chaser}-a3\cdot|C3\cdot X_{chaser}-m3\cdot X| \tag{8}\]  
\[X_{4}=X_{driver}-a4\cdot|C4\cdot X_{driver}-m4\cdot X| \tag{9}\]  
\[X_{chimp}(t+1)=X_{prey}(t)-ad \tag{2}\]0  
where \(X\) denotes the position vector of the current chimpanzee; \(X_{attacker}\) denotes the position vector of the attacker; \(X_{barrier}\) denotes the position vector of the obstacle; \(X_{chaser}\) denotes the position vector of the chaser; \(X_{driver}\) denotes the position vector of the repeller; and \(X_{(t+1)}\) denotes the updated position vector of the current chimpanzee. Algorithm 1 shows the pseudo-code of the Chimp optimization algorithm. ```
Initialize the chimp population \(x_{i}\) (\(i=1,\ 2,\ldots,n\)) Initialize \(f\), \(m\), \(a\) and \(c\) Calculate the position of each chimp Divide chimps randomly into independent groups Until stopping condition is satisfied Calculate the fitness of each chimp \(X_{attacker}\) = the best search agent \(X_{chaser}\) = the second-best search agent \(X_{barrier}\) = the third best search agent \(X_{driver}\) = the fourth best search agent while(t < maximum number of iterations) for each chimp:  Extract the chimp's group  Use its group strategy to update \(f\), \(m\), and \(c\) Use \(f\), \(m\), and \(c\) to calculate \(a\) and then \(d\) endfor for each search chimp if (u < 0.5) if (\(|\)a \(|<1\)) Update the position of the current search agent with Equation (2)  Else if (\(|\)a \(|>1\))  Select a random search agent endif elseif (u > 0.5)  Update the position of the current search with Equation (9) endif endfor Update \(f\), \(m\), \(a\), and \(c\) Update\(X_{attacker}\), \(X_{chaser}\), \(X_{barrier}\), and \(X_{driver}\) \(t=t+1\) endwhile return\(X_{attacker}\)
```  
**Algorithm 1**ChOA  
``` Initialize the chimp population \(x_{i}\) (\(i=1,\ 2,\ldots,n\)) Initialize \(f\), \(m\

## 3 Improved Chimp Optimization Algorithm

### Nonlinear Adjustment of Convergence Factor Based on a Logarithmic Function

Inspired by the inertia weight setting in the particle swarm optimization algorithm, this paper proposes a new non-linear strategy for adjusting the convergence factor a.