1. Introduction
The Artificial Bee Colony (ABC) algorithm is a swarm based meta-heuristic algorithm that was introduced by Karaboga in 2005 for optimizing numerical problems. It was inspired by the intelligent foraging behavior of honey bees. The algorithm is specifically based on the model proposed by Tereshko and Loengarov (2005) for the foraging behavior of honey bee colonies. The model consists of three essential components: employed and unemployed foraging bees, and food sources [1]. The first two components, employed and unemployed foraging bees, search for rich food sources, which is the third component, close to their hive. The model also defines two leading modes of behavior which are necessary for self-organizing and collective intelligence: recruitment of foragers to rich food sources resulting in positive feedback and abandonment of poor sources by foragers causing negative feedback. In ABC, a colony of artificial forager bees (agents) search for rich artificial food sources (good solutions for a given problem) [2]. To apply ABC, the considered optimization problem is first converted to the problem of finding the best parameter vector which minimizes an objective function. Then, the artificial bees randomly discover a population of initial solution vectors and then iteratively improve them by employing the strategies: moving towards better solutions by means of a neighbor search mechanism while abandoning poor solutions [3].
In ABC, a population based algorithm, the position of a food source represents a possible solution to the optimization problem and the nectar amount of a food source corresponds to the quality (fitness) of the associated solution. The number of the employed bees is equal to the number of solutions in the population. At the first step, a randomly distributed initial population (food source positions) is generated [4]. After initialization, the population is subjected to repeat the cycles of the search processes of the employed, onlooker, and scout bees, respectively. An employed bee produces a modification on the source position in her memory and discovers a new food source position. Provided that the nectar amount of the new one is higher than that of the previous source, the bee memorizes the new source position and forgets the old one. Otherwise she keeps the position of the one in her memory. After all employed bees complete the search process, they share the position information of the sources with the onlookers on the dance area. Each onlooker evaluates the nectar information taken from all employed bees and then chooses a food source depending on the nectar amounts of sources [5]. As in the case of the employed bee, she produces a modification on the source position in her memory and checks its nectar amount. Providing that its nectar is higher than that of the previous one, the bee memorizes the new position and forgets the old one. The sources abandoned are determined and new sources are randomly produced to be replaced with the abandoned ones by artificial scouts.
2. Inspiration of Artificial Bee Colony

Artificial bee colony (ABC) algorithm is an optimization technique that simulates the foraging behavior of honey bees, and has been successfully applied to various practical problems. A set of honey bees, called swarm, can successfully accomplish tasks through social cooperation [6].
3. Artificial Bee Colony (ABC) Algorithm
Artificial bee colony (ABC) algorithm is an optimization technique that simulates the foraging behavior of honey bees, and has been successfully applied to various practical problems. A set of honey bees, called swarm, can successfully accomplish tasks through social cooperation. In the ABC algorithm, there are three types of bees: employed bees, onlooker bees, and scout bees [7]. 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 colony of artificial bees contains three groups of bees: employed bees, onlookers and scouts [8]. A bee waiting on the dance area for making decision to choose a food source is called an onlooker and a bee going to the food source visited by it previously is named an employed bee. A bee carrying out random search is called a scout. In the ABC algorithm, first half of the colony consists of employed artificial bees and the second half constitutes the onlookers. For every food source, there is only one employed bee. In other words, the number of employed bees is equal to the number of food sources around the hive. The employed bee whose food source is exhausted by the employed and onlooker bees becomes a scout [9].

