A Novel Artificial Bee Colony Algorithm for Function Optimization

It is known that both exploration and exploitation are important in the search equations of ABC algorithms. How to well balance the two abilities in the search process is still a challenging problem in ABC algorithms. In this paper, we propose a novel artificial bee algorithm named as “NABC,” by incorporating the information of the global best solution into the solution search equation of the onlookers stage to improve the exploitation. At the same time, we improve the search equation of the employed bees to keep the exploration. The experimental results of NABC tested on a set of 11 numerical benchmark functions show good performance and fast convergence in solving function optimization problems, compared with variant ABC, DE, and PSO algorithms.The application of NABC on solving five standard knapsack problems shows its effectiveness and practicability.


Introduction
Intelligent algorithms, such as genetic algorithm (GA) [1], particle swarm optimization (PSO) [2], ant colony optimization (ACO) [3], and Biogeography-Based Optimization (BBO) [4], have shown great success in solving optimization problems which are nonconvex, discontinuous, nondifferentiable, and so on.At the same time, they have many advantages, such as simplicity, ease of implementation, and outstanding performance.Inspired by the intelligent behaviors of honey bee swarms, Karaboga in 2005 [5] proposed the artificial bee colony (ABC) algorithm for function optimizations.A set of experimental results [6][7][8][9] show that ABC algorithm is competitive to some other intelligent algorithms.So the ABC algorithm has captured many attentions and has been applied to solve neural networks, flowshop scheduling problems, constrained optimization problems [10][11][12], and so on.
We know that both exploration and exploitation are necessary for an intelligent algorithm.In order to achieve good performances on problem optimizations in practice, the two abilities should be well balanced, while the two abilities contradict each other and the solution search equations of ABC algorithm are good at exploration but poor at exploitation.So, many researchers mended the search solutions to improve the exploitation and the convergence during the past decades.Inspired by PSO, Zhu and Kwong [13] took advantage of the information of the global best solution to improve the performance of the ABC algorithm named GABC.Basturk and Karaboga [14] proposed a modified ABC algorithm by controlling the frequency of perturbation and introducing the ratio of the variance operator.Gao et al. proposed a novel ABC method called EABC [15] to further improve the performance of ABC.In EABC, in order to balance the exploration and the exploitation, they presented two new search equations to generate candidate solutions in the employed bee phase and the onlookers phase, respectively.Karaboga and Gorkemli presented a new version of ABC algorithm named quick artificial bee colony (qABC) [16], which modeled the behavior of onlooker bees more accurately and improved the performance of ABC in terms of local search ability.And the performance of the qABC depended on the neighborhood radius.
In this paper, we propose two new solution search equations in the stage of the employed bees and the onlookers, respectively, in order to improve the exploitation and keep the exploration.We name the novel ABC algorithm as "NABC." The experiment results tested on 11 numerical function optimizations show that the novel ABC algorithm is superior to the standard ABC algorithm and other improved ABC 2 Mathematical Problems in Engineering algorithms in most cases.And it is better than variant DE and PSO algorithms.At the same time, five knapsack problems are solved by ABC and NABC, which shows that NABC is superior to ABC on solving engineering optimization problems.
The rest of this paper is organized as follows.Section 2 summarizes the standard ABC algorithm.The novel ABC algorithm named NABC is presented and analyzed in Section 3. Section 4 presents and discusses the experimental results of 11 benchmark functions.Section 5 shows the application of NABC on knapsack problems.Finally, the conclusion is drawn in Section 6.

Standard ABC Algorithm
Initialization is the first step in the standard ABC algorithm [5].The position of a food source represents a possible solution to the optimization problem.Each food source is exploited by only one employed bee, so the number of employed bees named SN is equal to the number of food sources.And a random initial population of SN food sources is generated as follows: where  ∈ (1, 2, . . ., SN),  ∈ (1, 2, . . ., ), and  is the dimension of the numerical function;  max, and  min, are the lower and upper bounds of  , .Second is the search processes of the employed bees, where the onlookers and the scouts are started.The standard ABC algorithm uses the following equation to produce a candidate food source position from the old one: where  ∈ (1, 2, . . ., SN) and  ∈ (1, 2, . . ., ) are random indexes;  is different from ;  , is a random number in the range [−1, 1].After each candidate source position is produced and evaluated by the employed bees, its performance is compared with that of the old food source position.If the new food source position has an equal or better quality than the old source position, the old one is replaced by the new one.Otherwise, the old one is retained.The greedy selection is used.Third, the employed bees transfer their food information to the onlookers.The onlookers tend to further search the food around the selected food source.The onlooker chooses a food source depending on the probability value associated with that food source: where fitness  is the fitness value of the solution which is obtained by the following equation: where   is the objective function value.If the new food source position has an equal or better quality than the old source position, the old one is replaced by the new one.Otherwise, the old one is retained which is the same as the employed bees stage.
At last, if a position cannot be improved further through a number of cycles, which is called Limit for abandonment, that food source is abandoned accordingly.The scout will discover a new food source position randomly using (1) to replace it.

A Novel Artificial Bee
Colony Algorithm (NABC) The new candidate solution is generated around  , in GABC [13].It is different from (6) in which the one is generated around  best, .EABC [15] adopts two different search equations based on different the emphases in the different search stages.NABC uses ( 5) and ( 6) to generate the new solution in the stages of employed bees and onlookers, respectively.In the qABC [16],  best   represents the best Step [−100, 100] 0 Rastrigin [−5.12, 5.12] 0 solution among the neighbors of   and itself (  ).But in the NABC,  best, represents the global best solution.At the same time, in the stages of employed bees and onlookers, the new search equations used in qABC are different from these of the NABC adopted.

