| Algorithm 1. AREGWO | |
| Input: Number of wolves MW; maximum iteration number τmax, lower bound bmin; upper bound bmax; search dimension D; fitness function 𝒥(⋅). Output: Best solution ξ[1]; best fitness 𝒥(ξ[1]). | |
| 1. | Compute the search range: ρ = bmax − bmin. |
| 2. | Randomly initialize MW wolves , m = 1, 2, …, MW, within [bmin,bmax]. |
| 3. | Generate the opposite population: |
| 4. | Evaluate all original and opposite wolves using 𝒥(⋅). |
| 5. | Select the best MW wolves to form the initial population. |
| 6. | Sort the population and determine the best three wolves |
| 7. | Set 𝒮stg = 0, and set the stagnation threshold as 𝒮max = max(5, round(0.1τmax)). |
| 8. | for τ = 1 to τmax do |
| 9. | Save the current population as 𝒫(τ). |
| 10. | Calculate the adaptive convergence factor: χ(τ) = 1 + cos(πτ/τmax). |
| 11. | for m = 1 to Mω do |
| 12. | for r = 1 to 3 do |
| 13. | Generate coefficient vectors: |
| 14. | Generate the elite-guided candidate: |
| 15. | end for |
| 16. | Generate the reinforced elite candidate: |
| 17. | end for |
| 18. | Calculate the perturbation probability: μ(τ) = 0.2(1 − τ/τmax). |
| 19. | Generate binary perturbation mask according to μ(τ). |
| 20. | Apply adaptive weak perturbation: |
| 21. | if 𝒮stg ≥ 𝒮max |
| 22. | Select the worst 20% wolves as 𝒲poor. |
| 23. | Regenerate wolves in 𝒲poor around the best wolf: |
| 24. | Set 𝒮stg = 0. |
| 25. | end if |
| 26. | Apply boundary control: |
| 27. | Evaluate the corrected new population using 𝒥(⋅). |
| 28. | Apply greedy elite inheritance: |
| 29. | Update |
| 30. | if the best fitness is improved then set 𝒮stg = 0; else 𝒮stg = 𝒮stg + 1. |
| 31. | Record the current best fitness in the convergence curve. |
| 32. | end for |
| 33. | Return ξ[1], 𝒥(ξ[1]). |