The phases of the ABC algorithm Essay
The ABC algorithm, which was originally proposed by Karaboga [1] and further developed by Karaboga and Basturk [2], [3], is a nature inspired algorithm based on the foraging behavior of real honeybees in finding and sharing information on food sources in their hives. It describes the foraging behavior, learning, memorizing and information sharing characteristics of honeybees [4].
Similar to the minimal model of forage selection of real honey bees, the colony of artificial bees consist of three categories employed bees, onlookers and scouts [4], [5]. In the ABC algorithm, the position of a food source corresponds to a possible solution, and the nectar amount of a food source represents the quality (fitness) of the associated solution [6]. The number of worker bees is equivalent to the number of solutions in the population [7].
The ABC algorithm is composed of four main phases (1) Initialization phase, (2) Employed Bees phase, (3) Onlooker Bees phase, and (4) Scout Bees phase. Except for the Initialization phase, the algorithm repeats the other phases until a specified termination criterion is satisfied.
(a) Initialization phase A specified number of initial solutions are detected within the bounds of search space.
(b) Employed Bees phase At this step, each employed bee visits a solution, , to discover a better candidate solution,
(c) Onlooker Bees phase The onlooker bees also try to discover new solutions around the visited solutions like the employed bees do. However, in this step, information about the quality of solutions discovered by employed bees is shared with the onlooker bees. Therefore, each solution has no equal eligibility of visit but a probability of selection that is defined as follows
(d) Scout Bees phase A solution can be visited several times by employed and onlooker bees to find new solutions. After the number of unsuccessful trials equals limit value, the solution is marked as abandoned. Then, an employed bee, which is responsible for the abandoned solution, turns to a scout bee. A new solution is explored randomly by the scout bee with (1) at the Initialization Step [1].
1.2 Firefly algorithm
There are almost two thousand firefly species throughout the world, and most of them produce short and rhythmic flashes[8]. The pattern of flashes is often unique for a particular species. Two fundamental functions of such flashes are to attract mating partners (communication), and to attract potential prey. In addition, flashing may also serve as a protective warning mechanism to remind potential predators of the bitter taste of fireflies.
Based on the idealized behavior of the flashing characteristics of fireflies, Xin-She Yang formulated the firefly algorithm (FA) by assuming [9]
1. All fireflies are unisexual, so that one firefly will be attracted to all other fireflies.
2. Attractiveness is proportional to their brightness, and for any two fireflies, the less bright one will be move towards the brighter one. However, the intensity (apparent brightness) decrease as their mutual distance increases.
3. If there are no fireflies brighter than a given firefly, it will move randomly.