Grouped Bees Algorithm: A Grouped Version of the Bees Algorithm

: In many non-deterministic search algorithms, particularly those analogous to complex biological systems, there are a number of inherent difﬁculties, and the Bees Algorithm (BA) is no exception. The BA is a population-based metaheuristic search algorithm inspired by bees seeking nectar/pollen. Basic versions and variations of the BA have their own drawbacks. Some of these drawbacks are a large number of parameters to be set, lack of methodology for parameter setting and computational complexity. This paper describes a Grouped version of the Bees Algorithm (GBA) addressing these issues. Unlike its conventional version, in this algorithm bees are grouped to search different sites with different neighbourhood sizes rather than just discovering two types of sites, namely elite and selected. Following a description of the GBA, the results gained for 12 well-known benchmark functions are presented and compared with those of the basic BA, enhanced BA, standard BA and modiﬁed BA to demonstrate the efﬁcacy of the proposed algorithm. Compared to the conventional implementations of the BA, the proposed version requires setting of fewer parameters, while producing the optimum solutions much more quickly.


Introduction
In recent years, we have considered many applications of population-based search algorithms in a diverse area of both theoretical and practical problems.Basically, these metaheuristic search algorithms are exceedingly well suited for optimization problems with a huge number of variables.Due to the nature of these multi variable problems, it is almost impossible to find a precise solution set for them within a polynomial bounded computation time.Therefore, swarm-based algorithms are preferred for finding the most optimal solution as much as possible within a sensible time.Some of the most well-known stochastic optimization methods are Ant Colony Optimization (ACO) [1], Artificial Bee Colony (ABC) algorithms [2], Biogeography-Based Optimization (BBO) [3], Genetic Algorithms (GA) [4], Particle Swarm Optimization (PSO) [5], the Cuckoo Search (CS) algorithm [6] and the Bees Algorithm (BA) [7].
The ACO algorithm mimics real ants' behaviour in seeking food.Real ants generally wander arbitrarily to find food, and once it is found, they return to their colony while making a trail by spreading pheromone.If other ants face such a path, they will follow and reinforce the track, or revise it in some cases.Some theoretical and practical applications of ACO can be found in [8,9].Some improvements for the search mechanism of ACO using derivative free optimization methods can be found in [10].
The ABC is another global optimization algorithm which is derived from the behaviour of honey bees while searching for food.For the first time, ABC was proposed in [2] for solving numerical optimization problems.The ABC has a colony model including three different groups of bees: employed, onlooker and scout.In the ABC, the employed bees are responsible for looking for new food resources rich with nutrients within the vicinity of the food resources that they have visited before [11].Onlookers monitor the employed bees' dancing and choose food resources based on the dances.Finally, the task of finding new food resources in a random manner is given to scout bees.The performance of ABC versus GA and PSO is evaluated by testing them on a set of multi variable optimization problems in [12].In [13], the parameters of a feedforward neural network for classifying magnetic resonance (MR) brain images are optimized by a variant of ABC, called scaled chaotic ABC (SCABC).The performance of the SCABC algorithm is also compared against ABC, GA, and simulated annealing [14] in [13].In [15], the ABC algorithm is used to select threshold values for image segmentation, where the ABC algorithm outperformed the GA and PSO algorithms.An example of the ABC application to increase throughput for wireless sensor networks is given in [16].Regarding more recent variants of ABC, a velocity-based ABC (VBAC) algorithm is proposed in [17] where the onlooker bees apply the PSO search strategy to select the candidate solutions.An ABC algorithm based on information learning (ILABC) is proposed in [18], where a clustering partition is used to form subpopulation at each iteration to emphasize the exploitation process.A hybrid artificial bee colony (HABC) in proposed in [19], where the population size is dynamic based on a life-cycle model for the bees.In this method, a PSO-based comprehensive learning and a conjugate gradient descent search method is used for the exploitation of the search domain.A Migratory Multi-swarm Artificial Bee Colony (MiMSABC) is proposed in [20] where the bees are initially equally divided into some groups but with different perturbation mode.Gradually, as the algorithm proceeds, the subpopulation of each group may increase or decrease depending on the performance of each group.A comprehensive survey of many different types of bees optimization algorithms whether they are inspired by queen bees' behaviour and mating, or foraging and communication of other bees is presented in [21].
The BBO algorithm, inspired from biogeography, is introduced by Dan Simon in 2008 [3].In BBO, a solution is represented as an island including a number of species, i.e., independent input variables.A species migration probability is a function of the Habitat Suitability Index (HSI) of an island, i.e., the fitness of a solution.After a migration process, similar to other evolutionary algorithms, a mutation operation is applied on each input variable with some probability.A recent survey of the BBO algorithm can be found in [22].
The GA and PSO are two other well-known optimization algorithms which are inspired by two different biological approaches.The former works according to the evolutionary idea of the natural selection and genetics and the latter imitates the "social behaviour of bird flocking or fish schooling" [23].The two techniques have been applied in a vast number of applications.As an example, in [24], GA is successfully used for calibrating the walking controller of a humanoid robot.Also, the performances of ACO, PSO, and GA on the radio frequency magnetron sputtering process are compared in [25].A recent variant of the GA known as the "Quantum Genetic Algorithm" is reviewed in [26].Regarding the PSO variants, a superior solution guided PSO (SSG-PSO) is proposed in [27] where a set of superior solutions are constructed for particles to learn from.In this variant, a mutation operation and gradient-based or derivative-free local search methods are employed.A scatter learning PSO algorithm (SLPSOA) is proposed in [28] where a pool of high-quality solutions are constructed as the exemplar pool.Each particle then selects an exemplar using a roulette wheel to update their position.An enhanced comprehensive learning particle swarm optimization (ECLPSO) is proposed in [29], where particles' velocities have an additional perturbation term and use different exemplars for each dimension.A recent comprehensive survey on the PSO and its applications can be found in [30].
The CS, another meta-heuristic search algorithm, is introduced by Yang and Deb in 2009 [6].This algorithm imitates the "obligate brood parasitic behaviour" of some cuckoos, which put their eggs in nests of other birds [31].A solution is represented by an egg which can be found by another host bird with a specific likelihood.The host bird can then follow two policies: to toss the egg out, or to drop the nest in order to construct a new nest.As such, the highest quality nest will be transferred through the generations to keep the best solutions throughout the process.A review of the CS algorithm and its applications can be found in [32].A conceptual comparison of the CS to ABC and PSO can be found in [33].
The BA is another optimization metaheuristic derived from the food-seeking behaviour of honey bees in nature.A detailed description of BA can be found in Section 2. A comprehensive survey and comparison of BA to ABC and PSO is presented in [34].The basic BA and its other versions have been widely used in various problems including manufacturing cell formation [35], integer-valued optimizations for designing a gearbox [36], printed-circuit board (PCB) assembly configuration [37,38], machine job scheduling [39], adjusting membership functions of a fuzzy control system [40], neural network training [41], data clustering [42], automated quiz creator system [43], and channel estimation within a MC-CDMA (Multi-Carrier Code Division Multiple Access) communication system [44].
In the literature, various versions of BA such as enhanced BA, standard BA and modified BA are introduced after the basic BA.In [45], a fairly detailed review of many different versions of BA is presented.The enhanced BA has higher computational complexity because of its included fuzzy subsystem which selects potentially better sites or patches (i.e., solutions) for better exploration, though it reduces the number of setting parameters.The standard BA has increased the accuracy and speed by applying two new procedures on the basic version.This improvement has led to higher complexity for standard BA.In the modified BA, a collection of new operators is added to the basic BA, which results in a performance improvement, and consequently, too much more complexity compared to all the other versions.To compare the performance of the BA family with those of other population-based algorithms, such as GA, PSO or ACO, see [34,46,47].Nevertheless, it is worth mentioning that, based on these studies, the Bees Algorithm family outperforms all the other population-based algorithms in continuous-variable optimization problems.As the benchmarks set used in these studies are exactly the same as the one in this paper, the performance of the proposed grouped bees algorithm is only compared against other BA variants.
In this paper, a grouped version of the Bees Algorithm is introduced for multi-variable optimization problems.In this variant, bees are grouped into two or more search groups.In the first groups, more bees are recruited to search smaller but richer patches.In the last groups, more scout bees attempt to discover new patches within larger neighbourhoods.Well-defined formulas are used to set the parameters of the algorithm.Therefore, the number of adjustable parameters that has to be set is reduced.The original behaviour of the Bees Algorithm is maintained without any additional system or any extra operators.The remainder of this paper is organized as follows.The proposed Grouped Bees Algorithm (GBA) is elaborated in Section 2, where the core idea of the basic Bees Algorithm and its different modifications are also reviewed.In Section 3, the benchmark functions for evaluating the proposed algorithm and the performance of the algorithm on each of them are discussed.General interpretation of results in view of other BA variants and future research directions are given in Section 4. Finally, Section 5 summarizes the paper.

