Artificial bee colony (ABC) is a new populationbased stochastic algorithm which has shown good search abilities on many optimization problems. However, the original ABC shows slow convergence speed during the search process. In order to enhance the performance of ABC, this paper proposes a new artificial bee colony (NABC) algorithm, which modifies the search pattern of both employed and onlooker bees. A solution pool is constructed by storing some best solutions of the current swarm. New candidate solutions are generated by searching the neighborhood of solutions randomly chosen from the solution pool. Experiments are conducted on a set of twelve benchmark functions. Simulation results show that our approach is significantly better or at least comparable to the original ABC and seven other stochastic algorithms.
Optimization problems arise in many application areas such as engineering, economy, and management. Effective and efficient optimization algorithms are always required to tackle increasingly complex realworld optimization problems. In the past several years, some swarm intelligence algorithms, inspired by the social behaviors of birds, fish, or insects, have been proposed to solve optimization problems, such as particle swarm optimization (PSO) [
ABC is a new swarm intelligence algorithm proposed by Karaboga in 2005, which is inspired by the behavior of honey bees [
To improve the performance of ABC, this paper proposes a new search pattern for both employed and onlooker bees. In the new approach, some best solutions are utilized to accelerate the convergence speed. In addition, a solution pool is constructed by storing the best 100
The rest of the paper is organized as follows. In Section
Artificial bee colony (ABC) algorithm is a recently proposed optimization technique which simulates the intelligent foraging behavior of honey bees. A set of honey bees is called swarm which can successfully accomplish tasks through social cooperation. In the ABC algorithm, there are three types of bees: employed bees, onlooker bees, and scout bees. The employed bees search food around the food source in their memory; meanwhile they share the information of these food sources to the onlooker bees. The onlooker bees tend to select good food sources from those found by the employed bees. The food source that has higher quality (fitness) will have a large chance to be selected by the onlooker bees than the one of lower quality. The scout bees are translated from a few employed bees, which abandon their food sources and search new ones [
In the ABC algorithm, the first half of the swarm consists of employed bees, and the second half constitutes the onlooker bees. The number of employed bees or the onlooker bees is equal to the number of solutions in the swarm [
The ABC generates a randomly distributed initial population of SN solutions (food sources), where
After all employed bees complete the search process, they share the information of their food sources with the onlooker bees through waggle dances. An onlooker bee evaluates the nectar information taken from all employed bees and chooses a food source with a probability related to its nectar amount. This probabilistic selection is really a roulette wheel selection mechanism which is described as follows:
If a position cannot be improved over a predefined number (called
Since the development of ABC, it has attracted much attention for its excellent characteristics. In the last decade, different versions of ABCs have been applied to various problems. In this section, we present a brief review of these ABC algorithms.
Karaboga and Akay [
Karaboga and Ozturk [
The ABC algorithm is usually used to solve unconstrained optimization problems. In [
It is known that the ABC algorithm is good at solving optimization problems over continuous search space. For discrete optimization problems, it is a big challenge for the ABC algorithm. Li et al. [
Differential evolution (DE) has shown excellent search abilities on many optimization problems. Like other populationbased stochastic algorithms, DE also starts with an initial population with randomly generated candidate solutions. After initialization, DE repeats three operations: mutation, crossover, and selection. Among these operations, mutation operation is very important. The mutation scheme highly influences the performance of DE. There are several different mutation schemes, such as DE/rand/1, DE/rand/2, DE/best/1, and DE/best2 [
The property of a mutation scheme determines the search behavior of individuals in the population. For DE/rand/1, it results in good exploration but slow convergence speed. For DE/best/1, it obtains fast convergence speed but poor exploration. The DE/rand/1 and DE/best/1 are described as follows:
As seen, the search pattern of employed and onlooker bees is similar to the mutation schemes of DE. It is known that the ABC algorithm is good at exploration, but it shows slow convergence speed. By combining the DE/best/1 and the ABC algorithm, it may accelerate the convergence speed of ABC. However, this hybridization is not a new idea. In [
In this paper, we propose a new ABC (called NABC) algorithm by employing a modified DE/best/1 strategy. NABC differs from other hybrid algorithms [
According to the new search pattern described in (
The main steps of our new approach NABC algorithm are listed as follows.
Randomly initialize the swarm.
Update the solution pool.
For each employed bee, generate a new candidate solution
Each onlooker bee calculates
Generate a new
The scout bee determines the abandoned
Update the best solution found so far, and cycle = cycle + 1.
If the number of cycles reaches to the maximum value MCN, then stop the algorithm and output the results; otherwise go to Step
Compared to the original ABC algorithm, our approach NABC does not add extra operations except for the construction of the solution pool. However, this operation does not add the computational complexity. Both NABC and the original ABC have the same computational complexity.
In order to verify the performance of NABC, experiments are conducted on a set of twelve benchmark functions. These functions were early used in [
Benchmark functions used in the experiments.
Name  Function  Range  Opt 

Sphere 


0 
Schwefel 2.22 

[−10, 10]  0 
Schwefel 1.2 

[−100, 100]  0 
Schwefel 2.21 

[−100, 100]  0 
Rosenbrock 

[−30, 30]  0 
Step 

[−100, 100]  0 
Quartic with noise 

[−1.28, 1.28]  0 
Schwefel 2.26 

[−500, 500]  −12569.5 
Rastrigin 

[−5.12, 5.12]  0 
Ackley 

[−32, 32]  0 
Griewank 

[−600, 600]  0 
Penalized 


0 
The experiments are performed on the same computer with Intel (R) Core (TM)2 Duo CPU T6400 (2.00 GHz) and 2 GB RAM. Our algorithm is implemented using C++ and complied with Microsoft Visual C++ 6.0 under the Windows XP (SP3).
In order to investigate the effectiveness of our new search pattern, this section presents a comparison of NABC with the original ABC algorithm. In the experiments, both NABC and ABC use the same parameter settings. The population size SN,
Table
Results achieved by the ABC algorithm and NABC.
Functions  ABC  NABC  

Mean  Std Dev  Mean  Std Dev  




































−12332.4 























In order to compare the convergence speed of NABC and ABC, Figure
The convergence processes of ABC and NABC on some functions.
To further verify the performance of NABC, this section compares NABC with other populationbased algorithms, including some recently proposed ABC algorithms.
This section focuses on the comparison of the NABC algorithm with Evolution Strategies (ES). The versions of the ES include classical evolution strategies (CES) [
The parameter settings of CES, FES, CMAES, and ESLAT can be found in [
Table
Comparison of NABC with evolution strategies.
Functions  CES  FES  ESLAT  CMAES  NABC  Significance 

Mean  Mean  Mean  Mean  Mean  






. 


































NA 








−8000  −12556.4  −2300  −7637.1 






























From the results, it can be seen that NABC outperforms CES and FES on eight functions, while CES and FES achieve better results on three. For
In this section, we present a comparison of NABC with three recently proposed ABC algorithms. The involved algorithms are listed as follows.
Improved ABC algorithm (IABC) [
Hybridization of GABC and IABC (PSABC) [
Our approach NABC.
In the experiments, the population size SN is set to 40, and
Table
Comparison of NABC with other ABC algorithms.
Functions  GABC  IABC  PSABC  NABC  Significance 

Mean  Mean  Mean  Mean  











































−12407.3  −12251.03  −12564.2 







NA 


















Artificial bee colony is a new optimization technique which has shown to be competitive to other populationbased stochastic algorithms. However, ABC and other stochastic algorithms suffer from the same problems. For example, the convergence speed of ABC is typically slower than PSO and DE. Moreover, the ABC algorithm easily gets stuck when handling complex multimodal problems. The main reason is that the search pattern of both employed and onlooker bees is good at exploration but poor at exploitation. In order to balance the exploration and exploitation of ABC, this paper proposes a new ABC variant (NABC). It is known that DE/best/1 mutation scheme is good at exploitation. Based on DE/best/1, a new search pattern called ABC/best/1 with solution pool is proposed. Our approach differs from other improved ABC algorithms by hybridization of DE/best/1 and ABC.
To verify the performance of our approach, a set of twelve benchmark functions are used in the experiments. Comparison of NABC with ABC demonstrates that our new search pattern can effectively accelerate the convergence speed and improve the accuracy of solutions. Another comparison demonstrates that NABC is significantly better or at least comparable to other stochastic algorithms. Compared to other improved ABC algorithms, our approach is simpler and easier to implement.
This work was supported by the National Natural Science Fund of Hubei Province under Grant 2012FFB00901, the Science and Technology Research Project of Xianning City under Grant XNKJ1203, Doctoral Start Fund of Hubei University of Science and Technology under Grant BK1204, the Teaching Research Project of Hubei University of Science and Technology under Grant 2012X016B, Application Innovation Project of the Ministry of Public Security under Grant 2005yycxhbst117, The Key Research Project of Science and Technology of Hubei Province under Grant 2007AA301C33, Key Lab of Information Network Security of Ministry of Public Security under Grant C09602, and Application Innovative Project of Public Security of Hubei Province under Grant hbst2009sjkycx014.