An Improved Artificial Bee Colony Algorithm Based on Elite Strategy and Dimension Learning

Artificial bee colony is a powerful optimization method, which has strong search abilities to solve many optimization problems. However, some studies proved that ABC has poor exploitation abilities in complex optimization problems. To overcome this issue, an improved ABC variant based on elite strategy and dimension learning (called ABC-ESDL) is proposed in this paper. The elite strategy selects better solutions to accelerate the search of ABC. The dimension learning uses the differences between two random dimensions to generate a large jump. In the experiments, a classical benchmark set and the 2013 IEEE Congress on Evolutionary (CEC 2013) benchmark set are tested. Computational results show the proposed ABC-ESDL achieves more accurate solutions than ABC and five other improved ABC variants.


Introduction
In many real-world applications various optimization problems exist, which aim to select optimal parameters (variables) to maximize (minimize) performance indicators.In general, a minimization optimization problem can be defined by: min f (X), where X is the vector of the decision variables.
ABC simulates the foraging behaviors of bees in nature [6].The processes of bees finding food sources are analogous to the processes of searching candidate solutions for a given problem.Although ABC is effective in many problems, it suffers from poor exploitation and slow convergence rates [31,32].The possible reasons can be summarized in two ways: (1) offspring are in the neighborhood of their corresponding parent solutions and they are near to each other, and (2) offspring and their corresponding parent solutions are similar because of one-dimension perturbation.
In this work, a new ABC variant based on elite strategy and dimension learning (ESDL), called ABC-ESDL, is presented to enhance the performance of ABC.For the elite strategy, better solutions are chosen to guide the search.Moreover, the differences between different dimensions are used to generate candidate solutions with large dissimilarities.In the experiments, a classical benchmark set (with dimensions 30 and 100) and the 2013 IEEE Congress on Evolutionary (CEC 2013) benchmark set are tested.Results of ABC-ESDL are compared with ABC and five other modified ABCs.
The remainder of this work is organized as follows.In Section 2, the concept and definitions of ABC are introduced.Some recent work on ABC is given in Section 3. The proposed ABC-ESDL is described in Section 4. Test problems, results, and discussions are presented in Section 5. Finally, this work is summarized in Section 6.

Artificial Bee Colony
Like other bio-inspired algorithms, ABC is also a population-based stochastic method.Bees in the population try to find new food sources (candidate solutions).According to the species of bees, ABC consists of three types of bees: employed bees, onlooker bees, and scouts.The employed bees search the neighborhood of solutions in the current population, and they share their search experiences with the onlooker bees.Then, the onlooker bees choose better solutions and re-search their neighborhoods to find new candidate solutions.When solutions cannot be improved during the search, the scouts randomly initialize them [33].
Let X i = (x i1 , x i2 , . . ., x iD ) be the i-th solution in the population at the t-th iteration.An employed bee randomly selects a different solution X k from the current population and chooses a random dimension index j.Then, a new solution V i is obtained by [33]: where i = 1, 2, . . ., N, and ϕ ij is randomly chosen from [−1.0, 1.0].As seen, the new solution V i is similar to its parent solution X i , and their differences are only on the j-th dimension.If V i is better than X i , X i is updated by V i .This means that bees find better solutions during the current search.However, this search process is slow, because the similarities between X i and V i are very large.When employed bees complete the search around the neighborhood for solutions, all solutions will be updated by comparing each pair of {X i , V i }.Then, the selection probability p i for each X i is defined as follows [33]: where fit i is the fitness value of X i and fit i is calculated by: where f i is the function value of X i .It is obvious that a better solution will have a larger selection probability.So, the onlooker bees focus on searching the neighborhoods for better solutions.This may accelerate the convergence.For a specific solution X, if employed bees and onlooker bees cannot find any new solutions in its neighborhood to replace it, the solutions maybe trapped into local minima.Then, a scout re-initializes it as follows [33]: where j = 1, 2, . . ., D, [L j , U j ] is the search range of the j-th dimension, and rand j is randomly chosen from [0, 1.0] for the j-th dimension.

