An Efficient Universal Bee Colony Optimization Algorithm

The artificial bee colony algorithm is a global optimization algorithm. The artificial bee colony optimization algorithm is easy to fall into local optimal. We proposed an efficient universal bee colony optimization algorithm (EUBCOA). The algorithm adds the search factor u and the selection strategy of the onlooker bees based on local optimal solution. In order to realize the controllability of algorithm search ability, the search factor u is introduced to improve the global search range and local search range. In the early stage of the iteration, the search scope is expanded and the convergence rate is increased. In the latter part of the iteration, the algorithm uses the selection strategy to improve the algorithm accuracy and convergence rate. We select ten benchmark functions to testify the performance of the algorithm. Experimental results show that the EUBCOA algorithm effectively improves the convergence speed and convergence accuracy of the ABC algorithm.

The artificial bee colony algorithm (ABC) is a swarm intelligent algorithm proposed by Turkish scholar Karaboga in 2005. The idea of the ABC algorithm is inspired by the colonies which exchange information and cooperate mutually to complete the mining task [6]. The information contains the distance between the hive and the food source, the direction, and the cost of the food source. Compared with other algorithms, the artificial bee colony algorithm has the advantages of simple operation, few control parameters, high searching precision and strong robustness [7,8]. It has been widely used in network routing [9], robot path planning [10], linear dynamic systems [11], Linear Quadratic Optimal Controller [12] and PID controller [13].
Contributions. The EUBCOA algorithm introduces the search factor u on the basis of the adaptive factor φ. It balances effectively the global rapid development capability and the local fine mining ability, and changes the imperfection of the search ability. In the early stage of the iteration, the fitness of the nectar is smaller and the distance from the global optimal solution is far away, the search range is expanded and the probability of finding the optimal solution is accelerated. In the later stage of the iteration, the fitness of the nectar is close to the global optimal solution, and the search range is reduced and the precision is improved. At the same time, the algorithm is inspired by the PSO algorithm. Through introducing the idea of the current optimal solution, the onlooker bees are always followed by the local optimal solution found by the employed bees. The global optimal solution is found in the neighborhood of the local optimal solution, which improves the convergence speed of the algorithm. Through the experiments of different types of test functions, the results show that the EUBCOA algorithm has the highly efficient universal optimization ability.
Related works. Many experts and scholars have been exploring an efficient optimization algorithm that adapts to a variety of problems. In many studies, some optimization algorithms show better performance in global search [14]. Some algorithms get better results in local search [15]. These optimization algorithms are implemented by introducing adaptive factors, adjusting perturbation, coordinate coding transform, extreme value optimization, and gravitational influence [16][17][18]. Among them, Santos et al. [16] introduced the inertia diminishing weight to change neighborhood search capabilities. It increased the weight and expanded the search range in the early iteration. In the latter part of the iteration, it searched for excluded local optimal solution, and reduced the weight. Experiments showed that the improved algorithm had achieved good experimental results and played a balance between local and global search. Zhu et al. [17] was inspired by the PSO algorithm, and proposed the Gbestguided artificial bee colony algorithm for numerical function optimization. In the neighborhood search equation, the algorithm used global optimal solution to increase the disturbance. After several experiments, it was verified that the improved algorithm had better optimization effect. Yi et al. [18] used the quantum artificial bee colony optimization algorithm based on Bloch coordinates of quantum bit. The nectar was encoded through the quantum Bloch coordinates, and updated the nectar with a quantum revolving door, expanded the search range for the employed bees. The experimental results showed that the improved algorithm greatly improved the range of finding the optimal solution.
In view of the lack of convergence accuracy, many scholars had also proposed some improved version [19][20]. Banharnsakun et al. [19] proposed the historical global optimal solution instead of all random neighborhoods, and adjusted the neighborhood search step according to the fitness of the historical global optimal solution. As the neighborhood step decreased, it gradually converged to the optimal solution. The experimental results showed that the improved algorithm had a better optimization effect on the set of test functions, which improved the convergence precision and convergence speed. Ge et al. [20] proposed an efficient optimization mechanism based on extreme optimization strategy to redesign the local search scheme of the onlookers in the ABC algorithm. It selected the worst part of the individual to random variation, and unconditionally accepted new individuals generated by mutation. The optimization process was regarded as the evolution of complex problems. Through the experiment of multiple set of test functions, it was proved that the improved algorithm had better performance and improved the optimization precision and convergence speed of the algorithm. TSai et al. [21] suggested gravitational effects between the employed bees and the onlooker bees. The employed bees and the onlooker bees would show different search results to improve the performance of the algorithm. When assigned different control parameter values and different numbers of the employed bees and the onlooker bees, you could find different search results under the influence of gravitational attraction. This paper is organized as follows. In section 2, the main contents and steps of the traditional ABC algorithm is introduced. In section 3, the improvements and steps of the EUBCOA algorithm is introduced. In section 4, the experiments results of different types of test functions are revealed in order to illustrate the performance of the EUBCOA algorithm. Finally, the conclusion is given in section 5.

