Expand description
Artificial Bee Colony.
Canonical ABC fused into a single Strategy::ask / tell round per
generation. Each generation produces 2 · pop_size candidate
solutions:
- Employed phase (
pop_sizecandidates). For every beei, pick a neighbourk ≠ i, pick a random dimensionj, and perturb:v_ij = x_ij + φ·(x_ij − x_kj)withφ ∈ U[−1, 1]. - Onlooker phase (
pop_sizecandidates). Draw a targettvia tournament selection (fitness-biased), then perturb exactly as in the employed phase.
tell scores the 2N candidates, greedy-accepts the best
improvement per target bee, and increments the target’s trial
counter when no candidate improved it. Scout bees — those with
trial > limit — are replaced by fresh uniform samples on device.
§First-generation protocol
ask detects the first call by checking whether fitness is empty
and, if so, returns the current colony unchanged (no perturbation).
tell detects the same condition and uses the received fitness to
seed AbcState::fitness and best_genome before returning.
Any caller that bypasses EvolutionaryHarness must therefore call
ask → evaluate → tell twice before the employed/onlooker
phases are active.
§References
- Karaboga (2005), An idea based on honey bee swarm for numerical optimization (Erciyes Univ. Tech. Report TR06).
Structs§
- AbcConfig
- Static configuration for
ArtificialBeeColony. - AbcState
- Generation state for
ArtificialBeeColony. - Artificial
BeeColony - Artificial Bee Colony strategy.