Related Work
Since the introduction of ABC, many different ABC variants and applications have been proposed.Some recent work on ABC is presented as follows.
Zhu and Kwong [31] modified the search model by introducing the global best solution (Gbest).Experiments confirmed that the modifications could improve the search efficiency.Karaboga and Gorkemli [34] presented a quick ABC (qABC) by employing a new solution search equation for the onlooker bees.Moreover, the neighborhood of Gbest was used to help the search.Gao and Liu [35] used the mutation operator in differential evolution (DE) to modify the solution search equation of ABC.Wang et al. [32] integrated multiple solution search strategies into ABC.It was expected that the multi-strategy mechanism could balance exploration and exploitation abilities.Cui et al. [36] proposed a new ABC with depth-first search framework and elite-guided search equation (DFSABC-elite), which assigned more computational resources to the better solutions.In addition, elite solutions were incorporated to modify the solution search equation.Li et al. [37] embedded a crossover operator into ABC to obtain a good performance.Yao et al. [38] used a multi-population technique in ABC.The entire population consisted of three subgroups, and each one used different evolutionary operators to play different roles in the search.Kumar and Mishra [39] introduced covariance matrices into ABC.Experiments on comparing continuous optimiser (COCO) benchmarks showed the approach was robust and effective.Yang et al. [40] designed an adaptive encoding learning based on covariance matrix learning.Furthermore, the selection was also adaptive according to the successful rate of candidate solutions.Chen et al. [41] firstly employed multiple different solution search models in ABC.Then, an adaptive method was designed to determine the chosen rate of each model.
In [42], a binary ABC was used to solve the spanning tree construction problem.Compared to the traditional Kruskal algorithm, the binary ABC could find sub-optimal spanning trees.In [43], a hybrid ABC was employed to tackle the effects of over-fitting in high dimensional datasets.In [44], chaos and quantum theory were used to improve the performance of ABC.Dokeroglu et al. [45] used a parallel ABC variant to optimize the quadratic assignment problem.Kishor et al. [46] presented a multi-objective ABC based on non-dominated sorting.A new method was used for employed bees to achieve convergence and diversity.The onlooker bees use similar operations with the standard ABC.Research on wireless sensor networks (WSNs) has attracted much attention [47][48][49].Hashim et al. [50] proposed a new energy efficient optimal deployment strategy based on ABC in WSNs, in which ABC was used to optimize the network parameters.

Proposed Approach
In this section, a new ABC variant based on elite strategy and dimension learning (ABC-ESDL) is proposed.The proposed strategies and algorithm framework are described in the following subsections.

Elite Strategy
Many scholars have noticed that the original ABC was not good at exploitation during the search.To tackle this issue, several elite strategies were proposed.It is expected that elite solutions could help the search and save computational resources.
Zhu and Kwong used Gbest to modify the solution search model as below [31]: where ϕ ij and ϕ ij are two random values between −1.0 and 1.0.Motivated by the mutation strategy of DE, new search equations were designed as follows [32,35]: where X r and X k are two different solutions.
In our previous work [51], an external archive was constructed to store Gbests during the iterations.Then, these Gbests are used to guide the search: where A is randomly chosen from the external archive.
Similar to [51], Cui et al. [36] designed an elite set E, which stores the best ρ*N solutions in the current population, where ρ ∈ (0,1).Based on the elite set, two modified search equations are defined as below: where E l is randomly chosen from the set E. Inspired by the above work, a new search model for the employed bees is designed: where E l is randomly chosen from the elite set E, ϕ ij is a random value between −0.5 and 0.5, and ϕ ij is a random value between 0 and 1.0.As mentioned before, the onlooker bees re-search the neighborhoods of good solutions to find potentially better solutions.Therefore, further searching by the onlooker bees can be regarded as the exploitation phase.How to improve the effectiveness of the onlooker bees is important to the quality of exploitation.Thus, a different method is designed for the onlooker bees: where m = 1, 2, ..., M; M is the elite set size; and E l is randomly chosen from the set E. If a solution X i is selected based on the probability p i , an onlooker bee generates M candidate solutions according to Equation (13).Each candidate solution is compared with X i , and the better one is used as the new X i .The size of the elite set should be small, because a large M will result in high computational time complexity.
To maintain the size of the elite set E, a simple replacement method is used.Initially, the best M solutions in the population are selected into E.During the search, if the offspring V i is better than the worst solution E w in the elite set E, we replace E w with V i .Then, the size of E will be M in the whole search.

Dimensional Learning
In ABC, a random dimension j is selected for conducting the solution search equation.Under this dimension, if their component values are similar, the difference (x ij − x kj ) will be very small.This means that the step size (x ij − x kj ) cannot help X i jump to a far position.If the solution is trapped into local minima, it hardly escapes from the minima.In [52], a concept of dimension learning was proposed.The difference (x ij − x kh ) between two different dimensions is used as the step size, where j and h are two randomly selected dimension indices and j = h.In general, the difference between two different dimensions is large.A large step size may help trapped solutions jump to better positions.
Based on the above analysis, dimension learning is embedded into Equations ( 12) and ( 13).Then, the new search models are rewritten as below: where h is a random dimension and j = h.