ARTIFICIAL BEE COLONY ALGORITHM
The position of the nectar i is initialized. In the search space the position randomly generates as the Eq. (1), Xid is a randomly generated position after the onlooker bees initialize the nectar. Where U d and L d are the lower and upper limits of the bees searching for honey, is a randomly selected dimension, The employed bees generate the random position according to Eq. (1) and randomly search for the new nectar V id , according to Eq. (2), and j ≠ i, φ is a random number source between [−1, 1], After calculating the new nectar, the employed bees calculate the fitness of the new nectar according to Eq. (3). f i is the fitness value of the nectar and is also the objective function value. When the fitness of the new nectar The onlooker bees according to the nectar information provided by the employed bees, in the light of the roulette way, the Eq. (4) calculates the probability of the nectar provided by the employed bees to be followed, Determine if the algorithm satisfies the termination condition. When the number of iterations trial reaches the limit, the algorithm is terminated if it hasn't been updated, and it goes to (2) to find the new nectar again. When the number of iterations trial does not reach the limit, it continues to search for the optimal solution. 1 rand(0, 1)( ), trial limit , trial limit

AN EFFICIENT UNIVERSAL BEE COLONY OPTIMIZATION ALGORITHM
The search range of the traditional ABC algorithm is uncontrollable, which will make the time complexity of the algorithm higher. At the same time, when the onlooker bees update the nectar which is produced by information exchange between the employed bees, is used to update the position of the onlooker bees. It will also reduce the efficiency of the algorithm. In view of this, this paper presents an efficient universal bee colony optimization algorithm. The flow chart of the EUBABC algorithm is given in Fig. 1. The pseudo-code of the EUBCOA algorithm is given in Fig. 2. Technical Gazette 27, 1(2020), 320-332

The Improvement of the Search Factor
The adaptive factor φ of the traditional ABC algorithm is the random number of [−1, 1]. The search range is uncontrollable. At the same time, it increases the time in which the employed bees find the local optimal solution and the onlooker bees find the global optimal solution. It also makes the convergence rate slow. In view of this, in order to have different adjustments at different times, the algorithm can find the target area better [22]. At the same time without affecting the randomness of the range of the original adaptive factor [−1, 1], this paper proposes the search factor u which plays a guiding role in the search trend of the position of the nectar [23]. We set the adjustment formula of the search factor u as follows: where fit i is the fitness of the nectar after the last iteration of the employed bees. Optimization criteria which are used to evaluating fitness are to be chosen in applying optimization method. k is an adjustable random number. The exponential function is used to expand the search range in the early iteration. After introducing the search factor u, the updated nectar position is as follows: It can be seen that the search range of the algorithm depends on the adaptability of different nectar. The corresponding search range can be improved at different times and the efficiency of the algorithm can be improved. At the same time, the search range decreases with the increase of fitness. In the early stage of the iteration, if the fitness of the nectar is smaller and the objective function is larger, the distance between the nectar and the local optimal solution is larger. Then the search range is expanded and the probability of finding the optimal solution is increased. In the latter part of the iteration, the fitness of the nectar is larger and the distance between the nectar and the local optimal solution is smaller. Then the search range is reduced and the rate of finding the global optimal solution is increased. The global fast development capability and the local fine mining ability are effectively balanced.

