An enhanced artificial bee colony algorithm based on fitness weighted search strategy

Artificial Bee Colony (ABC) algorithm is a meta-heuristic algorithm, is inspired by the bee’s food search behaviour based on swarm intelligence. Successful applications were performed on many optimization problems using this algorithm rising in popularity over the past few years. The update mechanism of the ABC algorithm, despite the fact that its exploration is good, faces the problem of convergence performance. For solving convergence problem of ABC Algorithm An Artificial Bee Colony Algorithm Based Fitness Weighted Search (ABCFWS) algorithm proposed in this paper. In this approach, an intelligent search space is proposed instead of the random search space of the ABC algorithm. In this method, the fitness values of the food source and the selected neighbour food source are taken as weights and a more balanced search space was found in the direction of the food source with better fitness value. The proposed method has been applied to 28 unconstrained numerical optimization test problems with different characteristics and the results were compared with the ABC algorithm variations. The results show that the proposed method is successful and competitive.


Introduction
The artificial bee colony (ABC) algorithm has been developed in 2005 by Dervis Karaboga who inspired by bee's food search behaviour [1]. So far, the ABC algorithm has been tested on several optimization problems and successful results have been obtained [2][3][4][5]. In addition to optimization problems, the ABC algorithm is used for improving image contrast in the field of image processing [6], increasing the performance of optical CDMA networks [7], clustering of large-scale data [8], large scale data clustering [9], optimizing network attacks in cyber security [10], minimizing of network attacks in the field of cybersecurity [11], solving the vehicle routing problem [11], estimating the multipurpose optimal power flow [12], training of artificial neural networks [13] and routing in wireless sensor networks [14].
While the search strategy of the ABC algorithm has a good exploration capability [15], its exploitation capability causes a weak convergence problem in this algorithm as in other evolutionary based algorithms [16]. The random method used to find a new food source in the ABC algorithm causes uncertainty whether the search direction is a good or a bad direction. This situation leads to instability in the search strategy of the ABC [17]. Until today, a lot of improvements have been done to improve the performance of the ABC algorithm. These improvements can basically be considered under two main groups; the first is the hybridization with the other algorithms, the second is to develop a new search strategy or to improve the existing search strategies [17,18].
An important factor in the success of the ABC algorithm is neighbour selection when developing a search strategy. There are fitness-based neighbour and distance-based neighbour selection mechanisms [16]. In the fitness-based method, individuals with better fitness are more likely to be selected. In the distancebased method, the individuals that are nearer to the parent individual are more likely to be selected. The performance of the ABC is improved using both of them [16]. In order to investigate the neighbourhood structure of the swarm system and the diffusing mechanism in the ABC algorithm, the search strategy of the algorithm is improved by adapting the basic components of Cellular Automata [17]. In another study that improves the search capability of the ABC algorithm, the bees are placed on the nodes of the scale-free network in each iteration, the bees with a high-quality food source are placed on high nodes and the bees with low-qualities are placed on low nodes. Then, the probability of connecting low-quality bees to high-quality bees is increased by the power law distribution property which is applied to nodes. In this way, each individual is forced to receive information from its neighbours and therefore, the convergence speed of the algorithm and exploitation ability are increased [28].
The latest research of the ABC algorithm; Kiran and et al. [29] suggested a method that selects the best update method and a learning strategy according to the optimization problem. Babaoglu [30] produced new candidate solutions using the mean and standard deviation values of two food sources selected in the food source update procedure. Gao et al. [31] proposed a method of generating new candidate solutions, which was inspired by the differential evolution algorithm, by allowing each bee to search around the global best in the previous iteration. Yang et al. [15] proposed an adaptive encoding learning (AEL) method that learns the distribution of information in the current population and produces a new candidate solution accordingly. In this method, besides the existing coordinate system of the ABC algorithm, they used eigen coordinate system guided by a covariance matrix learning strategy. A coordinate system is selected based on a probability vector that determines the selection rate. An adaptive selection mechanism based on the success rate of each coordinate system in each learning phase of the method is improved by balancing the exploration and exploitation abilities of the AEL.
In this paper, in order to eliminate the negativity of the uncertain search direction of the ABC, we propose a method for creating a centre of weight by taking into account the fitness values of the current food source and the neighbour food source. This method based on the centre of weight causes the search direction to move towards the food source with better fitness value. The proposed method provides to search in a good region of the solution space. The test results show that the proposed method is more successful than the variants of the ABC.
The remainder of the paper is organized as follows: In Section 2, we give a brief overview of the original ABC algorithm. We propose an Improved ABC Algorithm Based on Fitness Weighted Search (ABCFWS) in Section 3. We introduce test functions in Section 4, give some computational results and analysis of our comparative study in Section 5. Finally, in Section 6, we present our conclusions.

Artificial Bee Colony Algorithm
The ABC algorithm is inspired by the intelligent swarming behaviour of honey bees in the foraging processes of natural life. In this algorithm, there are three types of bees; employed bees, onlooker bees and scout bees. Employed and onlooker bees are equal in number. One half of the colony comprises employed bees and the other half consists of the onlooker bees. Each bee represents a food source, the location of a food source represents a candidate solution to the optimization problem and the amount of nectar indicates the fitness value of the corresponding solution.
The initial values of the ABC algorithm are a population P as well as SN individuals in the D-dimensional search space. The initial values of an individual X i = (x i,1 , x i,2 , . . . , x i,D ) which represents a food source are generated using Equation (1). New individuals in the subsequent search strategy are constructed using Equation (2).
where individuals x min,j and x max,j are the lower value and the upper value of the generated solution set, respectively, ∅ i,j is a random number in [−1,1], x k,j is randomly selected neighbour and j ∈ 1, 2, . . . , D, k ∈ 1, 2, . . . , SN. Afterward, by a greedy selection according to the quality of the nectar amount, the best solution is chosen from the previous and current solutions. The update process of the onlooker bees is the same as the employer bees. However, the main difference between them is based on the choice of potential food sources according to the probabilities calculated by the fitness values. The probability value p i of an onlooker individual is calculated using Equations (3) and (4).
where f i is the objective function value. If a position cannot be further developed in a predetermined number of loops, then it is assumed that the food source has been left (abandoned). The value of the predetermined number of loops is an important control parameter called the abandonment limit in the ABC algorithm. Assuming that the abandoned food source is X i , then the scout bee as X i produces a random (Equation (1)) food source.