The Bees Algorithm
The Bees Algorithm, which imitates the natural food seeking behaviour of a swarm of honey bees, fits in the category of population-based optimization algorithms.Figure 1 shows the flowchart of the BA [48].User needs to initialize a number of parameters before the algorithm begins the optimization process.These parameters are known as: the number of scout bees (n), number of selected sites out of n recently visited regions for neighbourhood search (m), number of elite sites out of m selected regions (e), number of recruited bees for the top e sites (nep), number of recruited bees for the remaining (m-e) selected regions (nsp), and finally, the initial size of each site (ngh) [7].It is important to state that a site (or patch) represents an area in the search domain that contains the visited spot and its vicinity.
Computers 2017, 6, 5 4 of 18 of m selected regions (e), number of recruited bees for the top e sites (nep), number of recruited bees for the remaining (m-e) selected regions (nsp), and finally, the initial size of each site (ngh) [7].It is important to state that a site (or patch) represents an area in the search domain that contains the visited spot and its vicinity.
By initializing n scout bees in a random manner over the search space, the BA starts working in the first step, as shown in Figure 1.In the next step, the recently visited patches by the scout bees have to be assessed based on a predefined fitness function.In step 3, the m superior patches are labelled as selected patches for vicinity search.In the next step, step 4, an initial dimension of ngh for the patches is determined.The basic form of BA decreases the size of patches gradually to help search for a more accurate solution while the algorithm iteration advances [7].The two groups of recruited bees probe near the chosen patches in the neighbourhood of radius ngh in step 5, and in step 6, the algorithm picks the top bee from each patch as the new representative of the patch.The remaining bees, in step 7, are the random search bees of the swarm to maintain stochastic nature of the algorithm.They are assigned to look for any new potential solutions by randomly flying over the search domain, and hopefully escaping from local minima.Next generation of the swarm will be formed by the random search bees of step 7 and the representative bees declared in step 6.A complete description of the basic BA can be found in [7,49].

