Keywords

1 Introduction

The word “Swarm” [1] denotes animal aggregation like Birds, Fishes, Elephants, Bats as well as the colonies of insects like Ants, Bees, termites and Wasps performing collective behavior. Every agent in the swarm works without any sort of supervision and each of the agent has stochastic behavior because of its perception in the neighborhood. Swarm Intelligence (SI) is primarily concerned with collective behaviors that results from local interactions of swarm agents among each other along with their environment [2, 3]. Swarm Intelligence is basically regarded as discipline concerned with the study and research of collective behavior of swarm performed in nature like Building of nest, Foraging, sorting of items in colonies of insects, flocking, herding, schooling behaviors, etc. Considering the engineering view, it is regarded as bottom up design of distributed systems that demonstrates novel behavior at upper level due to results of varied actions of number of units interacting among each other along with their environment.

Swarm Intelligence [4] is regarded as one of the most important areas of research which is applied by different researchers for problem solving, computations and optimizing solutions. Swarm Intelligence as a discipline can be applied to a wide range of disciplines like Mathematics, Robotics, Telecommunications, Computer Science, Mechanical Engineering for performing combinatorial and continuous optimizations. Results show that Swarm Intelligence based techniques have given excellent results as compared to other techniques like Fuzzy Logic, Genetic Algorithm, Discrete Mathematics, etc.

The Algorithms in Swarm Intelligence are utilized to solve various real-time problems. The most classical algorithm in Swarm Intelligence is Genetic Algorithm (GA) [5, 6]. With the passage of time, various other swarm intelligence algorithms are proposed by various researchers like: Ant Colony Optimization (ACO) [7,8,9,10], PSO [11,12,13], Cat Swarm (CSO), Artificial Immune System, Elephant Swarm, Bat Swarm Optimization, Differential Evolution (DE) [14, 15] Wasp Optimization and many more.

Bees swarm around their hive and the behavior can be extended to other systems. Some other approaches based on Bee Colony Optimization are proposed to depict the same behavior of honey bees to solve various combinatorial problems [16].

In general, bee colony based algorithms [17] don’t have any sort of unified foundation, and are based on different behavioral concepts. The algorithms can be distinguished on the basis of: Mating behavior of Honey bees; Foraging behavior of honey bees. In addition to this, recent research being conducted [18] and proposed algorithm suggested that selecting nest-site behavior of honey bees can be used in the real world for proposing optimization solutions.

Mating-Inspired Algorithms are inspired from bee colonies. Genetic Diversity is regarded as foundation stone which drives the mechanism of bee towards ecological success [19]. It is due to Young Queen polyandrous behavior during her flight.

Foraging behavior inspired algorithms of honey bees are regarded as decentralized process which works on decision making of individual bees. These algorithms inspire the bee colonies to maintain appropriate ratio of exploration and exploitation of food sources. This behavior is highly adaptive; means can be changed depending on the resources if required [20,21,22].

In Honey bee colonies, Scout bees efficiently search for food and back to hive and tell the source of food via waggle-dance. Waggle-dance also specifies the distance of food from source, direction as well as quality. On the basis of waggle-dance, the bees distribute themselves in terms of profitability.

In ABC Algorithm, bees are classified into two groups—Employed Bees (EB) and Onlooker Bees (OB). Employed Bees perform the task of finding and maintaining promising solutions; Onlooker bees perform the task of local search. The task of exploration and exploitation is done by Employed bees. If the solution of EB’s does not improvise over a series of steps, it will be abandoned and then a new random solution will be used. EBs’ are known as ‘Scouts’ when choosing a new random solution.

In this research paper, the comprehensive review of Artificial Bee Colony Optimization (ABC) is presented which was proposed by Karaboga [22].

2 Artificial Bee Colony

2.1 Features of Intelligent Swarms

The world consists of many different kinds of swarms, but considering every swarm as intelligent is not right, as every swarm has its own intelligence. The important characteristic which results in the collective behavior by means of local interactions among simple agents is “Self-Organization”. The following are the four types of characteristics given by Bonabeau et al. [1]:

  1. 1.

    Positive Feedback: It is basically defined as the development of best structures. Trail laying, recruitment and reinforcement in ants forming Ant Colony Optimization are examples of positive feedback.

  2. 2.

    Negative Feedback: Counterbalancing positive feedback and stabilizing collective pattern. Negative feedback is utmost necessary in order to avoid saturation.

  3. 3.

    Fluctuations: Random walk, task switching, errors among individual swarm agents are termed as fluctuations which are highly important for creativity.

  4. 4.

    Multiple Interactions: One individual agent in complete swarm makes use of information coming from other agents and spread throughout the network for work completion.

