# Discrete and Continuous Optimization Based on Hierarchical Artificial Bee Colony Optimizer

Authors: Lianbo Ma; Kunyuan Hu; Yunlong Zhu; Ben Niu; Hanning Chen; Maowei He
Journal: Journal of Applied Mathematics
 (2014)

---

## Abstract

This paper presents a novel optimization algorithm, namely, hierarchical artificial bee colony optimization (HABC), to tackle complex high-dimensional problems. In the proposed multilevel model, the higher-level species can be aggregated by the subpopulations from lower level. In the bottom level, each subpopulation employing the canonical ABC method searches the part-dimensional optimum in parallel, which can be constructed into a complete solution for the upper level. At the same time, the comprehensive learning method with crossover and mutation operator is applied to enhance the global search ability between species. Experiments are conducted on a set of 20 continuous and discrete benchmark problems. The experimental results demonstrate remarkable performance of the HABC algorithm when compared with other six evolutionary algorithms.


---

## Body

## 1. Introduction

Swarm intelligence (SI) is a new paradigm of artificial intelligence system whereby small entities are working together to produce an intelligent behaviour from simple rules [1–4]. Artificial bee colony algorithm (ABC) is one of the most popular members of the family of swarm intelligence, which simulates the social foraging behavior of a honeybee swarm [5, 6]. Due to its simple arithmetic and good robustness, the ABC algorithm has been widely used in solving many numerical optimizations [7–9] and engineering optimization problems [10–14].However, when solving complex multimodal problems, ABC algorithm suffers from the following drawbacks [8]. (1) It is easily trapped into local minimums in the early generations, which leads to low population diversity in successive generations. (2) With the dimension increasing, the information exchange of each individual is limited in a random dimension, resulting in a slow convergence rate. (3) Due to the random selection of the neighbor bee and dimensions, food sources with higher fitness are not utilized, which influences the ability of global search.Moreover, compared to the huge in-depth studies of other evolutionary and swarm intelligence algorithms, such as evolutionary algorithm (EA) [15–18] and particle swarm optimization (PSO) [19–23], how to improve the diversity of swarm or overcome the local convergence of ABC is still a challenging to the researchers in optimization domain.In order to improve the performance of ABC on complex and high-dimensional problems, in this paper, a novel optimization algorithm called hierarchical ABC optimization (HABC) is proposed to extend the topology of original ABC algorithm from flat (one level) to hierarchical (multiple levels), which adopts multipattern cooperative evolutionary strategies.It is noted that the hierarchical coevolutionary scheme has been incorporated in these intelligent algorithms. For instance, a hierarchical version of PSO was proposed in [24] on IEEE Trans on Evol Comp, in which a tree type hierarchy was incorporated in PSO. Chen et al. [25] proposed a hierarchical swarm model where each subswarm evolved based on original PSO. Peng and Lu [26] presented a similar PSO framework, in which several swarms evolve in parallel with mutation operator. This paper further extends the above studies based on hierarchical frameworks with more complex strategies, such as variables decomposing approach, random grouping of variables, and cross and mutation operation. In particular, instead of simply employing original SI algorithm in parallel like other hierarchical algorithms, the HABC employing the variables decomposing strategy with random grouping technique divides the complex vectors into smaller components assigned to different subswarms, which achieves a significant improvement of solving high-dimensional problem.In terms of neighborhood concept, Kennedy and Mendes [27] analyzed effects of different topologies-based PSO algorithms. In 2004, a fully informed PSO using topologies and index-based neighborhood was proposed in [28]. Recently, Qu et al. [29] developed a neighborhood-based mutation strategy and integrated it with various niching DE algorithms, in which various topology types were considered. A distance-based locally informed particle swarm model was proposed in [30], which eliminates the need to specify any niching parameter and enhance the fine search ability of PSO. Obviously, many topology patterns can be used in different levels of our mode. In this work, we employ the most common topology, ring type, as the main structure of the proposed model.The proposed HABC model is inherently different from others in the following aspects.(1)
The cooperative coevolving approach based on divide-and-conquer strategy enhances the local search ability (exploitation); that is, by applying this method, the complex high-dimensional vectors can be decomposed into smaller components that are assigned to the lower hierarchy.(2)
The traditional evolution operators, namely, the crossover and mutation, are applied to interaction of different species instead of the traditional individual exchange between populations. In this case, the neighbor bees with higher fitness can be chosen to crossover and mutation, which effectively enhances the global search ability and convergence speed to the global best solution (exploration).Extensive studies based on a suit of 20 benchmark functions (including both continuous and discrete cases) are conducted to evaluate the performance of HABC. For comparison purposes, we also implemented the particle swarm optimization algorithm (PSO), cooperative particle swarm optimization algorithm (CPSO), artificial bee colony algorithm (ABC), cooperative artificial bee colony algorithm (CABC), covariance matrix adaptation evolution strategy (CMA-ES), and HABC variants on these functions. The experimental results are encouraging: the proposed HABC algorithm achieved remarkable search performance in terms of solution accuracy and convergence rate on almost all benchmark functions.The rest of the paper is organized as follows. Section2 describes the canonical ABC algorithm. In Section 3, the proposed hierarchical artificial bee colony (HABC) model is given. Section 4 tests the algorithm on the benchmarks and illustrates the results. Finally, Section 5 outlines the conclusions.


## 2. Canonical ABC Algorithm

The ABC algorithm is a relatively new SI algorithm by simulating the foraging behaviors of honey bee swarm, initially proposed by Karaboga and further developed by Basturk and Li et al. [8, 9, 31, 32]. In ABC, the colony of artificial bees are classified as three types: employed bees, onlookers, and scouts. Employed bees exploit the specific food sources; meanwhile, they pass the food information to onlooker bees. Onlooker bees choose good food sources based on the received information and then further exploit the food near their selected food source. The employed bee will become a scout when its food source has been abandoned. The fundamental mathematic representations are listed as follows.In initialization phase, a group of food sources are generated randomly in the search space using the following equation:(1)xi,j=xjmin⁡+rand(0,1)(xjmax⁡-xjmin⁡),
where i=1,2,…,SN and j=1,2,…,D. SN is the number of food sources. D is the number of variables, that is, problem dimension. xjmin⁡ and xjmax⁡ are the lower upper and upper bounds of the jth variable, respectively.In the employed bees’ phase, the neighbor food source (candidate solution) can be generated from the old food source of each employed bee in its memory using the following expression:(2)vi,j=xi,j+φ(xi,j-xk,j),
where k is a randomly selected food source and must be different from i; j is a randomly chosen indexes; ϕ is a random number in range [-1,1].In the onlooker bees’ phase, a onlooker bee selects a food source depending on the probability value associated with that food source, andPi can be calculated as follows:
(3)Pi=fitnessi∑j=1SNfitnessj,
where fitnessi is the fitness value of jth solution.In scout bees’ phase, if a food source cannot be improved further through a predetermined cycle (called “limit” in ABC), the food source is supposed to be abandoned. The employed bee subsequently become a scout. A new food source will be produced randomly in the search space using (1).The employed, onlooker, and scout bees’ phases will recycle until the termination condition is met.


## 3. Hierarchical Artificial Bee Colony Algorithm

The HABC integrates a two-level hierarchical coevolution scheme inspired by the concept and main ideas of multipopulation coevolution strategy and crossover and mutation operation. The flowchart of the HABC is shown in Figure1. It includes four key strategy approaches: variables decomposing approach, random grouping of variables, background vector calculating approach, and crossover and mutation operation, which is presented as follows.Figure 1
Hierarchical optimization model.


### 3.1. Hierarchical Multipopulation Optimization Model

As described in Section2, we can see that the new food source is produced by a perturbation coming from a random single dimension in a randomly chosen bee. This causes an individual to may have discovered some good dimensions, while the other individuals that follow this bee are likely to choose worse vectors in D-dimensions and abandon the good ones. On the other hand, when solving complex problems, single population-based artificial bee algorithms suffer from the following drawback of premature convergence at the early generations.Hence, the HABC contains two levels, namely, the bottom level and top level, to balance exploring and exploiting ability. In Figure1, in the bottom level, with the variables decomposing strategy, each subpopulation employs the canonical ABC method to search the part-dimensional optimum in parallel; that is, in each iteration, K subpopulations in the bottom level generate K best solutions, which are constructed into a complete solution species that are updated to the top level. In the top level, the multispecies community adopts the information exchange mechanism based on crossover operator, by which each species can learn from its neighborhoods in a specific topology. The vectors decomposing strategy and information exchange crossover operator can be described in detail as follows.


### 3.2. Variables Decomposing Approach

The purpose of this approach is to obtain finer local search in single dimensions inspired by the divide-and-conquer approach. Notice that two aspects must be analyzed:(1) how to decompose the whole solution vector, and (2) how to calculate the fitness of each individual of each subpopulation. The detailed procedure is presented as follows.Step 1.
The simplest grouping method is permitting aD-dimensional vector to be split into K subcomponents, each corresponding to a subpopulation of s-dimensions, with M individuals (where D=K*s). The jth subpopulation is denoted as Pj, j∈[1⋯K].Step 2.
Construct complete evolving solutionGbest, which is the concatenation of the best subcomponents’ solutions Pj by following:
(4)Gbest=(P1·g,P2·g,Pj·g⋯PK·g),
where Pj·g represents the personal best solution of the jth subpopulation.Step 3.
For each componentPj, j∈[1⋯K], do the following. (a)
At employed bees’ phase, for each individualXi, i∈[1⋯M], replace the ith component of the Gbest by using the ith component of individual Xi. Caculate the new solution fitness: f(newGbest(P1·g,P2·g,Xi,…Pk·g)). If f(newgbest)<f(Gbest), then Gbest is replaced by newGbest.(b)
UpdateXi positions by using (8).(c)
At onlooker bees’ phase, repeat (a)-(b).Step 4.
Memorize the best solution achieved so far, and compare the best solution withGbest and memorize the best one.


#### 3.2.1. Random Grouping of Variables

To increase the probability of two interacting variables allocated to the same subcomponent, without assuming any prior knowledge of the problem, according to the random grouping of variables proposed by [21], we adopt the same random grouping scheme by dynamically changing group size. For example, for a problem of 100 dimensions, we can define that
(5)G={2,5,10,20,100},K⊂G.Here, if we randomly decompose theD-dimensional object vector into K subcomponents at each iteration (i.e., we construct each of the K subcomponents by randomly selecting S-dimensions from the D-dimensional object vector), the probability of placing two interacting variables into the same subcomponent becomes higher, over an increasing number of iterations [21].


### 3.3. The Information Exchange Mechanism Based on Crossover Operator between Multispecies

