Particle Swarm and Bacterial Foraging Inspired Hybrid Artificial Bee Colony Algorithm for Numerical Function Optimization

Artificial bee colony (ABC) algorithm has good performance in discovering the optimal solutions to difficult optimization problems, but it has weak local search ability and easily plunges into local optimum. In this paper, we introduce the chemotactic behavior of Bacterial Foraging Optimization into employed bees and adopt the principle of moving the particles toward the best solutions in the particle swarm optimization to improve the global search ability of onlooker bees and gain a hybrid artificial bee colony (HABC) algorithm. To obtain a global optimal solution efficiently, we make HABC algorithm converge rapidly in the early stages of the search process, and the search range contracts dynamically during the late stages. Our experimental results on 16 benchmark functions of CEC 2014 show that HABC achieves significant improvement at accuracy and convergence rate, compared with the standard ABC, best-so-far ABC, directed ABC, Gaussian ABC, improved ABC, and memetic ABC algorithms.


Introduction
In recent years, facing optimization problems, people have put forward a series of traditional solving methods, such as linear programming and dynamic planning.Limited by the huge time complexity, these methods are not applied to solve these large-scale problems.With the development of biotechnology, people found that when individuals work together for a complex job the ability of individuals is not a simple addition of every individual but a very complex behavioral feature.So, many swarm intelligence based optimization methods have been proposed.Inspired by the law of survival of the fittest, Tang et al. [1] proposed the genetic algorithm (GA).Inspired by the foraging behavior of ant colonies, Dorigo et al. [2] proposed the ant colony optimization (ACO).Inspired by the social behavior of bird flocking, Kennedy and Eberhart [3] proposed the particle swarm optimization (PSO).Li et al. [4] proposed artificial fish swarm algorithm (AFSA).Yang [5] proposed firefly algorithm (FA) and Fister et al. [6] summarized some improvement of chaos-based firefly algorithms.Motivated by the behaviors of honeybee swarms, artificial bee colony (ABC) algorithm was first proposed by Karaboga in 2005 [7].ABC algorithm has been widely used in many fields, for example, determining the optimal size and selecting optimum locations of shunt capacitors by El-Fergany and Abdelaziz [8], solving the economic lot scheduling problem by Bulut and Tasgetiren [9], segmenting SAR image by Ma et al. [10], enhancing image contrast by Draa and Bouaziz [11], and solving the Leaf-Constrained Minimum Spanning Tree (LCMST) problem by Singh [12].
Despite the success of the ABC algorithm in many applications, it still has numerous drawbacks.As we all know, strong capabilities in both exploration and exploitation are important for population-based optimization algorithms.Although the standard ABC algorithm works fine with exploration, it performs poorly in exploitation.To improve the performance, researchers have been working on modifying ABC algorithm and integrating ABC algorithm with other evolutionary computation based optimization methods.For example, Bansal et al. proposed a self-adaptive ABC algorithm, which updates step size and parameters for searching 2 Mathematical Problems in Engineering solutions adaptively according to the current fitness values; therefore it gives the solutions more chances to update themselves [13].Wang et al. presented multistrategy ensemble ABC algorithm by utilizing different characteristics of solution search to construct a strategy pool.During the search process, the strategy for each food source is dynamically changed in order to achieve better performance [14].Kang et al. presented Rosenbrock ABC algorithm [15] by combing standard ABC and RM-based local search techniques.To improve global searching capability by escaping the local solutions, Alatas [16] adopted a method to adjust parameters for ABC algorithm using random numbers generated from different chaotic systems.Xiang et al. proposed a particle swarm inspired multielitist ABC algorithm [17] which updates the parameters of the solutions using global best solution and an elitist randomly selected from an elitist archive.To efficiently solve the constraint optimization problems, Li and Yin [18] presented a self-adaptive constrained ABC algorithm by introducing feasible rule and multiobjective optimization methods.
In this paper, we propose a hybrid ABC algorithm to improve the performance of standard ABC algorithm.To enhance the ability of local searching and exploitation, we applied chemotactic behavior in Bacterial Foraging Optimization algorithm [19] into employed bees and adopted the global best solution search equation in PSO [20,21] algorithm into onlooker bees.Moreover, we also use inertia weight [22,23] like contraction-expansion coefficient in PSO algorithm to balance exploration and exploitation dynamically.Finally, our algorithms are evaluated by the average values and standard deviation (SD) of 16 CEC 2014 benchmark functions.
This paper is organized as follows.Section 2 describes the standard ABC algorithm.Section 3 introduces the HABC algorithm.The experimental results are shown and discussed in Section 4. Section 5 presents the conclusions.