Communication among bees about the quality of food sources is being achieved in the dancing area by performing waggle dance. While performing the waggle dance, the direction of bees indicates the direction of the food source in relation to the Sun, the intensity of the waggels indicates how far away it is and the duration of the dance indicates the amount of nectar on related food source [10]. Each bee performs one of following rules. They could transform from on in different phases of foraging.
- Employed bees (EB)
- Onlooker bees (OB)
- Scout bees (SB)
The flow of nectar collection is as follow:
- In initial phase, there are only some SB and OB in the colony. SB is sent to search for potential nectar source, and OB wait near the hive for being recruited. If any SB finds a nectar source, it will transform into EB [11].
- EB collect some nectar and go back to the hive, and then dance with different forms to share information of the source with OB. Diverse forms of dance represent different quality of nectar source.
- Each OB estimates quality of the nectar sources found by all EB, then following one of EB to the corresponding source [12]. All OB choose EB according to some probability. Better sources (more nectar) are more attractive (with larger probability to be selected) to OB.
- Once any sources are exhausted, the corresponding EB will abandon them transform into SB and search for new source [13].
3.1. Steps for ABC Algorithm
- Producing Initial food source
- Sending employed bees to the food source
- Calculating probability values involved in probabilistic selection
- Food source selection by onlookers based on the information provided by employed bees
- Abandonment criteria: Limit and scout production
3.1.1. Producing Initial food source
If the search space is considered to be the environment of the hive that contains the food source sites, the algorithm starts with randomly producing food source sites that correspond to the solutions in the search space [14]. Initial food sources are produced randomly within the range of the boundaries of the parameters.
3.1.2. Sending employed bees to the food source
As mentioned earlier, each employed bee is associated with only one food source site. Hence, the number of food source sites is equal to the number of employed bees. An employed bee produces a modification on the position of the food source (solution) in her memory depending on local information (visual information) and finds a neighboring food source, and then evaluates its quality [15].
3.1.3. Calculating probability values involved in probabilistic selection
After all employed bees complete their searches, they share their information related to the nectar amounts and the positions of their sources with the onlooker bees on the dance area. This is the multiple interaction features of the artificial bees of ABC. An onlooker bee evaluates the nectar information taken from all employed bees and chooses a food source site with a probability related to its nectar amount [16]. This probabilistic selection depends on the fitness values of the solutions in the population. A fitness-based selection scheme might be a roulette wheel, ranking based, stochastic universal sampling, tournament selection or another selection scheme.
3.1.4. Food source selection by onlookers based on the information provided by employed bees
In the ABC algorithm, a random real number within the range is generated for each source. After the source is evaluated, greedy selection is applied and the onlooker bee either memorizes the new position by forgetting the old one or keeps the old one. This process is repeated until all onlookers are distributed onto food source sites [17].
3.1.5. Abandonment criteria: Limit and scout production
In a cycle, after all employed bees and onlooker bees complete their searches, the algorithm checks to see if there is any exhausted source to be abandoned. In order to decide if a source is to be abandoned, the counters which have been updated during search are used. If the value of the counter is greater than the control parameter of the ABC algorithm, known as the ‘‘limit”, then the source associated with this counter is assumed to be exhausted and is abandoned. The food source abandoned by its bee is replaced with a new food source discovered by the scout, which represents the negative feedback mechanism and fluctuation property in the self-organization of ABC [18].
3.2. Flow Chart of ABC Algorithm

4. Numerical Expression for ABC Algorithm
When compared with the basic ABC and several most recent algorithms, the proposed new method has demonstrated strongly competitive results [19].

5. Applications of ABC Algorithm
- Image Segmentation
- Vehicle routing problem
- Scheduling problems [20]
- Training neural networks
- Pattern classification [21]