In the top level, we adopt crossover operator with a specific topology to enhance the information exchange between species, in which each speciesPj can learn from its symbiotic partner in the neighborhood. The key operations of this crossover procedure are described in Figure 2.Figure 2
The information exchange mechanism based on crossover operator.Step 5 (Select elites to the best-performing list (BPL)).
First, a set of competent individuals from current speciesPj’s neighborhood (i.e., ring topology) is selected to construct the best-performing list (BPL) with higher fitness that has larger probability to be selected. The size of BPL is equal with the number of current species Pj. These individuals of BPL are regarded as elites. The selection operation tries to mimic the maturing phenomenon in nature, where the generated offspring will become more suitable to the environment by using these elites as parents.Step 6 (Crossover and mutation between species).
To produce well-performing individuals, parents are selected from the BPL’s elites only for the crossover operation. To select parents effectively, the tournament selection scheme is used. Firstly, two enhanced elites are selected randomly, and their fitness values are compared to select the elites. Then, the one with better fitness value is viewed as parent. Then, another parent is selected in the same way. Two offsprings are created by performing crossover on the selected parents. This paper adopts two representative crossover methods: single-point crossover and arithmetic crossover. For single-point crossover, the offspring is produced as the traditional GA crossover method [33]. For arithmetic crossover method, the offspring is produced by (6) as follows:
(6)snew=rand(0,1)×parent1+rand(0,1)×parent2,
where Snew is newly produced offspring, parent1 and parent2 are randomly selected from BPL.Step 7 (Update with greedy selection strategy).
Not all current species are replaced by the elites from BPL; we set a selecting rate CR to determine the replaced individuals. Assuming that species size ofPj is M, then the replaced individuals number is M*CR. For the selected individual, Sj, the newly produced offspring Snew is then compared with Sj, applying a greedy selection mechanism, in which the best one is remained. We can choose four selecting approaches: selecting the best individuals (i.e., M*CR individuals), a medium level of individuals, the worst individuals, and random individuals.Hence, there are eight HABC variants according to different crossover and selection approaches, as listed in Table1. In the next experiments, we will study the effect of different crossovers, selection modes, and CRs. With applying the effective social learning strategy, the information exchange between species is enhanced and the food sources with higher fitness are fully utilized.Table 1
Eight versions of HABC.
Algorithms
Selection methods
Crossover mode
HABC_SB
Select the best individuals
Single point
HABC_SW
Select the worst individuals
Single point
HABC_SM
Select medium individuals
Single point
HABC_SR
Select random individuals
Single point
HABC_AB
Select the best individuals
Arithmetic point
HABC_AW
Select the worst individuals
Arithmetic point
HABC_AM
Select medium individuals
Arithmetic point
HABC_AR
Select random individuals
Arithmetic pointIn summary, in order to facilitate the below presentation and test formulation, we define a unified parameters for HABC model in Table2. According to the process description as mentioned above, the flowchart of HABC algorithm is summarized in Figure 3, while the pseudocode for HABC algorithm is presented in  Algorithm 1.Table 2
Parameters of the HABC.
HABC
=
(
N
,
M
,
P
i
j
,
C
,
CR
,
T
,
O
,
S
)
N
The number of species in top level
K
Subpopulation dividingD-dimensions into S-dimensions
M
Subpopulation size
S
Corresponding to a population ofS-dimensions, where S=D/K
D
Dimensions of optimization problem
i
Top level population’s (species) ID counter from 1 toN
j
Button level population’s ID counter from 1 toK
P
i
j
Theith population (of the jth species)
CR
Selection rate for replacing the offspring to the selectedindividuals
T
The hierarchical interaction topology of HABC
O
The objective optimization goalsAlgorithm 1:Pseudocode for the HABC algorithm.
HABC algorithm
Sett≔0;
INITIALIZE.
Randomly divide the whole population intoN species (Pi) each possesses K sub-populations (Pij), each possesses M bees;
RandomizePij’s D-dimensions food source positions Pij·Xk; i∈[1:N], j∈[1:K], k∈[1:M].
Each sub-populationPij with S dimensions (where S is randomly chosen from a set G, and D=K*S).
WHILE (the termination conditions are not met)
for  each speciesi,i=[1:N]
InitializeD-dimensions complete vector Gbest=(Pi1·g,Pi2·g,…,Pil-1·g,z,Pil+1·g,…,PiK·g),
which consists of theS-dimensions
best solutionPily^.
Randomly allDdimension indices;
WHILE (the termination conditions are not met)
for each sub-population Pij,j=[1:K] do
repeat
Employed Bees’ Phase:
For each employed bee Pij·xk:
Produce a new solution by using (2)
Evaluate the new solution
Apply Greedy selection choosing the better solution
end
Calculate the probability values Pi for the solution by using (2)
Onlooker Bees’ Phase:
for each employed bee Pij·xk
Probabilistically choose a solution according to Pi
Produce a new solution by (2)
Evaluate the new solution
Apply Greedy selection choosing the better solution
end
Re-initialize solutions not improved for Limitcycles
Memorize the best solution Pij·x
for each individual of Pij·xk,k=[1:M] do
Place best solution in the complete solution newGbest by:
newGbest=(Pi1·g, Pi2·g,…,Pij·xk,…,PiK·g)
Update complete solution if it improves:
If (newGbest) <  f  (Gbest))
ThenPij·g=Pij·xk
end
end
end WHILE
Select elites form neighborhood ofPi
BPL = the topM best individuals of the ring topology {Pi-1,Pi,Pi+1}
Crossover and MutationPi′ by (4)
UpdatePi with applying Greedy selection mechanism from Pi′
end
find the global best solutiongbestfrom the whole population P
memorize the best solution of eachPij
Sett≔t+1;
end WHILEFigure 3
Flowchart of the HABC algorithm.


## 3.1. Hierarchical Multipopulation Optimization Model

As described in Section2, we can see that the new food source is produced by a perturbation coming from a random single dimension in a randomly chosen bee. This causes an individual to may have discovered some good dimensions, while the other individuals that follow this bee are likely to choose worse vectors in D-dimensions and abandon the good ones. On the other hand, when solving complex problems, single population-based artificial bee algorithms suffer from the following drawback of premature convergence at the early generations.Hence, the HABC contains two levels, namely, the bottom level and top level, to balance exploring and exploiting ability. In Figure1, in the bottom level, with the variables decomposing strategy, each subpopulation employs the canonical ABC method to search the part-dimensional optimum in parallel; that is, in each iteration, K subpopulations in the bottom level generate K best solutions, which are constructed into a complete solution species that are updated to the top level. In the top level, the multispecies community adopts the information exchange mechanism based on crossover operator, by which each species can learn from its neighborhoods in a specific topology. The vectors decomposing strategy and information exchange crossover operator can be described in detail as follows.


## 3.2. Variables Decomposing Approach

The purpose of this approach is to obtain finer local search in single dimensions inspired by the divide-and-conquer approach. Notice that two aspects must be analyzed:(1) how to decompose the whole solution vector, and (2) how to calculate the fitness of each individual of each subpopulation. The detailed procedure is presented as follows.Step 1.
The simplest grouping method is permitting aD-dimensional vector to be split into K subcomponents, each corresponding to a subpopulation of s-dimensions, with M individuals (where D=K*s). The jth subpopulation is denoted as Pj, j∈[1⋯K].Step 2.
Construct complete evolving solutionGbest, which is the concatenation of the best subcomponents’ solutions Pj by following:
(4)Gbest=(P1·g,P2·g,Pj·g⋯PK·g),
where Pj·g represents the personal best solution of the jth subpopulation.Step 3.
For each componentPj, j∈[1⋯K], do the following. (a)
At employed bees’ phase, for each individualXi, i∈[1⋯M], replace the ith component of the Gbest by using the ith component of individual Xi. Caculate the new solution fitness: f(newGbest(P1·g,P2·g,Xi,…Pk·g)). If f(newgbest)<f(Gbest), then Gbest is replaced by newGbest.(b)
UpdateXi positions by using (8).(c)
At onlooker bees’ phase, repeat (a)-(b).Step 4.
Memorize the best solution achieved so far, and compare the best solution withGbest and memorize the best one.


### 3.2.1. Random Grouping of Variables

To increase the probability of two interacting variables allocated to the same subcomponent, without assuming any prior knowledge of the problem, according to the random grouping of variables proposed by [21], we adopt the same random grouping scheme by dynamically changing group size. For example, for a problem of 100 dimensions, we can define that
(5)G={2,5,10,20,100},K⊂G.Here, if we randomly decompose theD-dimensional object vector into K subcomponents at each iteration (i.e., we construct each of the K subcomponents by randomly selecting S-dimensions from the D-dimensional object vector), the probability of placing two interacting variables into the same subcomponent becomes higher, over an increasing number of iterations [21].


## 3.2.1. Random Grouping of Variables

To increase the probability of two interacting variables allocated to the same subcomponent, without assuming any prior knowledge of the problem, according to the random grouping of variables proposed by [21], we adopt the same random grouping scheme by dynamically changing group size. For example, for a problem of 100 dimensions, we can define that
(5)G={2,5,10,20,100},K⊂G.Here, if we randomly decompose theD-dimensional object vector into K subcomponents at each iteration (i.e., we construct each of the K subcomponents by randomly selecting S-dimensions from the D-dimensional object vector), the probability of placing two interacting variables into the same subcomponent becomes higher, over an increasing number of iterations [21].


## 3.3. The Information Exchange Mechanism Based on Crossover Operator between Multispecies

In the top level, we adopt crossover operator with a specific topology to enhance the information exchange between species, in which each speciesPj can learn from its symbiotic partner in the neighborhood. The key operations of this crossover procedure are described in Figure 2.Figure 2
The information exchange mechanism based on crossover operator.Step 5 (Select elites to the best-performing list (BPL)).
First, a set of competent individuals from current speciesPj’s neighborhood (i.e., ring topology) is selected to construct the best-performing list (BPL) with higher fitness that has larger probability to be selected. The size of BPL is equal with the number of current species Pj. These individuals of BPL are regarded as elites. The selection operation tries to mimic the maturing phenomenon in nature, where the generated offspring will become more suitable to the environment by using these elites as parents.Step 6 (Crossover and mutation between species).
To produce well-performing individuals, parents are selected from the BPL’s elites only for the crossover operation. To select parents effectively, the tournament selection scheme is used. Firstly, two enhanced elites are selected randomly, and their fitness values are compared to select the elites. Then, the one with better fitness value is viewed as parent. Then, another parent is selected in the same way. Two offsprings are created by performing crossover on the selected parents. This paper adopts two representative crossover methods: single-point crossover and arithmetic crossover. For single-point crossover, the offspring is produced as the traditional GA crossover method [33]. For arithmetic crossover method, the offspring is produced by (6) as follows:
(6)snew=rand(0,1)×parent1+rand(0,1)×parent2,
where Snew is newly produced offspring, parent1 and parent2 are randomly selected from BPL.Step 7 (Update with greedy selection strategy).
Not all current species are replaced by the elites from BPL; we set a selecting rate CR to determine the replaced individuals. Assuming that species size ofPj is M, then the replaced individuals number is M*CR. For the selected individual, Sj, the newly produced offspring Snew is then compared with Sj, applying a greedy selection mechanism, in which the best one is remained. We can choose four selecting approaches: selecting the best individuals (i.e., M*CR individuals), a medium level of individuals, the worst individuals, and random individuals.Hence, there are eight HABC variants according to different crossover and selection approaches, as listed in Table1. In the next experiments, we will study the effect of different crossovers, selection modes, and CRs. With applying the effective social learning strategy, the information exchange between species is enhanced and the food sources with higher fitness are fully utilized.Table 1
Eight versions of HABC.
Algorithms
Selection methods
Crossover mode
HABC_SB
Select the best individuals
Single point
HABC_SW
Select the worst individuals
Single point
HABC_SM
Select medium individuals
Single point
HABC_SR
Select random individuals
Single point
HABC_AB
Select the best individuals
Arithmetic point
HABC_AW
Select the worst individuals
Arithmetic point
HABC_AM
Select medium individuals
Arithmetic point
HABC_AR
Select random individuals
Arithmetic pointIn summary, in order to facilitate the below presentation and test formulation, we define a unified parameters for HABC model in Table2. According to the process description as mentioned above, the flowchart of HABC algorithm is summarized in Figure 3, while the pseudocode for HABC algorithm is presented in  Algorithm 1.Table 2
Parameters of the HABC.
HABC
=
(
N
,
M
,
P
i
j
,
C
,
CR
,
T
,
O
,
S
)
N
The number of species in top level
K
Subpopulation dividingD-dimensions into S-dimensions
M
Subpopulation size
S
Corresponding to a population ofS-dimensions, where S=D/K
D
Dimensions of optimization problem
i
Top level population’s (species) ID counter from 1 toN
j
Button level population’s ID counter from 1 toK
P
i
j
Theith population (of the jth species)
CR
Selection rate for replacing the offspring to the selectedindividuals
T
The hierarchical interaction topology of HABC
O
The objective optimization goalsAlgorithm 1:Pseudocode for the HABC algorithm.
HABC algorithm
Sett≔0;
INITIALIZE.
Randomly divide the whole population intoN species (Pi) each possesses K sub-populations (Pij), each possesses M bees;
RandomizePij’s D-dimensions food source positions Pij·Xk; i∈[1:N], j∈[1:K], k∈[1:M].
Each sub-populationPij with S dimensions (where S is randomly chosen from a set G, and D=K*S).
WHILE (the termination conditions are not met)
for  each speciesi,i=[1:N]
InitializeD-dimensions complete vector Gbest=(Pi1·g,Pi2·g,…,Pil-1·g,z,Pil+1·g,…,PiK·g),
which consists of theS-dimensions
best solutionPily^.
Randomly allDdimension indices;
WHILE (the termination conditions are not met)
for each sub-population Pij,j=[1:K] do
repeat
Employed Bees’ Phase:
For each employed bee Pij·xk:
Produce a new solution by using (2)
Evaluate the new solution
Apply Greedy selection choosing the better solution
end
Calculate the probability values Pi for the solution by using (2)
Onlooker Bees’ Phase:
for each employed bee Pij·xk
Probabilistically choose a solution according to Pi
Produce a new solution by (2)
Evaluate the new solution
Apply Greedy selection choosing the better solution
end
Re-initialize solutions not improved for Limitcycles
Memorize the best solution Pij·x
for each individual of Pij·xk,k=[1:M] do
Place best solution in the complete solution newGbest by:
newGbest=(Pi1·g, Pi2·g,…,Pij·xk,…,PiK·g)
Update complete solution if it improves:
If (newGbest) <  f  (Gbest))
ThenPij·g=Pij·xk
end
end
end WHILE
Select elites form neighborhood ofPi
BPL = the topM best individuals of the ring topology {Pi-1,Pi,Pi+1}
Crossover and MutationPi′ by (4)
UpdatePi with applying Greedy selection mechanism from Pi′
end
find the global best solutiongbestfrom the whole population P
memorize the best solution of eachPij
Sett≔t+1;
end WHILEFigure 3
Flowchart of the HABC algorithm.


## 4. Experimental Study

In the experimental studies, to fully evaluate the performance of the HABC algorithm fairly, we employ a set of 20 benchmark functions as listed in the appendix, which can be classified as basic continuous benchmarks(f1–f8), CEC2005 benchmarks (f9–f15), and discrete benchmarks (f16~f20) [34]. The number of function evaluations (FEs) is adopted as the time measure criterion substitute the number of iterations.