Previous Modifications to the Bees Algorithm
The large number of parameters which should be set is a downside of the basic Bees Algorithm.Although some variations of the Bees Algorithm attempt to solve this issue, they do so at the expense  [48].
By initializing n scout bees in a random manner over the search space, the BA starts working in the first step, as shown in Figure 1.In the next step, the recently visited patches by the scout bees have to be assessed based on a predefined fitness function.In step 3, the m superior patches are labelled as selected patches for vicinity search.In the next step, step 4, an initial dimension of ngh for the patches is determined.The basic form of BA decreases the size of patches gradually to help search for a more accurate solution while the algorithm iteration advances [7].The two groups of recruited bees probe near the chosen patches in the neighbourhood of radius ngh in step 5, and in step 6, the algorithm picks the top bee from each patch as the new representative of the patch.The remaining bees, in step 7, are the random search bees of the swarm to maintain stochastic nature of the algorithm.They are assigned to look for any new potential solutions by randomly flying over the search domain, and hopefully escaping from local minima.Next generation of the swarm will be formed by the random search bees of step 7 and the representative bees declared in step 6.A complete description of the basic BA can be found in [7,49].

Previous Modifications to the Bees Algorithm
The large number of parameters which should be set is a downside of the basic Bees Algorithm.Although some variations of the Bees Algorithm attempt to solve this issue, they do so at the expense of computational complexity.In [46] an enhanced version of the BA, employing two features of a fuzzy greedy system for selection of patches and a hierarchical abandonment method, is described.The abandonment method was first introduced by Ghanbarzadeh [50].When the algorithm is stuck in a local optimum, this method triggers by removing the trapped site from the list of potential sites [50].A hierarchical version of abandonment executes the same instruction on all sites with a lower rank than the trapped site [46].The hierarchical version is utilized in the enhanced BA.A list of sorted candidate solutions based on their fitness determines the rank for each site.The Takagi-Sugeno fuzzy selection system decides the number of selected sites and the number of recruited bees for each site based on a greedy policy [46].This fuzzy inference process needs to be executed in every iteration which may not be a favorable approach in an iterative algorithm.
Setting two parameters, the "number of scout bees" and the "maximum number of recruited bees for each site" is required in the enhanced BA [46].The two parameters can have the same values, and the initial size of the sites' neighbourhood (nh) is set to be a fraction of the size of the whole search domain.Figure 2 illustrates the pseudo-code of the Enhanced BA (EBA) [46].
To improve the search accuracy and computation performance, two other procedures are introduced in [51,52].In the first approach, the search begins within the initial neighbourhood size of sites (nh) of the basic BA.It continues using the initial neighborhood size as long as the recruited bees are discovering better solutions in the neighbourhood.If the recruited bees fail to make any progress, the patch will become smaller.This procedure is called the "neighbourhood shrinking" method [51].In [34], the heuristic formula for updating the size of neighbourhood for each input variable (nh) is stated as follows: where Max and Min indicate the maximum and minimum of the input vector respectively.
Computers 2017, 6, 5 5 of 18 of computational complexity.In [46] an enhanced version of the BA, employing two features of a fuzzy greedy system for selection of patches and a hierarchical abandonment method, is described.The abandonment method was first introduced by Ghanbarzadeh [50].When the algorithm is stuck in a local optimum, this method triggers by removing the trapped site from the list of potential sites [50].A hierarchical version of abandonment executes the same instruction on all sites with a lower rank than the trapped site [46].The hierarchical version is utilized in the enhanced BA.A list of sorted candidate solutions based on their fitness determines the rank for each site.The Takagi-Sugeno fuzzy selection system decides the number of selected sites and the number of recruited bees for each site based on a greedy policy [46].This fuzzy inference process needs to be executed in every iteration which may not be a favorable approach in an iterative algorithm.Setting two parameters, the "number of scout bees" and the "maximum number of recruited bees for each site" is required in the enhanced BA [46].The two parameters can have the same values, and the initial size of the sites' neighbourhood (nh) is set to be a fraction of the size of the whole search domain.Figure 2 illustrates the pseudo-code of the Enhanced BA (EBA) [46].
To improve the search accuracy and computation performance, two other procedures are introduced in [51,52].In the first approach, the search begins within the initial neighbourhood size of sites (nh) of the basic BA.It continues using the initial neighborhood size as long as the recruited bees are discovering better solutions in the neighbourhood.If the recruited bees fail to make any progress, the patch will become smaller.This procedure is called the "neighbourhood shrinking" method [51].In [34], the heuristic formula for updating the size of neighbourhood for each input variable (nh) is stated as follows: where Max and Min indicate the maximum and minimum of the input vector respectively.If shrinking the patch size does not result in any progress, the second procedure is applied.After a given number of loops, the patch is assumed to be trapped within a local minimum (or peak), and no further improvement would occur [34].Therefore, the patch exploration is stopped and a new random patch is generated for hunting.This process is known as "abandoning sites without new information" [52] or "site abandonment" [34,52].
The basic version of PSO depends on the swarm's best known position, and this feature leads the algorithm being potentially trapped in a local peak.This is an untimely convergence which can be avoided by including variable-size neighbourhood searches and random searches in the basic PSO If shrinking the patch size does not result in any progress, the second procedure is applied.After a given number of loops, the patch is assumed to be trapped within a local minimum (or peak), and no further improvement would occur [34].Therefore, the patch exploration is stopped and a new random patch is generated for hunting.This process is known as "abandoning sites without new information" [52] or "site abandonment" [34,52].
The basic version of PSO depends on the swarm's best known position, and this feature leads the algorithm being potentially trapped in a local peak.This is an untimely convergence which can be avoided by including variable-size neighbourhood searches and random searches in the basic PSO algorithm to escape from stagnant states and reach a global optimum [53].In the same current position and local best position case, a PSO particle would only escape from this point if the previous speed and inertia weight of the particle were non-zero.However, if previous velocities of the particles are around zero, all of them will stop searching when they reach this local peak, and this can lead to an immature convergence of the algorithm.This premature convergence problem of basic PSO is solved by proposing a hybrid version of PSO-BA in [53].
In [54], a different formulation for the Bees Algorithm is introduced by including new search operators and a new selection procedure which augment the survival probability of newly formed individuals.This improvement enhances the random search process of the Bees Algorithm using the following non-BA operators: mutation, creep, crossover, interpolation and extrapolation [54].Every bee or solution has a chance for improvement by evolving a few times using the mentioned operators, and generation by generation the best bee is kept.At each step, a new evolutionary movement will only be accepted if any improvement is obtained; otherwise its current point will be retained.The number of these evolutionary operations on each solution decreases as the fitness quality of a solution decreases.This improved version strongly preserves the best bees.In addition, it keeps creating fresh bees and fostering them.Therefore, the large set of "best bees" would be reused to search again if they need to be [54].
More recently, a modified version of the Bees Algorithm is introduced in [28], which is mostly similar to the improved Bees Algorithm in [54], and in contrast to the basic BA, it requires many more parameters to be set.As such, a statistical method is offered to line up the extra parameters in [28].In the Modified BA (MBA), new young solutions are preserved for a predetermined number of iterations from competition with more evolved bees.The overall performance of the MBA is evaluated by testing it on nine function benchmarks and comparing the results with that of other algorithms including standard BA, PSO, GA and so forth [47].To the best of the authors' knowledge, MBA has been the strongest version of the Bees Algorithm for single-objective problems to date, though at the expense of adding many complex operators.
Apart from the basic neighbourhood search method, two more methods are introduced in [55] to cope with multi-objective problems, where the "pareto" curve is formed by "all the non-dominated bees in each iteration."During a simple neighbourhood hunt, a recruited bee is dispatched to a selected site and its fitness is calculated, and then its fitness is compared against the scout bee in the site.The old solution is replaced by the new one only if it could reach a fitter point in search space; otherwise it is not.Based on the first method, all the recruited bees, the number of which is nsp + nep, are sent to the selected site at the same time rather than one bee at a time.Then, the non-dominant bees are selected out of all the recruited bees considering their quality.Finally, the new scout bee will be selected for the site randomly, provided that there are at least two non-dominated bees.This approach is called "Random selection neighbourhood search", and the second approach is named "Weighted sum neighbourhood search", which is similar to the first random one.In fact, where the algorithm is deciding to choose the new scout bee by chance, a linear combination of the objective functions decides which "non-dominated bee" should replace the old scout in the site [56].A brief overview of many bee-inspired algorithms, including both BA and ABC variants, can be found in [21].