Standard ABC Algorithm
When solving optimization problems, ABC algorithm abstracts the food sources as feasible solutions.The process of artificial bee colony seeking for quality food sources is used to simulate the process of finding the global optimal solution.The honeybee swarms are categorized into three groups: employed, onlooker, and scout bees, where the number of employed bees equals the number of high quality food sources.The job of employed bees is to find quality food sources and then share food location information with onlooker bees.Once onlooker bees obtain the food source information, they search closer toward the selected food sources according to the probability distribution functions.Higher quality food sources have a higher possibility to be selected.When food sources found by employed bees are identified as low quality ones, the corresponding employed bees turn into scout bees which search for new food sources randomly.The algorithm can be divided into four steps: initialization, behavior of employed bees, behavior of onlooker bees, and behavior of scout bees.

Initialization.
In the initialization step, food sources are initialized with random positions given by the following equation: (3)

Behavior of Onlooker Bees.
When bee colony foraging for food, onlooker bees stay around the hive and search locally for high quality food sources by observing the information of food sources carried by employed bees.The information interaction is an important reflection of the intelligent behavior of the bee colonies in searching for food.The employed bees provide the information of food sources to onlooker bees after returning to the hive.The onlooker bees decide whether to update the food source using the greedy algorithm when searching for food and the probability of updating the food source is where fitness(  ) is the fitness function of th onlooker bees.
If the new value of fitness function is better, the onlooker bee will update its position using (2); thus, the bee colony can move closer to better-quality food sources gradually.

Behavior of Scout Bees.
If food sources cannot be improved after a predefined number of iterations, they will be abandoned.The corresponding employed bees will change to scout bees which search for a new feasible food source randomly across a wide range using same (1) for initialization.

Hybrid Artificial Bee Colony Algorithm
3.1.For Employed Bees.For employed bees, we adopt the chemotactic behavior in Bacterial Foraging Optimization (BFO) to help employed bees to escape local optimum trap and enter a relatively large searching space gradually.Chemotactic behavior is that bacteria gather together at a more favorable environment instead of a noxious one, which includes two operators: tumble and swim.A unit walk with random direction represents tumble operator.After finishing a tumble operator, if the fitness value is not improved, then bacteria move to another random direction with a unit walk; if the fitness value improved, then bacteria move to the same direction with a few unit walks until the fitness value reaches the maximum swim steps, where the process represents swim operator.In iterative procedure, standard ABC algorithm implement global search by employed bees.As shown in (2),  , is a random dimension of an individual, and standard ABC algorithm updates only one randomly selected dimension of the solutions in employed bees' process, which causes some redundancy in searching for solutions.Compared with the standard ABC algorithm, in our proposed algorithm the frequency and range of the neighborhood search are increased when processing the employed bees.Once the employed bees forage, the fitness value of the solutions will be calculated.If the fitness value improves, the old position is substituted for the new position.Otherwise, the employed bees remain in the old position.When the number of swim steps (called   ) reaches the limit (called  max ) or the fitness value is compounded, employed bees stop foraging at current dimension and tumble to another dimension.These operations can ameliorate the convergence speed of employed bees and increase potential solutions.After all the employed bees have tumbled in all dimensions, the process finishes.
Benefitting from these, the bee colony gets into a larger search space and avoids plunging into local optimum.In HABC algorithm, the positions of employed bees can be updated as follows: where V , ,  , ,  , , and  are the same as ( 2) and   is the number of advances, like swim steps in Bacterial Foraging Optimization algorithm.The improvement is shown in Figures 1 and 2.
The pseudocode of the behavior of employed bees in HABC algorithm is as given in Pseudocode 1.

For Onlooker Bees.
In the standard ABC algorithm, employed bees and onlooker bees update their position by searching for a candidate solution in a randomly selected dimension of current position toward a random position.The purpose of employed bees is for global searching across a relatively large space.While the purpose of onlooker bees is for local searching in a neighboring area, which means that employed bees have the fastest convergence rate and onlooker bees have the best exploration ability.Eventually, we can locate the global optimization solution.In standard ABC algorithm, step size and dimension are randomly chosen for Optimum Search field  onlooker bees' process, so the probabilities of choosing good and bad quality food sources are the same, which lead to its low robustness.
As we all know, the distance of global optimal solution and suboptimal solution is short, and then the current best solution can drive the new candidate solution step towards the best direction, so we adopt the idea of tracing the current best particle from PSO algorithm to enhance the global search capability of the standard ABC algorithm.At the same time, to strike a balance between exploration and exploitation, we introduce the inertia weight  into our algorithm.In PSO algorithm, inertia weight represents the ability that particles inherit from their previous velocity; it was first introduced into PSO algorithm by Shi and Eberhart in 1998 [22].Analysis states that a relatively larger inertia weight is good for global searching and a relatively smaller inertia weight is good for local searching.In HABC algorithm, we adopt linear decreasing inertia weight (called LDIW), which contains smaller step size and difficult trap into local optimum.At the initial stages, in order to avoid trapping into a local optimal solution, a relatively large inertia weight is used to make onlooker bees spread into a larger search space.At the end stages, a relatively small inertia weight is used to protect onlooker bees from disturbing the current best solution.This approach enhances the overall convergence speed and makes the algorithm more efficient for obtaining the global optimization solution.The equation of LDIW is given as follows: Among all parameters,  start is the initial inertia weight,  end is the inertia weight when iteration reach the maximum; iter respect the current iteration, and iter max means the maximum number of iterations.In our algorithm, according to the experience, we set  start as 0.9 and  end as 0.4.
In HABC algorithm, the positions of onlooker bees can be updated as follows: where V , ,  , ,  , , and  are the same as (2),  best, is dimension  of current best solution, and  is the LDIW.
(1) Set the source position   , produce new solution   .