Proposed approach for the ABC algorithm
Although the ABC algorithm has a strong global search capability, it suffers from a weak convergence rate and loses the balance between exploration and exploration in the search strategy [17]. Once the initial population of the algorithm is constructed by Equation (1), a new solution is obtained by Equation (2). If improvement is achieved with the new solution, then the algorithm moves towards the optimal solution according to the quality of the solution otherwise it will not progress. The choice of neighbour x k,j in Equation (2) plays an important role in the success of the ABC algorithm. However, a random selection of neighbour x k,j , regardless of its success, has a negative effect on the overall success. In order to eliminate this negativity, the ABC algorithm uses a new search space instead of the original one that is obtained using the fitness values of the updated bee and its neighbour ( Figure 1). In the ABC algorithm, in order to move towards the good food source, a new value is obtained between the value of the randomly selected neighbour and the value of the current position. There is no control over whether the direction of the new value is good or bad, that is, the search strategy selects a random direction.
In this study, the search space is made more balanced by considering the fitness values of the solution for both food sources. Figure 1(a) shows the original search space of the ABC algorithm. As can be seen in Figure 1(b), in the proposed method, we combined two search spaces, each of length the ABC search space, in two different directions which intersect with each other. It is easily seen that the ABCFWS search space is larger than the ABC search space. Moreover, it is shown in Figures 2  and 3 that the search space searches in the specified space due to the iterations. In the proposed method, a new value is obtained by considering the weight of the fitness value as in Equation (5). In Equal 5 if the value of the current fitness (Fit i is better than the randomly selected neighbour Fit k fitness, the direction of the update function is directed to the current solution. If not, the direction of the update function is directed to the randomly selected neighbour. The new value is updated as in Equation (6) in a manner similar to the original ABC algorithm.
where i is the index of the food source, j is a randomly selected value of the D-dimensional solution set and k is the randomly selected neighbour's index. Accordingly, W i,j is the new weight value obtained for the Step sin(x i )sin 20 i * x 2 i π (continued).
proposed method, Fit i is the fitness value of the current solution and Fit k is the fitness value of the neighbour solution which is chosen randomly. The new weight value obtained by Equation (5) is used in Equation (6) in the ABC algorithm.
Here, by replacing the current value x i,j in Equation (2) of the original ABC algorithm with the weighted W i,j value, the search strategy becomes balanced and able to search better. The fitness values used in the weighting of the proposed method for each iteration are shown in Figure 2. A comparison of the new values obtained according to these fitness weights with the old values is given in Figure 3.
It is seen in Figures 2 and 3 that the proposed method obtains more balanced values in the intervals indicated in Figure 1 than the ABC algorithm. Figure 2 shows the fitness values of the food source of the selected neighbour to be updated. Figure 3 shows the new values obtained by the original ABC algorithm and the proposed method depending on the same fitness value. When Figure 3 is examined, it can be seen that the new values obtained by the proposed method are closer to the value of the good food source. This principle is the key success factor of the proposed method.

Benchmark functions
In order to investigate the convergence and analyse the performance of the ABCFWS algorithm, 28 unconstrained numerical optimization test functions which are commonly used in the literature are given in Table 1 [29]. The selected problems have unimodal (U), multimodal (M) or separable (S) and non-separable (N) properties as indicated in column C in Table 1 so that they can test different properties of the algorithms. As additional information, the shifted vector in the functions F24-F28 is generated randomly in the search intervals of the problems.

Experimental settings
The proposed ABCFWS algorithm has been tested on 28 test functions. We perform 30 independent runs for each instance to get reliable statistical results. The dimensions of the test functions other than F22 and F23 are 30, 60 and 100. For functions F22 and F23, the dimensions are set to 100, 200 and 300.
In all experimental tests and comparisons, the swarm size is chosen as NP = 40, the number of employee bees or food sources is chosen as half of the swarm, i.e. SN = NP / 2. Scout bees are chosen as the other half of the swarm.
The value of abandonment limit is taken as limit = D * SN in the ABC, GABC and ABCVSS algorithms and as limit = 0.6 * D * N in the ABC/Best/2 algorithm [31].
For a fair comparison, the parameter maxFEs (maximum number of the function evaluations) is set to 150,000, 300,000 and 500,000 for the functions with D = 30, D = 60 and D = 100, respectively.

Experimental results
In addition to the standard deviation and average performance data which are used to investigate the accuracy and robustness of the solutions obtained in optimization algorithms, convergence graphs are an important metric for the comparison of algorithms in the computational test.
The comparison of the proposed ABCFWS algori thm with the original ABC algorithm and the ABCVSS algorithm [29] in terms of their evolutionary processes and convergence characteristics for the first 5000 iterations of the solutions on the 15 test problems is given in Figure 4.
According to Figure 4, the proposed ABCFWS algorithm yields convergence rates worse than the ABCVSS only for F4, worse than the ABC and the ABCVSS for F10 and worse than the ABC for F14. When we analyse the convergence graphs, we can easily see that the proposed ABCFWS algorithm converges more quickly for 12 of the problems. Considering these convergence graphs in general, it is seen that the proposed algorithm obtains a better convergence rate than the other algorithms.
In addition to the convergence graphs, mean and standard deviation values of 30 independent experimental test results are obtained to analyse the    performance of the ABCFWS algorithm. We compare these results with the values of the same test functions obtained by the ABC algorithm and its some variants such as the GABC [18], ABC/Best/2 [31], MABC [32], ABCVSS [29] algorithms. A comparison of experimental results for the test functions with D = 30, D = 60 and D = 100 is presented in Tables 2-4, respectively. When the tables comparing ABCFWS algorithm, which is presented above, with ABC, GABC, ABCBest2, MABC, ABCVSS algorithms were examined, the ABCFWS algorithm gives better or the same results in 23 of 28 problems, worse results in 5 problems compared to the other algorithms in which the problem dimension has been taken as D = 30 in Table 2. Of these problems, while 15 of them give better results, in 8 of them optimal results have been reached, thus they are equivalent to other algorithms. However, when Table 3 which has the problem dimension as D = 60 was examined, better or the same results have been obtained in 24 of the 28 problems, worse results have been obtained in 4 of them. Of these successful and the same results while 13 of them are better results, in 11 problems, the same results have been achieved in some or one of the other algorithms. Finally, when Table 4, which has problem dimension as D = 100, was studied, while of the 28 problems tested better or the same results are gained in 21 of them with the proposed ABCFWS algorithm, worse results are found in 7 of them. Among these 21 problems 10 problems give better results and 11 problems give the same results.
Considering all the comparison tables, the same results were found for F7, F11, F12 and F22 in all tests. In Tables 2-4 for F10, F23 and F28 a worse performance, for F7, F11, F12, F22 and F25 an equivalent performance and for the rest of the problems a better performance was achieved compared to the original ABC algorithm.
While obtaining good performances in most of the problem dimensions with the proposed ABCFWS method, this method has shown lower performance in F14, F18 and F28 test functions, and equal performance in F7, F11, F12 and F25 test functions.
As a consequence of the experimental test results and comparisons, the proposed ABCFWS has shown better convergence performance in most of the tested problems and better mean and standard deviation values have been obtained in comparison tables. In light of these good results, this new improvement in the ABC algorithm has been shown to be more stable and successful.

Conclusion
In this study, the performance of the ABC algorithm has been improved by making the search direction balanced in the search strategy of the ABC algorithm towards individuals with better fitness. In order to evaluate the performance of the proposed method, experimental tests were performed on 28 numerical unconstrained test functions with different characteristics. According to the comparison results in the convergence graphs, it was observed that the proposed ABCFWS algorithm has achieved better convergence success. In addition to the convergence success, mean and standard deviation values of 30 independent experimental test results on the test functions with D = 30, D = 60 and D = 100 were compared between the proposed method ABCFWS and the original ABC algorithm and its some variants which are the GABC, ABC/Best/2, MABC, ABCVSS algorithms. Considering the results presented in the comparison tables, we obtained better or the same results for 23 problems out of 28 problems, however, we obtained worse results for 5 problems.
In conclusion, the search strategy of the proposed ABCFWS algorithm in the solution (search) space is successful and competitive.

Disclosure statement
No potential conflict of interest was reported by the author(s).