The Proposed Grouped Bees Algorithm
The underlying idea behind the grouping concept is dividing all the particles into different categories for exploring the whole search space in a more structured approach.All the previous BA variants have two groups of elite and selected each of which searches the space by a different radius; the remainder particles, belonging to a third group, explore the environment randomly.As an understanding of the notion behind this metaphor, it can be said that the random search particles look for hopeful sites.Once any has been found, more precise particles (with smaller radiuses) are tasked with looking through the site for better solutions.The elite and selected groups look knowingly by different precisions as they exploit promising sites.In contrast, the random particles search unknowingly as they select a point in the search space haphazardly.This sudden jump in exploring from a knowing search to a completely unknowing search can take a longer time for complex high-dimensional domains.This issue of discontinuity in the search policy is tackled by the proposed Grouped Bees Algorithm (GBA) by implementing a spectrum of search from knowing to blind in a more continuous fashion.
The basic idea behind the proposed GBA is to implement a hierarchical search strategy which starts from a high-precision policy within small radiuses to a completely random one.The proposed Grouped Bees Algorithm (GBA) uses the basic Bees Algorithm as a core.The main difference between the basic BA and the grouped BA is the number of different patch types to be explored.This number in the basic BA is two, meaning there are always two types of selected patches, being either elite or good, whereas this number is essentially variable in GBA.In addition, this algorithm, unlike the basic BA, does not disregard any patch and searches all of them.In GBA, bees are grouped to search all the patches with different neighbourhood sizes.As such, it is no longer required to set the values of m, e, nep and nsp as the equivalent parameters for each group are determined based on mathematical relationships by the algorithm.The GBA has three parameters to be set: (1) the number of scout bees (n) which corresponds to the total number of patches (or sites) to be explored; (2) the number of strategical searching groups (groups); (3) the patch radiuses for the first group, containing top-rated scout bees (Ngh).These parameters and some other important notations of GBA are summarized in Table 1.Radius for the j-th decision variable for bees in the i-the group * To be set by user, whereas other parameters are automatically calculated.
The algorithm follows three general intuitive rules: (1) when a scout bee gets closer to the global optimum, a more precise and detailed exploration is needed, so the search neighbourhood size becomes smaller (for the groups with smaller indices) and vice versa; (2) based on the nature of honey bees [57,58], better flower patches, which generally corresponds to the groups with smaller indices, should be visited by more recruited bees; (3) the larger the neighbourhood size (radius), the more scout bees are needed to cover the whole area.
Similar to the BA mathematical notations [34], the input domain of all possible solutions is considered to be U = {X ∈ R m ; Min < X < Max}.So, assuming a fitness function is defined as f(X): U → R, each potential solution (bee) is formulated as an m-dimensional vector of input variables X = {x 1 , ..., x j , ..., x m } where x j is between min j and max j , corresponding to the decision variable number j.
The search neighbourhood for the whole set of bees belonging to the same group of i is defined as an m-dimensional ball with the radius vector of Ngh(i) = {ngh(i) 1 , ... ngh(i) j , ..., ngh(i) m } which is centered on the scout bees in the group i.In fact, each (recruited) bee will search on its own neighbourhood (patch), but the neighbourhood size is the same for all bees belonging to the same group.Now, considering the first rule, it is suggested each radius of ngh(i) j should have the following relationship with the group number, i: subject to: ., ngh(1) j , .., ngh(1) m ngh(groups) j = max j − min j 2 (4) which yields: A simple equation for the number of recruited bees in each group, which is in line with the second rule, is decided to be: Given the third rule, it is proposed that the number of scout bees in each group, g(i), should be proportional to the group index square, i 2 , while the total number of all the scout bees who search either randomly or strategically should be equal to n.To that end, the area under the graph of k•x 2 over the interval [1, groups + 1] should sum up to n.So, the problem is finding a coefficient, k, which makes the definite integral of the function of f(x) = k•x 2 with respect to x from 1 to groups + 1 equal to n, i.e., to find k like so: which results in: Given the above, the algorithm determines the number of scout bees in each group as: where k is given in Equation ( 8), and the number of scout bees for the random group, which seek randomly, is given by: where x + = max(x, 0).To reiterate, Figure 3 illustrates the pseudo code of the Grouped Bees Algorithm.