The Novel ABC Algorithm (NABC).
The complete computational procedure of the novel ABC algorithm (NABC) is outlined as follows.
Step 2. Randomly generate SN solutions from the search space to create an initial population .
Step 3. Calculate the function values  of the initial population .
Step 5. Calculate the probability values   for the solutions  , by (3).
Step 7 (the scouts stage).If trail > Limit, replace  , with a new produced solution by (1).
Step 8.If cycle number > Maxcycle, stop and memorize the best solution achieved so far; otherwise, go to Step 2.  [18].Functions  7 - 11 are multimodal.To compare with other variance algorithms, the dimension  of every function is 30, 60, or 100, respectively, the same as [15].The dimension  of  11 is 150, 300, or 500.The maximum number of generations is 1500, 3000, or 5000, respectively.The population size is 100, namely, SN = 50, and Limit is 200, which is the same as [15].Each of the experiments is repeated 30 times independently.

Experimental Results
. Figure 1 graphically presents the convergence curves of  1 - 10 functions, respectively.We can see from Figure 1 that, in the later stage of evolution, the standard ABC algorithm enters a long period of stagnation.However, NABC still keeps fast convergence and best performance.
The results of NABC compared with the standard ABC algorithm are shown in Table 2 in terms of the best, worst, median, mean, and standard deviation of the solutions.These results show that the convergence rate of NABC is better than the standard ABC algorithm for most test functions.The rate of convergence obviously increases on  1 - 3 ,  5 ,  7 - 11 functions from Figure 1 and Table 2. NABC can find the optimal solutions on functions  5 ,  7 ,  8 .The convergence rate of NABC is the same order of magnitude as the standard ABC algorithm on  6 .So the superiority of standard ABC algorithm is not very obvious.From the results in Table 2, NABC can obtain better and closer-to-optimal solutions than the standard ABC algorithm for most of the functions.In a word, NABC increases the exploitation greatly.NABC also retains good exploration.Here, "+" indicates that NABC is statistically significantly better than its corresponding competitor algorithm; "≈" stands for that the result of the corresponding algorithm is statistically similar with that of NABC.
NABC is further compared with GABC [13] and EABC [15] in Tables 3 and 4. The results of GABC and EABC are gained from [15] directly.It is clear that NABC works better in almost all the cases and achieves better performance than GABC.The rate of convergence of NABC increases obviously on all functions in Tables 3 and 4. The convergence rate of NABC is a little worse than that of EABC from Table 3.In particular, the convergence rate of Schwefel2.21and Rosenbrock is better than EABC in Table 4.
In Table 7, we can find the execution time of ABC is similar with that of NABC.So, NABC is largely faster than ABC and does not add the execution time.

Knapsack Problems.
We know that Knapsack problem [26] is an engineering optimization problem.It can be defined an unconstrained optimization problem and described as follows: where   is each item's weight and   is each item's profit, respectively.The knapsack has a limited weight capability of .The objective function of this problem is to pack the knapsack so that the items in it have the maximal total profit.The decision variable   is the value one if the item  is packed; otherwise, it is the value zero.And we assume that all profits and weights are positive, and all weights are smaller than the capacity of . is a penalty factor which is set to 10 − 20 in this paper.Tables 8 and 9 are parameters of five standard knapsack problems.The experiments tested on five benchmark 0-1 knapsack problems are performed to compare the performance of NABC with that of standard ABC.The maximum number of generations is set to 2000.The population size is 100, namely, SN = 50, and Limit is 10.Each of the experiments is repeated 30 times independently.

Data Analysis.
In Table 10, we can see that NABC can easily solve the optimum of Knapsack problems.And it can find the optimum in most cases except  5 .ABC has the worst performance, because we can see that it can not find the optimums for  2 and  5 .In short, NABC has a better performance than ABC on solving the five knapsack problems.

Table 1 :
Benchmark functions used in experiments.
to compare the performance of the novel ABC algorithm with that of other improved ABC algorithms.Functions  1 - 4 are unimodal.Function  5 is a discontinuous step function.The Rosenbrock function of  6 which is unimodal when  = 2 and 3 may have multiple minima in the high dimension case 4.1.Numerical Functions.It is applied to minimize a set of 11 scalable benchmark functions in Table 1 to test the efficiency of the novel ABC algorithm.The smaller the final result, the better it is.4.2.Parameter Settings.A set of experiments tested on 11 numerical benchmark functions are performed in this section

Table 2 :
Best, worst, median, mean, and standard deviation values obtained by ABC and NABC through 30 independent runs on 11 functions.

Table 9 :
The optimal solutions of the five benchmark knapsack problems.

Table 10 :
Best, worst, median, mean, and standard deviation values obtained by ABC and NABC.In this paper, we develop a novel artificial bee colony algorithm named NABC.We add the global best solution into the search equation to drive the new candidate solution only around the global best solution in order to improve the exploitation.And the search equation of the employed bees is improved to keep the exploration of algorithm.The experimental results tested on 11 benchmark functions show that the convergence of NABC is much faster than that of other algorithms, and the computing is more effective.At the same time, we apply NABC on solving five standard Knapsack problems and get good optimums.So it is fitted to solve many engineering practical problems.