Framework of Artificial Bee Colony-Elite Strategy and Dimension Learning
Our approach, ABC-ESDL, consists of four main operations: an elite set updating, an employed bee phase, an onlooker bee phase, and a scout bee phase.The first operation exists in the employed and onlooker bee phases.So, we only present the latter three operations.
In the employed bee phase, for each X i , a new candidate solution V i is created by Equation ( 12).The better one between V i and X i is chosen as X i .If V i is better than E w in the elite set E, E w is replaced by V i .The procedure of the employed bee phase is presented in Algorithm 1, where FEs is the number of function evaluations.

Algorithm 1: Framework of the Employed bee phase
Begin The onlooker bee phase is described in Algorithm 2, where rand(0,1) is a random value in the range [0, 1].Compared to the employed bees, a different search model is employed for the onlooker bees.In Algorithm 1, an elite solution E l is chosen from E randomly, and it is used for generating a new V i .In Algorithm 2, all elite solutions in E are used to generate M new solutions V i because there are M elite solutions.All M new solutions are compared with the original X i , and the best one is used as the new X i .

Begin
Calculate the probability p i by Equation ( 3); Update X i by V i , and set trial i = 0; Update E w , if possible; else trial i = trial i + 1; end if end for t++; end if i = (I + 1)%N + 1; end while End When trial i is set to 0, it means that the solution X i has been improved.If the value of trial i exceeds a predefined value limit, it means that the solution X i may fall into local minima.Thus, the current X i should be reinitialized.The main steps of the scout bee phase are given in Algorithm 3. The framework of our approach, ABC-ESDL, is presented in Algorithm 4, where N represents the population size, M is the elite set size, and MaxFEs is the maximum value of FEs.To clearly illustrate the proposed ABC-ESDL, Figure 1 gives its flowchart.

Test Problems
To verify the performance of ABC-ESDL, 12 benchmark functions with dimensions 30 and 100 were utilized in the following experiments.These functions were employed to test the optimization [53][54][55][56][57][58].Table 1 presents the descriptions of the benchmark set where D is the dimension size, and the global optimum is listed in the last column.

Name Function Global Optimum
Sphere ]

Test Problems
To verify the performance of ABC-ESDL, 12 benchmark functions with dimensions 30 and 100 were utilized in the following experiments.These functions were employed to test the optimization [53][54][55][56][57][58].Table 1 presents the descriptions of the benchmark set where D is the dimension size, and the global optimum is listed in the last column.

Parameter Settings
In the experiments, ABC-ESDL was tested on the benchmark set with D = 30 and 100, respectively.Results of ABC-ESDL were compared with several other ABCs.The involved ABCs are listed as follows: • ABC; To attain a fair comparison, the same parameter settings were used.For both D = 30 and 100, N and limit were equal to 100.For D = 30, MaxFEs was set to 1.5 × 10 5 .For D = 100, MaxFEs was set to 5.0 × 10 5 .The constant value C = 1.5 was used in GABC [31].In MABC, the parameter p = 0.7 was used [35].The archive size m was set to 5 in IABC [51].The number of solution search equations used in ABCVSS was 5 [59].In DFSABC-elite, p and r were set to 0.1 and 10, respectively [36].In ABC-ESDL, the size (M) of the elite set was set to 5. All algorithms ran 100 times for each problem.The computing platform was with CPU Intel (R) Core (TM) i5-5200U 2.2 GHz, RAM 4 GB, and Microsoft Visual Studio 2010.