Results
In order to assess the performance (i.e., speed and accuracy) of the proposed GBA, the algorithm is applied to 12 well-known benchmark functions.The results are then compared to those reported in [7,46,47].To assure a fair and unbiased comparison with other variants of BA, those algorithms

Results
In order to assess the performance (i.e., speed and accuracy) of the proposed GBA, the algorithm is applied to 12 well-known benchmark functions.The results are then compared to those reported in [7,46,47].To assure a fair and unbiased comparison with other variants of BA, those algorithms were not implemented by us; rather, the best solutions claimed by their authors are considered.This is partially because every single benchmark function requires many attempts and parameters tweaked for each optimization algorithm.Therefore, only these 12 benchmark functions with reported performances (by their authors) are considered, whereas in some other studies the 25 benchmark functions set proposed in the special session on IEEE Congress on Evolutionary Competition (CEC) 2005 [59] or the benchmark functions set proposed for some other years of CEC is used.The basis of all these functions is the same as the benchmark functions used in this paper, though.

Benchmark Set
For each benchmark function, the interval of the input variables, the equation and the global optimum are shown in Table 2 as reported in [60,61].The Martin & Gaddy and Hypersphere benchmarks are uni-modal functions which are quite straightforward for optimization tasks.The Branin function has three global optima with exactly the same value.The minimum of the unimodal Rosenbrock function is at the lowest part of a long and narrow valley [34].While the valley can be simply discovered within a few repetitions of an optimization algorithm, locating the exact global minimum is quite difficult.The Goldstein & Price function is also an easy benchmark for optimization with only two input parameters.The Schwefel function is quite misleading where the global minimum is distant from the second best minimum [60].As such, the optimization algorithms could easily fall into the trapped second best minimum.The multi-modal Shekel function has a complex search space.The Steps benchmark is formed of many flat plateaus and steep ridges.The Griewangk and Rastrigin functions are extremely multi-modal.Both functions include a cosine modulation creating numerous local minima.Yet the locations of the local minima throughout the search space are regularly spread [60].

