Skip to main content
. 2025 Apr 28;10(5):273. doi: 10.3390/biomimetics10050273
Algorithm 1: Pseudo-code of the NEDWOA
Input: number of search agents: N, Dim, and Max_Iter
Output: optimal fitness value
Initialize position of every individual whale
Calculate the fitness value for all search agents
The search agent with the best fitness was selected as the lead whale
While lter < Max_Iter
 Calculating the nonlinear convergence factor a by the Equation (1)
 Calculating the dynamic parameter self-adaptation σ2(t) by the Equation (3)
 Calculating the spiral coefficient b by the Equation (4)
 Calculating the random search probability p by the Equation (5)
 Calculating the coefficient vector A by the Equation (7)
 Calculating the coefficient vector D by the Equation (8)
 Assign random numbers between [−1, 1] to l and between [0, 1] to rrand, respectively,
 If (p < 0.5)
     If (|A| < 1)
     Update the position of the current search agent by the Equation (6)
     else if (|A| ≥ 1)
     Select a random search agent Xrand
     Update the position of the current search agent by the Equation (12)
     End if
 else if (p ≥ 0.5)
 Update the position of the current search by the Equation (11)
 End if
End for
 Update the current position of whale populations using elite opposition-based learning by the Equation (2)
 Update a, σ, l, b, and p
 Check if the agent is out of the search boundary and correct it
 Calculate the fitness value for all search agents
 Sort populations in ascending order according to fitness
 The search agents are sorted in ascending order according to the fitness value
 Update X* if there is a better solution
 Iter = Iter + 1
End while
Return X* and optimal fitness value