Comparison between ABC-ESDL and Other ABC Variants
Table 2 shows the results of ABC-ESDL and six other ABCs for D = 30, where "Mean" indicates the mean function value and "Std Dev" represents the standard deviation.The term "w/t/l" represents a summary for the comparison between ABC-ESDL and six competitors.The symbol w represents that ABC-ESDL outperformed the compared algorithms on w functions.The symbol l means that ABC-ESDL was worse than its competitor on l functions.For the symbol t, ABC-ESDL and its compared algorithm obtained the same result on t functions.As shown, ABC-ESDL was better than ABC on all functions except for f 6 .For this problem, all ABCs converged to the global minima.Compared to GABC, our approach ABC-ESDL performed better on nine functions.Both of them attained similar results on three functions.For ABC-ESDL, IABC, and ABCVSS, the same performances were achieved on four functions.ABC-ESDL found more accurate solutions than IABC and ABCVSS for the rest of the eight functions.DFSABC-elite outperformed ABC-ESDL on only one function, f 4 , while ABC-ESDL was better than DFSABC-elite on seven functions.
Table 3 lists the results of ABC-ESDL and six other ABCs for D = 100.From the results, ABC-ESDL surpassed ABC on all problems.ABC-ESDL, ABC, and IABC retained the same results on f 6 and f 8 .ABC-ESDL obtained better solutions for the rest of the ten functions.Compared to MABC and ABCVSS, ABC-ESDL was better on seven functions.Three algorithms had the same performance on five functions.DFSABC-elite outperformed ABC-ESDL on two functions, but ABC-ESDL was better than DFSABC-elite on five functions.Both of them obtained similar performances on five functions.By the suggestions of [53,56], a nonparametric statistical test was used to compare the overall performances of seven ABCs.In the following, the mean rank of each algorithm on the whole benchmark set was calculated by the Friedman test.Table 4 gives the mean rank values of seven ABCs for D = 30 and 100.The smallest rank value meant that the corresponding algorithm obtained the best performance.For D = 30 and 100, ABC-ESDL achieved the best performances, and DFSABCelite was in second place.For D = 30, both MABC and ABCVSS had the same rank.When the dimension increased to 100, ABCVSS obtained a better rank than MABC.By the suggestions of [53,56], a nonparametric statistical test was used to compare the overall performances of seven ABCs.In the following, the mean rank of each algorithm on the whole benchmark set was calculated by the Friedman test.Table 4 gives the mean rank values of seven ABCs for D = 30 and 100.The smallest rank value meant that the corresponding algorithm obtained the best performance.For D = 30 and 100, ABC-ESDL achieved the best performances, and DFSABC-elite was in second place.For D = 30, both MABC and ABCVSS had the same rank.When the dimension increased to 100, ABCVSS obtained a better rank than MABC.

of Different Strategies
There are two modifications in ABC-ESDL: elite strategy (ES) and dimension learning (DL).To investigate the effects of different strategies (ES and DL), we tested different combinations between ABC, ES, and DL on the benchmark set.The involved combinations are listed as below: For the above four ABC algorithms, the parameter settings were kept the same as in Section 5.3.The parameters MaxFEs, N, limit, and M were set to 5000*D, 100, 100, and 5, respectively.All algorithms ran 100 times for each problem for D = 30 and 100.
Table 5 presents the comparison of ABC-ESDL, ABC-ES, ABC-DL, and ABC for D = 30.The best result for each function is shown in boldface.From the results, all four algorithms obtained the same results on f 6 .ABC was worse than ABC-ES on eight problems, but ABC-ES obtained worse results on three problems.ABC-DL outperformed ABC on ten problems, while ABC-DL was worse than ABC on only one problem.ABC-ESDL outperformed ABC-DL and ABC on 11 problems.Compared to ABC-ES, ABC-ESDL was better on ten problems, and both of them had the same performances on the rest of the two problems.Table 6 gives the results of ABC-ESDL, ABC-ES, ABC-DL, and ABC for D = 100.The best result for each function is shown in boldface.Similar to D = 30, we can get the same conclusion.ABC-ESDL performed better than ABC, ABC-ES, and ABC-DL.ABC-ES was better than ABC-DL on most test problems, and both of them outperformed the original ABC.For the above analysis, ABC with a single strategy (ES or DL) achieved better results than the original ABC.By introducing ES and DL into ABC, the performance of ABC-ESDL was further enhanced, and it outperformed ABC and ABC with a single strategy.This demonstrated that both ES and DL were helpful in strengthening the performance of ABC.

