Discussing the article: "Swarm Optimizer with Hierarchical Sub-Flocks — Flock by Leader"

 

Check out the new article: Swarm Optimizer with Hierarchical Sub-Flocks — Flock by Leader.

We are developing and implementing the Flock by Leader algorithm in MQL5: sub-flocks are formed based on the ARF metric, and the leader is determined by the highest personal best rather than by the centroid's position. We present the update formulas for the swarm roles and the separation mechanism. The C_AO_FBL class is compatible with the test bench and has been tested on the Hilly, Forest, and Megacity functions with dimensionalities from 10 to 1000 coordinates, which simplifies reproduction and comparison.

Watch a flock of starlings flying over the city. Hundreds of birds move as if they were a single organism — turning in unison, spreading out, and coming together again. At the same time, no one is giving orders; there is no central control. Each bird keeps track of only a few of its nearest neighbors, but the flock is not homogeneous: biologists have determined that there is a stable hierarchy within it. Some birds consistently fly in front and set the course, while others follow them.

This hierarchy is not set in stone — it shifts every minute depending on which bird is better able to navigate the current situation. It is precisely this principle that underlies the Flock by Leader algorithm. The population of optimization agents is divided into sub-flocks — small groups, each with its own internal hierarchy. Roles within the hierarchy are reassigned at every iteration: the leader is the agent that found the best solution in its group, not the one that simply happened to be at the geometric center. The rest follow the leader of their group, gradually converging toward good regions of the search space. Agents that are not assigned to any group carry out free exploration.

This division of labor solves the main problem with homogeneous swarm methods: when the entire population converges on a single point, it stops exploring the rest of the space. In FBL, several sub-flocks simultaneously exploit different promising regions, while outliers continuously check what has not yet been covered.


Author: Andrey Dik