Speed Evaluation
As the first experiment, the proposed algorithm was tested for speed, and compared to the basic BA [7] and the enhanced BA on the benchmark functions from 1 to 7. The experiment conditions were set according to the experiments of Pham and his colleagues [34,46].Accordingly, the grouped Bees Algorithm was run 100 times, with different random initializations, for each of these functions.The error for the while-loop of the GBA was defined as the difference between the value of the global optimum and the fittest solution found by the GBA, at each iteration.The optimization procedure then stopped when the error was less than 0.001 times the minimum of one and the global optimum.When the optimum value was zero, the procedure stopped if the solution was different from the optimum value by less than 0.001.From a mathematical perspective, the stopping criteria were hence set to be: stopping criterion = error ≤ 0.001 ; f * = 0 error ≤ min(0.001,0.001 f * ) ; f * = 0 (12) where f(x) is the value of the benchmark function f at the input point of x, and f* is the value of its global optimum.
Table 3 presents the results of applying the basic BA and the enhanced BA to the same benchmark suite as reported in [7,46].The table shows the average number of function evaluations performed by the GBA before it stops due to the same stopping criterion for all the algorithms.For each benchmark problem, the best result is emphasised in bold.By looking at the table, it is immediately clear that the GBA outperformed the basic method.However, to provide more comparable figures, Table 4 details the difference between the total numbers of fitness function calculations done by each algorithm compared to the GBA's.This figure is expressed for each function as the percentage change in the mean numbers of evaluations by the GBA with respect to those by the other algorithms.As shown in Table 4, the GBA is nearly two times faster than the basic BA, whereas its convergence speed is generally as fast as the enhanced BA.To statistically confirm the first claim, a multiple-problem non-parametric test is performed as suggested in [62].A non-parametric test is preferred since it does not make assumptions regarding the data, as opposed to parametric tests.The performances of the basic BA and GBA are represented by the mean number of evaluations in each function (or benchmark problem).An alpha (α) value of 0.5 is considered for the statistical tests.A Wilcoxon signed-rank test shows a statistically significant change in the number of evaluations from the basic BA to GBA over the set of benchmark problems (Z = −2.703,p = 0.039).However, the difference between the number of evaluations performed by the basic BA and GBA does not seem to have a quite symmetric distribution.This is partially due to the fact that benchmark problems are completely different from one another.Therefore, a paired-samples sign test, which is not sensitive to the normality assumption, is performed to be on the safe side.An exact sign test also resulted in statistically significant median decrease in the number of evaluations by GBA compared to the basic BA, p = 0.039.It is notable that the data regarding each run of the basic BA and the enhanced BA are not available from either reference [34] or reference [46].As such, single-problem statistical analysis (i.e., comparing runs for each benchmark function) is not possible.The obvious difference between the enhanced BA and the GBA is the high computational costs of employing the enhanced BA, which heavily depends on its fuzzy subsystem in all the iterations.Therefore, the GBA is far more computationally efficient than the enhanced BA.In addition, in Figure 4 the search strategy for finding the optimal point of GBA and the enhanced BA [46] are depicted for the Shekel function.The dashed red line and dashed greenish-blue line show the GBA's best point evolution track and the enhanced BA's best point evolution track, respectively.As shown in this figure, GBA has a greedier policy to reach the best point in short pieces of time compared to the enhanced BA.In other words, in GBA, each bee tries to reach the best point within their neighbourhood in as few iterations as possible, and it is not an issue to be trapped in a local optimum point.That is, a bee does not have to be worried about local optima, as those bees belonging to the higher groups, with larger patch sizes, have enough chances of being located in the route toward the global optimum point.So, the GBA's best solution has considerably less jumping in the search space than the enhanced BA.
It is evident that the enhanced BA jumps much more over the search space.This is because of its strategy encountering local points i.e., site abandonment.Though site abandonment could release the trapped bee from local optima, yet it leads to a generally slower process in finding the optimum.
In the end, it can be stated that GBA exhibits more evolutionary intelligence than the enhanced BA in reaching the optimum point.The parameters used by the GBA for benchmark functions from 1 to 7 in this experiment can be found in Table 5.
in this figure, GBA has a greedier policy to reach the best point in short pieces of time compared to the enhanced BA.In other words, in GBA, each bee tries to reach the best point within their neighbourhood in as few iterations as possible, and it is not an issue to be trapped in a local optimum point.That is, a bee does not have to be worried about local optima, as those bees belonging to the higher groups, with larger patch sizes, have enough chances of being located in the route toward the global optimum point.So, the GBA's best solution has considerably less jumping in the search space than the enhanced BA.It is evident that the enhanced BA jumps much more over the search space.This is because of its strategy encountering local points i.e., site abandonment.Though site abandonment could release the trapped bee from local optima, yet it leads to a generally slower process in finding the optimum.In the end, it can be stated that GBA exhibits more evolutionary intelligence than the enhanced BA in reaching the optimum point.The parameters used by the GBA for benchmark functions from 1 to 7 in this experiment can be found in Table 5.

