Skip to content

Conversation

@SenaKymk
Copy link

@SenaKymk SenaKymk commented Jan 6, 2026

Add Archerfish Hunting Optimizer (AHO)

Description

This PR implements the Archerfish Hunting Optimizer (AHO), a novel swarm-based metaheuristic algorithm inspired by the hunting behavior of archerfish, published in Arabian Journal for Science and Engineering (2021/2022).

Changes included:

  • Added mealpy/swarm_based/AHO.py: Core implementation of the AHO algorithm with shooting and jumping behaviors
  • Added tests/swarm_based/test_AHO.py: Unit tests to verify algorithm correctness and hyperparameter validation
  • Updated mealpy/swarm_based/__init__.py: Exposed the OriginalAHO class

Implementation Details

The algorithm models two hunting mechanisms of archerfish:

  • Shooting behavior (exploration): Uses ballistic trajectory equations to search the solution space
  • Jumping behavior (exploitation): Focuses on local search near promising solutions
  • Lévy flight mechanism: Helps escape local optima when no improvement is detected

Key hyperparameters:

  • theta: Swapping angle between exploration and exploitation (default: π/12)
  • omega: Attractiveness rate (default: 0.01)

Checks

  • My pull request adheres to the code style of this project
  • My code follows mealpy's coding conventions (using self.generator, self.correct_solution, etc.)
  • All the tests have passed
  • Documentation includes usage examples in docstring

Additional Information

  • Paper Reference: Zitouni, F., Harous, S., Belkeram, A., & Hammou, L. E. B. (2022). The Archerfish Hunting Optimizer: A Novel Metaheuristic Algorithm for Global Optimization. Arabian Journal for Science and Engineering, 47(2), 2513-2553. https://doi.org/10.1007/s13369-021-06208-z (Published online: 19 October 2021)
  • Testing: Algorithm has been tested on standard benchmark functions (e.g., Sphere, Rastrigin) and verified to converge correctly
  • Performance: Successfully tested on CEC 2020 benchmark suite (as shown in the original paper)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant