Abstract
The artificial bee colony (ABC) algorithm is a recently introduced swarm intelligence optimization algorithm based on the foraging behavior of a honeybee colony. However, many problems are encountered in the ABC algorithm, such as premature convergence and low solution precision. Moreover, it can easily become stuck at local optima. The scout bees start to search for food sources randomly and then they share nectar information with other bees. Thus, this paper proposes a global reconnaissance foraging swarm optimization algorithm that mimics the intelligent foraging behavior of scouts in nature. First, under the new scouting search strategies, the scouts conduct global reconnaissance around the assigned subspace, which is effective to avoid premature convergence and local optima. Second, the scouts guide other bees to search in the neighborhood by applying heuristic information about global reconnaissance. The cooperation between the honeybees will contribute to the improvement of optimization performance and solution precision. Finally, the prediction and selection mechanism is adopted to further modify the search strategies of the employed bees and onlookers. Therefore, the search performance in the neighborhood of the local optimal solution is enhanced. The experimental results conducted on 52 typical test functions show that the proposed algorithm is more effective in avoiding premature convergence and improving solution precision compared with some other ABCs and several state-of-the-art algorithms. Moreover, this algorithm is suitable for optimizing high-dimensional space optimization problems, with very satisfactory outcomes.
Similar content being viewed by others
References
Akay B, Karaboga D (2012) A modified Artificial Bee Colony algorithm for real-parameter optimization. Inf Sci 192:120–142
Banharnsakun A, Achalakul T, Sirinaovakul B (2011) The best so-far selection in Artificial Bee Colony algorithm. Appl Soft Comput J 11(2):2888–2901
Bansal JC, Sharma H, Arya KV, Deep K, Pant M (2014) Self-adaptive artificial bee colony. Optimization
Beekman M, Fathke RL, Seeley TD (2006) How does an informed minority of scouts guide a honeybee swarm as it flies to its new home? Anim Behav 71(1):161–171
Biswas S, Das S, Debchoudhury S, Kundu S (2014) Co-evolving bee colonies by forager migration: a multi-swarm based Artificial Bee Colony algorithm for global search space. Appl Math Comput 232:216–234
Choi C, Lee J (1998) Chaotic local search algorithm. Artif Life Robot 2(1):41–47
Gao W, Liu S (2011) Improved artificial bee colony algorithm for global optimization. Inf Process Lett 111:871–882
Gao WF, Liu SY (2012) A modified artificial bee colony algorithm. Comput Oper Res 39(3):687–697
Gao WF, Liu SY, Huang LL (2012) A global best artificial bee colony algorithm for global optimization. J Comput Appl Math 236(11):2741–2753
Gao WF, Liu SY, Huang LL (2013) A novel artificial bee colony algorithm based on modified search equation and orthogonal learning. IEEE Trans Cybern 43(3):1011–1024
Gao WF, Liu SY, Huang LL (2014a) Enhancing artificial bee colony algorithm using more information-based search equations. Inf Sci 270:112–133
Gao W, Huang L, Liu S, Dai C (2014b) Artificial bee colony algorithm based on information learning. IEEE Trans Cybern 99:2168–2267
Greggers U, Schoning C, Degen J (2013) Scouts behave as streakers in honeybee swarms. Naturwissenschaften 100(8):805–809
Kang F, Li J, Ma Z (2011) Rosenbrock artificial bee colony algorithm for accurate global optimization of numerical functions. Inf Sci 181:3508–3531
Karaboga D (2005) An idea based on honey bee swarm for numerical optimization. Tech. Rep. TR06, Erciyes University, Engineering Faculty. Computer Engineering Department
Karaboga D, Basturk B (2007a) A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Glob Optim 39:459–471
Karaboga D, Basturk B (2007b) Artificial bee colony (ABC) optimization algorithm for solving constrained optimization problems. LNCS: advances in soft computing: foundations of fuzzy logic and soft computing. Springer, Berlin, pp 789–798
Karaboga D, Basturk B (2008) On the performance of artificial bee colony (ABC) algorithm. Appl Soft Comput 8:687–697
Karaboga D, Akay B (2009a) A comparative study of artificial bee colony algorithm. Appl Math Comput 214:108–132
Karaboga D, Akay B (2009b) A survey: algorithms simulating bee swarm intelligence. Artif Intell Rev 31:61–85
Karaboga D, Akay B (2011) A modified Artificial Bee Colony (ABC) algorithm for constrained optimization problems. Appl Soft Comput J 11:3021–3031
Karaboga D, Ozturk C (2011) A novel clustering approach: Artificial Bee Colony (ABC) algorithm. Appl Soft Comput J 11:652–657
Karaboga D, Gorkemli B, Ozturk C, Karaboga N (2014) A comprehensive survey: artificial bee colony (ABC) algorithm and applications. Artif Intell Rev 42(1):21–57
Li J, Sayed AH (2012) Modeling bee swarming behavior through diffusion adaptation with asymmetric information sharing. EURASIP J Adv Signal Process 2012:18
Li G, Niu P, Xiao X (2012) Development and investigation of efficient artificial bee colony algorithm for numerical function optimization. Appl Soft Comput 12(1):320–332
Liang JJ, Suganthan PN (2005) Dynamic multi-swarm particle swarm optimizer. In: Proceedings of 2005 IEEE Swarm Intelligence Symposium, p. 124–129
Liao T, Aydin D, Stützle T (2013) Artificial bee colonies for continuous optimization: experimental analysis and improvements. Swarm Intell 7(4):327–356
Piotrowski AP (2013) Adaptive memetic differential evolution with global and local neighborhood-based mutation operators. Inf Sci 241:164–194
Seeley TD (1996) The wisdom of the hive and the social physiology of honey bee colonies. Harvard University Press, Cambridge
Sharma TK, Pant M (2013) Enhancing the food locations in an artificial bee colony algorithm. Soft Comput 17(10):1939–1965
Sharma TK, Pant M, Deep A (2013) Modified foraging process of onlooker bees in artificial bee colony. Proceedings of 7th International Conference on Bio-Inspired. Computing: Theories and Applications (BIC-TA 2012), Advances in Intelligent Systems and Computing, vol. 202, p. 479-487
Suganthan PN, Hansen N, Liang JJ, Deb K, Chen YP, Auger A, Tiwari S (2005) Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization, Nanyang Technol. Univ., Singapore, and IIT Kanpur, Kanpur, India, KanGAL Rep. #2005005, May 2005
Suri B, Kalkal S (2011) Review of artificial bee colony algorithm to software testing. Int J Res Rev Comput Sci 2:706–711
Swagatam D, Subhodip B, Bijaya KP, Souvik K, Debabrota B (2014) A spatially informative optic flow model of bee colony with saccadic flight strategy for global optimization. IEEE Trans Cybern 44(10):1884–1897
Wang H, Wu Z, Rahnamayan S, Sun H, Liu Y, Pan JS (2014) Multi-strategy ensemble artificial bee colony algorithm. Inf Sci 279:587–603
Wu B, Qian CH, Ni WH, Fan SH (2012) Hybrid harmony search and artificial bee colony algorithm for global optimization problems. Comput Math Appl 64(8):2621–2634
Xiang Y, Peng Y, Zhong Y, Chen Z, Lu X, Zhong X (2014a) A particle swarm inspired multi-elitist artificial bee colony algorithm for real-parameter optimization. Comput Optim Appl 57(2):493–516
Xiang W, Ma S, An M (2014b) HABCDE: A hybrid evolutionary algorithm based on artificial bee colony algorithm and differential evolution. Appl Math Comput 238:370–386
Xu YF, Fan P, Yuan L (2013) A simple and efficient artificial bee colony algorithm. Math Probl Eng 2013, Article ID 526315
Zhao X, Lin W, Yu C, Chen J, Wang S (2013) A new hybrid differential evolution with simulated annealing and self-adaptive immune operation. Comput Math Appl 66(10):1948–1960
Zhu G, Kwong S (2010) Gbest-guided artificial bee colony algorithm for numerical function optimization. Appl Math Comput 217:3166–3173
Zhu QB, Yang ZJ, Ma W (2011) A quickly convergent continuous ant colony optimization algorithm with Scout Ants. Appl Math Comput 218(5):1805–1819
Acknowledgments
The authors are sincerely grateful to the anonymous reviewers for their valuable comments and suggestions, as well as to the editor for the efficient and professional processing of this paper. This paper is supported by grants from the National High Technology Research and Development Program of China (Grant No. 2007AA01Z334), the National Natural Science Foundation of China (Grants Nos. 61321491, 61272219 and 61100110), the Science and Technology Program of Jiangsu Province (Grants Nos. BE2010072, BE2011058, BY2012190), the University Science Research Project of Jiangsu Province (Grant No. 15KJB520017) and sponsored by Qing Lan Project.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by V. Loia.
Appendix. Step by Step Procedure of SABC Algorithm
Appendix. Step by Step Procedure of SABC Algorithm
Consider the optimization problem (dimension of the problem, \(D=3\)) as follows:
Control parameters of ABC algorithm are set as;
-
Colony size, \(m=7\)
-
The scale factor of scouts, alf = 0.1
-
The number of scouts for global reconnaissance, \(m_{s}=\hbox {round}(alf^{*}m)=1\) // round() towards nearest integer
-
Number of food sources \((SN=(m-m_{s})/2=m_{e}=m_{o})\), \(SN=3\)
-
Maximum number of trial for abandoning a source, \(limit=200\)
-
Maximum number of fitness evaluations, \(Max.FE=1000\)
1. Initialization phase
num_FEs = 0
First, we initialize the positions of 3 food sources of employed bees randomly in the range [-5, 5] of uniform distribution.
\(x=\)
f(x) values are:
num_FEs = 3
Minimum objective function is 21.4466, the quality of the best food source.
Memorize best food source
We initialize the global reconnaissance positions of a scout by Eq. (4)
\(s=-1.0448\quad -1.3256\quad 4.8798\)
f(s) value is: 26.6617
num_FEs = 4
\(26.6617>21.4466\), the quality of the best food source could not be improved.
Memorize best food source
2. Scouts global search phase
1st scout bee
-
\(r_{1}=0.1453\) //\(r_{1}\) is a chaotic sequence by Eq. (6)
-
\(r_{2}=0.4066\) //\(r_{2}\) is a chaotic sequence by Eq. (6)
-
\(j=1\) // j is a random selected dimension of the problem
-
\(s_{1}=0.6926\quad -1.3256\quad 4.8798\)
-
\(f(s_{1})= 26.0496\)
-
num_FEs =5
-
Apply greed selection between s and \(s_{1}\)
-
\(26.0496<26.6617\), the solution 1 was improved, then replace the solution s with \(s_{1}\).
-
\(26.0496>21.4466\), the quality of the best food source could not be improved.
3. Employed bees search phase
1st employed bee
-
\(j=3\) // j is a random selected dimension of the problem
-
\(v_{11}=-3.2064\quad 1.8594\quad 2.8848\) // a new solution calculated by Eq. (2)
-
\(f(v_{11})=22.0608\)
-
num_FEs = 6
-
Apply greed selection between \(x_{1}\) and \(v_{11}\)
-
\(22.0608<34.0496\), the solution 1 was improved, replace the solution \(x_{1}\) with \(v_{11}\) and set its trial counter as 0.
-
\(v_{12}=-3.2064\quad 1.8594\quad 5.0000\) // a new solution calculated by Eq. (8)
-
\(f(v_{12})=38.7388\)
-
num_FEs=7
-
Apply greed selection between \(x_{1}\) and \(v_{12}\)
-
\(38.7388>22.0608\), the solution 1 could not be improved, increase its trial counter.
-
\(v_{13}=-3.2064\quad 1.8594\quad 1.0428\) // a new solution calculated by Eq. (9)
-
\(f(v_{13})= 14.8261\)
-
num_FEs = 8
-
Apply greed selection between \(x_{1}\) and \(v_{13}\)
-
\(14.8261<22.0608\), the solution 1 was improved, replace the solution \(x_{1}\) with \(v_{13}\) and set its trial counter as 0.
-
\(v_{14}=-3.2064\quad 1.8594\quad 1.5531\) // a new solution calculated by Eq. (10)
-
\(f(v_{14})= 16.1510\)
-
num_FEs = 9
-
Apply greed selection between \(x_{1}\) and \(v_{14}\)
-
\(16.1510>14.8261\), the solution 1 could not be improved, increase its trial counter.
-
\(v_{15}=-3.2064\quad 1.8594\quad 2.2129\) // a new solution calculated by Eq. (11)
-
\(f(v_{15})=18.6356\)
-
num_FEs = 10
-
Apply greed selection between \(x_{1}\) and \(v_{15}\)
-
\(18.6356>14.8261\), the solution 1 could not be improved, increase its trial counter.
2nd employed bee
-
\(j=2\) // j is a random selected dimension of the problem
-
\(v_{21}=0.3521\quad -0.4644\quad 4.9516\) // a new solution calculated by Eq. (2)
-
\(f(v_{21})= 24.8581\)
-
num_FEs = 11
-
Apply greed selection between \(x_{2}\) and \(v_{21}\)
-
24.8581 \(<26.4996\), the solution 2 was improved, replace the solution \(x_{2}\) with \(v_{21}\) and set its trial counter as 0.
-
\(v_{22}=0.3521\quad -2.4914\quad 4.9516\) // a new solution calculated by Eq. (8)
-
\(f(v_{22})=30.8494\)
-
num_FEs = 12
-
Apply greed selection between \(x_{2}\) and \(v_{22}\).
-
\(30.8494>24.8581\), the solution 2 could not be improved, increase its trial counter.
-
\(v_{23}=0.3521\quad 1.1591\quad 4.9516\) // a new solution calculated by Eq. (9)
-
\(f(v_{23})=25.9861\)
-
num_FEs = 13
-
Apply greed selection between \(x_{2}\) and \(v_{23}\)
-
\(25.9861>24.8581\), the solution 2 could not be improved, increase its trial counter.
-
\(v_{24}=0.3521\quad 4.2100\quad 4.9516\) // a new solution calculated by Eq. (10)
-
\(f(v_{24})=42.3665\)
-
num_FEs = 14
-
Apply greed selection between \(x_{2}\) and \(v_{24}\)
-
\(42.3665>24.8581\), the solution 2 could not be improved, increase its trial counter.
-
\(v_{25}=0.3521\quad 2.2338\quad 4.9516\) // a new solution calculated by Eq. (11)
-
\(f(v_{25})=29.6322\)
-
num_FEs = 15
-
Apply greed selection between \(x_{2}\) and \(v_{25}\)
-
\(29.6322>24.8581\), the solution 2 could not be improved, increase its trial counter.
3rd employed bee
-
\(j=3\) // j is a random selected dimension of the problem
-
\(v_{31}=-3.4553\quad 2.1472\quad 2.5693\) // a new solution calculated by Eq. (2)
-
\(f(v_{31})=23.1508\)
-
num_FEs = 16
-
Apply greed selection between \(x_{3}\) and \(v_{31}\)
-
\(23.1508>21.4466\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{32}=-3.4553\quad 2.1472\quad 2.7248\) // a new solution calculated by Eq. (8)
-
\(f(v_{32})= 23.9743\)
-
num_FEs = 17
-
Apply greed selection between \(x_{3}\) and \(v_{32}\).
-
\(23.9743>21.4466\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{33}=-3.4553\quad 2.1472\quad 1.2439\) // a new solution calculated by Eq. (9)
-
\(f(v_{33})=18.0971\)
-
num_FEs = 18
-
Apply greed selection between \(x_{3}\) and \(v_{33}\).
-
\(18.0971<21.4466\), the solution 3 was improved, replace the solution \(x_{3}\) with \(v_{33}\) and set its trial counter as 0.
-
\(v_{34}=-3.4553\quad 2.1472\quad 2.2129\) // a new solution calculated by Eq. (10)
-
\(f(v_{34})= 21.4466\)
-
num_FEs = 19
-
Apply greed selection between \(x_{3}\) and \(v_{34}\).
-
\(21.4466>18.0971\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{35}=-3.4553\quad 2.1472\quad 3.8022\) // a new solution calculated by Eq. (11)
-
\(f(v_{35})= 31.0065\)
-
num_FEs = 20
-
Apply greed selection between \(x_{3}\) and \(v_{35}\).
-
\(31.0065>18.0971\), the solution 3 could not be improved, increase its trial counter.
$$\begin{aligned} x= \begin{array}{rrr} -3.2064&{}\quad 1.8594&{}\quad 1.0428\\ 0.3521&{} \quad -0.4644&{}\quad 4.9516\\ -3.4553&{} \quad 2.1472&{}\quad 1.2439\\ \end{array} \end{aligned}$$$$\begin{aligned} f(x)=&14.8261\\&24.8581\\&18.0971 \end{aligned}$$
//Calculate the probability values p for the solutions x by means of their fitness values by Eq. (3)
4. Onlookers search phase
Produce new solutions \(\upsilon _{i}\) for the onlookers from the solutions \(x_{i}\) selected depending on pi and evaluate them.
1st onlooker bee
-
\(i=3\)
-
\(v_{31}=-3.3624\quad 2.1472\quad 1.2439\) // a new solution calculated by Eq. (2)
-
\(f(v_{31})= 17.4634\)
-
num_FEs \(=\) 21
-
Apply greed selection between \(x_{3}\) and \(v_{31}\).
-
\(17.4634<18.0971\), the solution 3 was improved, replace the solution \(x_{3}\) with \(v_{31}\) and set its trial counter as 0.
-
\(v_{32}=0.2252\quad 2.1472\quad 1.2439\) // a new solution calculated by Eq. (8)
-
\(f(v_{32})=6.2084\)
-
num_FEs \(=\) 22
-
Apply greed selection between \(x_{3}\) and \(v_{32}\).
-
\(6.2084<17.4634\), the solution 3 was improved, replace the solution \(x_{3}\) with \(v_{32}\) and set its trial counter as 0.
-
\(v_{33}=-0.8802\quad 2.1472\quad 1.2439\) // a new solution calculated by Eq. (9)
-
\(f(v_{33})= 6.9323\)
-
num_FEs \(=\) 23
-
Apply greed selection between \(x_{3}\) and \(v_{33}\).
-
\(6.9323>6.2084\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{34}=-3.4553\quad 2.1472\quad 1.2439\) // a new solution calculated by Eq. (10)
-
\(f(v_{34})= 18.0971\)
-
num_FEs \(=\) 24
-
Apply greed selection between \(x_{3}\) and \(v_{34}\)
-
\(18.0971>6.2084\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{35}=-5.0000\quad 2.1472\quad 1.2439\) // a new solution calculated by Eq. (11)
-
\(f(v_{35})= 31.1577\)
-
num_FEs \(=\) 25
-
Apply greed selection between \(x_{3}\) and \(v_{35}\)
-
\(31.1577>6.2084\), the solution 3 could not be improved, increase its trial counter.
2nd onlooker bee
-
\(i=3\)
-
\(v_{31}=0.2252\quad 2.1472\quad 0.1162\) // a new solution calculated by Eq. (2)
-
\(f(v_{31})= 4.6745\)
-
num_FEs \(=\) 26
-
Apply greed selection between \(x_{3}\) and \(v_{32}\).
-
\(4.6745<6.2084\), the solution 3 was improved, replace the solution \(x_{3}\) with \(v_{31}\) and set its trial counter as 0.
-
\(v_{32}=0.2252\quad 2.1472\quad 2.3055\) // a new solution calculated by Eq. (8)
-
\(f(v_{32})= 9.9763\)
-
num_FEs \(=\) 27
-
Apply greed selection between \(x_{3}\) and \(v_{32}\)
-
\(9.9763>4.6745\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{33}=0.2252\quad 2.1472\quad 1.0809\) // a new solution calculated by Eq. (9)
-
\(f(v_{33})= 5.8294\)
-
num_FEs \(=\) 28
-
Apply greed selection between \(x_{3}\) and \(v_{33}\)
-
\(5.8294>4.6745\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{34}=0.2252\quad 2.1472\quad 2.2613\) // a new solution calculated by Eq. (10)
-
\(f(v_{34})= 9.7744\)
-
num_FEs \(=\) 29
-
Apply greed selection between \(x_{3}\) and \(v_{34}\)
-
\(9.7744>4.6745\), the solution 3 could not be improved, increase its trial counter.
-
\(v_{35}=0.2252\quad 2.1472\quad 2.2129\) // a new solution calculated by Eq. (11)
-
\(f(v_{35})=9.5579\)
-
num_FEs \(=\) 30
-
Apply greed selection between \(x_{3}\) and \(v_{35}\)
-
\(9.5579>4.6745\), the solution 3 could not be improved, increase its trial counter.
3rd onlooker bee
-
\(i=1\)
-
\(v_{11}=-0.0601\quad 1.8594\quad 1.0428\) // a new solution calculated by Eq. (2)
-
\(f(v_{11})= 4.5484\)
-
num_FEs \(=\) 31
-
Apply greed selection between \(x_{1}\) and \(v_{11}\).
-
\(4.5484<14.8261\), the solution 1 was improved, replace the solution \(x_{1}\) with \(v_{11}\) and set its trial counter as 0.
-
\(v_{12}=-1.4447\quad 1.8594\quad 1.0428\) // a new solution calculated by Eq. (8)
-
\(f(v_{12})= 6.6320\)
-
num_FEs \(=\) 32
-
Apply greed selection between \(x_{1}\) and \(v_{12}\).
-
\(6.6320>4.5484\), the solution 1 could not be improved, increase its trial counter.
-
\(v_{13}=-3.9699\quad 1.8594\quad 1.0428\) // a new solution calculated by Eq. (9)
-
\(f(v_{13})= 20.3051\)
-
num_FEs \(=\) 33
-
Apply greed selection between \(x_{1}\) and \(v_{13}\).
-
\(20.3051>4.5484\), the solution 1 could not be improved, increase its trial counter.
-
\(v_{14}=-3.4952\quad 1.8594\quad 1.0428\) // a new solution calculated by Eq. (10)
-
\(f(v_{14})=16.7611\)
-
num_FEs \(=\) 34
-
Apply greed selection between \(x_{1}\) and \(v_{14}\).
-
\(16.7611>4.5484\), the solution 1 could not be improved, increase its trial counter.
-
\(v_{15}=-3.4553\quad 1.8594\quad 1.0428\) // a new solution calculated by Eq. (11)
-
\(f(v_{15})= 16.4842\)
-
num_FEs \(=\) 35
-
Apply greed selection between \(x_{1}\) and \(v_{15}\).
-
\(16.4842>4.5484\), the solution 1 could not be improved, increase its trial counter.
$$\begin{aligned} x= \begin{array}{rrr} -0.0601&{} \quad 1.8594&{} \quad 1.0428\\ 0.3521&{} \quad -0.4644&{} \quad 4.9516\\ 0.2252&{} \quad 2.1472&{} \quad 0.1162\\ \end{array} \end{aligned}$$$$\begin{aligned} f(x)=&4.6745\\&24.8581\\&4.5484 \end{aligned}$$
//Memorize best food source
5. Scout bee search phase
//There is no abandoned solution since limit = 200
//If the solution of which the trial counter value is higher than limit = 200, select a best solution obtained by the scouts to replace with the abandoned one.
\(\mathrm{num}\_\mathrm{FEs}\,\,<\,\,\mathrm{Max.FE}\)
The procedure is continued until the termination criterion is attained.
Rights and permissions
About this article
Cite this article
Ma, W., Sun, Z., Li, J. et al. An improved artificial bee colony algorithm based on the strategy of global reconnaissance. Soft Comput 20, 4825–4857 (2016). https://doi.org/10.1007/s00500-015-1774-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-015-1774-6