Accuracy Evaluation
As the second experiment, the proposed algorithm is tested for accuracy, and compared to the standard BA [34] and the modified BA [47] on the benchmark functions from 5c to 12.The standard BA is a better version of the basic BA which employs neighbourhood shrinking and site abandonment methods [34].The stopping criteria in this experiment are defined differently form the first experiment.The experiment conditions were set according to the experiments in [47].This means the grouped Bees Algorithm was run independently 20 times, as was an experimental condition in [47].By the end of each run, the fittest bee of the last iteration was considered to be the final solution.For each benchmark problem, the exact number of iterations was preset in such a way that the number of function evaluations was as close as possible to that of the standard Bees Algorithm or the modified BA in [47], whichever was smaller.From a mathematical point of view, Equations ( 13)- (15) show how to calculate the exact number of iterations and function evaluations in the GBA.
The number of evaluations in one iteration (λ) of GBA is defined as: As a result, the number of iterations, ζ, and the number of evaluations, ξ, are obtained as: where δ is the minimum number of evaluations in the standard BA and the modified BA.
The number of iterations and function evaluations for the three mentioned algorithms are provided in Table 6.The table shows the differences in the number of function evaluations between GBA and the other two algorithms in percentages.The absolute distance from the fitness of the final solution to the global optimum is denoted as the absolute error as is in [47].Alike to [47], for each algorithm, the average and the median of absolute error are given in Table 7.These numbers are displayed in decimal to an accuracy of 4 decimal places.The least errors obtained for each benchmark function are emphasised in bold.If two algorithms performed similarly, their results are both displayed in bold.Table 8 shows the parameters used by the GBA for benchmark functions from 5c to 12 in the accuracy experiment.
According to Table 7, each of the grouped BA, modified BA and standard BA has been successful in achieving the minimum error in, respectively, five, three and three functions out of eight benchmarks.Considering both the mean and median errors, the grouped BA and the modified BA have performed almost equally in general.However, the standard BA has an equal or worse performance than the GBA in six benchmark functions out of eight.Once again, in order to add strength to these claims a number of non-parametric tests are performed as suggested in [62].Unfortunately, the data regarding each run of standard BA and modified BA is not reported in [47].Therefore, only multiple-problem statistical tests are conducted where the performance of the algorithms on each benchmark function is aggregated in a single number (e.g., mean/median error).The median error as reported in Table 7 is used as the representative for the performance of each algorithm in each function.The median is chosen over the mean as it is resistant to outliers and the violation of the normality assumption.First a Friedman test is carried out to see if there are any meaningful differences between the algorithms.At an alpha level of 0.05, the Friedman test confirms the existence of a statistically significant difference in the median error obtained by different BA variants, χ2(2) = 10.889,p = 0.002.Now in order to find where this significant difference lies, a post hoc analysis with Wilcoxon signed-rank tests is performed on all pairs of the BA variants.A Bonferroni correction of the alpha values results in a new significance level set at p < 0.017.There are no significant differences between the modified BA and the GBA (Z = −0.524,p = 0.688).However, there is a statistically significant reduction in error rate by the GBA vs. the standard BA (Z = −2.366,p = 0.016).

