A Comprehensive review of Artificial Bee Colony Algorithm

The Artificial Bee Colony (ABC) algorithm is a stochastic, population-based evolutionary method proposed by Karaboga in the year 2005. ABC algorithm is simple and very flexible when compared to other swarm based algorithms. This method has become very popular and is widely used, because of its good convergence properties. The intelligent foraging behavior of honeybee swarm has been reproduced in ABC.Numerous ABC algorithms were developed based on foraging behavior of honey bees for solving optimization, unconstrained and constrained problems. This paper attempts to provide a comprehensive survey of research on ABC. A system of comparisons and descriptions is used to designate the importance of ABC algorithm, its enhancement, hybrid approaches and applications.


INTRODUCTION
Computational researchers have been greatly interested in the natural sciences as source of modeling examples. We find various swarming behaviors in nature such as honey bees, bird flocking, ant colonies, animal herding, and many more. Many researchers have been influenced by the behaviors of these biological entities and phenomena. Swarm intelligence models the population of interacting agents or swarms that are able to self-organize, which gave birth to swarm intelligence and population based algorithms such as Ant Colony Optimization, Particle Swarm Optimization, Fish Schooling, Bee Colony Optimization etc. In computational intelligence, algorithms based on swarm behavior have been developed and successfully applied to solve computational and complex problems in different areas.
Honey bees are one of the most well studied social insects, many studies have been developed based on the different bee behaviors. Interaction between insects contributes to the collective intelligence of the social insect colonies.
Artificial Bee Colony (ABC), a swarm intelligence based algorithms was introduced by [Karaboga D (2005)], inspired by the intelligent behavior of honey bees. ABC algorithm was developed based on the model of the foraging behavior of honey bee colonies proposed by [Tereshko CV, LoengarovA (2005)] for numerical optimization problems.