6. Advantages of ABC Algorithm
- Few control parameters.
- Fast convergence.
- Both Explanation & Explanation.
- It ensures a closer and a more strict control over such items, which are having a sizeable investment in there.
- It releases working capital, which would otherwise have been locked up for a more profitable channel of investment [22].
- It reduces inventory-carrying cost.
- It enables the relaxation of control for the ‘c’ items and thus makes it possible for a sufficient buffer stock to be created.
- It enables the maintenance of high inventory turnover rate [23].
References
[1] Karaboga, D. and Akay, B. (2009). A comparative study of Artificial Bee Colony algorithm. Applied Mathematics and Computation, 214(1), pp.108-132.
[2] Karaboga, D. and Basturk, B. (2007). A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. Journal of Global Optimization, 39(3), pp.459-471.
[3] Shah, H., Tairan, N., Garg, H. and Ghazali, R. (2018). Global Gbest Guided-Artificial Bee Colony Algorithm for Numerical Function Optimization. Computers, 7(4), p.69.
[4] Akay, B. and Karaboga, D. (2012). A modified Artificial Bee Colony algorithm for real-parameter optimization. Information Sciences, 192, pp.120-142.
[5] Karaboga, D., Gorkemli, B., Ozturk, C. and Karaboga, N. (2012). A comprehensive survey: artificial bee colony (ABC) algorithm and applications. Artificial Intelligence Review, 42(1), pp.21-57.
[6] Karaboga, D. and Akay, B. (2011). A modified Artificial Bee Colony (ABC) algorithm for constrained optimization problems. Applied Soft Computing, 11(3), pp.3021-3031.
[7] Abu-Mouti, F. and El-Hawary, M. (2011). Optimal Distributed Generation Allocation and Sizing in Distribution Systems via Artificial Bee Colony Algorithm. IEEE Transactions on Power Delivery, 26(4), pp.2090-2101.
[8] Pan, Q., Fatih Tasgetiren, M., Suganthan, P. and Chua, T. (2011). A discrete artificial bee colony algorithm for the lot-streaming flow shop scheduling problem. Information Sciences, 181(12), pp.2455-2468.
[9] Singh, A. (2009). An artificial bee colony algorithm for the leaf-constrained minimum spanning tree problem. Applied Soft Computing, 9(2), pp.625-631.
[10] Banharnsakun, A., Achalakul, T. and Sirinaovakul, B. (2011). The best-so-far selection in Artificial Bee Colony algorithm. Applied Soft Computing, 11(2), pp.2888-2901.
[11] Zhen, W. and Xiangyu, K. (2013). An Improved Artificial Bee Colony Algorithm for Global Optimization. Information Technology Journal, 12(24), pp.8362-8369.
[12] Shah, H., Tairan, N., Garg, H. and Ghazali, R. (2018). Global Gbest Guided-Artificial Bee Colony Algorithm for Numerical Function Optimization. Computers, 7(4), p.69.
[13] Nandy, S. (2012). Training a Feed-Forward Neural Network with Artificial Bee Colony based Back propagation Method. International Journal of Computer Science and Information Technology, 4(4), pp.33-46.
[14] Samanta, S., Philip, D. and Chakraborty, S. (2018). Bi-objective dependent location quadratic assignment problem: Formulation and solution using a modified artificial bee colony algorithm. Computers & Industrial Engineering, 121, pp.8-26.
[15] Li, G., Niu, P. and Xiao, X. (2012). Development and investigation of efficient artificial bee colony algorithm for numerical function optimization. Applied Soft Computing, 12(1), pp.320-332.
[16] Civicioglu, P. and Besdok, E. (2011). A conceptual comparison of the Cuckoo-search, particle swarm optimization, differential evolution and artificial bee colony algorithms. Artificial Intelligence Review, 39(4), pp.315-346.
[17] Wei-feng Gao, San-yang Liu and Ling-ling Huang (2013). A Novel Artificial Bee Colony Algorithm Based on Modified Search Equation and Orthogonal Learning. IEEE Transactions on Cybernetics, 43(3), pp.1011-1024.
[18] Horng, M. (2011). Multilevel thresholding selection based on the artificial bee colony algorithm for image segmentation. Expert Systems with Applications.
[19] Ma, M., Liang, J., Guo, M., Fan, Y. and Yin, Y. (2011). SAR image segmentation based on Artificial Bee Colony algorithm. Applied Soft Computing, 11(8), pp.5205-5214.
[20] Hsieh, T., Hsiao, H. and Yeh, W. (2011). Forecasting stock markets using wavelet transforms and recurrent neural networks: An integrated system based on artificial bee colony algorithm. Applied Soft Computing, 11(2), pp.2510-2525.
[21] Akay, B. (2013). A study on particle swarm optimization and artificial bee colony algorithms for multilevel thresholding. Applied Soft Computing, 13(6), pp.3066-3091.
[22] Kefayat, M., Lashkar Ara, A. and Nabavi Niaki, S. (2015). A hybrid of ant colony optimization and artificial bee colony algorithm for probabilistic optimal placement and sizing of distributed energy resources. Energy Conversion and Management, 92, pp.149-161.
[23] Kang, F., Li, J., Ma, Z. and Li, H. (2011). Artificial Bee Colony Algorithm with Local Search for Numerical Optimization. Journal of Software, 6(3).