The Selection Strategy of the Onlooker Bees based on Local Optimal Solution
The ABC algorithm includes the global search of the employed bees and the local search of the onlooker bees. The number of bees used is equal to the number of food sources since each employed bee is associated with one and only one food source. When the onlooker bees update the nectar, they select the position of the nectar which is provided by the employed bees in accordance with the roulette way [24]. It will also reduce the efficiency of the algorithm. In order to make the onlooker bees find the global optimal solution quickly, the employed bees exchange the nectar position information, which is updated to the local optimal solution position. The onlooker bees search surrounding local optimal solution. In this way, the convergence speed and accuracy of the algorithm are improved. Therefore, we introduce the local optimal solution. The formula is: In Eq. (8), the method of calculating the fitness is used as the judgment condition, X P(i),d is the local optimal solution quoted by the onlooker bees when it updates the nectar. fit i is the fitness value of the nectar. If the fitness of the new nectar is found by the employed bees that it is greater than the fitness of the local optimal solution in the previous iteration, the new nectar is updated as the local optimal solution. If the fitness of the new nectar is less than the fitness of the local optimal solution in the previous iteration, the original nectar is set as the local optimal solution. After finding the local optimal solution, the new updated formula of the onlooker bees is: In ABC algorithm, the position of onlooker bees is updated after the employed bees exchange the information. In Eq. (9), the position of the nectar provided by the employed bees is updated according to the employed bees with local optimums. At the same time, the part of the formula is the same as the employed bees, and the search factor u is added on the basis of the adaptive factor φ. When the optimal solution is close to the global optimal solution, the fitness of the nectar becomes larger, the search factor u becomes smaller and the variation is smaller. The range becomes smaller which increases the probability of finding the global optimal solution.

The Specific Steps of the Improved Algorithm
Step 1: Algorithm initialization. Initialize the number of population, the number of iterations, the search factor u and the new parameters of the local optimal solution XP(i),d. The position of the nectar is initialized according to the assigned parameters.
Step 2: The employed bees according to Eq. (7) search for the new nectar in the search space and calculate the fitness of the new nectar. If it is better than the original nectar, then update the nectar, otherwise retain the original nectar.
Step 3: The onlooker bees choose the employed bees with roulette way, according to Eq. (8) to determine whether the local search of the nectar is the local optimal solution founded by the employed bees.
Step 4: If it is the local optimal solution, the onlooker bees according to the Eq. (9) search the local nectar and update the nectar. Then calculate the fitness and compared with the original fitness, finally update the global optimal position.
Step 5: After several iterations, if the fitness of the nectar has still no improvement, then the employed bees become the detective bees and continue to search for the new nectar.

EXPERIMENT AND ANALYSIS
In this experiment, we select ten benchmark functions [25], which are shown in Tab. 1. Among them f1, f 2 , f 3 , f 4 , f 5 are the single-mode benchmark functions, as shown in Fig. 3. f 6 , f 7 , f 8 , f 9 , f 10 are the multi-mode Benchmark functions with a large number of local extreme points, as shown in Fig. 3.

Experimental Design
In order to verify the performance of the improved algorithm, the EUBCOA algorithm first compares with meta heuristic algorithms such as the PSO algorithm, the CS algorithm and the ABC algorithm. And then the EUBCOA algorithm compares performance with improved ABC algorithms such as the HABC algorithm [26] and the CABC algorithm [27]. The experimental parameters are set as follows: the maximum number of iterations of the algorithm is 1000, the function dimension defaults to 50, and the k value of the slope of the convergence rate is 6. The experimental environment is Intel (R) Core (TM) i5-4590S 3.00 GHz, 8 GB memory, Windows7 Ultimate 32-bit operating system, the programming software is the MATLAB R2010a.