Apart from the above four characteristics, tasks are performed simultaneously by specialized agents called “Division of Labor” which is equally important as Self-Organization to complete intelligence in swarm agents [23].

2.2 Real Honey Bees—Foraging Behavior

A model depicting the foraging behavior of honey bee colony based on reaction-diffusion equations [24,25,26] was proposed by Tereshko. The emergence of collective intelligence of honey bees comprises of three main components:

  1. a.

    Sources of Food

  2. b.

    Foragers—Employed

  3. c.

    Foragers—Unemployed

Food Sources: In order to determine the effective food source, a forager bee has to determine various characteristics with regard to food sources like, distance between food source and hive, taste of nectar, energy richness, easiness in extracting the energy from nectar. Considering simplicity, the “Profitability” of food source can be represented with single quantity.

Employed Foragers: It is primarily designated at specific food source which is currently being exploited. The bee carries the information about the food source back to hive and share with other bee agents in the hive. The information being shared is all about: distance, direction as well as profitability of food source.

Unemployed Foragers: They perform the task of only searching the food source to exploit. Under bee colonies, there are two types of Unemployed foragers: Scouts and Onlookers. Scouts—search the food in the nearby environment surroundings; Onlookers: wait in hive for information by scouts to exploit the food source. The average number of scouts is near to 5–10% as compared to other bees in bee colonies or in hive.

Information exchange among honey bees is regarded as the most important event which occurs. While examining the entire hive, it is possible to distinguish between some parts that commonly exist in all hives. The most important aspect of hive is to exchange the information regarding food source via Waggle-Dance. As the information about different food sources is available to onlooker bees on the dance floor, onlooker bees watches various dances and then decides which is the most profitable food source to exploit. The most profitable source has the highest probability to be chosen as compared to other food sources.

Considering honey bees, the following characteristics can be defined on which the principle of Self-Organization is based:

  • Positive Feedback: With the increase in the amount of food sources, more onlooker bees visits the food sources.

  • Negative Feedback: Food source exploitation is stopped by bees.

  • Fluctuations: The scouts perform search in environment to locate food source in random fashion.

  • Multiple Interactions: The information of food sources is shared by employed bees with onlooker bees on the dance floor to exploit and extract food (Fig. 1).

    Fig. 1
    figure 1

    a Phases of working of employed bee and scout bee b onlooker bee phase [37]

2.3 Artificial Bee Colony Optimization (ABC) Algorithm

2.3.1 Theoretical Foundation of ABC Algorithm

Artificial Bee Colonies can be categorized into three types of bee groups: Employed Bees; Onlooker Bees and Scout Bees.

Employed Bees are designated at specific food sources and comes back to hive and perform the waggle dance to aware the onlooker bees regarding food source. Onlooker bees watch the waggle-dance of employed bees to choose the most profitable food source among all waggle-dances. Scout bees search for food source randomly. Onlooker and Scout Bees are also termed as “Unemployed Bees”.

All the food sources are discovered by scout bees in the initial phase. After that, the food sources nectar level is exploited by employed bees and onlooker bees, and this process remains continuous unless the bees become exhausted. Then, the employed bee which was exploiting the exhausted food source becomes a scout bee in search of further food source once again. In other words, the employed bees whose food sources are exhausted transforms itself to scout bee. In ABC Algorithm, the position of food source is regarded as a possible solution to the problem and the nectar amount in food determines the quality (fitness) of the problem. The number of employed bee is equal to a number of food sources (solutions) as every single employed bee is associated with only one food source.

Algorithm Structure—General Approach

2.3.2 Phases of ABC Algorithm

Initialization Phase: In the first step of ABC Algorithm, generation of randomly distributed initial population of sn/2, where sn = size of population. Each solution xi (I = 1, 2, sn/2) is regarded as D Dimensional vector. It is regarded as time consuming process and sometimes become impossible to estimate feasible solution in random fashion. In this phase, random values between the lower and upper limits of parameters are assigned to solution parameters. Failure i is regarded as non-improvement number of solution xi.

The following Algorithm demonstrates Initialization phase of ABC Algorithm

After the phase of initialization, the evaluation of population is done with respect to the search iterations being performed by employed bees, onlooker bees and scout bees.

The following algorithm demonstrates the procedure deployed by Employed Bees to search the food in a random manner in an environment.

  • Feasible Solution is: violationi ≤ 0 is best as compared to infeasible solution, i.e., violationj ≥ 0.

  • The solution which is having best objective function value is selected between violationi ≤ 0 or violationj ≤ 0.

  • The one having smaller constrained violation is preferred, i.e., violationi ≥ 0 and violationj ≥ 0.

