A Modified Artificial Bee Colony Algorithm with Firefly Algorithm Strategy for Continuous Optimization Problems

Artificial Bee Colony (ABC) algorithm is one of the efficient nature-inspired optimization algorithms for solving continuous problems. It has no sensitive control parameters and has been shown to be competitive with other well-known algorithms. However, the slow convergence, premature convergence, and being trapped within the local solutions may occur during the search. In this paper, we propose a new Modified Artificial Bee Colony (MABC) algorithm to overcome these problems. All phases of ABC are determined for improving the exploration and exploitation processes.Weuse a new search equation in employed bee phase, increase the probabilities for onlooker bees to find better positions, and replace some worst positions by the new ones in onlooker bee phase. Moreover, we use the Firefly algorithm strategy to generate a new position replacing an unupdated position in scout bee phase. Its performance is tested on selected benchmark functions. Experimental results show that MABC is more effective than ABC and some other modifications of ABC.

In order to address these deficiencies, some improved versions of ABC have been proposed.In 2010, Zhu and Kwong presented the Gbest-guided ABC (GABC) algorithm [14].They improved the search equation to increase the exploitation in employed and onlooker bee phases by using the strategy of the particle swarm optimization.The experimental results showed that GABC outperformed ABC for most test problems.In 2012, Gao et al. proposed a modified ABC algorithm (ABC/best) [9], which is inspired by the differential evolution algorithm, to improve the exploitation by searching only around the best solution of the previous iteration.Their results showed better performance when compared with ABC.In 2016, Anuar et al. developed ABC with the rate of change technique (ABC-ROC) based on the changing of slope on the performance graph to replace the parameter limit in the scout bee phase of ABC [23] and ABC-ROC also produces promising results.
In this paper, we proposed the Modified Artificial Bee Colony (MABC) algorithm to improve all phases of ABC algorithm.We generate the initial population by using the search space division as in [24] to provide high quality initial solutions.We use a new search equation for employed and onlooker bees, increase an opportunity for onlooker bees to search better food source positions, replace some worst

Algorithm Description
2.1.Artificial Bee Colony Algorithm.Artificial bee colony algorithm, proposed by Karaboga in 2005 [6], is a relatively new nature-inspired optimization algorithm which is inspired by the behaviour of honeybee swarms.There are three kinds of population bees (employed bees, onlooker bees, and scout bees) working together to search for food source positions.Each employed bee searches for a new food source by communicating with another bee.If a new better position is found, the employed bee will memorize this position instead of the old one.Then the onlooker bees make the decisions to choose the food sources for exploration by using the information from employed bees.Again, if a new better position is found, the onlooker bee will also memorize this position.The employed bee whose food source has been abandoned for a period of time becomes a scout bee with the newly generated position for the next search cycle.The ABC algorithm can be described as follows: (1) Initialization: The initial  ℎ food source   = ( ,1 ,  ,2 , . . .,  , ) associated with the  ℎ bee is generated by for  = 1, 2, 3, . . .,  and  = 1, 2, 3, . . ., , where  is the number of bees and  is the number of variables or dimension,   is a random number in range of (0, 1), and   and   are the lower and upper bounds for the dimension .
(2) Employed bee phase: The  ℎ bee shares a piece of information with the  ℎ bee and generates a new food source V  by using the following equation: where  is randomly chosen from 1 to  such that  ̸ = ,  * is randomly chosen from 1 to , and   is a random number in [−1, 1].Note that V  is different from   only at the  * ℎ component.The new position V  is evaluated and compared with the old   .If (V  ) < (  ), then replace   by V  ; otherwise, hold   and set () = () + 1 where  is the counter number of unimproved trials.
(3) Onlooker bee phase: Onlooker bees select the food sources depending on their quality using the probability values () which are computed by where ;  (  ) ≥ 0, (5) Find the best position   and the best value   .

Firefly Algorithm.
Firefly algorithm strategy is used in the scout bee phase of MABC algorithm, and its concept which is introduced by Yang in 2008 [3] is mentioned here.Firefly algorithm (FA) is inspired by the flashing behaviour of fireflies where their movements depend on the light intensity (brightness) and the attractiveness.The attractiveness is proportional to the brightness of a firefly; i.e., for any two fireflies the less bright one is attracted by the brighter one.On the other hand, the attractiveness is inversely proportional to the distance between two fireflies where the distance between any two fireflies   and   is given by the Euclidean norm The attractiveness   is computed by where  0 is the original light attractiveness at  = 0 and  is the light absorption coefficient.For simplicity,  0 and  are usually set to 1. From the movement of firefly   to another more attractive firefly   , a new position is given by where rand(0, 1) and  are the random numbers between 0 and 1.