Results of the CEC 2013 Benchmark Set
In Section 5.3, ABC-ESDL was tested on several classical benchmark functions.To verify the performance of ABC-ESDL on difficult functions, the 2013 IEEE Congress on Evolutionary (CEC 2013) benchmark set was utilized in this section [60].
In the experiments, ABC-ESDL was compared with ABC, GABC, MABC, ABCVSS, and DFSABC-elite on the CEC benchmark set with D = 30.By the suggestions of [60], MaxFEs was set to 10,000*D.For other parameters, the same settings were used as described in Section 5.3.For each test function, each algorithm was run 51 times.Throughout the experiments, the mean function error value (f (X) − f (X*)) was reported, where X was the best solution found by the algorithm in a run, and X* was the global optimum of the test function [60].
Table 7 presents the computational results of ABC-ESDL, DFSABC-elite, ABCVSS, MABC, GABC, and ABC on the 2013 IEEE Congress on Evolutionary (CEC 2013) benchmark set, where "Mean" indicates the mean function error values and "Std Dev" represents the standard deviation.The best result for each function is shown in boldface.From the results, ABC-ESDL outperformed ABC and GABC on 25 functions, but it was worse on the rest of the three functions.Compared to MABC, ABC-ESDL achieved better results on 20 functions, but MABC was better than ABC-ESDL on the rest of the eight functions.ABC-ESDL performed better than ABCVSS and DFSABC-elite on 21 and 22 functions, respectively.From the above analysis, even for difficult functions, ABC-ESDL still obtained better performances than the compared algorithms.

Conclusions
To balance exploration and exploitation, an improved version of ABC, called ABC-ESDL, is proposed in this paper.In ABC-ESDL, there are two modifications: elite strategy (ES) and dimension learning (DL).The elite strategy is used to guide the search.Good solutions are selected into the elite set.These elite solutions are used to modify the search model.To the size of the elite set, a simple replacement method is employed.In dimension learning, the difference between different dimensions can achieve a large jump to help trapped solutions escape from local minima.The performance of our approach ABC-ESDL is verified on twelve classical benchmark functions (with dimensions 30 and 100) and the 2013 IEEE Congress on Evolutionary (CEC 2013) benchmark set.
Computational results of ABC-ESDL are compared with ABC, GABC, IABC, MABC, ABCVSS, and DFSABC-elite.For D = 30 and 100, ABC-ESDL is not worse than ABCVSS, MABC, IABC, GABC, and ABC.DFSABC-elite is better than ABC-ESDL on only one problem for D = 30 and two problems for D = 100.For the rest of problems, ABC-ESDL outperforms DFSABC-elite.For the 2013 IEEE Congress on Evolutionary (CEC 2013) benchmark set, ABC-ESDL still achieves better performances than the compared algorithms.
Another experiment investigates the effectiveness of ES and DL.Results show that ES or DL can achieve improvements.ABC with two strategies (both ES and DL) surpasses ABC and ABC with a single strategy (ES or DL).It confirms the effectiveness of our proposed strategies.
For the onlooker bees, offspring is generated for each elite solution in the elite set.So, an onlooker bee generates M new solutions when a parent solution X i is selected.This complexity will increase the computational time.To reduce the effects of such computational effort, a small parameter M is used.In the future work, other strategies will be considered to replace the current method.In addition, more test functions [61] will be considered to further verify the performance of our approach.

Figure 1 .
Figure 1.The flowchart of the proposed artificial bee colony-elite strategy and dimension learning (ABC-ESDL) algorithm.

Figure 1 .
Figure 1.The flowchart of the proposed artificial bee colony-elite strategy and dimension learning (ABC-ESDL) algorithm.

Figure 2
Figure2presents the convergence processes of ABC-ESDL, DFSABC-elite, MABC, and ABC on selected problems with D = 30.As seen, ABC-ESDL was faster than DFSABC-elite, MABC, and ABC.For f 1 , f 2 , f 10 , and f 12 , DFSABC-elite converged faster than MABC and ABC.For f 5 , DFSABC-elite was the slowest algorithm.ABC was faster than DFSABC-elite on f 7 .For f10, ABC-ESDL was slower than DFSABC-elite at the beginning search stage, and it was faster at the last search stage.

Figure 2
Figure2presents the convergence of ABC-ESDL, DFSABC-elite, MABC, and ABC on selected problems with D = 30.As seen, ABC-ESDL was faster than DFSABC-elite, MABC, and ABC.For f1, f2, f10, and f12, DFSABC-elite converged faster than MABC and ABC.For f5, DFSABC-elite was the slowest algorithm.ABC was faster than DFSABC-elite on f7.For f10, ABC-ESDL was slower than DFSABC-elite at the beginning search stage, and it was faster at the last search stage.

Table 3 .
Results of ABC-ESDL and six other ABC algorithms for D = 100.

Table 4 .
Mean ranks achieved by the Friedman test for D = 30 and 100.
* The best rank for each dimension is shown in boldface.

Table 5 .
Comparison of ABC with different strategies (D = 30).
* The best result for each function is shown in boldface.

Table 6 .
Comparison of ABC with different strategies (D = 100).

Table 7 .
Results on the CEC 2013 benchmark set.