Experimental Results and Analysis
Tab. 2 shows the results of the ten benchmark functions with 50 times the number of iterations of 1000 times and the population size of 30. The experimental results show that the best results of the EUBCOA algorithm are superior to the other three algorithms in the f 1 , f 2 , f 5 and f 4 functions for the single-mode benchmark function. The searching precision of the f 3 function is slightly stronger than that of the ABC algorithm. The multi-modal benchmark function has large local extremum. The EUBCOA algorithm improves the searching precision significantly in the functions f 6 , f 7 , f 8 and f 9 . The EUBCOA algorithm is better than the ABC algorithm in the f 10 function, and the optimal mean and mean square error are also superior to the other three algorithms. On the function f 2 , the EUBCOA algorithm has an accuracy rating of 10 −6 , while the ABC algorithm, the CS algorithm and the PSO algorithms are 10 −4 , 10 2 and 10 −1 , respectively. The advantages are also obvious in the functions f 1 , f 3 and f 9 .    For the single-mode benchmark function, the experimental results of Tab. 3 show that the average searching precision of the EUBCOA algorithm is 10 −6 . The average searching precision of the ABC algorithm, the CS algorithm and the PSO algorithm is about 10 −4 , 10 −3 and 10 4 . For the multi-mode benchmark function, the average searching precision of the EUBCOA algorithm is 10 −6 . The average searching precision of the ABC algorithm, the CS algorithm and the PSO algorithm is about 10 −3 , 10 −1 and 10 2 respectively. It is shown that the EUBCOA algorithm has better performance than the other three algorithms in terms of optimization accuracy. The experimental data in Tab. 2 and Tab. 3 show that the search factor u can effectively improve the local search ability and the global search ability of the ABC algorithm.    Figure 4 Convergence curves of 10 benchmark functions Fig. 4 compares the search routes of the EUBCOA algorithm, the ABC algorithm, the CS algorithm and the PSO algorithm. It is verified that the EUBCOA algorithm can improve the convergence speed, convergence precision and the performance of the ABC algorithm in the number of iterations. Fig. 4 is an experimental result of the optimization of the function by the EUBCOA algorithm, the ABC algorithm, the CS algorithm and the PSO algorithm. For the convenience of observation, the output value is taken as the base 10 logarithm. It can be seen from the experimental results that the EUBCOA algorithm is superior to the other three algorithms in convergence performance. When the two-dimensional functions f1, f 2 and f 6 are optimized, the convergence level reaches 10 −6 , while the other three algorithms have poor convergence performance. When the ABC algorithm optimizes the f 4 , f 5 , f 7 and f 8 functions, the convergence result is greater than 10 0 . When the CS algorithm optimizes f 1 , f 4 functions, the convergence result is greater than 10 6 . When the PSO algorithm optimizes the f 1 function, the convergence result is greater than 10 8 . The convergence speed of the EUBCOA algorithm is better than that of the other three algorithm algorithms. For example, from the convergence curve of the f 3 function, the convergence accuracy of the EUBCOA algorithm can reach 10 −7 or less in 50 iterations. It can be seen from the convergence curves of the f 2 , f 6 and f 10 functions that after the EUBCOA algorithm is iterated to 100 times, the optimal value does not change, and the convergence curve is horizontal. But after mutating, the algorithm quickly jumps out of the local extremum and continues to find the global optimal value. Therefore, the introduction of the EUBCOA algorithm can effectively improve the convergence speed and convergence accuracy.
Tab. 4 shows the performance comparison between the EUBCOA algorithm and other improved versions of the ABC algorithm with a population size of 30, a maximum number of iterations of 1000, and a function dimension of 50. It can be seen from Tab. 4 that for the single-mode Benchmark function, the EUBCOA algorithm outperforms the other three algorithms, and the minimum average optimization accuracy is obtained on the five functions. Especially for the functions f1 and f 2 , the mean precision and mean square error of the EUBCOA algorithm are significantly better than other algorithms, indicating that the EUBCOA algorithm is better than other comparison algorithms in solving the single-pole problem. In the multi-mode Benchmark function with more local extremum, the optimization average accuracy of the EUBCOA algorithm on the function f10 reaches 10 −5 and the optimal mean square error accuracy is 10 −6 , which is much better than the algorithm for comparison. It shows that the EUBCOA algorithm has stronger global search ability than the improved algorithm when solving the multi-extreme problem and it can achieve better optimization effect in the limited iteration. Further research shows that for the ten Benchmark functions, the average optimization accuracy of the EUBCOA algorithm reaches 10 −6 , while the ABC, HABC and CABC algorithms are 10 −3 , 10 −5 and 10 −4 , respectively. The above experimental results show that the optimization performance of the EUBCOA algorithm is generally superior to other improved ABC algorithms.
Tab. 5 shows the performance comparison of the EUBCOA algorithm with other improved versions of the ABC algorithm with a population size of 50, a maximum number of iterations of 1000, and a function dimension of 50. It can be seen from Tab. 5 that the EUBCOA algorithm outperforms the other three algorithms for the single-mode Benchmark function. On the function f1, the EUBCOA algorithm has an accuracy rating of 10 −6 , while the HABC and CABC algorithms are 10 −5 and 10 −4 , respectively. The advantages are also obvious in the functions f 2 , f 3 and f 4 . For the multi-modal Benchmark function, the optimization performance of the EUBCOA algorithm is also excellent. The average optimization accuracy of the function f 9 reaches 10 −6 , which is obviously superior to the other three algorithms. On the five multi-mode Benchmark functions, the minimum optimization accuracy is obtained, indicating that the improved algorithm performs better overall when solving the multi-value optimization problem. Further research shows that for the ten Benchmark functions, the average optimization accuracy of the EUBCOA algorithm reaches 10 −6 , while the ABC, HABC and CABC algorithms are 10 −1 , 10 −4 and 10 −3 , respectively. The above experimental results show that the optimization performance of the EUBCOA algorithm is generally superior to other improved ABC algorithms. It is further proved that the EUBCOA algorithm has a great improvement in convergence speed and optimization accuracy. In order to further illustrate the faster convergence speed of the EUBCOA algorithm, the optimization convergence curves of the ABC algorithm, the HABC algorithm and the CABC algorithm on ten Benchmark functions are graphically displayed. The population size is 30, the maximum number of iterations is 1000, the function dimension is 50, and the number of optimization times is 50. It can be seen from Fig. 5 that on the functions f2, f 6 , f 9 and f 10 , the convergence curve of the EUBCOA algorithm is more twisted, and the curve is stepped. The step of the curve increases with the increase of the number of iterations. The improved algorithm has strong ability to jump out of the local extremum, so that the algorithm has stronger global survey capability in the later stage of optimization. At the same time, on the functions f 1 , f 2 , f 4 , f 6 and f 7 , it is found that the convergence curve of the EUBCOA algorithm has a larger slope and more fluctuations in the curve than the HABC algorithm and the CABC algorithm in the early stage of optimization. The EUBCOA algorithm has a faster convergence speed in the early iteration period, which improves the local search efficiency in the early stage of optimization. The above conclusions prove that the EUBCOA algorithm has stronger global search ability and local search ability when solving multidimensional function optimization problems. Fig. 6 is the experimental results of the EUBCOA algorithm and other improved ABC algorithms with a population size of 50, a maximum number of iterations of 1000, a function dimension of 50, and a number of optimization of 50. It can be seen from the experimental results that the EUBCOA algorithm is superior to the other three algorithms in convergence performance. When the two-dimensional functions f1, f 9 and f 10 are optimized, the convergence level reaches 10 −6 , while the other three algorithms have poor convergence performance. When the ABC algorithm optimizes the f 5 , f 7 and f 8 functions, the convergence result is greater than 10 0 . When the HABC algorithm optimizes the f 1 , f 2 functions, the convergence result is greater than 10 −4 . When the CABC algorithm optimizes the f 6 function, the convergence result is greater than 10 −3 . At the same time, when the EUBCOA algorithm optimizes the functions f 1 , f 7 and f 10 , the curve converges faster. Therefore, the introduction of the EUBCOA algorithm can effectively improve the convergence speed and convergence accuracy.

CONCLUSION
This paper proposes an efficient universal bee colony optimization algorithm, which incorporates the search factor u and the selection strategy of the onlooker bees based on local optimal solution. Through the search factor u, the search range of the algorithm is more controllable, so that the search range of the employed bees is expanded, the search range of the onlooker bees is reduced and the convergence rate of the algorithm is improved. At the same time, the EUBCOA algorithm adopts the selection strategy of the onlooker bees based on local optimal solution, which enhances the ability of the onlooker bees to search locally. It makes the onlooker bees find the global optimal solution faster and more accurately and improve the convergence precision of the algorithm. The experimental results show that the EUBCOA algorithm can significantly improve the convergence accuracy and convergence speed of the original algorithm, whether it is a single mode Benchmark function or a multi-mode Benchmark function. The EUBCOA algorithm can improve the searching range of the original ABC algorithm. However it has the problem that the search ability is unstable and cannot solve the problem of small part optimization. How to solve these problems will become the focus of the next stage. In addition, more practical problems need to be solved by further analysis and verification of the improved algorithm.