Modified Artificial Bee Colony Algorithm
To construct MABC algorithm, all phases of ABC are determined.For the initialization, the population is generated based on search space division (SSD) proposed by He et al. [24].For employed bee phase, we improve the search equation of ABC by gradually using the information of the best solution to accelerate the search.For onlooker bee phase, 25% of employed bees are selected with the same probability for additional search moves.Then 5% of worst positions are replaced by the new positions constructed by using the information of the current best solution and the number of the best solutions () as the scaling factor for providing long distance moves in the case that many best solutions are found for the multimodal functions.For scout bee phase, Firefly algorithm strategy is applied to construct the new position by moving an unupdated position to a new position based on the distance to a better solution.MABC algorithm is proposed as follows.
(2) Employed bee phase: The best position   is used to generate a new food source V  by the following equation: where  is randomly chosen from 1 to  such that  ̸ = ,  * is randomly chosen from 1 to  and   is a random number in [−1, 1].If (V  ) < (  ), then replace   by V  ; otherwise, hold   and set () = () + 1, where  is the counter number of unimproved trials.
(3) Onlooker bee phase: The probability values used to make the decisions for onlooker bees are set to be a constant () = 0.25, if rand(0, 1) < (); then ( 9) is used to generate a new position V  .If (V  ) < (  ), then replace   by V  ; otherwise, retain   and set () = () + 1.In addition, the worst positions are replaced by the new ones using the equation where   ,  = 1, 2, . . ., ⌊0.05⌋, are the indexes of 5% worst positions,  1 and  2 are the randomly chosen indexes from 1 to  such that  1 ̸ =  2 ̸ =   for all ,   and   are the random numbers in range of [−1, 1], and  is the number of the best positions obtained from previous generation.
(4) Scout bee phase: Generate a new position for an unupdated position   of a scout bee by using the following Firefly algorithm strategy: where  is the first index such that (  ) < (  ).

Experimental Results and Discussion
To compare the performance of MABC algorithm with those of other methods, three experiments are conducted using different settings and performance measurements.We select 8 benchmark functions consisting of 2 functions from one of 4 different types: unimodal and separable (US), unimodal and nonseparable (UN), multimodal and separable (MS), and multimodal and nonseparable (MN).Their descriptions and 2D surface plots are shown in Table 1 and Figure 1, respectively.
For the first experiment, we compare the performances of MABC, ABC [5], GABC [14], ABC/best/1, and ABC/best/2 [9].As in [5,9,14], we set  = 40,  =  × , and  = 5000, where  is the maximum number of generations.The MABC algorithm is performed 30 runs.Table 2 shows the mean and SD of   values of our MABC compared with those of ABC, GABC, and ABC/best/1 and ABC/best/2 as reported in [5,9,14].The best values are indicated in bold, and the values less than 10 −20 are reported as 0. In addition, a two-tailed t-test at a 0.05 level of significance is used to compare the performances of MABC with those of ABC, GABC, ABC/best/1, and ABC/best/2 in this order.The values "+", "0", and "-" denote that MABC performs significantly better than, similarly to, and worse than a compared method.The results show that MABC clearly outperforms ABC and GABC for almost all 10 cases.Compared to ABC/best/1 and ABC/best/2, MABC performs better for 3 cases and performs similarly for 6 cases, and there is only one case that it performs slightly worse than ABC/best/1.
For the second experiment, we compare the performances of MABC, ABC [5], and ABC-ROC [23].The parameters are set the same as in [23] where  = 50,  = 30,  = 5000, and  =  × .The MABC algorithm is performed 30 runs.Table 3 presents the mean and SD of   values of MABC compared with those of ABC and ABC-ROC as reported in [23].The best value for each function is highlighted in boldface.We use a two-tailed t-test at a significance level of 0.05 to compare the performances of MABC with ABC and ABC-ROC, respectively.The results show that MABC gives the best values for all 5 test functions and significantly outperforms both ABC and ABC-ROC for 2 cases and performs similarly for 3 cases.
Those two experiments use relatively low maximum number of generations () when we consider the best values obtained for the Rosenbrock  3 in high dimensions.To be able to solve  3 function and to better compare the convergence performances of MABC and ABC, we conduct the third experiment by setting the more accurate value to reach VTR=10 −10 and  = 2000 ×  which is related to dimension .The dimensions are also varied as  = 2, 5, 10, 30, 60 while  and  are set the same as the second experiment.Both algorithms are performed for 30 runs and the number of successful runs (NS), the mean of number of function evaluations (NF), and the percentage of standard deviations of the function evaluations (%SD) are reported in Table 4.The last column of the table shows the performances of MABC compared with ABC at a 0.05 level of significance.The values "+" and "0" denote that MABC     We also show the convergence graphs of MABC and ABC for  = 30 in Figure 2 where the NF values are plotted against their corresponding VTR=10 −1 , 10 −3 , 10 −5 , 10 −7 , and 10 −10 .The graphs show that MABC converges faster than ABC for all test functions.

Conclusions
We have presented an efficient modification of ABC algorithm called MABC which improves all phases of ABC algorithm: the initial population is generated by using search space division, the new search equations are used in employed bee and onlooker bee phases, the opportunity of onlooker bee to find better solutions is increased and some worst positions are replaced by the new ones depending on the best position, and the unupdated positions are improved in scout bee phase.Extensive experiments show that MABC converges faster than ABC and it performs better than ABC and several previously proposed modification methods of ABC.

Figure 1 : 6 Journal
Figure 1: 2 Surface plots of the test functions.
performs significantly better than and similarly to ABC and the value "++" denotes that our MABC's solutions can reach VTR=10 −10 while those of ABC cannot.The results show that MABC performs successfully for 30 runs for all test functions whereas ABC can perform successfully for almost all functions except  3 for which it fails for all runs.Moreover, the NF values obtained by MABC are less than those obtained by ABC for all cases and our MABC significantly outperforms ABC for 33 out of 35 cases and performs similarly for 2 cases.For 5 cases of  3 , MABC's solutions can reach VTR=10 −10 while those of ABC cannot.This indicates that MABC algorithm is more effective.

Table 3 :
Performance comparison of ABC, ABC-ROC, and MABC algorithms.

Table 4 :
Performance comparison of ABC and MABC algorithms using NS, NF, and %SD values and  = 10 −10 .