Skip to content

Conversation

@SeyitKaanGunes
Copy link

Summary

  • Update OriginalWOA to use per-dimension coefficients and a normalized progress schedule.
  • Add WOAmM variants that combine a modified mutualism phase with standard WOA moves, plus optional stagnation restart and boundary handling.

Detailed Changes

  • OriginalWOA.evolve now computes progress with (epoch - 1) / (self.epoch - 1) (safe for epoch=1), derives a/a2 from that schedule, and samples r1/r2 per dimension. This makes A/C vectors and applies them per dimension inside the update loop, which aligns with the standard WOA formulation.
  • OriginalWOA updates each agent with update(solution, target) to keep the solution and fitness consistent.
  • Introduces WOAmM, based on “WOA with Modified Mutualism”:
    • Mutualism phase: for each agent, pick two peers; choose the best among the three for X_bf, and update Xi and the worse of {Xm, Xn} using benefit factors (1–2) and random weights (scalar or vector).
    • Optional mutualism_snapshot to read from a snapshot while updating, avoiding in-place interference.
    • Refreshes g_best before the WOA movement.
    • Standard WOA phase uses per-dimension A/C like OriginalWOA.
    • Optional stagnation restart: if the best fitness doesn’t improve for stagnation_epochs, regenerate the worst restart_ratio fraction of the population.
    • Boundary handling via boundary_mode (clip, reflect, random) using amend_solution.
  • Adds WOAmM_Paper, a variant documented to follow the paper’s population replacement behavior while keeping the same two‑phase loop.

New/Updated Parameters

  • mutualism_vector_rand: use per‑dimension random weights in mutualism updates.
  • mutualism_snapshot: snapshot population for mutualism reads.
  • stagnation_epochs: epochs without improvement before restart.
  • restart_ratio: fraction of worst agents to restart on stagnation.
  • boundary_mode: clip (default), reflect, or random.

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