Behavior of Bees
Social insect colonies can be considered as dynamical system gathering information from environment and adjusting its behavior in accordance to it. While gathering information and adjustment processes, individual insects do not perform all the tasks because of their specializations. Generally, all social insect colonies behave according to their own division of labors related to their morphology. Foraging is an important behavioral characteristic of honey bees. [Visscher and Seeley (1982)] found that the colony routinely foraged several kilometers from its nest (median 1.7 km, 95% of foraging within 6.0 km), frequently adjusted its distribution of foragers on its patches, and worked relatively few patches each day (mean of 9.7 patches accounted for 90% of each day's forage). These foraging patterns indicate that the foraging strategy of a honeybee colony involves surveying the food source patches within a vast area around its nest, pooling the reconnaissance of its many foragers, and using this information to focus its forager force on a few high-quality patches within its foraging area. [Tereshko (2000)], [Tereshko and Lee (2002)]and [Tereshko, Loengarov (2005)] developed a model of foraging behavior of a honeybee colony based on reaction-diffusion equations. This method that proposes the application of collective intelligence of honeybee swarms consists of three essential components: food sources, employed foragers, and unemployed foragers. It defines two leading modes of the honeybee colony behavior: recruitment to a food source and abandonment of a source. Tereshko explains the main components of his model as below: Food Sources: In order to select a food source, a forager bee evaluates several properties related to the food source such as its closeness to the hive, richness of the energy, taste of its nectar, and the ease or difficulty of extracting this energy. For simplicity, the quality of a food source can be represented by only one quantity although it depends on various parameters mentioned above. w w w . i j c t o n l i n e . c o m Employed foragers: An employed forager is employed at a specific food source which she is currently exploiting. She carries information about this specific source and shares it with other bees waiting in the hive. The information includes the distance, direction and the profitability of the food source. Unemployed foragers: A forager bee that looks for a food source to exploit is called unemployed. It can be either a scout who searches the environment randomly or an onlooker who tries to find a food source based on the information provided by the employed bee. The mean number of scout bees is about 5-10%. The exchange of information among bees is the most important occurrence in the formation of collective knowledge. While examining the entire hive it is possible to distinguish some parts that commonly exist in all hives. The most important part of the hive with respect to exchanging information is the dancing area. The information about the quality of food source is communicated by employed bees to onlooker bees in the dancing area. The related dance is called waggle dance. The onlooker could watch numerous dances and chooses to employ herself at the most profitable source. There is a greater probability of onlookers choosing more profitable sources since more information is circulating about the more profitable sources. Employed foragers share their information with a probability which is proportional to the profitability of the food source, and the sharing of this information through waggle dancing is longer in duration. Hence, the recruitment is proportional to profitability of a food source. It is important to note that not all bees start foraging simultaneously. The experiments have confirmed that new bees begin foraging at a rate proportional to the difference between the eventual total number of bees and the number of bees presently foraging.

Artificial Bee Colony (ABC) algorithm
In ABC algorithm, the actual position of a food source corresponds to a probable solution to the optimization problem and the amount of nectar found in a food source represents the quality (fitness) of the associated solution. The number of employed bees is equal to the number of onlooker bees and the number of employed bees is equal to the number of food sources. Each employed bee is assigned to an individual food source. This algorithm is an iterative process, starts by initializing all employed bees with randomly generated food sources i.e., solution represented by a D-dimensional realvalued vector. For each iteration every employed bee finds a food source in the neighborhood of its current food source and evaluates its nectar amount i.e., fitness.
In general the position of i th food source is represented as Si = (Si1, Si2, ………. ,SiD). Information is shared by the employed bees after returning to the hive, onlooker bees go to the region of food source explored by employed bees at Si based on probability Pi defined as Where FS is total is total number of Food Sources. Fitness value fitiis calculated by using the equation Where f(Si) denotes the objective function considered. The onlooker finds its food source in the region of Si by using the following equation

Snew= Sij+ r*( Sij-Skj )
Where Snew is the new food source exploited by onlooker and k is the solution in the neighborhood of i, r* is the random number in the range -1 to +1 and j is the dimension of the problem considered.If the new fitness value is better than the fitness value achieved so far, then the bee moves to the new food source leaving the old one, otherwise it retains the old one itself. The information is shared with onlooker bees after all employed bees complete this process. Each onlooker bee selects its food source according to the probability given above. Hence good food sources are well accommodated with onlookers. Every bee will search for a better food source for a certain number of cycles (limit) and if the fitness value does not improve then that particular bee becomes scout bee.
Pseudo code of the ABC algorithm is given below:

Initialization
Move the employed bees onto the food sources and evaluate their nectar amounts Place the onlookers depending upon the nectar amounts obtained by employed bees Send the scouts for exploring new food sources Memorize the best food sources obtained so far If a termination criterion not satisfied go to step 2 Otherwise stop the procedure and display the best food source obtained so far.
[ Karaboga (2005)] proposed a simple yet powerful population-based algorithm, artificial bee colony (ABC), to solve the numerical optimization problems. The original Artificial Bee Colony algorithm is powerful meta-heuristic optimization tool used for solving unconstrained problems. ABC has the advantages of very simple, strong robustness, fast convergence, w w w . i j c t o n l i n e . c o m high flexibility and fewer setting parameters. Many studies have proved the superiority of ABC in terms of performance when compared to many other known optimization algorithms. Numerous ABC algorithms are developed based on foraging behavior of honey bees for different optimization problems. The original ABC can be applied only to continuous problems. However, the method can also be expanded to the discrete problems using discrete numbers. Extensive review of these works are listed in Table1 and discussed in this section. [Civicioglu and Besdok (2011)] statistically compared the numerical optimization results of the Cuckoo-search (CK), Particle swarm optimization (PSO), Differential evolution (DE) and Artificial bee colony (ABC) algorithm. The results revealed that PSO algorithm maintained its stochastic behavior capacity better than the ABC algorithm while searching for the global optimum value and it provided more successful results than the ABC algorithm. Still the observations also indicated that ABC algorithm had a very successful decision mechanism that decides which areas within the search space required to be surveyed in more detail. [Bi and Wang (2011)]proposed an improved algorithm called Fast Mutation Artificial Bee Colony Algorithm (FMABC). In the proposed method, pheromone and the sensitivity model was used for the selection of food sources by onlookers instead of the traditional roulette wheel selection model and also proposed a mutation strategy based on opposition-based learning instead of the behavior of scouts. Based on the tested results on a set of benchmark functions, identified that the solutions produced by FMABC were better than those produced by the standard ABC algorithm. Alzaqebah and Abdullah (2011) Feasible solution Proposed a method to find feasible solutions for examination timetabling problems byapplying the ABC algorithm.

Karaboga (2007) Constrained optimization
Proposed a modified version of ABC for solving constrained optimization problems.

Singh (2009) ABC for solving LCMST problem
Proposed ABC algorithm for the leaf-constrained minimum spanning tree (LCMST) problem.

Numerical optimization
Proposed scout-behavior modified artificial bee colony (SM-ABC) algorithm to solve constrained numerical optimization problems.

Garro et al. (2011) Optimization of synaptic weights from ABC
Presented an ABC based methodology which maximized accuracy and minimized the number of connections of an ANN by evolving at the same time the synaptic weights, the ANN's architecture and the transfer functions of each neuron.
Wu and Qian(2011) Modified ABC Proposed modified version of the ABC algorithm to enhance the global searching capability by differential operator Civicioglu and Besdok (2011) Numerical optimization Introduced new algorithm for the numerical optimization problem solving.

Jeya Mala and
Mohan (2009) Global optimization Proposed a non-pheromone-based test suite optimization approach for the Software under Test (SUT) based on ABC which was motivated by intelligent behavior of honey bees.

Ajorlouet al. (2011) Optimization
Proposed method used ABC to simultaneously find the optimal Work-In-Process (WIP) level and job sequencing to minimize the overall make span time for the developed mathematical model of the system.

Karaboga and
Basturk (2007) Optimization Proposed a powerful and efficient algorithm for numerical function optimization and compared with other optimization algorithms. Bi and Wang (2011) To improve ABC Introduced a new ABC algorithm which modified selection scheme and proposed a mutation method instead of the behavior of scouts.

LiuandCai(2009) Optimization
Proposed new algorithm employing randomized distribution, bit hypermutation and a novel crossover operator to improve the performance of originalABC algorithm. w w w . i j c t o n l i n e . c o m

Authors Purpose Description
Brajevic et al.

Constrained Optimization
Presented an improved ABC algorithm for constrained problems which contain discrete and continuous variables.
To improve ABC algorithm Proposed an improved ABC algorithm (Smart Bee ABC) for constrained problems which considered the initial population to be feasible. (2011) To enhance ABC optimization

Sharma and Pant
Introduced an algorithm to enhance the performance of ABC by including a concept of greedy bee which was always directed towards the best food location.
El-Abd (2010b) ABC optimization Used Benchmarking for noiseless Function Test bed and showed that the performance of ABC algorithm was better.

Cuevas et al. (2011) A multi-modal optimization
The proposed method to detect single or multiple circles from a digital image through only one optimization pass.
Optimization Implemented Karaboga's ABC algorithm in C# with corresponding flexible GUI for easy modifications and applications to different optimization problems.
Fonseca et al.
Protein structure prediction Proposed ABC meta-heuristic using hill-climbing as local search to generate good solutions to the protein structure prediction problem.
Mezura-Montes et al. (2010) constrained numerical optimization Proposed a novel algorithm based on the foraging behavior of honey bees to solve constrained numerical optimization problems with focus on improving the way the feasible region is approached by using a new operator.

Akay and Karaboga
Image compression ABC optimization tool is used to determine the thresholds to produce the best compressed image in terms of both compression ratio and quality.

Karaboga and
Gorkemli (2011 [ Brajevic et al. (2011)] presented an improved ABC algorithm for constrained optimization problems (SC-ABC). SC-ABC algorithm used Deb's rule and it was tested on four standard engineering constrained benchmark problems which contain discrete optimization and continuous variables. They compared the result obtained with results reached by simple constrained particle swarm optimization (SiC-PSO).The result obtained using ABC was better when it was applied to same problems.
[Zhiwei et al. (2011)] proposed Automatic Threshold Selection Based on Artificial Bee Colony Algorithm, a new algorithm to select image threshold(tool to separate objects from the background) automatically based on ABC algorithm. Test results indicated thenewly proposed algorithm succeeded in finding optimal threshold to segment images. [Saab et al. (2009)] proposed a new optimization algorithm based on ABC. Authors have considered two unsupervised scenarios for the scout and forager bees to identify their activities during the food foraging. They designed the new algorithm based on the analysis of their activities. They also proposed to use the new algorithm as the functions in the processing engine of the artificial bee colony system. [Zou et al. (2011)] proposed an improved algorithm based on Artificial Bee Colony to deal with multi-objective optimization problems. ABC algorithm based on the intelligent foraging behavior of honey bee swarm used less control parameters and it was found to be very efficient in solving multimodal and multidimensional optimization problems. Proposed algorithm used the concept of Pareto dominance to determine the flight direction of a bee and it maintained non dominated solution vectors which were found in an external archive. Performance of the proposed algorithm indicated that the proposed method can be considered as a viable alternative to solve multi-objective optimization problems.
[Babayigit Bilal et al.(2012)] has presented a modified ABC algorithm (ABC clobset) for numerical optimization problems to improve the exploitation capability of ABC algorithm. This method proposed a different probability function and also a new searching mechanism. The results indicated that the performance the proposed method was much better compared to basic ABC algorithm.

HYBRID APPROACH
The hybridization approach is a component-based one where the ABC algorithm is augmented with another component (algorithm) for enhancing the efficiency of ABC Algorithm optimizer. This section describes the hybrid approaches of various techniques. Important hybridization approaches are listed in Table 2 and discussed in this section.
[Karaboga and Ozturk (2010)] used Artificial Bee Colony algorithm to fuzzy clustering of medical data which are widely used benchmark problems. Compared ABC algorithm with Fuzzy C-Means (FCM) algorithm and showed that the Artificial Bee Colony algorithm is verysuccessful in optimization of fuzzy clustering.
[Taherdangkoo et al. (2010)] proposed an algorithm based on combining Fuzzy C mean (FCM) algorithm and Artificial Bee Colony (ABC) algorithm to effectively segment MR images. They calculated the two new parameters; difference between neighboring pixels in the image and the relative location of the neighboring pixels which were introduced by researchers to improve the performance of FCM using the artificial bee colony (ABC) algorithm. Authors compared ABC algorithm with the optimization algorithms such as PSO, GA and ANN and found that the ABC performed very well in terms of performance speed and not getting entangled in local places.
[HorngMing-Huwi et al. (2011)] proposed an algorithm based on Linde-Buzo-Grey(LGB) and ABC algorithm to construct a codebook for vector optimization for image compression. In this paper, ABC associated with the LBG (ABC-LBG) algorithm proposed to search for the optimal codebook that minimizes the distortion between the input vectors and the code words of codebook. Authors have compared the results of proposed method with other algorithms like LBG, PSO-LBG, QPSO-LBG and HBMOLBG and have established that ABC-LGB algorithm on most of the occasions performed better. w w w . i j c t o n l i n e . c o m

Authors Algorithms Description
El-Abd(2011) ABC and PSO Proposed a hybridization approach between ABC and SPSO. The hybrid algorithm was able to retain the good SPSO performance on uni-modal functions also retained the good ABC performance on separable functions.

Shiet al. (2010) ABC and PSO
A novel hybrid swarm intelligentalgorithm was developed in which two information exchanging processes were introduced to share valuable information mutually between particle swarm and bee colony.
Xiao and Huang (2011) REHA using AABC Presented a hybrid ring wave exploratory heuristic algorithm (REHA) for the optimal layout problem of irregular polygons in a circular container with performance constraint in 2D space. Proposed an Adaptive selection mechanism Artificial Bee Colony (AABC) Algorithm which avoided falling into local optima too early.

ABC and Fuzzy Clustering
Proposed ABC Algorithm fuzzy Clustering (ABC-FC) to classify different data sets; Cancer, Diabetes and Heart.
Irani and Nasimi (2011) ABC and BP Proposed method adopted a hybrid ABC-back propagation (BP) strategy (ABC-BP) for two phase flow through annulus which was a complex area of study in evaluating the bottom hole circulating pressure.. Khan and Nikov (2011) neuro-swarm ABC Developed a hybrid neuro-swarm ABC algorithm for quick assessment of the exposure to ergonomic (work organization, displays, input devices, furniture, health hazards etc.,) risks on computer-aided office workplaces in a company.

Kang et al. (2009) ABC and simplex method
Proposed a hybrid approach of ABC and Melder-Mead simplex method for inverse analysis problem to identify the parameter of concrete-dam foundation system. Proposed a hybrid (ABC-GRASP) method used for clustering problems and tested result showed high performance. It was also indicated that in some instances the percentage of corrected clustered samples was very high and was larger than 98%. w w w . i j c t o n l i n e . c o m

Authors Algorithms Description
Ming-HuwiHorng et al. (2011) ABC and Linde-Buzo-Grey algorithm Proposed method ABC-LBG used for constructing codebook for vector quantization. The algorithm is more reliable and the reconstructed images get higher quality compared to other methods.
ABC and Back propagation neural network The proposed method of combining artificial bee colony algorithm and back propagation neural network so that a nonlinear model can be identified and an inverted pendulum can be controlled.
ABC and PSO Proposed a hybrid algorithm for solving nonlinear system of equations by combining Artificial Bee Colony algorithm and Particle Swarm Optimization algorithm. Results obtained show that the hybrid algorithm has feasibility and validity in solvingnonlinear system of equations.

APPLICATIONS
Standard ABC algorithm is effectively used for solving uni-modal and multi-modal numerical optimization problems and also to solve many difficultcontinuous, unconstrained optimization problems. Improved versions of ABC introduced for constrained optimization problems. Constrained Optimization problems are encountered in numerous applications in scientific field such as target identification, Structural optimization, engineering design, VLSI design, allocation and location problems, economics and in many other fields. Use of ABC in Various applications are listed in Table 3 and discussed in this section.
[ Chidambaram and Lopes (2009)] proposed a new method which applied the Artificial Bee Colony Algorithm (ABC) to recognize objects in the images. The objective was to find a pattern or reference image (template) of an object somewhere in a target landscape scene. Considering that it may be translated, scaled, rotated and/or partially occluded to identify the given reference image in the target landscape image. The best solutions obtained in their experiments with gray scale and color images indicated that ABC algorithm was much faster than the other evolutionary algorithms and with comparable accuracy. They also claimed that to the best of their knowledge, this was the first application of the ABC algorithm to this sort of problem.  In the proposed method, ABC algorithm was applied to the dynamic deployment of stationary and mobile sensor networks to achieve better performance. Results showed that ABC algorithm preferable in the dynamic deployment of wireless sensor networks.

Atasever et al. (2011) Unsupervised classification
Proposed method compared the AI algorithms PSO, GA, DE and ABC which were used for the unsupervised classification of remotely sensed image data. The results showed the superiority of the ABC over other AI tools. Rao and Pawar (2010) Increasing production rate of milling operation Presented a method for optimization aspects of a multi-pass milling operation. The objective considered was minimization of production time subjected to various constraints of arbor strength, arbor deflection, and cutting power. The optimization was carried out using ABC, PSO, and simulated annealing (SA).

Karaboga (2009) Designing digital IIR filters
Proposed a new method based on ABC algorithm for designing digital IIR filters was described and its performance was compared with that of a conventional optimization algorithm and PSO algorithm and showed ABC performance was efficient.
Chidambaram et al.
Object recognition in complex digital image Introduced an improved ABC for the object recognition problem in complex digital images. Results indicated that the improved ABC was more efficient than the original ABC.

Karaboga and Celal
Training feed-forward neural networks Applied ABC Optimization Algorithm on training feed-forward neural networks to classify different data sets which are widely used in the machine learning community. The results indicated that ABC algorithm can efficiently be used on training feedforward neural networks for the purpose of pattern classification.

Oliveira et al. (2009) Identify accident in PWR nuclear power plant
Presented a new event classification system to find the best centroid positions that correctly identified an accident in a PWR nuclear power plant. Akay and Karaboga (2010) To solve engineering problems Proposed model used ABC algorithm to solve large scale optimization (unconstrained) problems, and it was applied to engineering design problems by extending the basic ABC algorithm. Nine well-known large scale unconstrained test problems and five well-known constrained engineering problems are solved by using the ABC algorithm.

Xu C and Duan (2010) Visual target recognition
Proposed a novel shape-matching approach to visual target recognition for aircraft at low altitude. ABC with edge potential function approach was used to accomplish target recognition task for aircraft. w w w . i j c t o n l i n e . c o m

Authors Application Description
To solve classification problem in Neural Network To help Functional Link Neural Network (FLNN)to overcome the complexity structure of MLP by using single layer architecture and propose an Artificial Bee Colony algorithm for training the FLNN.
Image Clustering Proposed method used ABC algorithm to find the centres of the clusters specified by the user.The results obtained show that ABC can be used for image clustering.
[Kurban and Besdok (2009)] used ABC Algorithm to train RBF networks for the purpose of classification. Training procedures involved selecting the optimal values of the parameters such as weights between the hidden layer and the output layer, spread parameters of the hidden layer base function, Centre vectors of the hidden layer and bias parameters of the neurons of the output layer. Additionally, number of neurons in the hidden layer was very important for complexity of the network structure. The performance of the proposed algorithm was compared with the traditional derivative GD, and novel KF and GA methods. ABC algorithms showed better performance than derivative based methods for known classification problems such as Iris.
[Akdagli et al. (2011)] presented a novel and simple expression for resonant length to calculate the resonant frequency of C-shaped compact micro strip (CMA) antennas operating on UHF band applications. 144 antennas with different patch dimensions and varied substrate dielectric constant values were simulated. An expression was obtainedby using the simulated data in the ABC algorithm.The resonant frequencies resulting from the formulation presented in their work were w w w . i j c t o n l i n e . c o m compared with results obtained from the previous method reported in the literature. The results show that the proposed expression was easy to compute and offers the design engineers an accurate estimation of resonant frequency.
[ Suguna and Gowder (2011)] Proposed a method which used improved Rough set based attribute reduction with ABC algorithm to find the final subset of attributes. The performance was analyzed with five different medical datasets such as Dermatology, Cleveland Heart, HIV, lung cancer and Wisconsin and compared the result with six other reduct algorithms. The result from this approach reached great accuracy of 92.36%, 86.54%, 86.29%, 83.03% and 88.70% respectively.
[Benitez and Lopes (2009)] proposed method used ABC algorithm for protein structure prediction using the 3 Dimensional Hydrophobic-Polar model with Side-Chains 3DHP-SC. Two parallel approaches for the ABC were implemented; a masterslave approach and a hybrid-hierarchical approach. Parallel models performance compared with sequential version for 4 benchmark instances. Results indicated that the parallel models achieved a good level of efficiency and the hybridhierarchical approach improved the quality of solutions found.
[HancerEmrah et al. (2012)] proposed ABC algorithm to find clusters of an image where number of clusters are specified. Hierarchical algorithms are not dynamic i.e., if a data point is assigned to cluster, it cannot be assigned to any other cluster. The other disadvantage of these algorithms is that lack of information about size of clusters which might cause overlapping. The proposed method is applied to three benchmark images and the results demonstrate both analytically and visually that ABC algorithm can be successfully applied to image clustering.

CONCLUSION
ABC algorithm is very simple and very flexible when compared to other swarm based algorithms as ABC does not require external parameters such as cross over rate and mutation rate etc., as in case of genetic algorithms, differential evolution and other evolutionary algorithms.
 Standard ABC algorithm was first developed for numerical optimization problems; expanded by suitable modifications for solving numerous unconstrained and constrained problems  Many studies have compared the performance of ABC with other swarm based algorithms such as Particle Swarm Optimization (PSO), Differential evolution (DE) and also with classical optimization algorithms in some cases. Most of the studies indicated that ABC outperformed or the performance was equal to other methods.
 Some studies indicated that hybrid approach; ABC algorithm augmented with another component such as PSO, ANN, EA, GA etc., for enhancing the efficiency of ABC Algorithm.