Discussion
To summarize the above-mentioned experiments, GBA not only is substantially faster than the basic version of BA, it also has a higher accuracy than the standard BA and a similar accuracy to the complex modified BA.It is notable that the modified BA is not considered to be one of the main implementations of the Bees Algorithm [45].The modified BA may be considered to be a hybrid kind of BA that employs various operators including mutation, crossover, interpolation and extrapolation; whereas the GBA is not introducing any new operator to the basic BA, and has significantly less conceptual and computational complexity compared to all the other variants built on top of the basic BA.
As mentioned, the performance of GA, PSO, and ACO on exactly the same benchmark functions, used in this paper, can be found in [34,46,47].In addition to the mathematical functions discussed here, GBA has shown great performance in two other applications.It was used for calibrating the parameters of a scripted AI in a boxing simulation game [63] where the fuzzy AI could not defeat the scripted AI after the GBA-based calibration procedure.GBA was also used to tune up the parameters of a hybrid controller for bipedal walking [64].The parameters were adjusted in a way that a trajectory generator module, as a subsystem of the hybrid controller, produced stable walking trajectories.
The notion of grouping is to organize all the particles hierarchically so that the degree of awareness of a group search decreases by increasing their group number.This is achieved by increasing the search neighborhood for later groups in order to have a spectrum of groups by different precisions in the exploration strategy.Although basic BA and some of its variants suffer from discontinuity more than other metaheuristics like GA and PSO, it is possible to generalize the concept of grouping for other population-based algorithms.In GA, for example, the whole population could be divided into several groups by the same policy as GBA, and a freedom factor for each group should be considered.The freedom factor of each group would define the freedom degree of the new child produced by selected parents.In other words, it determines how much a new solution is allowed to move through search space by a GA operator such as crossover or mutation.Clearly, as group number increases, the freedom degree raises.The same policy can be applied on PSO and so on in order to implement the idea of grouping.
A further extension of this work focuses on comparing and discussing the performance of GBA against the genetics algorithm and simulated annealing on optimizing discreet input space and combinatorial problems such as travelling salesman problem and component placement problem, initially discussed in [14].Moreover, the proposed GBA could be compared against a number of more recent advances in the metaheuristics optimization literature in high-dimensional problems.

Conclusions
In this study, the basic version of the Bees Algorithm has been restructured to improve its performance while decreasing the number of setting parameters.The proposed version is called the Grouped Bees Algorithm (i.e., GBA).In contrast to the basic Bees Algorithm, in GBA the bees are grouped to search different patches with various neighbourhood sizes.The group with the lowest index contains the fittest scout bees.This group has also the highest number of recruited bees.As the index of a group increases, the quality of the patches is reduced, and more scout bees are required to discover alternative potential solutions.There is also a random search group with at least one scout bee to preserve the stochastic nature of the algorithm.
The efficiency of the algorithm is assessed with two criteria: converging speed and accuracy.The algorithm is applied to 12 well-known function benchmarks.The net result indicates that the proposed variant is two times faster than the conventional Bees Algorithm, while almost as accurate as the more complex modified BA.Other desirable characteristics of the algorithm can be summarized as follows: (1) The grouped BA (GBA) has a well-defined methodology to set parameters, which leads to a lower number of tunable parameters; (2) The algorithm entails the least computational load; (3) It is based only on the conventional operators of the Bees Algorithm, i.e., the waggle dance.

Figure 4 .
Figure 4. Search Strategy of GBA and EBA [46] on Shekel Function.Figure 4. Search Strategy of GBA and EBA [46] on Shekel Function.

Figure 4 .
Figure 4. Search Strategy of GBA and EBA [46] on Shekel Function.Figure 4. Search Strategy of GBA and EBA [46] on Shekel Function.

Table 1 .
The nomenclature of the Grouped Bees Algorithm (GBA).

Table 4 .
Differences in the average number of evaluations.

Table 5 .
The parameters used by GBA in the speed experiment.* The Ngh vector has the same scalar value in all dimensions.

Table 6 .
No. of iterations and evaluations by Grouped BA, Standard BA and Modified BA.

Table 7 .
Mean and median of absolute error for Grouped BA, Standard BA and Modified BA.

Table 8 .
The parameters used by GBA in the accuracy experiment.* The Ngh vector has the same scalar value in all dimensions.