## 2 Materials and Methods
### Outline of Computational Approach
#### 2.5.4 Harris Hawks Optimization (HHO)  
Harris Hawks Optimization (HHO) is a population-based optimization algorithm inspired by the cooperative hunting behavior of Harris Hawks. Proposed by [PERSON] et al. [47], the method aims to achieve optimal solutions by emulating the natural hunting strategies of these hawks. HHO consists of two primary phases--the exploration phase, where hawks randomly search for prey or track the position of the best solution (the most optimal solution), and the exploitation phase, which refines the solution through various hunting strategies, including soft besiege, hard besiege, soft besiege with rapid dives, and hard besiege with rapid dives. Each hawk represents a solution in the search space, and the algorithm iteratively updates these solutions to converge toward the global optimum, striving to balance individual and collective behaviors to attain the optimal solution [47]. The mathematical expressions of the ABC algorithm, including Equations (16)-(27), were adapted from [47]. In HHO, the function \(g(y)\) to be optimized is defined, where \(y\) represents the candidate solution vector, \(K\) denotes the vector dimension, and \(\tau\) is the iteration index. Equation (16) expresses the equality condition, where \(Q_{i}(\tau)\) represents a solution at iteration \(\tau\), and the condition holds if the solution is feasible [47]:  
\[Q_{i}(\tau)=(y_{i,1}(\tau),y_{i,2}(\tau),\ldots,y_{i,K}(\tau)) \tag{16}\]  
During the exploration phase of the HHO algorithm, hawks randomly search for prey or orient themselves toward the position of the leader hawk (the best solution). The position update is governed by Equation (17) [47]:  
\[Q_{i}(\tau+1)=\left\{ \begin{array}{ll}Q_{\text{rand}}(\tau)-\gamma_{1}\cdot \big{|}Q_{\text{rand}}(\tau)-2\cdot\gamma_{2}\cdot Q_{i}(\tau)\big{|}&\text{if $q \geq 0.5$}\\ Q_{k}^{\text{global}}(\tau)-m\cdot\big{|}Q_{k}^{\text{global}}(\tau)-\overline{Q }(\tau)\big{|}&\text{if $q<0.5$}\end{array} \right. \tag{17}\]  
Here, \(Q_{\text{rand}}(\tau)\) is a randomly selected hawk position, \(\gamma_{1}\) and \(\gamma_{2}\) are random numbers in the range \([0,1]\), \(q\) is a random parameter controlling the transition between the exploration and exploitation phases, \(\overline{Q}(\tau)\) is the average position of the population, and \(m\) is a random scaling factor in the range \([0,2]\)[47]. In the exploitation phase, HHO employs various strategies based on the prey's energy (\(E\)) and a random parameter \(r\in[0,1]\). The prey's energy, representing the movement capability of the prey, is calculated using Equation (18) [47]:  
\[E=2\cdot E_{0}\cdot\Big{(}1-\frac{\tau}{T}\Big{)} \tag{18}\]Here, \(E_{0}\in[-1,1]\) is the randomly determined initial energy at each iteration, and \(T\) is the maximum number of iterations. When \(|E|\geq 1\), the exploration phase continues; when \(|E|<1\), the exploitation phase is employed. Four strategies are utilized in the exploitation phase: soft besiege, hard besiege, soft besiege with rapid dives, and hard besiege with rapid dives. When the prey's energy is high (\(|E|\geq 0.5\)) and \(r>0.5\), the hawks softly encircle the prey in the soft besiege strategy. The position update is expressed by Equation (19) [47]:  
\[Q_{i}(\tau+1)=\Delta Q_{i}(\tau)-E\cdot\left|J\cdot Q_{k}^{\text{global}}(\tau)- Q_{i}(\tau)\right| \tag{19}\]  
Here, \(\Delta Q_{i}(\tau)=Q_{k}^{\text{global}}(\tau)-Q_{i}(\tau)\) and \(J=2\cdot(1-\gamma_{3})\), where \(\gamma_{3}\in[0,1]\) is a random number representing the random jump strength of the prey. Soft Besiege with Rapid Dives: When the prey's energy is sufficiently high (\(|E|\geq 0.5\)) and \(r\geq 0.5\), the hawks adjust their positions based on the current strategy, utilizing the following formulations, as expressed by Equations (20) and (21) [47]:  
\[Z=Q_{k}^{\text{global}}(\tau)-E\cdot\left|J\cdot Q_{k}^{\text{global}}(\tau)- Q_{i}(\tau)\right| \tag{20}\]  
\[W=Z+S\cdot\text{Levy}(K) \tag{21}\]  
If \(g(Z)<g(Q_{i}(\tau))\) then \(Q_{i}(\tau+1)=Z\); otherwise, \(Q_{i}(\tau+1)=W\).