### 4.1. Experimental Settings

Eight variants of HABC based on different crossover methods and CR values were executed with six state-of-the-art EA and SI algorithms for comparisons: artificial bee colony algorithm (ABC) [4], cooperative artificial bee colony algorithm (CABC) [35], canonical PSO with constriction factor (PSO) [36], cooperative PSO (CPSO) [20], standard genetic algorithm (GA) [33], and covariance matrix adaptation evolution strategy (CMA-ES) [37].CABC adopts the similar cooperative approach into original ABC algorithm. CPSO is a cooperative PSO model, cooperatively coevolving multiple PSO subpopulations. GA is the classical stochastic search technique mimicking the process of natural selection; the principle of CMA-ES is to apply the information of successful search steps to adjust the covariance matrix of the mutation distribution within an iterative procedure.The population size and total generation number of all involved algorithms in this experiment are set as 50 and 100000. For the continuous testing functions used, the dimensions are all set as 100D. For the five discrete testing functions, the dimensions are set as Goldberg-30D, Bipolar-60D, Mulenbein-120D, Clerc’s problem 1-120D, and Clerc’s problem 2-120D.According to the original literatures about the control parameters for the other algorithms involved, in continuous optimization experiment, the initialization conditions of CMA-ES are the same as in [37], and the number of offspring candidate solutions generated per time step is λ=4μ; for ABC and CABC, the limit parameter is set to be SN×D, where D is the objective function dimension and SN is the employed bees number. The split factor for CABC and CPSO is equal to the dimensions [20, 35]. For PSO and CPSO, the learning rates c1 and c2 were both set as 2.05 and the constriction factor χ=0.729.In discrete optimization experiment, HABC is compared with the binary PSO version, ABC and GA. GA employs single point crossover operation (i.e., crossover rate is 0.8 and mutation rate is 0.01). For discrete HABC and discrete ABC, the update process used in the employ and onlooker stages is changed based on (1). The learning factor of producing new solution is calculated using (7). Then, the position update equation is defined by (8) for discrete problems. Discrete HABC variant adopts single-point crossover method. Consider
(7)qij=|ϕij(xkj-xij)|,(8)vij={xij¯ifrandj≤qijxijotherwise.


### 4.2. Parameter Sensitivity Analysis of HABC

#### 4.2.1. Effects of Species NumberN

The species number of the top level in HABC needs to be tuned. Six continuous benchmark functions, Sphere 100D, Rosenbrock 100D, Rastrigin 100D, Schwefel 100D, Ackley 100D, and Griewank 100D and three discrete benchmark functions—Goldberg 30D, Bipolar 30D, and Clerc problem 1 120D—are employed to investigate the impact of this parameter. Set CR equal to 1 and all the functions run 30 sample times. As shown in Figure4, it is visible that our proposed ABC got faster convergence rate and better optimal solutions on the involved test functions with increased N. However, the performance improvement is not very remarkable using this parameter.Figure 4
HABC’s results on nine-test functions with different species numbersN.


#### 4.2.2. Choices of Crossover Mode and CR Value

The basic benchmark functions(f1–f8) are adopted to evaluate the performance of HABC variants with different crossover modes andCRs. Four discrete benchmark functions (f16–f20) are used to test the discrete versions of HABC_AB, HABC_AW, HABC_AM, and HABC_AR, which adopt single-point crossover mode.Firstly, when CR is fixed at 0.2, all the functions are implemented for 30 times. From Table3, we can observe that HABC_AW outperformed other variants on seven functions, except f2, while HABC_AM and HABC_AR get nearly the same results as HABC_AW on four functions. From the discrete functions results, HABC_SB markedly outperformed other variants, except f18. According to the rank listed in Table 3, the performances of the continuous algorithms involved are ordered as HABC_AW > HABC_AB > HABC_AR > HABC_AM > HABC_SR > HABC_SM > HABC_SB > HABC_SW and for the discrete versions are ordered as HABC_SB > HABC_SM > HABC_SW > HABC_SR.Table 3
Results of all algorithms on benchmark continuous functionsf1–f8 and discrete functions f16–f19. In bold are the best results.
Function
HABC_SB
HABC_SW
HABC_SM
HABC_SR
HABC_AB
HABC_AW
HABC_AM
HABC_AR
f
1
Mean
3.84
e
-
20
9.87
e
-
4
2.14
e
-
14
1.25
e
-
7
4.66
e
-
1
4
4
4.52
e
-
300
5
.
84
e
-
301
5
.
6
7
e
-
25
9
Std
5.44
e
-
20
1.390
e
-
3
3.03
e
-
14
1.77
e
-
7
6
.
59
e
-
1
4
4
0
0
0
Rank
5
8
6
7
4
1
2
3
f
2
Mean
2
.
1
2
e
-
0
02
2
.
1
5
e
+
001
1
.
0
e
+
001
7.54
3.96
e
-
005
1.26
e
-
004
2.75
1.10
e
-
005
Std
5.03
e
-
00
2
1
.
5
4
e
+
001
1
.
39
e
+
001
1
.
26
e
+
001
7.43
e
-
005
3.38
e
-
004
8.69
1
.
9
2
e
-
005
Rank
4
8
7
6
2
3
5
1
f
3
Mean
2.20
e
-
005
2
.
36
e
-
0
18
2
.
99
e
-
0
07
1
.
21
e
-
0
09
3
.
57
e
-
1
4
8
1.07
e
-
282
4.02
e
-
282
6.57
e
-
278
Std
2.65
e
-
005
4.74
e
-
0
18
5
.
99
e
-
0
07
2
.
41
e
-
0
09
7
.
14
e
-
1
4
8
0
0
0
Rank
8
5
7
6
4
1
2
3
f
4
Mean
1.77
e
-
004
4.11
e
-
007
8.44
e
-
007
0
0
0
0
0
Std
2.27
e
-
004
5.66
e
-
007
1.12
e
-
006
0
0
0
0
0
Rank
8
6
7
1
1
1
1
1
f
5
Mean
1.74
e
-
004
9.39
3.59
e
-
006
9.12
e
-
001
0
0
0
0
Std
3.87
e
-
004
11.47
6.14
e
-
006
8.61
e
-
001
0
0
0
0
Rank
6
8
5
7
1
1
1
1
f
6
Mean
5.01
e
-
004
3.84
e
-
002
3.87
e
-
004
3.84
e
-
00
4
4
.
14
e
-
00
4
3.81
e
-
00
4
3.99
e
-
004
3.82
e
-
00
4
Std
2
.
86
e
-
004
5.15
e
-
002
7
.
92
e
-
00
6
3.42
e
-
00
6
3.99
e
-
00
5
6
.
43
e
-
0
12
2.54
e
-
012
0
Rank
7
8
5
4
6
1
2
3
f
7
Mean
1.77
e
-
003
1.21
6.83
e
-
005
2.78
e
-
001
8.88
e
-
016
8.88
e
-
016
8.88
e
-
016
8.88
e
-
16
Std
5.12
e
-
003
1.93
2.13
e
-
004
8.24
e
-
001
0
0
0
0
Rank
6
8
5
7
1
1
1
1
f
8
Mean
1.76
e
-
004
4.10
e
-
007
8.44
e
-
007
0
0
0
0
0
Std
2.27
e
-
004
5.80
e
-
007
1.19
e
-
006
0
0
0
0
0
Rank
8
6
7
1
1
1
1
1
Total Rank
52
57
49
39
20
10
15
14
f
1
6
Mean
0.12
0.3
0.34
0.26
Std
0.10
0.19
0.09
0.16
Rank
1
3
4
2
f
1
7
Mean
0.07
0.25
0.21
0.26
Std
0.08
0.18
0.73
0.13
Rank
1
3
2
4
f
1
8
Mean
1.76
e
-
004
4.11
e
-
007
8.44
e
-
007
0
Std
2.22
e
-
004
5.81
1.19
0
Rank
4
2
3
1
f
19
Mean
1.94
3.61
2.72
3.86
Std
0.59
0.95
0.90
1.10
Rank
1
3
2
4
Total Rank
7
11
11
11Then, the HABC_AW for continuous functions and HABC_SB for discrete functions are implemented to determine CR value. Form Tables4 and 5, we can find that HABC variant with CR equal to 1 performs best on four functions among all five functions while CR equal to 0.05 gets best result on one function. According to the results with different CRs, we chose CR equal to 1 as an optimal value for the next experiments.Table 4
Results of HABC_AW on benchmark functionsf1–f8 with different CR. In bold are the best results.
Function
0.05
0.1
0.2.
0.4
0.6
1
f
1
Mean
1.69
e
-
109
3.74
e
-
215
4.25
e
-
290
0 (64800)
0 (56000)
0  (36000)
Std
3.79879
e
-
109
0
0
0
0
0
f
2
Mean
2
.
1
7
e
-
004
1.16
e
-
006
1.08
e
-
005
5.50
4.26
e
-
006
4
.
35
e
-
007
Std
4.07
e
-
004
2.1
e
-
006
8.15
e
-
006
12.30
6.38
e
-
006
5.69
e
-
007
f
3
Mean
2
.
36
e
-
101
2
.
99
e
-
194
1
.
71
e
-
267
0 (69700)
0 (49800)
0  (38000)
Std
4.74
e
-
101
0
0
0
0
0
f
4
Mean
1.93
e
-
028
4.46
e
-
028
4.97
e
-
028
5.14
e
-
026
7.62
e
-
25
7.87
e
-
022
Std
2.03
e
-
028
8.01
e
-
028
3.44
e
-
028
5.77
e
-
026
5.55
e
-
025
1.34
e
-
021
f
5
Mean
0 (20000)
0 (13500)
0 (7900)
0 (6860)
0 (4400)
0  (3100)
Std
0
0
0
0
0
0
f
6
Mean
3.84
e
-
004
3.81
e
-
004
3.81
e
-
00
4
3
.
96
e
-
00
4
6.11
e
-
00
4
5.79
e
-
004
Std
1.25
e
-
012
1
.
62
e
-
0
12
8.42
e
-
0
13
3.22
e
-
00
5
3
.
43
e
-
0
04
2.84
e
-
004
f
7
Mean
8.88
e
-
016 (22000)
8.88
e
-
016  (21500)
8.88
e
-
016 (15400)
8.88
e
-
016 (14220)
8.88
e
-
016 (13800)
8.88
e
-
016  (12500)
Std
0
0
0
0
0
0
f
8
Mean
0 (19000)
0 (15800)
0 (13000)
0 (9800)
0 (6100)
0  (5400)
Std
0
0
0
0
0
0Table 5
Results of HABC_SB on benchmark functionsf16–f20 with different CR. In bold are the best results.
Function
0.05
0.1
0.2
0.4
0.6
1
f
16
Mean
5.11
e
-
001
3.00
e
-
002
9.00
e
-
002
1.00
e
-
001
2.6
e
-
001
1.6
e
-
001
Std
1.61
e
-
001
6.03
e
-
002
1.03
e
-
001
8.3
2
e
-
002
1
.
68
e
-
001
2.11
e
-
001
f
17
Mean
2.00
e
-
002
0
2.00
e
-
002
1.50
e
-
001
2.61
e
-
001
5.15
e
-
001
Std
6.37
e
-
002
0
6.35
e
-
002
1.23
e
-
001
2
.
38
e
-
001
1.69
e
-
001
f
18
Mean
4.86
6.81
8.25
1.69
e
+
001
2.22
e
+
001
4.21
e
+
001
Std
2.34
2.24
2.45
3.32
4.79
5.00
f
19
Mean
6.70
1.69
1.75
3.61
5.28
8.73
Std
6.1
e
-
001
5.11
e
-
001
3.11
e
-
001
5.77
e
-
001
7.44
e
-
001
1.41
f
20
Mean
5.34
e
-
001
1.51
1.96
2.36
3.31
6.53
Std
2.25
e
-
002
3.32
e
-
001
5.82
e
-
001
3.42
e
-
001
6.03
e
-
001
9.54
e
-
004


#### 4.2.3. Effects of Dynamically Changing Group SizeK

Obviously, the choice of value for split factorK (i.e., subpopulation number) had a significant impact on the performance of the proposed algorithm. In order to vary K during a run, we defined S={2,5,10,50,100} for 100D function optimization and set K randomly to choose one element of S. Then, the variant of HABC with dynamically changing K is compared with that with fixed split number on four benchmark functions for 30 sample runs. From the results listed in Table 6 and Figure 5, we can observe that the performance is sensitive to the predefined K value. HABC, with the dynamically changing K, consistently obtained superior performance to other variants except f2. Moreover, it is not very easy to obtain the prior knowledge about the optimal s value of the most real-world cases, so the random grouping scheme can be a suitable solution.Table 6
Performance of HABC_AW on 100Df1 and f4–f8 with the different grouping number K. In bold are the best results.
Function
K
⊂
S
K
=
5
K
=
10
K
=
50
K
=
100
f
1
Mean
0  (91000)
0  (45000)
2.00
e
-
080
3.70
e
-
043
6.56
e
-
042
Std
0
0
1.03
e
-
001
6.31
e
-
043
1.27
e
-
041
f
4
Mean
1.10
e
-
014
1.47
1.56
6.50
e
-
001
1.61
e
-
022
Std
1.37
e
-
014
3.12
e
-
001
2.47
e
-
001
1.1 3
1.38
e
-
022
f
5
Mean
0
0
7
.
25
e
-
014
5.39
e
-
013
8.22
e
-
013
Std
0
0
1.45
e
-
013
2.32
e
-
013
1.33
e
-
013
f
6
Mean
1.70
e
-
003
7.69
e
-
002
4.45
e
-
002
3.23
e
+
002
1.99
e
+
002
Std
1.10
e
-
003
1.11
e
-
001
2.71
e
-
002
5.37
e
+
002
3.94
e
+
002
f
7
Mean
8.34
e
-
016
2.51
e
-
014
1.33
e
-
014
1.13
e
-
013
7.71
e
-
014
Std
0
5
.
25
e
-
0
15
1.25
e
-
0
14
2.42
e
-
0
14
2
.
03
e
-
0
15
f
8
Mean
0
0
0
0
0
Std
0
0
0
0
0The median convergence results of 100D continuous functions. (a) Sphere function. (b) Sin problem function. (c) Rastrigin function. (d) Schwefel function. (e) Ackley function. (f) Griewank function.
(a)
(b)
(c)
(d)
(e)
(f)


### 4.3. Comparing HABC with Other State-of-the-Art Algorithms on Benchmark Problems

To validate the effectiveness of the proposed algorithm, the basic benchmark functions(f1–f8) and CEC2005 functions (f9–f15) are employed [38]. HABC (adopting HABC_AW for continuous problems, CR=1) is tested on a set of benchmark functions (f1~f15) in comparison with CABC, CPSO, CMA-ES, ABC, PSO, and GA algorithms. Table 7 demonstrates the corresponding results of mean and standard deviation for each algorithm on f1~f15 with 100 dimensions. Figure 6 shows the convergence characteristics in terms of the best mean run of each algorithm for f1~f15 with 100 dimensions.Table 7
Performance of all algorithms on benchmark continuous functionsf1–f15.
Function
HABC
CABC
CPSO
CMA-ES
ABC
PSO
GA
f
1
Mean
0
9.87
e
-
138
2.14
e
-
0
14
0
1
.
93
e
-
015
8
.
52
e
-
010
3
.
84
e
-
001
Std
0
1.390
e
-
3
1
.
9
3
e
-
137
0
8
.
59
e
-
016
1.83
e
-
009
1.50
e
-
001
Rank
1
3
5
1
4
6
7
f
2
Mean
0
5.41
3.81
1
.
3
2
e
-
0
0
7
1
.
9
2
e
-
00
1
2
.
98
e
+
00
1
3
.
26
e
+
002
Std
0
6.25
2.56
5.03
e
-
00
2
2
.
0
3
e
-
00
1
2
.
4
8
e
+
00
1
7
.
6
1
e
+
002
Rank
1
5
4
2
3
6
7
f
3
Mean
0
3
.
80
e
+
001
2
.
66
e
+
001
0
2
.
75
e
+
001
2
.
67
e
-
003
8
.
55
e
+
001
Std
0
8
.
47
e
+
001
3
.
65
e
+
001
0
4.79
4
.
45
e
-
003
3
.
76
e
+
001
Rank
1
6
4
1
5
3
7
f
4
Mean
7
.
72
e
-
0
32
2
.
55
e
-
0
32
6
.
65
e
-
0
0
9
2.34
e
-
032
8
.
0
7
e
-
014
8
.
2
7
e
-
001
8
.
5
2
e
-
001
Std
5
.
7
5
e
-
0
32
3
.
55
e
-
0
32
1
.
38
e
-
0
0
8
8.75
e
-
034
6
.
23
e
-
014
6.22
e
-
001
3.54
e
-
001
Rank
3
2
5
1
4
7
6
Total Rank1
6
16
18
5
16
22
27
f
5
Mean
0
0
2.58
3.61
e
+
001
7.65
e
-
009
3.42
e
+
001
5
.
29
e
+
001
Std
0
0
1.55
8.31
5.76
e
-
009
154
e
+
001
4.52
Rank
1
1
4
6
3
5
7
f
6
Mean
2.19
4.50
e
+
002
1.02
e
+
003
2.53
e
+
003
2.31
e
+
001
3.43
e
+
003
1.99
e
+
002
Std
4.99
1.00
e
+
003
1.06
e
+
002
3
.
98
e
+
002
5.2
e
+
001
4.39
e
+
002
7.81
e
+
001
Rank
1
4
5
6
2
7
3
f
7
Mean
8
.
01
e
-
0
16
3
.
4
4
e
-
0
14
1
.
15
e
-
004
1.8
9
e
+
00
1
2.2
4
e
-
00
6
2.42
5
.
29
e
+
001
Std
0
6
.
4
5
e
-
0
15
1
.
22
e
-
00
4
9
.
54
e
-
0
01
1
.
0
9
e
-
00
6
5.43
4.52
Rank
1
2
5
7
4
6
8
f
8
Mean
0
1
.
20
e
-
0
08
3
.
43
e
-
00
2
1
.
97
e
-
003
6.23
e
-
002
4.37
e
-
0
02
2.21
Std
0
1.17
e
-
008
2
.
22
e
-
00
2
4
.
40
e
-
003
5.05
e
-
002
4.23
e
-
002
1
.
46
e
-
001
Rank
1
2
4
3
6
5
7
Total Rank2
4
9
18
22
15
23
25
f
9
Mean
0
1.13
e
-
013
3
.
37
e
+
002
5.68
e
-
014
2.27
e
-
012
2
.
06
e
+
001
7
.
1
2
e
+
001
Std
0
4.92
e
-
014
5
.
84
e
+
002
4.92
e
-
014
1.58
e
-
012
4
.
61
e
+
001
1
.
6
6
e
+
001
Rank
1
3
7
2
4
5
6
f
10
Mean
3
.
91
e
+
001
2
.
10
e
+
003
6
.
14
e
+
003
0
4
.
50
e
+
003
1
.
44
e
+
00
2
8
.
93
e
+
003
Std
4
.
96
e
+
001
1
.
52
e
+
002
1
.
17
e
+
004
5.68
e
-
014
1
.
32
e
+
003
1
.
10
e
+
002
5
.
18
e
+
003
Rank
2
4
6
1
5
3
7
f
11
Mean
1.39
1
.
2
1
e
+
001
1.33
e
+
006
1.59
6.74
3
.
20
e
+
001
2
.
66
e
+
004
Std
8
.
9
0
e
-
001
7.09
1.21
e
+
006
2.18
4.47
3
.
31
e
+
001
2
.
11
e
+
004
Rank
1
4
7
2
3
5
6
f
12
Mean
2
.
46
e
-
003
1
.
72
e
+
003
1
.
73
e
+
003
1
.
72
e
+
003
1
.
72
e
+
003
4
.
13
e
+
003
1
.
92
e
+
003
Std
5
.
51
e
-
003
2.39
e
-
011
3.30
3
.
0
2
e
-
001
4.41
e
-
008
4
.
23
e
+
002
4
.
62
e
+
001
Rank
1
3
5
2
3
7
6
f
13
Mean
2
.
06
e
+
001
2
.
07
e
+
001
2
.
04
e
+
001
2
.
01
e
+
001
2
.
07
e
+
001
2
.
05
e
+
001
2
.
08
e
+
001
Std
5
.
22
e
-
002
1
.
01
e
-
001
6
.
10
e
-
002
3
.
82
e
-
001
4
.
04
e
-
002
1
.
40
e
-
001
1
.
69
e
-
002
Rank
3
5
2
1
5
4
7
f
14
Mean
0
1
.
01
e
+
003
1
.
58
e
+
001
4
.
1
6
e
+
001
4
.
26
e
-
002
9
.
79
e
+
001
3
.
26
e
+
001
Std
4.04
e
-
014
3
.
82
e
+
001
1
.
15
e
+
001
9.98
e
+
001
9
.
51
e
-
002
7.66
8.18
Rank
1
3
4
6
2
7
5
f
15
Mean
4
.
63
e
+
001
1
.
34
e
+
002
1
.
87
e
+
002
1
.
2
1
e
+
002
1
.
3
5
e
+
002
1
.
79
e
+
002
4
.
22
e
+
002
Std
1
.
22
e
+
001
4
.
33
e
+
001
5
.
77
e
+
001
2
.
47
e
+
001
1
.
97
e
+
001
5
.
06
e
+
001
3
.
62
e
+
001
Rank
1
3
6
2
4
5
7
Total Rank3
9
25
30
16
26
36
44The median convergence results of 100D continuous functions. (a) Sphere function. (b) Rosenbrock function. (c) Quadratic function. (d) Sin problem function. (e) Rastrigin function. (f) Schwefel function. (g) Ackley function. (h) Griewank function. (i) Shifted sphere function. (j) Shifted Schwefel function. (k) Shifted Rosenbrock function. (l) Shifted rotated Griewank function. (m) Shifted rotated Ackley function. (n) Shifted Rastrigin function. (o) Shifted rotated Rastrigin function.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
(m)
(n)
(o)


#### 4.3.1. Results on Basic Benchmark Continuous Functions

On the unimodal basic benchmark functions(f1–f4), from Table 7 and Figures 6(a)–6(d), HABC converged faster than all other algorithms. HABC was able to consistently find the minimum to functions f1, f2, and f3 within 100000 FEs. Statistically, HABC has significantly superior performance on continuous unimodal functions f1~f3. On f4, HABC, CABC, and CMA-ES have almost the same average value and CMA-ES is a little better. According to the rank in Table 7, the performance order of the algorithms involved is CMA-ES > HABC > CABC > ABC > CPSO > PSO > GA.On the multimodal functions (f5~f8), from Table 7 and Figures 6(e)–6(i), it is visible that, on most functions, HABC algorithm markedly outperforms other algorithms. For example, HABC quickly finds the global minimum on function f5 and f8, and CABC also can consistently find the minimum of f5 within relatively more FEs while other algorithms perform poorer. On f6 and f7, the HABC and CABC obtain similar performance. This can be explained that the multipopulation cooperative coevolution strategy integrated by HABC and CABC enhance the local search ability, contributing to their better performances in the multimodal problems. According to the rank values in Table 7, the performance order of the algorithms tested is HABC > CABC > ABC > CPSO> CMA-ES > PSO > GA.


#### 4.3.2. Results on CEC2005 Continuous Functions

Seven shifted and rotated functionsf9~f15 are viewed as the most difficult functions to tackle. From Table 7, HABC outperformed CMA-ES on five out of the seven functions, except f10 and f13. CMA-ES also outperformed CABC on six functions, except f14. HABC can find the global optimum for f9 and f14 within 10000 Fes, because HABC balances the exploration and exploitation by decomposing high-dimensional problems and using crossover and mutation operations to maintain its population diversity, which is a key contributing factor. On the other hand, CMA-ES converged extremely fast. However, CMA-ES either converged very fast or tended to be trapped into local minima very quickly, especially on multimodal functions. According to the rank values, the performance order of the algorithms involved is HABC > CMA-ES > CABC > ABC > CPSO > PSO > GA.


#### 4.3.3. Results on Discrete Functions

In this experiment, the HABC_SB version (CR=0.1) is employed on a set of discrete benchmark functions f16~f20. The results obtained by HABC_SB, ABC, GA, and PSO on each function are listed in Table 8, consisting of mean and standard deviations found over 30 runs. Figure 7 shows the search progress of the average values found by the four algorithms over 30 runs on f16~f20. From the results in Table 8, we can observe that HABC gets the best means, and converges faster than other algorithms on all discrete cases. According to the rank values presented in Table 9; the search performance order of the algorithms involved is HABC > PSO > ABC > GA.Table 8
Performance of all algorithms on benchmark discrete functionsf16–f20.
Function
HABC
ABC
PSO
GA
f
1
6
Mean
0
0
2
.
2
0
e
-
001
3
.
25
e
-
002
Std
0
0
7
.
27
e
-
002
7
.
27
e
-
002
Rank
1
1
4
3
f
17
Mean
0.88
1.12
1.16
1.36
Std
1
.
09
e
-
001
1
.
78
e
-
001
2
.
60
e
-
001
3
.
57
e
-
001
Rank
1
3
6
7
f
18
Mean
4.00
2.31
e
+
001
4.60
1.11
e
+
001
Std
1.76
7.53
1.19
4.95
Rank
1
4
2
3
f
19
Mean
0
1.33
2.51
e
-
001
1.65
Std
0
1.12
e
-
002
7.07
e
-
002
3.56
e
-
001
Rank
1
3
2
4
f
20
Mean
2.21
e
-
001
3.4
e
-
001
2.00
1.33
Std
2.11
e
-
002
1.67
e
-
001
1.09
e
-
001
2.05
e
-
001
Rank
1
2
4
3
Total rank
5
13
17
20Table 9
Parameters of the test functions.
f
Dimensions
Initial range
x
*
f  (x*)
f
1
100
[-100,100]D
[0,0,…,0]
0
f
2
100
[-30,30]D
[1,1,…,1]
0
f
3
100
[-65.536,65.536]D
[0,0,…,0]
0
f
4
100
[-10,10]D
[0,0,…,0]
0
f
5
100
[-5.12,5.12]D
[0,0,…,0]
0
f
6
100
[-500,500]D
[420.9867,…,420.9867]
0
f
7
100
[-32.768,32.768]D
[0,0,…,0]
0
f
8
100
[-600,600]D
[0,0,…,0]
0
f
9
100
[-100,100]D
[0,0,…,0]
−450
f
10
100
[-100,100]D
[0,0,…,0]
−450
f
11
100
[-100,100]D
[0,0,…,0]
390
f
12
100
No bounds
[0,0,…,0]
−180
f
13
100
[-32,32]D
[0,0,…,0]
−140
f
14
100
[-5,5]D
[0,0,…,0]
−330
f
15
100
[-5,5]D
[0,0,…,0]
−330
f
16
30
[0,1]
[1,1,…,1]
0
f
17
60
[0,1]
[0,0,…,0] or [1,1,…,1] or […,6*0,…,6*1,…]
0
f
18
120
[0,1]
[0,0,…,0]
0
f
19
120
[0,1]
[0,1,1,0,1,1,…]
0
f
20
120
[0,1]
[0,0,1,0,0,1,…]
0
*Represents the solution corresponding to the optimal value of the objective function, namely the optimal solution.The median results of discrete functions. (a) Goldberg’s order-3. (b) Bipolar order-6. (c) Mulenbein’s order-5. (d) Clerc’s order-3 problem 1. (e) Clerc’s order-3 problem 2.
(a)
(b)
(c)
(d)
(e)


#### 4.3.4. Algorithm Complexity Analysis

Algorithm complexity analysis is presented briefly as follows. If we assume that the computation cost of one individual in the HABC isCost_a, the cost of the crossover operator is Cost_c and the total computation cost of HABC for one generation is N*K*M*Cost_a+N*Cost_c. However, because the heuristic algorithms used in this paper cannot ensure comprehensive convergence, it is very difficult to give a brief analysis in terms of time for all algorithms. Through directly evaluating the algorithmic time response on different objective functions, the average computing time in 30 sample runs of all algorithms is given in Figure 8. From the results in Figure 8, it is observed that the HABC takes the most computing time in all compared algorithms and its time increasing rate is the highest one. This can be explained that the multipopulation cooperative coevolution strategy integrated by HABC enhanced the local search ability at cost of increasing the computation amount. In summary, it is concluded that, compared with other algorithms, the HABC requires more computing time to achieve better results.Figure 8
Computing time of all algorithms on different RNP problems.


## 4.1. Experimental Settings

Eight variants of HABC based on different crossover methods and CR values were executed with six state-of-the-art EA and SI algorithms for comparisons: artificial bee colony algorithm (ABC) [4], cooperative artificial bee colony algorithm (CABC) [35], canonical PSO with constriction factor (PSO) [36], cooperative PSO (CPSO) [20], standard genetic algorithm (GA) [33], and covariance matrix adaptation evolution strategy (CMA-ES) [37].CABC adopts the similar cooperative approach into original ABC algorithm. CPSO is a cooperative PSO model, cooperatively coevolving multiple PSO subpopulations. GA is the classical stochastic search technique mimicking the process of natural selection; the principle of CMA-ES is to apply the information of successful search steps to adjust the covariance matrix of the mutation distribution within an iterative procedure.The population size and total generation number of all involved algorithms in this experiment are set as 50 and 100000. For the continuous testing functions used, the dimensions are all set as 100D. For the five discrete testing functions, the dimensions are set as Goldberg-30D, Bipolar-60D, Mulenbein-120D, Clerc’s problem 1-120D, and Clerc’s problem 2-120D.According to the original literatures about the control parameters for the other algorithms involved, in continuous optimization experiment, the initialization conditions of CMA-ES are the same as in [37], and the number of offspring candidate solutions generated per time step is λ=4μ; for ABC and CABC, the limit parameter is set to be SN×D, where D is the objective function dimension and SN is the employed bees number. The split factor for CABC and CPSO is equal to the dimensions [20, 35]. For PSO and CPSO, the learning rates c1 and c2 were both set as 2.05 and the constriction factor χ=0.729.In discrete optimization experiment, HABC is compared with the binary PSO version, ABC and GA. GA employs single point crossover operation (i.e., crossover rate is 0.8 and mutation rate is 0.01). For discrete HABC and discrete ABC, the update process used in the employ and onlooker stages is changed based on (1). The learning factor of producing new solution is calculated using (7). Then, the position update equation is defined by (8) for discrete problems. Discrete HABC variant adopts single-point crossover method. Consider
(7)qij=|ϕij(xkj-xij)|,(8)vij={xij¯ifrandj≤qijxijotherwise.


## 4.2. Parameter Sensitivity Analysis of HABC

### 4.2.1. Effects of Species NumberN

The species number of the top level in HABC needs to be tuned. Six continuous benchmark functions, Sphere 100D, Rosenbrock 100D, Rastrigin 100D, Schwefel 100D, Ackley 100D, and Griewank 100D and three discrete benchmark functions—Goldberg 30D, Bipolar 30D, and Clerc problem 1 120D—are employed to investigate the impact of this parameter. Set CR equal to 1 and all the functions run 30 sample times. As shown in Figure4, it is visible that our proposed ABC got faster convergence rate and better optimal solutions on the involved test functions with increased N. However, the performance improvement is not very remarkable using this parameter.Figure 4
HABC’s results on nine-test functions with different species numbersN.


### 4.2.2. Choices of Crossover Mode and CR Value

The basic benchmark functions(f1–f8) are adopted to evaluate the performance of HABC variants with different crossover modes andCRs. Four discrete benchmark functions (f16–f20) are used to test the discrete versions of HABC_AB, HABC_AW, HABC_AM, and HABC_AR, which adopt single-point crossover mode.Firstly, when CR is fixed at 0.2, all the functions are implemented for 30 times. From Table3, we can observe that HABC_AW outperformed other variants on seven functions, except f2, while HABC_AM and HABC_AR get nearly the same results as HABC_AW on four functions. From the discrete functions results, HABC_SB markedly outperformed other variants, except f18. According to the rank listed in Table 3, the performances of the continuous algorithms involved are ordered as HABC_AW > HABC_AB > HABC_AR > HABC_AM > HABC_SR > HABC_SM > HABC_SB > HABC_SW and for the discrete versions are ordered as HABC_SB > HABC_SM > HABC_SW > HABC_SR.Table 3
Results of all algorithms on benchmark continuous functionsf1–f8 and discrete functions f16–f19. In bold are the best results.
Function
HABC_SB
HABC_SW
HABC_SM
HABC_SR
HABC_AB
HABC_AW
HABC_AM
HABC_AR
f
1
Mean
3.84
e
-
20
9.87
e
-
4
2.14
e
-
14
1.25
e
-
7
4.66
e
-
1
4
4
4.52
e
-
300
5
.
84
e
-
301
5
.
6
7
e
-
25
9
Std
5.44
e
-
20
1.390
e
-
3
3.03
e
-
14
1.77
e
-
7
6
.
59
e
-
1
4
4
0
0
0
Rank
5
8
6
7
4
1
2
3
f
2
Mean
2
.
1
2
e
-
0
02
2
.
1
5
e
+
001
1
.
0
e
+
001
7.54
3.96
e
-
005
1.26
e
-
004
2.75
1.10
e
-
005
Std
5.03
e
-
00
2
1
.
5
4
e
+
001
1
.
39
e
+
001
1
.
26
e
+
001
7.43
e
-
005
3.38
e
-
004
8.69
1
.
9
2
e
-
005
Rank
4
8
7
6
2
3
5
1
f
3
Mean
2.20
e
-
005
2
.
36
e
-
0
18
2
.
99
e
-
0
07
1
.
21
e
-
0
09
3
.
57
e
-
1
4
8
1.07
e
-
282
4.02
e
-
282
6.57
e
-
278
Std
2.65
e
-
005
4.74
e
-
0
18
5
.
99
e
-
0
07
2
.
41
e
-
0
09
7
.
14
e
-
1
4
8
0
0
0
Rank
8
5
7
6
4
1
2
3
f
4
Mean
1.77
e
-
004
4.11
e
-
007
8.44
e
-
007
0
0
0
0
0
Std
2.27
e
-
004
5.66
e
-
007
1.12
e
-
006
0
0
0
0
0
Rank
8
6
7
1
1
1
1
1
f
5
Mean
1.74
e
-
004
9.39
3.59
e
-
006
9.12
e
-
001
0
0
0
0
Std
3.87
e
-
004
11.47
6.14
e
-
006
8.61
e
-
001
0
0
0
0
Rank
6
8
5
7
1
1
1
1
f
6
Mean
5.01
e
-
004
3.84
e
-
002
3.87
e
-
004
3.84
e
-
00
4
4
.
14
e
-
00
4
3.81
e
-
00
4
3.99
e
-
004
3.82
e
-
00
4
Std
2
.
86
e
-
004
5.15
e
-
002
7
.
92
e
-
00
6
3.42
e
-
00
6
3.99
e
-
00
5
6
.
43
e
-
0
12
2.54
e
-
012
0
Rank
7
8
5
4
6
1
2
3
f
7
Mean
1.77
e
-
003
1.21
6.83
e
-
005
2.78
e
-
001
8.88
e
-
016
8.88
e
-
016
8.88
e
-
016
8.88
e
-
16
Std
5.12
e
-
003
1.93
2.13
e
-
004
8.24
e
-
001
0
0
0
0
Rank
6
8
5
7
1
1
1
1
f
8
Mean
1.76
e
-
004
4.10
e
-
007
8.44
e
-
007
0
0
0
0
0
Std
2.27
e
-
004
5.80
e
-
007
1.19
e
-
006
0
0
0
0
0
Rank
8
6
7
1
1
1
1
1
Total Rank
52
57
49
39
20
10
15
14
f
1
6
Mean
0.12
0.3
0.34
0.26
Std
0.10
0.19
0.09
0.16
Rank
1
3
4
2
f
1
7
Mean
0.07
0.25
0.21
0.26
Std
0.08
0.18
0.73
0.13
Rank
1
3
2
4
f
1
8
Mean
1.76
e
-
004
4.11
e
-
007
8.44
e
-
007
0
Std
2.22
e
-
004
5.81
1.19
0
Rank
4
2
3
1
f
19
Mean
1.94
3.61
2.72
3.86
Std
0.59
0.95
0.90
1.10
Rank
1
3
2
4
Total Rank
7
11
11
11Then, the HABC_AW for continuous functions and HABC_SB for discrete functions are implemented to determine CR value. Form Tables4 and 5, we can find that HABC variant with CR equal to 1 performs best on four functions among all five functions while CR equal to 0.05 gets best result on one function. According to the results with different CRs, we chose CR equal to 1 as an optimal value for the next experiments.Table 4
Results of HABC_AW on benchmark functionsf1–f8 with different CR. In bold are the best results.
Function
0.05
0.1
0.2.
0.4
0.6
1
f
1
Mean
1.69
e
-
109
3.74
e
-
215
4.25
e
-
290
0 (64800)
0 (56000)
0  (36000)
Std
3.79879
e
-
109
0
0
0
0
0
f
2
Mean
2
.
1
7
e
-
004
1.16
e
-
006
1.08
e
-
005
5.50
4.26
e
-
006
4
.
35
e
-
007
Std
4.07
e
-
004
2.1
e
-
006
8.15
e
-
006
12.30
6.38
e
-
006
5.69
e
-
007
f
3
Mean
2
.
36
e
-
101
2
.
99
e
-
194
1
.
71
e
-
267
0 (69700)
0 (49800)
0  (38000)
Std
4.74
e
-
101
0
0
0
0
0
f
4
Mean
1.93
e
-
028
4.46
e
-
028
4.97
e
-
028
5.14
e
-
026
7.62
e
-
25
7.87
e
-
022
Std
2.03
e
-
028
8.01
e
-
028
3.44
e
-
028
5.77
e
-
026
5.55
e
-
025
1.34
e
-
021
f
5
Mean
0 (20000)
0 (13500)
0 (7900)
0 (6860)
0 (4400)
0  (3100)
Std
0
0
0
0
0
0
f
6
Mean
3.84
e
-
004
3.81
e
-
004
3.81
e
-
00
4
3
.
96
e
-
00
4
6.11
e
-
00
4
5.79
e
-
004
Std
1.25
e
-
012
1
.
62
e
-
0
12
8.42
e
-
0
13
3.22
e
-
00
5
3
.
43
e
-
0
04
2.84
e
-
004
f
7
Mean
8.88
e
-
016 (22000)
8.88
e
-
016  (21500)
8.88
e
-
016 (15400)
8.88
e
-
016 (14220)
8.88
e
-
016 (13800)
8.88
e
-
016  (12500)
Std
0
0
0
0
0
0
f
8
Mean
0 (19000)
0 (15800)
0 (13000)
0 (9800)
0 (6100)
0  (5400)
Std
0
0
0
0
0
0Table 5
Results of HABC_SB on benchmark functionsf16–f20 with different CR. In bold are the best results.
Function
0.05
0.1
0.2
0.4
0.6
1
f
16
Mean
5.11
e
-
001
3.00
e
-
002
9.00
e
-
002
1.00
e
-
001
2.6
e
-
001
1.6
e
-
001
Std
1.61
e
-
001
6.03
e
-
002
1.03
e
-
001
8.3
2
e
-
002
1
.
68
e
-
001
2.11
e
-
001
f
17
Mean
2.00
e
-
002
0
2.00
e
-
002
1.50
e
-
001
2.61
e
-
001
5.15
e
-
001
Std
6.37
e
-
002
0
6.35
e
-
002
1.23
e
-
001
2
.
38
e
-
001
1.69
e
-
001
f
18
Mean
4.86
6.81
8.25
1.69
e
+
001
2.22
e
+
001
4.21
e
+
001
Std
2.34
2.24
2.45
3.32
4.79
5.00
f
19
Mean
6.70
1.69
1.75
3.61
5.28
8.73
Std
6.1
e
-
001
5.11
e
-
001
3.11
e
-
001
5.77
e
-
001
7.44
e
-
001
1.41
f
20
Mean
5.34
e
-
001
1.51
1.96
2.36
3.31
6.53
Std
2.25
e
-
002
3.32
e
-
001
5.82
e
-
001
3.42
e
-
001
6.03
e
-
001
9.54
e
-
004


### 4.2.3. Effects of Dynamically Changing Group SizeK

Obviously, the choice of value for split factorK (i.e., subpopulation number) had a significant impact on the performance of the proposed algorithm. In order to vary K during a run, we defined S={2,5,10,50,100} for 100D function optimization and set K randomly to choose one element of S. Then, the variant of HABC with dynamically changing K is compared with that with fixed split number on four benchmark functions for 30 sample runs. From the results listed in Table 6 and Figure 5, we can observe that the performance is sensitive to the predefined K value. HABC, with the dynamically changing K, consistently obtained superior performance to other variants except f2. Moreover, it is not very easy to obtain the prior knowledge about the optimal s value of the most real-world cases, so the random grouping scheme can be a suitable solution.Table 6
Performance of HABC_AW on 100Df1 and f4–f8 with the different grouping number K. In bold are the best results.
Function
K
⊂
S
K
=
5
K
=
10
K
=
50
K
=
100
f
1
Mean
0  (91000)
0  (45000)
2.00
e
-
080
3.70
e
-
043
6.56
e
-
042
Std
0
0
1.03
e
-
001
6.31
e
-
043
1.27
e
-
041
f
4
Mean
1.10
e
-
014
1.47
1.56
6.50
e
-
001
1.61
e
-
022
Std
1.37
e
-
014
3.12
e
-
001
2.47
e
-
001
1.1 3
1.38
e
-
022
f
5
Mean
0
0
7
.
25
e
-
014
5.39
e
-
013
8.22
e
-
013
Std
0
0
1.45
e
-
013
2.32
e
-
013
1.33
e
-
013
f
6
Mean
1.70
e
-
003
7.69
e
-
002
4.45
e
-
002
3.23
e
+
002
1.99
e
+
002
Std
1.10
e
-
003
1.11
e
-
001
2.71
e
-
002
5.37
e
+
002
3.94
e
+
002
f
7
Mean
8.34
e
-
016
2.51
e
-
014
1.33
e
-
014
1.13
e
-
013
7.71
e
-
014
Std
0
5
.
25
e
-
0
15
1.25
e
-
0
14
2.42
e
-
0
14
2
.
03
e
-
0
15
f
8
Mean
0
0
0
0
0
Std
0
0
0
0
0The median convergence results of 100D continuous functions. (a) Sphere function. (b) Sin problem function. (c) Rastrigin function. (d) Schwefel function. (e) Ackley function. (f) Griewank function.
(a)
(b)
(c)
(d)
(e)
(f)


## 4.2.1. Effects of Species NumberN

The species number of the top level in HABC needs to be tuned. Six continuous benchmark functions, Sphere 100D, Rosenbrock 100D, Rastrigin 100D, Schwefel 100D, Ackley 100D, and Griewank 100D and three discrete benchmark functions—Goldberg 30D, Bipolar 30D, and Clerc problem 1 120D—are employed to investigate the impact of this parameter. Set CR equal to 1 and all the functions run 30 sample times. As shown in Figure4, it is visible that our proposed ABC got faster convergence rate and better optimal solutions on the involved test functions with increased N. However, the performance improvement is not very remarkable using this parameter.Figure 4
HABC’s results on nine-test functions with different species numbersN.


## 4.2.2. Choices of Crossover Mode and CR Value

The basic benchmark functions(f1–f8) are adopted to evaluate the performance of HABC variants with different crossover modes andCRs. Four discrete benchmark functions (f16–f20) are used to test the discrete versions of HABC_AB, HABC_AW, HABC_AM, and HABC_AR, which adopt single-point crossover mode.Firstly, when CR is fixed at 0.2, all the functions are implemented for 30 times. From Table3, we can observe that HABC_AW outperformed other variants on seven functions, except f2, while HABC_AM and HABC_AR get nearly the same results as HABC_AW on four functions. From the discrete functions results, HABC_SB markedly outperformed other variants, except f18. According to the rank listed in Table 3, the performances of the continuous algorithms involved are ordered as HABC_AW > HABC_AB > HABC_AR > HABC_AM > HABC_SR > HABC_SM > HABC_SB > HABC_SW and for the discrete versions are ordered as HABC_SB > HABC_SM > HABC_SW > HABC_SR.Table 3
Results of all algorithms on benchmark continuous functionsf1–f8 and discrete functions f16–f19. In bold are the best results.
Function
HABC_SB
HABC_SW
HABC_SM
HABC_SR
HABC_AB
HABC_AW
HABC_AM
HABC_AR
f
1
Mean
3.84
e
-
20
9.87
e
-
4
2.14
e
-
14
1.25
e
-
7
4.66
e
-
1
4
4
4.52
e
-
300
5
.
84
e
-
301
5
.
6
7
e
-
25
9
Std
5.44
e
-
20
1.390
e
-
3
3.03
e
-
14
1.77
e
-
7
6
.
59
e
-
1
4
4
0
0
0
Rank
5
8
6
7
4
1
2
3
f
2
Mean
2
.
1
2
e
-
0
02
2
.
1
5
e
+
001
1
.
0
e
+
001
7.54
3.96
e
-
005
1.26
e
-
004
2.75
1.10
e
-
005
Std
5.03
e
-
00
2
1
.
5
4
e
+
001
1
.
39
e
+
001
1
.
26
e
+
001
7.43
e
-
005
3.38
e
-
004
8.69
1
.
9
2
e
-
005
Rank
4
8
7
6
2
3
5
1
f
3
Mean
2.20
e
-
005
2
.
36
e
-
0
18
2
.
99
e
-
0
07
1
.
21
e
-
0
09
3
.
57
e
-
1
4
8
1.07
e
-
282
4.02
e
-
282
6.57
e
-
278
Std
2.65
e
-
005
4.74
e
-
0
18
5
.
99
e
-
0
07
2
.
41
e
-
0
09
7
.
14
e
-
1
4
8
0
0
0
Rank
8
5
7
6
4
1
2
3
f
4
Mean
1.77
e
-
004
4.11
e
-
007
8.44
e
-
007
0
0
0
0
0
Std
2.27
e
-
004
5.66
e
-
007
1.12
e
-
006
0
0
0
0
0
Rank
8
6
7
1
1
1
1
1
f
5
Mean
1.74
e
-
004
9.39
3.59
e
-
006
9.12
e
-
001
0
0
0
0
Std
3.87
e
-
004
11.47
6.14
e
-
006
8.61
e
-
001
0
0
0
0
Rank
6
8
5
7
1
1
1
1
f
6
Mean
5.01
e
-
004
3.84
e
-
002
3.87
e
-
004
3.84
e
-
00
4
4
.
14
e
-
00
4
3.81
e
-
00
4
3.99
e
-
004
3.82
e
-
00
4
Std
2
.
86
e
-
004
5.15
e
-
002
7
.
92
e
-
00
6
3.42
e
-
00
6
3.99
e
-
00
5
6
.
43
e
-
0
12
2.54
e
-
012
0
Rank
7
8
5
4
6
1
2
3
f
7
Mean
1.77
e
-
003
1.21
6.83
e
-
005
2.78
e
-
001
8.88
e
-
016
8.88
e
-
016
8.88
e
-
016
8.88
e
-
16
Std
5.12
e
-
003
1.93
2.13
e
-
004
8.24
e
-
001
0
0
0
0
Rank
6
8
5
7
1
1
1
1
f
8
Mean
1.76
e
-
004
4.10
e
-
007
8.44
e
-
007
0
0
0
0
0
Std
2.27
e
-
004
5.80
e
-
007
1.19
e
-
006
0
0
0
0
0
Rank
8
6
7
1
1
1
1
1
Total Rank
52
57
49
39
20
10
15
14
f
1
6
Mean
0.12
0.3
0.34
0.26
Std
0.10
0.19
0.09
0.16
Rank
1
3
4
2
f
1
7
Mean
0.07
0.25
0.21
0.26
Std
0.08
0.18
0.73
0.13
Rank
1
3
2
4
f
1
8
Mean
1.76
e
-
004
4.11
e
-
007
8.44
e
-
007
0
Std
2.22
e
-
004
5.81
1.19
0
Rank
4
2
3
1
f
19
Mean
1.94
3.61
2.72
3.86
Std
0.59
0.95
0.90
1.10
Rank
1
3
2
4
Total Rank
7
11
11
11Then, the HABC_AW for continuous functions and HABC_SB for discrete functions are implemented to determine CR value. Form Tables4 and 5, we can find that HABC variant with CR equal to 1 performs best on four functions among all five functions while CR equal to 0.05 gets best result on one function. According to the results with different CRs, we chose CR equal to 1 as an optimal value for the next experiments.Table 4
Results of HABC_AW on benchmark functionsf1–f8 with different CR. In bold are the best results.
Function
0.05
0.1
0.2.
0.4
0.6
1
f
1
Mean
1.69
e
-
109
3.74
e
-
215
4.25
e
-
290
0 (64800)
0 (56000)
0  (36000)
Std
3.79879
e
-
109
0
0
0
0
0
f
2
Mean
2
.
1
7
e
-
004
1.16
e
-
006
1.08
e
-
005
5.50
4.26
e
-
006
4
.
35
e
-
007
Std
4.07
e
-
004
2.1
e
-
006
8.15
e
-
006
12.30
6.38
e
-
006
5.69
e
-
007
f
3
Mean
2
.
36
e
-
101
2
.
99
e
-
194
1
.
71
e
-
267
0 (69700)
0 (49800)
0  (38000)
Std
4.74
e
-
101
0
0
0
0
0
f
4
Mean
1.93
e
-
028
4.46
e
-
028
4.97
e
-
028
5.14
e
-
026
7.62
e
-
25
7.87
e
-
022
Std
2.03
e
-
028
8.01
e
-
028
3.44
e
-
028
5.77
e
-
026
5.55
e
-
025
1.34
e
-
021
f
5
Mean
0 (20000)
0 (13500)
0 (7900)
0 (6860)
0 (4400)
0  (3100)
Std
0
0
0
0
0
0
f
6
Mean
3.84
e
-
004
3.81
e
-
004
3.81
e
-
00
4
3
.
96
e
-
00
4
6.11
e
-
00
4
5.79
e
-
004
Std
1.25
e
-
012
1
.
62
e
-
0
12
8.42
e
-
0
13
3.22
e
-
00
5
3
.
43
e
-
0
04
2.84
e
-
004
f
7
Mean
8.88
e
-
016 (22000)
8.88
e
-
016  (21500)
8.88
e
-
016 (15400)
8.88
e
-
016 (14220)
8.88
e
-
016 (13800)
8.88
e
-
016  (12500)
Std
0
0
0
0
0
0
f
8
Mean
0 (19000)
0 (15800)
0 (13000)
0 (9800)
0 (6100)
0  (5400)
Std
0
0
0
0
0
0Table 5
Results of HABC_SB on benchmark functionsf16–f20 with different CR. In bold are the best results.
Function
0.05
0.1
0.2
0.4
0.6
1
f
16
Mean
5.11
e
-
001
3.00
e
-
002
9.00
e
-
002
1.00
e
-
001
2.6
e
-
001
1.6
e
-
001
Std
1.61
e
-
001
6.03
e
-
002
1.03
e
-
001
8.3
2
e
-
002
1
.
68
e
-
001
2.11
e
-
001
f
17
Mean
2.00
e
-
002
0
2.00
e
-
002
1.50
e
-
001
2.61
e
-
001
5.15
e
-
001
Std
6.37
e
-
002
0
6.35
e
-
002
1.23
e
-
001
2
.
38
e
-
001
1.69
e
-
001
f
18
Mean
4.86
6.81
8.25
1.69
e
+
001
2.22
e
+
001
4.21
e
+
001
Std
2.34
2.24
2.45
3.32
4.79
5.00
f
19
Mean
6.70
1.69
1.75
3.61
5.28
8.73
Std
6.1
e
-
001
5.11
e
-
001
3.11
e
-
001
5.77
e
-
001
7.44
e
-
001
1.41
f
20
Mean
5.34
e
-
001
1.51
1.96
2.36
3.31
6.53
Std
2.25
e
-
002
3.32
e
-
001
5.82
e
-
001
3.42
e
-
001
6.03
e
-
001
9.54
e
-
004


## 4.2.3. Effects of Dynamically Changing Group SizeK

Obviously, the choice of value for split factorK (i.e., subpopulation number) had a significant impact on the performance of the proposed algorithm. In order to vary K during a run, we defined S={2,5,10,50,100} for 100D function optimization and set K randomly to choose one element of S. Then, the variant of HABC with dynamically changing K is compared with that with fixed split number on four benchmark functions for 30 sample runs. From the results listed in Table 6 and Figure 5, we can observe that the performance is sensitive to the predefined K value. HABC, with the dynamically changing K, consistently obtained superior performance to other variants except f2. Moreover, it is not very easy to obtain the prior knowledge about the optimal s value of the most real-world cases, so the random grouping scheme can be a suitable solution.Table 6
Performance of HABC_AW on 100Df1 and f4–f8 with the different grouping number K. In bold are the best results.
Function
K
⊂
S
K
=
5
K
=
10
K
=
50
K
=
100
f
1
Mean
0  (91000)
0  (45000)
2.00
e
-
080
3.70
e
-
043
6.56
e
-
042
Std
0
0
1.03
e
-
001
6.31
e
-
043
1.27
e
-
041
f
4
Mean
1.10
e
-
014
1.47
1.56
6.50
e
-
001
1.61
e
-
022
Std
1.37
e
-
014
3.12
e
-
001
2.47
e
-
001
1.1 3
1.38
e
-
022
f
5
Mean
0
0
7
.
25
e
-
014
5.39
e
-
013
8.22
e
-
013
Std
0
0
1.45
e
-
013
2.32
e
-
013
1.33
e
-
013
f
6
Mean
1.70
e
-
003
7.69
e
-
002
4.45
e
-
002
3.23
e
+
002
1.99
e
+
002
Std
1.10
e
-
003
1.11
e
-
001
2.71
e
-
002
5.37
e
+
002
3.94
e
+
002
f
7
Mean
8.34
e
-
016
2.51
e
-
014
1.33
e
-
014
1.13
e
-
013
7.71
e
-
014
Std
0
5
.
25
e
-
0
15
1.25
e
-
0
14
2.42
e
-
0
14
2
.
03
e
-
0
15
f
8
Mean
0
0
0
0
0
Std
0
0
0
0
0The median convergence results of 100D continuous functions. (a) Sphere function. (b) Sin problem function. (c) Rastrigin function. (d) Schwefel function. (e) Ackley function. (f) Griewank function.
(a)
(b)
(c)
(d)
(e)
(f)


## 4.3. Comparing HABC with Other State-of-the-Art Algorithms on Benchmark Problems

To validate the effectiveness of the proposed algorithm, the basic benchmark functions(f1–f8) and CEC2005 functions (f9–f15) are employed [38]. HABC (adopting HABC_AW for continuous problems, CR=1) is tested on a set of benchmark functions (f1~f15) in comparison with CABC, CPSO, CMA-ES, ABC, PSO, and GA algorithms. Table 7 demonstrates the corresponding results of mean and standard deviation for each algorithm on f1~f15 with 100 dimensions. Figure 6 shows the convergence characteristics in terms of the best mean run of each algorithm for f1~f15 with 100 dimensions.Table 7
Performance of all algorithms on benchmark continuous functionsf1–f15.
Function
HABC
CABC
CPSO
CMA-ES
ABC
PSO
GA
f
1
Mean
0
9.87
e
-
138
2.14
e
-
0
14
0
1
.
93
e
-
015
8
.
52
e
-
010
3
.
84
e
-
001
Std
0
1.390
e
-
3
1
.
9
3
e
-
137
0
8
.
59
e
-
016
1.83
e
-
009
1.50
e
-
001
Rank
1
3
5
1
4
6
7
f
2
Mean
0
5.41
3.81
1
.
3
2
e
-
0
0
7
1
.
9
2
e
-
00
1
2
.
98
e
+
00
1
3
.
26
e
+
002
Std
0
6.25
2.56
5.03
e
-
00
2
2
.
0
3
e
-
00
1
2
.
4
8
e
+
00
1
7
.
6
1
e
+
002
Rank
1
5
4
2
3
6
7
f
3
Mean
0
3
.
80
e
+
001
2
.
66
e
+
001
0
2
.
75
e
+
001
2
.
67
e
-
003
8
.
55
e
+
001
Std
0
8
.
47
e
+
001
3
.
65
e
+
001
0
4.79
4
.
45
e
-
003
3
.
76
e
+
001
Rank
1
6
4
1
5
3
7
f
4
Mean
7
.
72
e
-
0
32
2
.
55
e
-
0
32
6
.
65
e
-
0
0
9
2.34
e
-
032
8
.
0
7
e
-
014
8
.
2
7
e
-
001
8
.
5
2
e
-
001
Std
5
.
7
5
e
-
0
32
3
.
55
e
-
0
32
1
.
38
e
-
0
0
8
8.75
e
-
034
6
.
23
e
-
014
6.22
e
-
001
3.54
e
-
001
Rank
3
2
5
1
4
7
6
Total Rank1
6
16
18
5
16
22
27
f
5
Mean
0
0
2.58
3.61
e
+
001
7.65
e
-
009
3.42
e
+
001
5
.
29
e
+
001
Std
0
0
1.55
8.31
5.76
e
-
009
154
e
+
001
4.52
Rank
1
1
4
6
3
5
7
f
6
Mean
2.19
4.50
e
+
002
1.02
e
+
003
2.53
e
+
003
2.31
e
+
001
3.43
e
+
003
1.99
e
+
002
Std
4.99
1.00
e
+
003
1.06
e
+
002
3
.
98
e
+
002
5.2
e
+
001
4.39
e
+
002
7.81
e
+
001
Rank
1
4
5
6
2
7
3
f
7
Mean
8
.
01
e
-
0
16
3
.
4
4
e
-
0
14
1
.
15
e
-
004
1.8
9
e
+
00
1
2.2
4
e
-
00
6
2.42
5
.
29
e
+
001
Std
0
6
.
4
5
e
-
0
15
1
.
22
e
-
00
4
9
.
54
e
-
0
01
1
.
0
9
e
-
00
6
5.43
4.52
Rank
1
2
5
7
4
6
8
f
8
Mean
0
1
.
20
e
-
0
08
3
.
43
e
-
00
2
1
.
97
e
-
003
6.23
e
-
002
4.37
e
-
0
02
2.21
Std
0
1.17
e
-
008
2
.
22
e
-
00
2
4
.
40
e
-
003
5.05
e
-
002
4.23
e
-
002
1
.
46
e
-
001
Rank
1
2
4
3
6
5
7
Total Rank2
4
9
18
22
15
23
25
f
9
Mean
0
1.13
e
-
013
3
.
37
e
+
002
5.68
e
-
014
2.27
e
-
012
2
.
06
e
+
001
7
.
1
2
e
+
001
Std
0
4.92
e
-
014
5
.
84
e
+
002
4.92
e
-
014
1.58
e
-
012
4
.
61
e
+
001
1
.
6
6
e
+
001
Rank
1
3
7
2
4
5
6
f
10
Mean
3
.
91
e
+
001
2
.
10
e
+
003
6
.
14
e
+
003
0
4
.
50
e
+
003
1
.
44
e
+
00
2
8
.
93
e
+
003
Std
4
.
96
e
+
001
1
.
52
e
+
002
1
.
17
e
+
004
5.68
e
-
014
1
.
32
e
+
003
1
.
10
e
+
002
5
.
18
e
+
003
Rank
2
4
6
1
5
3
7
f
11
Mean
1.39
1
.
2
1
e
+
001
1.33
e
+
006
1.59
6.74
3
.
20
e
+
001
2
.
66
e
+
004
Std
8
.
9
0
e
-
001
7.09
1.21
e
+
006
2.18
4.47
3
.
31
e
+
001
2
.
11
e
+
004
Rank
1
4
7
2
3
5
6
f
12
Mean
2
.
46
e
-
003
1
.
72
e
+
003
1
.
73
e
+
003
1
.
72
e
+
003
1
.
72
e
+
003
4
.
13
e
+
003
1
.
92
e
+
003
Std
5
.
51
e
-
003
2.39
e
-
011
3.30
3
.
0
2
e
-
001
4.41
e
-
008
4
.
23
e
+
002
4
.
62
e
+
001
Rank
1
3
5
2
3
7
6
f
13
Mean
2
.
06
e
+
001
2
.
07
e
+
001
2
.
04
e
+
001
2
.
01
e
+
001
2
.
07
e
+
001
2
.
05
e
+
001
2
.
08
e
+
001
Std
5
.
22
e
-
002
1
.
01
e
-
001
6
.
10
e
-
002
3
.
82
e
-
001
4
.
04
e
-
002
1
.
40
e
-
001
1
.
69
e
-
002
Rank
3
5
2
1
5
4
7
f
14
Mean
0
1
.
01
e
+
003
1
.
58
e
+
001
4
.
1
6
e
+
001
4
.
26
e
-
002
9
.
79
e
+
001
3
.
26
e
+
001
Std
4.04
e
-
014
3
.
82
e
+
001
1
.
15
e
+
001
9.98
e
+
001
9
.
51
e
-
002
7.66
8.18
Rank
1
3
4
6
2
7
5
f
15
Mean
4
.
63
e
+
001
1
.
34
e
+
002
1
.
87
e
+
002
1
.
2
1
e
+
002
1
.
3
5
e
+
002
1
.
79
e
+
002
4
.
22
e
+
002
Std
1
.
22
e
+
001
4
.
33
e
+
001
5
.
77
e
+
001
2
.
47
e
+
001
1
.
97
e
+
001
5
.
06
e
+
001
3
.
62
e
+
001
Rank
1
3
6
2
4
5
7
Total Rank3
9
25
30
16
26
36
44The median convergence results of 100D continuous functions. (a) Sphere function. (b) Rosenbrock function. (c) Quadratic function. (d) Sin problem function. (e) Rastrigin function. (f) Schwefel function. (g) Ackley function. (h) Griewank function. (i) Shifted sphere function. (j) Shifted Schwefel function. (k) Shifted Rosenbrock function. (l) Shifted rotated Griewank function. (m) Shifted rotated Ackley function. (n) Shifted Rastrigin function. (o) Shifted rotated Rastrigin function.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
(m)
(n)
(o)


### 4.3.1. Results on Basic Benchmark Continuous Functions

On the unimodal basic benchmark functions(f1–f4), from Table 7 and Figures 6(a)–6(d), HABC converged faster than all other algorithms. HABC was able to consistently find the minimum to functions f1, f2, and f3 within 100000 FEs. Statistically, HABC has significantly superior performance on continuous unimodal functions f1~f3. On f4, HABC, CABC, and CMA-ES have almost the same average value and CMA-ES is a little better. According to the rank in Table 7, the performance order of the algorithms involved is CMA-ES > HABC > CABC > ABC > CPSO > PSO > GA.On the multimodal functions (f5~f8), from Table 7 and Figures 6(e)–6(i), it is visible that, on most functions, HABC algorithm markedly outperforms other algorithms. For example, HABC quickly finds the global minimum on function f5 and f8, and CABC also can consistently find the minimum of f5 within relatively more FEs while other algorithms perform poorer. On f6 and f7, the HABC and CABC obtain similar performance. This can be explained that the multipopulation cooperative coevolution strategy integrated by HABC and CABC enhance the local search ability, contributing to their better performances in the multimodal problems. According to the rank values in Table 7, the performance order of the algorithms tested is HABC > CABC > ABC > CPSO> CMA-ES > PSO > GA.


### 4.3.2. Results on CEC2005 Continuous Functions

Seven shifted and rotated functionsf9~f15 are viewed as the most difficult functions to tackle. From Table 7, HABC outperformed CMA-ES on five out of the seven functions, except f10 and f13. CMA-ES also outperformed CABC on six functions, except f14. HABC can find the global optimum for f9 and f14 within 10000 Fes, because HABC balances the exploration and exploitation by decomposing high-dimensional problems and using crossover and mutation operations to maintain its population diversity, which is a key contributing factor. On the other hand, CMA-ES converged extremely fast. However, CMA-ES either converged very fast or tended to be trapped into local minima very quickly, especially on multimodal functions. According to the rank values, the performance order of the algorithms involved is HABC > CMA-ES > CABC > ABC > CPSO > PSO > GA.


### 4.3.3. Results on Discrete Functions

In this experiment, the HABC_SB version (CR=0.1) is employed on a set of discrete benchmark functions f16~f20. The results obtained by HABC_SB, ABC, GA, and PSO on each function are listed in Table 8, consisting of mean and standard deviations found over 30 runs. Figure 7 shows the search progress of the average values found by the four algorithms over 30 runs on f16~f20. From the results in Table 8, we can observe that HABC gets the best means, and converges faster than other algorithms on all discrete cases. According to the rank values presented in Table 9; the search performance order of the algorithms involved is HABC > PSO > ABC > GA.Table 8
Performance of all algorithms on benchmark discrete functionsf16–f20.
Function
HABC
ABC
PSO
GA
f
1
6
Mean
0
0
2
.
2
0
e
-
001
3
.
25
e
-
002
Std
0
0
7
.
27
e
-
002
7
.
27
e
-
002
Rank
1
1
4
3
f
17
Mean
0.88
1.12
1.16
1.36
Std
1
.
09
e
-
001
1
.
78
e
-
001
2
.
60
e
-
001
3
.
57
e
-
001
Rank
1
3
6
7
f
18
Mean
4.00
2.31
e
+
001
4.60
1.11
e
+
001
Std
1.76
7.53
1.19
4.95
Rank
1
4
2
3
f
19
Mean
0
1.33
2.51
e
-
001
1.65
Std
0
1.12
e
-
002
7.07
e
-
002
3.56
e
-
001
Rank
1
3
2
4
f
20
Mean
2.21
e
-
001
3.4
e
-
001
2.00
1.33
Std
2.11
e
-
002
1.67
e
-
001
1.09
e
-
001
2.05
e
-
001
Rank
1
2
4
3
Total rank
5
13
17
20Table 9
Parameters of the test functions.
f
Dimensions
Initial range
x
*
f  (x*)
f
1
100
[-100,100]D
[0,0,…,0]
0
f
2
100
[-30,30]D
[1,1,…,1]
0
f
3
100
[-65.536,65.536]D
[0,0,…,0]
0
f
4
100
[-10,10]D
[0,0,…,0]
0
f
5
100
[-5.12,5.12]D
[0,0,…,0]
0
f
6
100
[-500,500]D
[420.9867,…,420.9867]
0
f
7
100
[-32.768,32.768]D
[0,0,…,0]
0
f
8
100
[-600,600]D
[0,0,…,0]
0
f
9
100
[-100,100]D
[0,0,…,0]
−450
f
10
100
[-100,100]D
[0,0,…,0]
−450
f
11
100
[-100,100]D
[0,0,…,0]
390
f
12
100
No bounds
[0,0,…,0]
−180
f
13
100
[-32,32]D
[0,0,…,0]
−140
f
14
100
[-5,5]D
[0,0,…,0]
−330
f
15
100
[-5,5]D
[0,0,…,0]
−330
f
16
30
[0,1]
[1,1,…,1]
0
f
17
60
[0,1]
[0,0,…,0] or [1,1,…,1] or […,6*0,…,6*1,…]
0
f
18
120
[0,1]
[0,0,…,0]
0
f
19
120
[0,1]
[0,1,1,0,1,1,…]
0
f
20
120
[0,1]
[0,0,1,0,0,1,…]
0
*Represents the solution corresponding to the optimal value of the objective function, namely the optimal solution.The median results of discrete functions. (a) Goldberg’s order-3. (b) Bipolar order-6. (c) Mulenbein’s order-5. (d) Clerc’s order-3 problem 1. (e) Clerc’s order-3 problem 2.
(a)
(b)
(c)
(d)
(e)


### 4.3.4. Algorithm Complexity Analysis

Algorithm complexity analysis is presented briefly as follows. If we assume that the computation cost of one individual in the HABC isCost_a, the cost of the crossover operator is Cost_c and the total computation cost of HABC for one generation is N*K*M*Cost_a+N*Cost_c. However, because the heuristic algorithms used in this paper cannot ensure comprehensive convergence, it is very difficult to give a brief analysis in terms of time for all algorithms. Through directly evaluating the algorithmic time response on different objective functions, the average computing time in 30 sample runs of all algorithms is given in Figure 8. From the results in Figure 8, it is observed that the HABC takes the most computing time in all compared algorithms and its time increasing rate is the highest one. This can be explained that the multipopulation cooperative coevolution strategy integrated by HABC enhanced the local search ability at cost of increasing the computation amount. In summary, it is concluded that, compared with other algorithms, the HABC requires more computing time to achieve better results.Figure 8
Computing time of all algorithms on different RNP problems.


## 4.3.1. Results on Basic Benchmark Continuous Functions

On the unimodal basic benchmark functions(f1–f4), from Table 7 and Figures 6(a)–6(d), HABC converged faster than all other algorithms. HABC was able to consistently find the minimum to functions f1, f2, and f3 within 100000 FEs. Statistically, HABC has significantly superior performance on continuous unimodal functions f1~f3. On f4, HABC, CABC, and CMA-ES have almost the same average value and CMA-ES is a little better. According to the rank in Table 7, the performance order of the algorithms involved is CMA-ES > HABC > CABC > ABC > CPSO > PSO > GA.On the multimodal functions (f5~f8), from Table 7 and Figures 6(e)–6(i), it is visible that, on most functions, HABC algorithm markedly outperforms other algorithms. For example, HABC quickly finds the global minimum on function f5 and f8, and CABC also can consistently find the minimum of f5 within relatively more FEs while other algorithms perform poorer. On f6 and f7, the HABC and CABC obtain similar performance. This can be explained that the multipopulation cooperative coevolution strategy integrated by HABC and CABC enhance the local search ability, contributing to their better performances in the multimodal problems. According to the rank values in Table 7, the performance order of the algorithms tested is HABC > CABC > ABC > CPSO> CMA-ES > PSO > GA.


## 4.3.2. Results on CEC2005 Continuous Functions

Seven shifted and rotated functionsf9~f15 are viewed as the most difficult functions to tackle. From Table 7, HABC outperformed CMA-ES on five out of the seven functions, except f10 and f13. CMA-ES also outperformed CABC on six functions, except f14. HABC can find the global optimum for f9 and f14 within 10000 Fes, because HABC balances the exploration and exploitation by decomposing high-dimensional problems and using crossover and mutation operations to maintain its population diversity, which is a key contributing factor. On the other hand, CMA-ES converged extremely fast. However, CMA-ES either converged very fast or tended to be trapped into local minima very quickly, especially on multimodal functions. According to the rank values, the performance order of the algorithms involved is HABC > CMA-ES > CABC > ABC > CPSO > PSO > GA.


## 4.3.3. Results on Discrete Functions

In this experiment, the HABC_SB version (CR=0.1) is employed on a set of discrete benchmark functions f16~f20. The results obtained by HABC_SB, ABC, GA, and PSO on each function are listed in Table 8, consisting of mean and standard deviations found over 30 runs. Figure 7 shows the search progress of the average values found by the four algorithms over 30 runs on f16~f20. From the results in Table 8, we can observe that HABC gets the best means, and converges faster than other algorithms on all discrete cases. According to the rank values presented in Table 9; the search performance order of the algorithms involved is HABC > PSO > ABC > GA.Table 8
Performance of all algorithms on benchmark discrete functionsf16–f20.
Function
HABC
ABC
PSO
GA
f
1
6
Mean
0
0
2
.
2
0
e
-
001
3
.
25
e
-
002
Std
0
0
7
.
27
e
-
002
7
.
27
e
-
002
Rank
1
1
4
3
f
17
Mean
0.88
1.12
1.16
1.36
Std
1
.
09
e
-
001
1
.
78
e
-
001
2
.
60
e
-
001
3
.
57
e
-
001
Rank
1
3
6
7
f
18
Mean
4.00
2.31
e
+
001
4.60
1.11
e
+
001
Std
1.76
7.53
1.19
4.95
Rank
1
4
2
3
f
19
Mean
0
1.33
2.51
e
-
001
1.65
Std
0
1.12
e
-
002
7.07
e
-
002
3.56
e
-
001
Rank
1
3
2
4
f
20
Mean
2.21
e
-
001
3.4
e
-
001
2.00
1.33
Std
2.11
e
-
002
1.67
e
-
001
1.09
e
-
001
2.05
e
-
001
Rank
1
2
4
3
Total rank
5
13
17
20Table 9
Parameters of the test functions.
f
Dimensions
Initial range
x
*
f  (x*)
f
1
100
[-100,100]D
[0,0,…,0]
0
f
2
100
[-30,30]D
[1,1,…,1]
0
f
3
100
[-65.536,65.536]D
[0,0,…,0]
0
f
4
100
[-10,10]D
[0,0,…,0]
0
f
5
100
[-5.12,5.12]D
[0,0,…,0]
0
f
6
100
[-500,500]D
[420.9867,…,420.9867]
0
f
7
100
[-32.768,32.768]D
[0,0,…,0]
0
f
8
100
[-600,600]D
[0,0,…,0]
0
f
9
100
[-100,100]D
[0,0,…,0]
−450
f
10
100
[-100,100]D
[0,0,…,0]
−450
f
11
100
[-100,100]D
[0,0,…,0]
390
f
12
100
No bounds
[0,0,…,0]
−180
f
13
100
[-32,32]D
[0,0,…,0]
−140
f
14
100
[-5,5]D
[0,0,…,0]
−330
f
15
100
[-5,5]D
[0,0,…,0]
−330
f
16
30
[0,1]
[1,1,…,1]
0
f
17
60
[0,1]
[0,0,…,0] or [1,1,…,1] or […,6*0,…,6*1,…]
0
f
18
120
[0,1]
[0,0,…,0]
0
f
19
120
[0,1]
[0,1,1,0,1,1,…]
0
f
20
120
[0,1]
[0,0,1,0,0,1,…]
0
*Represents the solution corresponding to the optimal value of the objective function, namely the optimal solution.The median results of discrete functions. (a) Goldberg’s order-3. (b) Bipolar order-6. (c) Mulenbein’s order-5. (d) Clerc’s order-3 problem 1. (e) Clerc’s order-3 problem 2.
(a)
(b)
(c)
(d)
(e)


## 4.3.4. Algorithm Complexity Analysis

Algorithm complexity analysis is presented briefly as follows. If we assume that the computation cost of one individual in the HABC isCost_a, the cost of the crossover operator is Cost_c and the total computation cost of HABC for one generation is N*K*M*Cost_a+N*Cost_c. However, because the heuristic algorithms used in this paper cannot ensure comprehensive convergence, it is very difficult to give a brief analysis in terms of time for all algorithms. Through directly evaluating the algorithmic time response on different objective functions, the average computing time in 30 sample runs of all algorithms is given in Figure 8. From the results in Figure 8, it is observed that the HABC takes the most computing time in all compared algorithms and its time increasing rate is the highest one. This can be explained that the multipopulation cooperative coevolution strategy integrated by HABC enhanced the local search ability at cost of increasing the computation amount. In summary, it is concluded that, compared with other algorithms, the HABC requires more computing time to achieve better results.Figure 8
Computing time of all algorithms on different RNP problems.


## 5. Conclusion

In this paper, we propose a novel hierarchical artificial bee colony algorithm (HABC), extending single-level to multilevel aiming to improve the performance of solving complex and high-dimensional problem. The concept and main idea is extending single artificial bee colony (ABC) algorithm to hierarchical and cooperative mode by combining the multipopulation cooperative coevolution approach based on vector decomposing strategy and the comprehensive learning method. At the same time, the discrete version of HABC is presented in this paper. We demonstrate that the hierarchical cooperative framework proposed is useful to improve ABC’s performance to tackle high-dimensional optimization problems (up to 100 dimensions).The effects of using random grouping scheme has shown that the performance is sensitive to the grouping number, and without any prior knowledge, the random grouping can be a suitable solution. Subsequently, a group of appropriate parameters consisting of crossover modes, selection methods, and CRshas been determined for both continuous and discrete optimizations, respectively.Then, HABC was compared with other SI and EA algorithms on a set of 20 benchmark functions (including continuous and discrete cases). Our results show that, for all the test functions, HABC is more competitive than other classical powerful algorithms. HABC is the only one to consistently find the minimum off1 (Sphere), f2 (Rosenbrock), f3 (Quadratic), f5 (Rastrigin), and f8 (Griewank), though CMA-ES got significantly better performance on the unimodal functions (f1–f4). On CEC2005 functions, HABC exhibits more significant advantages in terms of accuracy, convergence rate, and robustness. In the future work, we will extend the optimization problem to higher-dimensional (up to 1000 dimensions) objective function solved by our proposed HABC.



---

*Source: 402616-2014-03-17.xml*