Discussion of article "Population optimization algorithms: Artificial Bee Colony (ABC)"


New article Population optimization algorithms: Artificial Bee Colony (ABC) has been published:

In this article, we will study the algorithm of an artificial bee colony and supplement our knowledge with new principles of studying functional spaces. In this article, I will showcase my interpretation of the classic version of the algorithm.

The idea of the algorithm is based on the bee behavior when searching for places where they can get as much nectar as possible. First, all the bees fly out of the hive in a random direction, acting as scouts and trying to find areas where there is nectar. After that, the bees return to the hive and in a special way tell the others where and how much nectar they found.

Worker bees are sent to the found areas. The more nectar is supposed to be found in this area, the more bees fly in that direction. The scouts again fly away to look for other areas, but already in the vicinity of the areas found. Thus, all bees are divided into two types: worker bees collecting nectar and scout bees exploring new areas. Nectar collection areas have a value corresponding to the amount of nectar in them. Regions of a lower rank are displaced relative to a region of a higher rank along a line passing through the centers of the regions.

Schematically, the distribution of worker bees by region can be visualized in Figure 1.


Fig. 1. The number of bees in areas depending on the area ranks

Author: Andrey Dik

The correct name of the "insect researcher Karl Frisch " is Karl von Frisch: https://en.wikipedia.org/wiki/Karl_von_Frisch respectively in Russian.

Those articles about metaheuristic optimization techniques are awesome! You are doing a great job Andrey, it's mind blowing how much experience you have to share with us, thank you!

@METAQUOTES please consider implement those metaheuristic optimization targets to the optimizer! It would be great for the software.

Something easy that user can set inside OnTester() as:

OptimizerSetEngine("ACO"); // Ant Colony Optimization
OptimizerSetEngine("COA"); // cuckoo optimization algorithm
OptimizerSetEngine("ABC"); // artificial bee colony
OptimizerSetEngine("GWO"); // grey wolf optimizer
OptimizerSetEngine("PSO"); // particle swarm optimisation 

Cheers from Brazil