When all employed bees complete the process of food search, they return to hive and share the information via Waggle-dance with onlooker bees on the basis of probability values.

The following Algorithm shows the Onlooker Bees—Probability calculation phase.

ABC Algorithm—Onlooker Bees Phase-Probability Calculation

Onlooker bees compute the feasible solution on basis of employed bee’s information and choose which food source has the highest amount of nectar.

After giving a food source, ABC Algorithm [17] makes a selection among various food sources to select the best one. Another modification of ABC Algorithm is to solve constrained optimization problem using DEB’s rule rather than using Greedy Algorithm [27].

By applying DEB’s rule, the bee is able to memorize the new position by overwriting the old food position. Deb’s method makes use of tournament selection operator, where two solutions are compared with the following conditions:

  • Feasible Solution is: violationi ≤ 0 is best as compared to infeasible solution, i.e., violationj ≥ 0.

  • The solution which is having best objective function value is selected between violationi ≤ 0 or violationj ≤ 0.

  • The one having smaller constrained violation is preferred, i.e., violationi ≥ 0 and violationj ≥ 0.

When all employed bees complete the process of food search, they return to hive and share the information via Waggle-dance with onlooker bees on the basis of probability values.

ABC Algorithm—Onlooker Bees Phase-Probability Calculation

Onlooker bees compute the feasible solution on the basis of employed bee’s information and choose which food source has the highest amount of nectar.

Onlooker Bee Phase—ABC Algorithm

After the distribution of all onlooker bees, food sources which are not rich in nectar are not exploited and left abandoned. The food sources which are left abandoned by bees is replaced by new food sources discovered by scouts. Different ABC Algorithms [28] proposed for constrained and unconstrained problems is the production of artificial scouts at a predetermined period of cycles for discovering food sources randomly. This time period id called Scout Production Period.

Complete ABC Algorithm

2.4 ABC Algorithm Under Constrained & Unconstrained Optimization Problems [29]

3 Bee Colony Optimization

Bee Colony Optimization [30,31,32,33,34,35,36] was developed by Lucic and Teodorovic and is primarily based on the principle of collective bee intelligence. Artificial Bees are regarded as individual agents, and work collaboratively to solve complex combinatorial optimization problems. Every bee in the colony proposes a novel solution for each problem.

Bee Colony Optimization comprises of two phases: Forward Pass and Backward Pass. In forward pass, every artificial bee explores the area. It performs some predefined set of movements which either give a new solution or proposes improvements to existing solutions. After getting new results, the bees move back to the next and proceed to the next phase called backward phase. In backward phase, the bees share the information regarding their solution.

Applying Bee Colony Optimization to Travelling Salesman problem, the problem of TSP is decomposed into stages. In every stage, a bee selects a new node to be included in the partial Travelling salesman tour visited so far.

Considering mother nature, bees perform a waggle-dance which acts as an information base for other bees regarding quantity, quality and distance of the food. In BCO search algorithm, the artificial bees propose solution quantity, i.e., Objective function value. During the stage of backward pass, every bee decides which food source to consider whether to search again or go to some other food source or abandon the existing food source. Every bee, choose a new solution from recruiters by roulette wheel.

In second forward pass, bees expand the partial solutions created, with a predefined number of nodes, and after that perform backward pass and return to hive. On returning to the hive, bees again decide whether to choose, make a decision or perform third pass.

The two phases in BCO, i.e., Forward and Backward and performed until the best solution is determined.

Consider stages as st = {st1, st2, stn} which are regarded as a finite number of pre-selected stages, m is the number of stages. B stands for number of bees participating in the search process and I will be regarded as number of iterations to be performed.

Partial solutions at stage stj can be denoted as Sj (j = 1, 2, ….m).

Bee Colony Optimization Algorithm

4 Conclusion and Future Scope

Artificial Bee Colony Optimization is regarded as one of the most modern techniques discovered in the area of Swarm Intelligence. It is derived from honeybees foraging behavior. The paper presents the comprehensive concept of Artificial Bee Colony Optimization. Considering all the works performed and algorithms been proposed by several researchers, most of the work is performed theoretically and lots of work need to be updated and modified to fine tune the performance for better implementation in real-world applications. It is used for solving combinatorial optimization problems. In order to improvise the overall performance of Bee Colony Based Algorithms, new production mechanisms need to be worked out and proposed.

Future Scope

Considering future work, the prime focus would be on improvising the methodology and work structure of ABC Algorithm and implementation of ABC-based Routing Protocol for MANETS, WSN and other wireless communication networks.