Experimental Comparison and Analysis
4.1.Benchmark Functions Used.In this section, algorithms are used to find the global optimum values of 16 benchmark functions from the CEC 2014 competition [24].The details of the functions are as follows.
Unimodal functions include the following.
Multimodal functions include the following.

Parameter Settings.
To test the performance of HABC, the experimental results are compared with those of the standard ABC, best-so-far ABC (BSABC) [25], directed ABC (dABC) [26], Gaussian ABC (GABC) [27], improved ABC   (IABC) [28], and memetic ABC [29] (MABC).In HABC algorithm, we set 3 as the value of  max .For all algorithms, the colony size is set to be 50, and the stopping criterion was to run for up to 10000D FEs.Moreover, search space for all functions are [−100, 100]  .Each experiment is repeated 51 times independently with random seeds, and then we record the mean and standard deviations of benchmark functions.

Comparisons between HABC and ABC Variants.
All algorithms are coded in MATLAB 7.9.0, and all experiments were running on a Windows XP operation system with an Intel Pentium Dual-Core CPU E5300 2.6 GHZ and 2 GB RAM.Experimental results are shown in Tables 1-3, which also include the results by Wilcoxon signed-rank test.
It can be seen that all algorithms cannot get the global optimum value of F1 function and have equal performance for F8 function.From Table 1, our proposed HABC is better than the other algorithms for F3, F4, F5, F6, F7, F9, F10, and F11 functions, and the MABC algorithm is slightly better than the other algorithms for F2, F6, F7, and F12 functions.According to Table 2, our proposed HABC algorithm shows the best performance on most of the functions, except for functions F10 and F5.From Table 3, our proposed HABC also has better performance than the other algorithms on most of the benchmark functions, except for F2, F5, and F10 functions.The MABC algorithm is slightly better than the other algorithms in F2 and F5 functions, and the IABC algorithm is slightly better than the other algorithms in F10 function.
In the last column of Tables 1-3, we give the Wilcoxon signed-rank test results.A value of "+" in the table indicates that HABC algorithm is statically superior to the compared algorithm, whereas a "−" indicates that the HABC algorithm is statistically worse than the compared algorithm.A value of "=" indicates that the HABC algorithm is statistically equivalent with the compared algorithm and a value of "NA" indicates that two algorithms are statistically indistinguishable.We can conclude that the HABC algorithm is statistically better than the other algorithms on most of the benchmark functions.

Time Complexity Analysis.
The improvement of computation precision in HABC algorithm usually needs the sacrifice of time complexity.Because the limit of neighbor searching in employed bees' stage is not constant, in order to analyze time complexity properly, we calculated the computational complex of each algorithm by recording the average time to reach the given precision.All algorithms ran 51 times independently with random seeds.The mean time is measured in seconds.Results are listed in Tables 4-6, and the best is shown in bold font.
It can be seen from Tables 4-6 that HABC can find the global optimal solution with less time on most of the benchmark functions, because of its faster converge ability.

Conclusion
In this paper, hybrid ABC (HABC) is proposed by introducing the chemotactic behavior of Bacterial Foraging Optimization into employed bees and adopting the principle of moving the particles toward the best solutions in PSO to improve the global search ability of onlooker bees.Experiment result shows that HABC algorithm has better solution accuracy and higher evolution speed and reaches the global optimal solution with fewer time, compared with the current reported standard ABC, best-so-far ABC, directed ABC, Gaussian ABC, improved ABC, and memetic ABC.In our future work, we will find a better way for searching for the best  max to improve the performance of HABC.

Figure 1 :
Figure 1: An illustrative example of employed bees' search field in standard ABC.

Figure 2 :
Figure 2: An illustrative example of employed bees' search field in HABC.

Table 1 :
Results of HABC and other algorithms for 10D.

Table 2 :
Results of HABC and other algorithms for 30D.

Table 3 :
Results of HABC and other algorithms for 50D.

Table 4 :
Time complexity of the HABC and other algorithms for 10D.

Table 5 :
Time complexity of the HABC and other algorithms for 30D.

Table 6 :
Time complexity of the HABC and other algorithms for 50D.