# Biogeography-Based Optimization with Orthogonal Crossover

Authors: Quanxi Feng; Sanyang Liu; Guoqiang Tang; Longquan Yong; Jianke Zhang
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

Biogeography-based optimization (BBO) is a new biogeography inspired, population-based algorithm, which mainly uses migration operator to share information among solutions. Similar to crossover operator in genetic algorithm, migration operator is a probabilistic operator and only generates the vertex of a hyperrectangle defined by the emigration and immigration vectors. Therefore, the exploration ability of BBO may be limited. Orthogonal crossover operator with quantization technique (QOX)  is based on orthogonal design and can generate representative solution in solution space. In this paper, a BBO variant is presented through embedding the QOX operator in BBO algorithm. Additionally, a modified migration equation is used to improve the population diversity. Several experiments are conducted on 23 benchmark functions. Experimental results show that the proposed algorithm is capable of locating the optimal or closed-to-optimal solution. Comparisons with other variants of BBO algorithms and state-of-the-art orthogonal-based evolutionary algorithms demonstrate that our proposed algorithm possesses faster global convergence rate, high-precision solution, and stronger robustness. Finally, the analysis result of the performance of QOX indicates that QOX plays a key role in the proposed algorithm.


---

## Body

## 1. Introduction

Many problems in both industrial application field and scientific research world can be regarded as optimization problems. During the past decades, several kinds of classical methods [1, 2] have been proposed to handle optimization problem, which have made enormous progress, but these methods demand to know the property of optimization problem, such as continuity or differentiability. In recent decades, many meta heuristic algorithms sprung up, for example, genetic algorithm (GA) [3], particle swarm optimization (PSO) [4], simulated annealing algorithm (SA) [5], differential evolution (DE) [6], and biogeography-based optimization (BBO) [7]. These algorithms can solve optimization problems without using some information such as differentiability.Biogeography-based optimization (BBO) [7], developed by Simon, is a new emerging population-based evolutionary algorithm motivated through mimic migration of species in natural biogeography. Just as species migrate back and forth between islands in biogeography, migration operator in BBO shares information between habitats in the population. That is to say, a good solution can share their features with poor ones through migration operator, and a poor solution can improve their quality by accepting new features from good ones. Thus, BBO possesses powerful exploitation ability. However, migration operator does not produce new SIV which may lead to weak exploration ability and poor population diversity.In evolution algorithm, the step of generating some solutions can be considered as “experiment.” For example, the operation of using crossover operator to sample genes from their parents and produce new offspring, this process can be considered as sample experiment. Orthogonal experiment design is a method that is used to generate multifactor experiment uniformly, which has been developed to sample a small, but representative set of combinations for experimentation. Zhang and Leung [8] introduced orthogonal experimental design into genetic algorithm and proposed orthogonal crossover (OX). Leung and Wang [9] used quantization technique in orthogonal experimental design and proposed quantization orthogonal crossover operator (QOX). Experimental studies show that QOX is an effective and efficient operator for numerical optimization.Since BBO has properties of powerful exploitation ability, weak exploration ability, poor population diversity, and slow convergence rate simultaneous. QOX operator is a global search operator with systematic and rational search ability. In order to enhance the exploration ability and improve the population diversity, in this paper, an improved BBO variant, namely, biogeography-based optimization with orthogonal crossover (denoted as OXBBO), is presented for solving global optimization problems. In the proposed algorithm, QOX operator is embedded into BBO to enhance its exploration ability and accelerate its convergence rate, and a modified migration operator is used to improve the population diversity.The rest of the paper is organized as follows. The basic BBO is introduced in Section2, while Section 3 briefly reviews orthogonal experiment design. The proposed algorithm is introduced in Section 4 in detail. In Section 5, extensive experiments have been carried out to test OXBBO. Finally, some conclusions and future works are summarized in Section 6.


## 2. Biogeography-Based Optimization

BBO is a new population-based biogeography inspired global optimization algorithm, which has some features in common with other biology-based algorithms. Migration operator is the main operator of BBO which shares information among solutions. PSO and BBO solutions survive forever, while GA solutions “die” at the end of each generation. PSO solutions are more likely to clump together in similar groups, while BBO and GA solutions do not have any built-in trend to cluster.BBO is a method motivated by geographical distribution of biological organisms. In BBO, each individual is considered as a “habitat” with a habitat suitability index (HSI). Habitats with a high HSI tend to have a large number of species, while those with a low HSI have a small number of species. Habitats with a high HIS migrate to the nearby habitats, while those with a low HSI accept features from neighbor habitats with high HSI.Migration strategy in BBO is similar to the global recombination approach in the breeder GA and evolutionary strategy. Migration operator is a probabilistic operator that adjusts habitat based on the immigration rate and emigration rate. The probability thatH  is modified is proportional to its immigration rate  λ, and the probability that the modification source comes from  H  is proportional to the emigration rate  μ. Migration operator [7] can be described in Algorithm 1.Algorithm 1:Procedure of migration operator.
(1)Begin
(2)For  i=1 to NP
(3)    SelectXi based on immigration rate λi
(4)If  Xi is selected
(5)For  j=1 to NP
(6)      SelectXj based on emigration rate μj
(7)If  rand(0,1)<μj
(8)Hi(SIV)=Hj(SIV)   (*)
(9)EndIf
(10)EndFor
(11)EndIf
(12)EndFor
(13)EndA habitat’s HSI can be changed suddenly because of random events which are modeled as mutation operator in BBO. Mutation operator randomly modifies SIV based on the habitat’s priori probability. The mutation ratem  is expressed as follows:
(1)m=mmax(1-pspmax),
where mmax  is a user-defined parameter. In BBO, highly probable solutions will tend to be more dominant in the population without this modification. This mutation scheme tends to increase diversity among population. The mutation operator [7] can be loosely described in Algorithm 2.Algorithm 2:Procedure of mutation operator.
(1)Begin
(2)For  k=1 to Dim
(3)  Useλk and μk to compute the probability pk
(4)  Select variableXik with probability pk
(5)If  Xik is selected
(6)   ReplaceXik with a randomly generated SIV
(7)EndIf
(8)EndFor
(9)EndAs some scholars has pointed out that BBO may have some deficiencies. For example, BBO is good at exploiting the solution space, but BBO is weak at exploring the solution space. Recently, many researchers have been working on the improvement of BBO, and many variants of BBO are presented.Improving the operator in BBO is one direction for improvement. Gong et al. [11] used a real code to represent the solution and extend BBO to the continuous domain optimization and then presented a real-coded BBO (RCBBO). Ma and Simon [16] modified the migration operator by giving a new migration formula and then proposed blend BBO (B-BBO). Li et al. [10] presented perturbing biogeography-based optimization (PBBO) through a design of perturbing migration based on the sinusoidal migration curve. Li and Yin [12] proposed another migration operation based on multiparent crossover called multiparent migration model and then presented multioperator biogeography-based optimization (MOBBO). Ma [17] generalized linear migration model to six different migration models and then used experimental study and theoretical analysis to investigate their performance.Hybridization of EAs is another direction for improvement. Cai et al. [18] combined evolutionary programming with BBO to enhance the exploration ability and then proposed hybrid BBO (BBO-EP). Wang and Xu [19] combined differential evolution and simplex search with BBO and proposed SSBBODE for solving parameter estimation problems. Lohokare et al. [20] presented intelligent biogeography-based optimization (IBBO) through hybridization of BBO with bacterial foraging algorithm. Zhu [21] used graphics hardware acceleration to present a massively parallel biogeography-based optimization-pattern search algorithm (BBO-PS). Tan and Guo [22] proposed quantum and biogeography-based optimization (QBBO) by evolving multiple quantum probability models via evolutionary strategies inspired by the mathematics of biogeography. Gong et al. [15] combined the exploration of DE with the exploitation of BBO effectively and then presented a hybrid DE with BBO, namely, DE/BBO. Boussaǐd et al. [13] proposed a two stages algorithm (DBBO) through hybridization of BBO with DE, which updated the population by using BBO and DE alternately.Moreover, theory analysis of BBO and application has also been developing. Simon [23] introduced several simplified versions of BBO and used probability theory to perform an approximate analysis. Simon et al. [24] showed that BBO is a generalization of a genetic algorithm with global uniform recombination (GA/GUR) and compared BBO and GA/GUR algorithms by using analytical Markov models. Simon [25] also introduced dynamic system models for BBO and GA/GUR.Ma et al. [26] incorporated resampling in BBO to solve optimization problems in noisy environments. Ergezer et al.  [27] employed opposition-based learning alongside migration rate of BBO and created oppositional BBO (OBBO).It is necessary to emphasize that our work is to add a new global search operator into BBO algorithm. Meanwhile, we also aim at not increasing too many control parameters in the algorithm.


## 3. Orthogonal Crossover

In practical application, it is impossible to consider all combinations in large sample space, and then we can use a small part of representative samples to represent the sample space. Orthogonal design method [9], with both orthogonal array (OA) and factor analysis (FA), is used to execute multifactor experiment uniformly and sample well-distributed in solution space OA is a fractional factorial array of numbers arranged in rows and columns which can assure a balanced comparison of levels of any factor. All columns in orthogonal array can be evaluated independently of one another, a number of such arrays can be found in http://www2.research.att.com/~njas/oadir/.For example, an experiment with 4 factors and 3 levels, its orthogonal array isL9 (34). There are 81 combinations for all. If we apply the orthogonal array, we only consider nine combinations.For convenience, we denote an orthogonal array forF  factors with  Q  levels and  M  combinations as  LM(QF)=[aij]M×N, where  aij∈{1,2,…,Q}  represents the  jth factor in the  ith  combination. Generally,
(2)M≤QF-1Q-1.Orthogonal crossover operator was first developed by Zhang and Leung [8], which originated from the integration of orthogonal experiment design with crossover operator to generate several new solutions in the line with orthogonal array. As a matter of fact, each operation of generating a new offspring can be regarded as an experiment. For example, a crossover is a procedure for sampling several points from a defined region while orthogonal crossover operator (OX) uses orthogonal array to make crossover operator with more statistically. OX in [8] was used in combination problems. Leung and Wang [9] used OX with quantization technique and proposed new OX used for dealing with numerical optimization with continuous variables. Leung quantized the continuous domain into several levels firstly and then used orthogonal array to generate combinations.Consider two parent habitatsx=(x1,x2,…,xN)  and  y=(y1,y2,…,yN).  x  and  y  define a search space [min(xi,yi),max(xi,yi)]  of variable  xi. Then, the solution space is  [llow,uup], where
(3)llow=[min(x1,y1),min(x2,y2),…,min(xN,yN)],uup=[max(x1,y1),max(x2,y2),…,max(xN,yN)].
QOX quantizes the solution space  [llow,uup]  into Q levels:
(4)βij={min(x1,y1),j=1,min(xi,yi)+(j-1)(|xi-xi|(Q-1)),2≤j≤Q-1,max(xN,yN),j=Q.In practical application, dimensionN is often much larger than orthogonal factor F, and LM(QF) cannot be used directly. So, we first randomly generate F-1  different integers between 1 and Nand then divide N-dimension solution vector into  F factors:
(5)f1=(x1,…,xk1),f2=(xk1+1,…,xk2),⋮fF-1=(xkF-2+1,…,xkF-1),fF=(xkF-1+1,…,xN).Finally,M combinations are generated according to orthogonal array LM (QF) whose habitat suitability index is evaluated, and the two best habitats are selected from them to replace their parent habitats.QOX has been incorporated into particle swarm optimization [4], differential evolution [28], and genetic algorithm [9] to enhance the exploration ability.


## 4. The Proposed Algorithm: OXBBO

### 4.1. Orthogonal Crossover Operator

Migration operator plays a key role in BBO. Simon et al. [24] has pointed out that BBO migration strategy is conceptually similar to the GA global uniform recombination operator, which can be considered as a special GA crossover operator [24]. Similar to GA crossover operator, migration operator only generates and evaluates the habitat which is located in the vertex of hyperrectangle defined by the emigration habitats and immigration habitats. The inner and other vertexes of the hyperrectangle are not considered in this process, which might be a promising region in the solution space. This process may lead the optimal solution to fall into local optimal solution, especially, in the initial optimizing stage. That is to say, migration operator cannot perform a systematic search in the hyperrectangle. Therefore, the exploration ability of BBO could be limited to some extent.Orthogonal crossover operator with quantization technique (QOX) samples a small but representative set of combinations for experimentation. In the searching process, QOX not only searches the vertexes of hyperrectangle defined by parents but also searches the inner of the hyperrectangle. So QOX could execute systematic search in the hyperrectangle, which can locate the global optimal solution easy and overcome the limitation of migration operator.As shown in Figure1, P1(x1,y1)   and  P2(x2,y2)   are the parents (supposing that one is emigration habitat and the other one is immigration habitat in two-dimensional solution space). We can see in Figure 1 that GA crossover operator generates two offspring randomly. Migration operator absorbs better SIVs and generates one offspring, determined by immigration and emigration rate, in the vertex consciously. And orthogonal crossover operator with L9(34) generates nine potential offspring which lie in both the vertexes and the inner of hyperrectangle uniformly. Obviously, orthogonal crossover operator searches the solution space more thoroughly than GA crossover operator and migration operator do.Illustrations of using crossover to generate new offspring in two-dimension space.(x1,y1),  (x2,y2) are their parents; the others are offspring. (a) GA crossover operator, (b) migration operator, and (c) orthogonal crossover operator.
(a)
(b)
(c)In order to enhance the exploration ability of BBO, we embedded the QOX operator withL9(34) into BBO. For the sake of randomness, two random selected habitats are used as the parent of QOX, which will be replaced by two best habitats chosen from offspring after performing QOX. Note that QOX operator is more costly than migration operator and GA operator, since it needs to evaluate 9 offspring if L9(34) is used. Considering the limitation of the number of fitness function evaluations, we apply QOX with L9(34) only once at each generation to save the computation cost and to simplify the implementation procedure. The brief description of QOX is shown in Algorithm 3.Algorithm 3:Procedure of QOX.
(1)Begin
(2)Input:parameters Q and F
(3)  SelectM fulfilling formula (2)
(4)  Randomly select two habitats from the population
(5)  Quantize the domain defined by the two habitats intoQ levels
(6)  Randomly generateF− 1 different integers between 1 and dimension N
(7)  DivideN-dimension habitat vector into F factors
(8)  ApplyLM(QF) to generate M potential offspring
(9)  EvaluateM potential offspring
(10) Select two best habitats to replace their parents
(11)Output: two best habitats
(12)End


### 4.2. Modified Migration Operator

As analyzed before, in migration operator, the SIV of new habitat migrates from other habitats. This procedure only uses the SIV of better habitats to replace the SIV of the worse habitats but does not produce new SIV which results in poor population diversity, especially in the later stage. For the sake of this, a new modified migration is used to improve the population diversity. In Algorithm1, formula (*) is replaced by a new formula:
(6)Hi(SIV)=Hj(SIV)+α(Hr1(SIV)-Hr2(SIV)),
where  r1,  r2  are two different integers generated randomly between 1 and NP  (NP is population size). We can see in formula (6), the difference generated by two randomly selected habitats are added to the emigration SIV of habitat, which can generate a random perturbation on the emigration SIV and then improve the diversity of new population.


### 4.3. Mutation with Mutation Operator

In order to enhance the exploration ability of BBO, a modified mutation operator, Cauchy mutation operator, is integrated into BBO to replace the randomly generated SIV.The formula for the probability density function of the Cauchy distribution [11] is
(7)ft(x)=1πtt2+x2,
where x∈R,  and  t>0  is a scale parameter. A real-valued random variable Y is Cauchy distributed with t>0 being written as
(8)Y~δ(t).The Cauchy mutation(t=1) in OXBBO can be described as
(9)Xi(SIV)=Xi(SIV)+δ(1).


### 4.4. Boundary Constraints

The OXBBO algorithm assumes that all the habitats in the population should be limited in an isolated and finite solution space. There are some habitats moving out of the solution space, in the optimizing process, which should be prevented. In order to keep the solution of bound-constrained problems feasible, those habitats that violate boundary constraints should be replaced by a new generate habitat. The formula is(10)Xij(SIV)=lj+rand*(uj-lj),
where lj,  uj  are the lower and upper bound, of the solution space, respectively.


### 4.5. Selection Operator

Selection operator can impel the metabolism of population and retain good habitats. Greedy selection operator is used in this paper. In other words, the population habitat will be replaced by its corresponding trial habitat if the HSI of the trial habitat is better than that of its population habitat:(11)Xi={Xiiff(Xi)<f(Mi)Mielse,
where Xi,  Mi  are the population habitat and trial habitat, respectively.


### 4.6. Main Procedure of OXBBO

As the analysis above, migration operator is good at exploiting the solution space and weak at exploraing the solution space. QOX is good at exploring the solution space, which can offset the deficiency of BBO. Modified migration operator can increase the difference of population and improve the population diversity. Therefore, we introduce biogeography-based optimization with orthogonal crossover (viz., OXBBO) by incorporating the above-mentioned QOX and modified migration operator into BBO in this section. The pseudocode of OXBBO approach is described in Algorithm4.Algorithm 4:Main Procedure of OXBBO.
(1)Begin
(2) Generate initial population Pop randomly
(3) Evaluate each habitatXi
(4)While the halting criteria are not satisfied do
(5)  Sort habitats from best to worst based on the fitness values
(6)  Map the fitness value to the number of spices
(7)  Calculate the emigration rate and immigration rate of each habitat
(8)For  i=1 to NP      /* migration stage */
(9)   SelectXi based on immigration rate λi
(10)Generate two different integers r1≠r2 randomly between 1 and NP
(11)If  Xi is selected
(12)For  j=1 to NP
(13)   Select Xj based on emigration rate μj
(14)   If   rand(0,1)<μj
(15)    Hi(SIV)=Hj(SIV)+α(Hr1(SIV)-Hr2(SIV))
(16)   End If
(17)EndFor
(18) EndIf
(19) EndFor        /* end of migration stage */
(20) For  i=1 to NP     /* mutation stage */
(21)    Compute the probabilitypi
(22)    SelectXi based on pi
(23)If  rand(0,1)<mi
(24)Hi(SIV)=Hj(SIV)+δ(1)
(25)EndIf
(26) EndFor        /* end of mutation stage */
(27) Make sure each habitat legal based on boundary constraints
(28) Evaluate each newly generated habitat Mi
(29) For  i=1 to NP     /* selection stage */
(30)If  f(Xi)<f(Mi)
(31)     ReserveXi in the next population
(32)Else
(33)     ReserveMi in the next population
(34)EndIf
(35) EndFor        /* end of selection stage */
(36) Input: parameters Q and F /* QOX search stage */
(37) Select M fulfilling formula (2)
(38) Randomly select two habitats r3≠r4 from the population
(39) Quantize the domain defined by the two habitats into Q levels
(40)Randomly generate F − 1 different integers between 1 and dimension N
(41)Divide N-dimension habitat vector into F factors
(42)Apply LM(QF) to generate M potential offspring
(43)Evaluate M potential offspring
(44)Select two best habitats to replace habitat r3,r4
(45)Output: two best habitats /* end of QOX search stage */
(46)EndWhile
(47)End


## 4.1. Orthogonal Crossover Operator

Migration operator plays a key role in BBO. Simon et al. [24] has pointed out that BBO migration strategy is conceptually similar to the GA global uniform recombination operator, which can be considered as a special GA crossover operator [24]. Similar to GA crossover operator, migration operator only generates and evaluates the habitat which is located in the vertex of hyperrectangle defined by the emigration habitats and immigration habitats. The inner and other vertexes of the hyperrectangle are not considered in this process, which might be a promising region in the solution space. This process may lead the optimal solution to fall into local optimal solution, especially, in the initial optimizing stage. That is to say, migration operator cannot perform a systematic search in the hyperrectangle. Therefore, the exploration ability of BBO could be limited to some extent.Orthogonal crossover operator with quantization technique (QOX) samples a small but representative set of combinations for experimentation. In the searching process, QOX not only searches the vertexes of hyperrectangle defined by parents but also searches the inner of the hyperrectangle. So QOX could execute systematic search in the hyperrectangle, which can locate the global optimal solution easy and overcome the limitation of migration operator.As shown in Figure1, P1(x1,y1)   and  P2(x2,y2)   are the parents (supposing that one is emigration habitat and the other one is immigration habitat in two-dimensional solution space). We can see in Figure 1 that GA crossover operator generates two offspring randomly. Migration operator absorbs better SIVs and generates one offspring, determined by immigration and emigration rate, in the vertex consciously. And orthogonal crossover operator with L9(34) generates nine potential offspring which lie in both the vertexes and the inner of hyperrectangle uniformly. Obviously, orthogonal crossover operator searches the solution space more thoroughly than GA crossover operator and migration operator do.Illustrations of using crossover to generate new offspring in two-dimension space.(x1,y1),  (x2,y2) are their parents; the others are offspring. (a) GA crossover operator, (b) migration operator, and (c) orthogonal crossover operator.
(a)
(b)
(c)In order to enhance the exploration ability of BBO, we embedded the QOX operator withL9(34) into BBO. For the sake of randomness, two random selected habitats are used as the parent of QOX, which will be replaced by two best habitats chosen from offspring after performing QOX. Note that QOX operator is more costly than migration operator and GA operator, since it needs to evaluate 9 offspring if L9(34) is used. Considering the limitation of the number of fitness function evaluations, we apply QOX with L9(34) only once at each generation to save the computation cost and to simplify the implementation procedure. The brief description of QOX is shown in Algorithm 3.Algorithm 3:Procedure of QOX.
(1)Begin
(2)Input:parameters Q and F
(3)  SelectM fulfilling formula (2)
(4)  Randomly select two habitats from the population
(5)  Quantize the domain defined by the two habitats intoQ levels
(6)  Randomly generateF− 1 different integers between 1 and dimension N
(7)  DivideN-dimension habitat vector into F factors
(8)  ApplyLM(QF) to generate M potential offspring
(9)  EvaluateM potential offspring
(10) Select two best habitats to replace their parents
(11)Output: two best habitats
(12)End


## 4.2. Modified Migration Operator

As analyzed before, in migration operator, the SIV of new habitat migrates from other habitats. This procedure only uses the SIV of better habitats to replace the SIV of the worse habitats but does not produce new SIV which results in poor population diversity, especially in the later stage. For the sake of this, a new modified migration is used to improve the population diversity. In Algorithm1, formula (*) is replaced by a new formula:
(6)Hi(SIV)=Hj(SIV)+α(Hr1(SIV)-Hr2(SIV)),
where  r1,  r2  are two different integers generated randomly between 1 and NP  (NP is population size). We can see in formula (6), the difference generated by two randomly selected habitats are added to the emigration SIV of habitat, which can generate a random perturbation on the emigration SIV and then improve the diversity of new population.


## 4.3. Mutation with Mutation Operator

In order to enhance the exploration ability of BBO, a modified mutation operator, Cauchy mutation operator, is integrated into BBO to replace the randomly generated SIV.The formula for the probability density function of the Cauchy distribution [11] is
(7)ft(x)=1πtt2+x2,
where x∈R,  and  t>0  is a scale parameter. A real-valued random variable Y is Cauchy distributed with t>0 being written as
(8)Y~δ(t).The Cauchy mutation(t=1) in OXBBO can be described as
(9)Xi(SIV)=Xi(SIV)+δ(1).


## 4.4. Boundary Constraints

The OXBBO algorithm assumes that all the habitats in the population should be limited in an isolated and finite solution space. There are some habitats moving out of the solution space, in the optimizing process, which should be prevented. In order to keep the solution of bound-constrained problems feasible, those habitats that violate boundary constraints should be replaced by a new generate habitat. The formula is(10)Xij(SIV)=lj+rand*(uj-lj),
where lj,  uj  are the lower and upper bound, of the solution space, respectively.


## 4.5. Selection Operator

Selection operator can impel the metabolism of population and retain good habitats. Greedy selection operator is used in this paper. In other words, the population habitat will be replaced by its corresponding trial habitat if the HSI of the trial habitat is better than that of its population habitat:(11)Xi={Xiiff(Xi)<f(Mi)Mielse,
where Xi,  Mi  are the population habitat and trial habitat, respectively.


## 4.6. Main Procedure of OXBBO

As the analysis above, migration operator is good at exploiting the solution space and weak at exploraing the solution space. QOX is good at exploring the solution space, which can offset the deficiency of BBO. Modified migration operator can increase the difference of population and improve the population diversity. Therefore, we introduce biogeography-based optimization with orthogonal crossover (viz., OXBBO) by incorporating the above-mentioned QOX and modified migration operator into BBO in this section. The pseudocode of OXBBO approach is described in Algorithm4.Algorithm 4:Main Procedure of OXBBO.
(1)Begin
(2) Generate initial population Pop randomly
(3) Evaluate each habitatXi
(4)While the halting criteria are not satisfied do
(5)  Sort habitats from best to worst based on the fitness values
(6)  Map the fitness value to the number of spices
(7)  Calculate the emigration rate and immigration rate of each habitat
(8)For  i=1 to NP      /* migration stage */
(9)   SelectXi based on immigration rate λi
(10)Generate two different integers r1≠r2 randomly between 1 and NP
(11)If  Xi is selected
(12)For  j=1 to NP
(13)   Select Xj based on emigration rate μj
(14)   If   rand(0,1)<μj
(15)    Hi(SIV)=Hj(SIV)+α(Hr1(SIV)-Hr2(SIV))
(16)   End If
(17)EndFor
(18) EndIf
(19) EndFor        /* end of migration stage */
(20) For  i=1 to NP     /* mutation stage */
(21)    Compute the probabilitypi
(22)    SelectXi based on pi
(23)If  rand(0,1)<mi
(24)Hi(SIV)=Hj(SIV)+δ(1)
(25)EndIf
(26) EndFor        /* end of mutation stage */
(27) Make sure each habitat legal based on boundary constraints
(28) Evaluate each newly generated habitat Mi
(29) For  i=1 to NP     /* selection stage */
(30)If  f(Xi)<f(Mi)
(31)     ReserveXi in the next population
(32)Else
(33)     ReserveMi in the next population
(34)EndIf
(35) EndFor        /* end of selection stage */
(36) Input: parameters Q and F /* QOX search stage */
(37) Select M fulfilling formula (2)
(38) Randomly select two habitats r3≠r4 from the population
(39) Quantize the domain defined by the two habitats into Q levels
(40)Randomly generate F − 1 different integers between 1 and dimension N
(41)Divide N-dimension habitat vector into F factors
(42)Apply LM(QF) to generate M potential offspring
(43)Evaluate M potential offspring
(44)Select two best habitats to replace habitat r3,r4
(45)Output: two best habitats /* end of QOX search stage */
(46)EndWhile
(47)End


## 5. Experimental Study

In order to verify the performance of the proposed algorithm, several experiments are implemented on 23 benchmark functions. These benchmark functions are chosen from [29] and briefly summarized in Table 1, detailed descriptions about these functions can be found in [29].Table 1
Benchmark functions used in our experimental tests.
Function
Name
Dim
Search space
Optima
f
1
(
x
)
=
∑
i
=
1
n
x
i
2
Sphere
n
[
-
100,100
]
0
f
2
(
x
)
=
∑
i
=
1
n
|
x
i
|
+
∏
i
=
1
n
|
x
i
|
Schwefel’s problem 2.22
n
[
10
,
10
]
0
f
3
(
x
)
=
∑
i
=
1
n
(
∑
j
=
1
i
x
j
)
2
Schwefel’s problem 1.2
n
[
-
100,100
]
0
f
4
(
x
)
=
max
i
{
|
x
i
|
,
1
≤
i
≤
n
}
Schwefel’s problem 2.21
n
[
-
100,100
]
0
f
5
(
x
)
=
∑
i
=
1
n
-
1
[
100
(
x
i
+
1
-
x
i
2
)
2
+
(
x
i
-
1
)
2
]
Rosenbrock function
n
[
-
30,30
]
0
f
6
(
x
)
=
∑
i
=
1
n
(
⌊
x
i
+
0.5
⌋
)
2
Step function
n
[
-
100,100
]
0
f
7
(
x
)
=
∑
i
=
1
n
i
x
i
4
+
random
[
0,1
)
Quartic function
n
[
-
1.28,1.28
]
0
f
8
(
x
)
=
-
∑
i
=
1
n
x
i
sin
(
|
x
i
|
)
Schwefel function
n
[
-
512
,
512
]
-
12569.5
f
9
(
x
)
=
∑
i
=
1
n
[
x
i
2
-
10
cos
(
2
π
x
i
)
+
10
]
Rastrigin function
n
[
-
5.12,5.12
]
0
f
10
(
x
)
=
-
20
exp
(
-
0.2
(
1
/
n
)
∑
i
=
1
n
x
i
2
)
-
exp
(
(
1
/
n
)
∑
i
=
1
n
cos
2
π
x
i
)
+
20
+
e
Ackley function
n
[
-
32,32
]
0
f
11
(
x
)
=
(
1
/
4000
)
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
(
x
i
/
i
)
+
1
Griewank function
n
[
-
600,600
]
0
f
12
(
x
)
=
(
π
/
n
)
{
10
sin
2
(
π
y
i
)
+
∑
i
=
1
n
-
1
(
y
i
-
1
)
2
[
1
+
10
sin
2
(
π
y
i
+
1
)
]
f
12
(
x
)
=
+
(
y
n
-
1
)
2
}
+
∑
i
=
1
n
u
(
x
i
,
10,100,4
)
,
Penalized function 1
n
[
-
50,50
]
0
y
i
=
1
+
(
x
i
-
1
)
/
4
u
(
x
i
,
a
,
k
,
m
)
=
{
k
(
x
i
-
a
)
2
,
x
i
>
a
0
,
-
a
≤
x
i
≤
a
k
(
-
x
i
-
a
)
2
,
x
i
<
-
a
f
13
(
x
)
=
0.1
{
sin
2
(
3
π
x
1
)
+
∑
i
=
1
n
-
1
(
x
i
-
1
)
2
[
1
+
sin
2
(
3
π
x
i
+
1
)
]
=
0.1
(
+
(
x
n
-
1
)
2
[
1
+
sin
2
(
2
π
x
n
)
]
}
+
∑
i
=
1
n
u
(
x
i
,
5,100,4
)
,
Penalized function 2
n
[
-
50,50
]
0
f
14
(
x
)
=
[
1
/
500
+
∑
j
=
1
25
1
/
(
j
+
∑
i
=
1
2
(
x
i
-
a
i
j
)
6
)
]
-
1
Shekel Foxhole
2
[
-
65.536
,
65.536
]
1
f
15
(
x
)
=
∑
i
=
1
11
[
a
i
-
(
x
1
(
b
i
2
+
b
i
x
2
)
)
/
(
b
i
2
+
b
i
x
3
+
x
4
)
]
2
Kowalik’s function
4
[
-
5,5
]
0.003075
f
16
(
x
)
=
4
x
1
2
-
2.1
x
1
4
+
(
1
/
3
)
x
1
6
+
x
1
x
2
-
4
x
2
2
+
4
x
2
4
Six-Hump camel-Back function
4
[
-
5,5
]
-
1.0316
f
17
(
x
)
=
(
x
2
-
(
5.1
/
4
π
2
)
x
1
2
+
(
5
/
π
)
x
1
-
6
)
2
+
10
(
1
-
1
/
8
π
)
cos
x
1
+
10
Branin function
2
[
-
5,10
]
×
[
0,15
]
0.398
f
18
(
x
)
=
[
1
+
(
x
1
+
x
2
+
1
)
2
(
19
-
14
x
1
+
3
x
1
2
-
14
x
2
+
6
x
1
x
2
+
3
x
2
2
)
]
b
×
[
30
+
(
2
x
1
-
3
x
2
)
2
(
18
-
32
x
1
+
12
x
1
2
+
48
x
2
-
36
x
1
x
2
+
27
x
2
2
)
]
Goldstein-Price function
2
[
-
2,2
]
3
f
19
(
x
)
=
-
∑
i
=
1
4
c
i
exp
[
-
∑
j
=
1
4
a
i
j
(
x
j
-
p
i
j
)
2
]
Hartman’s function 1
3
[
0,1
]
-
3.86
f
20
(
x
)
=
-
∑
i
=
1
4
c
i
exp
[
-
∑
j
=
1
6
a
i
j
(
x
j
-
p
i
j
)
2
]
Hartman’s function 2
6
[
0,1
]
-
3.32
f
21
(
x
)
=
-
∑
i
=
1
5
[
(
x
-
a
i
)
(
x
-
a
i
)
T
+
c
i
]
-
1
Shekel’s Function 1
4
[
0,10
]
-
10.1532
f
22
(
x
)
=
-
∑
i
=
1
7
[
(
x
-
a
i
)
(
x
-
a
i
)
T
+
c
i
]
-
1
Shekel’s Function 2
4
[
0,10
]
-
10.4029
f
23
(
x
)
=
-
∑
i
=
1
10
[
(
x
-
a
i
)
(
x
-
a
i
)
T
+
c
i
]
-
1
Shekel’s Function 3
4
[
0,10
]
-
10.5364
Note: Dimn means these functions with changeable dimension.Functionsf1–f5 are unimodal functions. Where function f5 has a very sharp narrow ridge running around a parabola. Function f6 is a discontinuous step function with one minimum. Function f7 is a low-dimensional function with a noisy perturbation. Functions f8–f13 are multimodal functions where the number of local minima increases exponentially with dimension. Functions f14–f23 are low-dimensional functions with only a few local minima.


### 5.1. Experimental Setting

For OXBBO, we have chosen a reasonable set of values. For all experimental tests, we use the following parameters setting unless a change is mentioned:(1)
population size:NP=100;(2)
maximum immigration rate:I=1;(3)
maximum emigration rate:E=1;(4)
mutation probability:mmax = 0.005;(5)
value to reach (VTR) = 10−8, except for f7 of VTR = 10−2;(6)
maximum number of fitness function evaluations (Max_NFFEs): 150,000 forf1, f6, f10, f12, and f13; 200,000 for f2 and f11; 300,000 for f7, f8, and f9; 500,000 for f3, f4, and f5; 10,000 for f14, f16–f19, f21, and f22; 40,000 for f15; 20,000 for f20.All the algorithms are evaluated on performance criteria [14, 15] or similar to those. (1) Successful rate (SR) is The ratio of the number of successful runs to total runs. (2) NEFFs the number of fitness function evaluations is needed when reach VTR. (3) Acceleration rate (AR): AR = NEFFsother/NEFFsOXBBO. AR is used to compare the convergence speed between OXBBO and other algorithms.Note. For convenience’s sake of comparison, the best function values and their standard variation are compared in Section 5.2, and the best function error values and their corresponding standard variation are compared in other sections. Moreover, high-dimensional functions f1–f13 with dimension 10, 50, 100, and 200 are optimized in Section 5.5. Functions f1–f13 with 30 dimensions are optimized in other sections.All experimental tests in this paper are implemented on a computer with 1.86 GHz Inter-core Processor, 1 GB of RAM, and Windows XP operating system in Matlab software 7.6.


### 5.2. Comparison with Improved BBO Algorithms

In order to validate the performance of OXBBO, we first compare OXBBO with BBO [11] and improved BBO algorithms: Perturb BBO with Gaussian mutation (PBBO-G) [10], real code BBO with Gaussian mutation (RCBBO-G) [11], and Multioperator BBO (MOBBO) [12]. OXBBO executed 50 independent runs on 23 benchmark functions; mean fitness values and their standard variations are recoded. Results of other algorithms are taken from corresponding papers directly. Comparison results are summarized in Table 2.Table 2
Comparison of improved BBO algorithms and OXBBO.
PBBO-G [10]
RCBBO-G [11]
BBO [11]
MOBBO [12]
OXBBO
Mean (Std)
Mean (Std)
Mean (Std)
Mean (Std)
Mean (Std)
f
1
5.61
E
-
11
(
4.92
E
-
11
)
1.39
E
-
03
(
5.50
E
-
04
)
1.63
E
-
03
(
6.60
E
-
04
)
7.13
E
-
50
(
8.47
E
-
50
)
3.96
E
-
28
(
2.47
E
-
28
)
f
2
3.10
E
-
07
(
1.80
E
-
07
)
7.99
E
-
02
(
1.44
E
-
02
)
8.04
E
-
02
(
1.42
E
-
02
)
8.64
E
-
42
(
3.69
E
-
42
)
1.12
E
-
19
(
4.01
E
-
20
)
f
3
5.93
E
-
02
(
1.84
E
-
01
)
2.27
E
+
01
(
1.03
E
+
01
)
4.80
E
+
01
(
2.19
E
+
01
)
2.00
E
-
03
(
3.30
E
-
03
)
3.21
E
-
03
(
1.96
E
-
03
)
f
4
1.28
E
-
02
(
2.00
E
-
03
)
3.09
E
-
02
(
7.27
E
-
03
)
2.68
E
-
02
(
5.09
E
-
03
)
1.67
E
-
03
(
7.00
E
-
03
)
2.61
E
-
15
(
8.83
E
-
15
)
f
5
7.55
E
+
00
(
1.02
E
+
01
)
5.54
E
+
01
(
3.52
E
+
01
)
5.27
E
+
01
(
3.91
E
+
01
)
2.10
E
+
01
(
6.85
E
+
00
)
1.89
E
+
01
(
1.84
E
-
01
)
f
6
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
7
1.16
E
-
02
(
3.9
E
-
03
)
1.75
E
-
02
(
6.43
E
-
03
)
1.87
E
-
02
(
5.11
E
-
03
)
3.49
E
-
03
(
6.30
E
-
03
)
2.01
E
-
03
(
6.45
E
-
04
)
f
8
-
12569
(
4.168
E
-
12
)
-
12569.5
(
2.20
E
-
05
)
-
12569.5
(
1.93
E
-
05
)
-
12569
.
5
(
1.05
E
-
12
)
-
12596
.
5
(
0.00
E
+
00
)
f
9
1.74
E
-
11
(
1.12
E
-
11
)
2.62
E
-
02
(
9.76
E
-
03
)
2.77
E
-
02
(
1.02
E
-
02
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
10
3.35
E
-
06
(
2.31
E
-
06
)
2.51
E
-
02
(
5.51
E
-
03)
2.89
E
-
02
(
5.15
E
-
03
)
6.22
E
-
15
(
0.00
E
+
00
)
6.79
E
-
15
(
1.50
E
-
15
)
f
11
8.40
E
-
03
(
1.49
E
-
03
)
8.49
E
-
02
(
5.44
E
-
02
)
2.99
E
-
02
(
3.20
E
-
02
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
12
7.81
E
-
14
(
1.20
E
-
13
)
3.28
E
-
05
(
3.33
E
-
05
)
2.73
E
-
05
(
2.49
E
-
05
)
1.57
E
-
32
(
2.89
E
-
48
)
7.06
E
-
30
(
3.95
E
-
30
)
f
13
5.33
E
-
12
(
9.44
E
-
12
)
3.72
E
-
04
(
4.63
E
-
04
)
5.84
E
-
04
(
8.82
E
-
04
)
1.42
E
-
32
(
1.56
E
-
33
)
7.45
E
-
29
(
3.00
E
-
29
)
f
14
0.9980
(
3.67
E
-
11
)
0.998017
(
5.23
E
-
05
)
0.998
(
2.74
E
-
05
)
0.998
(
1.96
E
-
16
)
0.998004
(
2.34
E
-
16
)
f
15
7.28
E
-
04
(
1.94
E
-
04
)
7.86
E
-
04
(
1.80
E
-
04
)
9.00
E
-
04
(
2.68
E
-
04
)
7.26
e
-
04
(
7.39
E
-
05
)
6.29
E
-
04
(
4.79
E
-
05
)
f
16
-
1.0316
(
5.92
E
-
07
)
-
1.03101
(
9.01
E
-
04
)
-
1.03095
(
1.09
E
-
03
)
-
1.0316
(
7.17
E
-
14
)
-
1.03163
(
4.52
E
-
12
)
f
17
0.3979
(
1.03
E
-
06
)
0.398414
(
6.77
E
-
04
)
0.398327
(
4.26
E
-
04
)
0.3979
(
0
)
0.397888
(
2.41
E
-
06
)
f
18
3.0000
(
1.76
E
-
08
)
3.009504
(
1.12
E
-
02
)
3.007858
(
9.57
E
-
03
)
3
.
000
(
9.87
E
-
15
)
3.000
(
8.30
E
-
15
)
f
19
-
3.8628
(
7.30
E
-
09
)
-
3.86248
(
3.65
E
-
04
)
-
3.86253
(
2.62
E
-
04
)
-
3.8628
(
4.19
E
-
16
)
-
3.86278
(
2.40
E
-
15
)
f
20
-
3.2744
(
0.0614
)
-
3.31691
(
2.36
E
-
02
)
-
3.30741
(
3.90
E
-
02
)
-
3.3101
(
0.0376
)
-
3.31962
(
0.0168
)
f
21
-
6.6284
(
3.1750
)
-
5.51341
(
3.35
E
+
00
)
-
4.49193
(
3.34
E
+
00
)
-
6.6598
(
3.7522
)
-
7.69866
(
3.011
)
f
22
-
7.4888
(
3.8490
)
-
6.80022
(
3.52
E
+
00
)
-
6.73583
(
3.40
E
+
00
)
-
9.8714
(
1.6808
)
-
10.3598
(
0.3048
)
f
23
-
6.3403
(
3.7343
)
-
7.28480
(
3.38
E
+
00
)
-
7.80261
(
3.29
E
+
00
)
-
9.8663
(
2.119
)
-
10.4040
(
0.810
)
Note: according to the setting, these algorithms use the same maximum generations for each function, but population size of MOBBO is65*3=195 while that of other algorithms is 100, so the MAX_NFFEs of MOBBO are twice those of the others.We make a comparison of OXBBO with original BBO firstly. In Table2, the results of OXBBO are better than those of BBO in 22 out of 23 benchmark functions except f6. Either higher-dimensional functions or lower-dimensional functions, OXBBO outperforms BBO. This means that the integration of QOX and modified operator in BBO can improve the performance greatly.Compared with PBBO-G, from Table2, we can see that OXBBO is better than PBBO-G on 21 out of 23 functions. For unimodal function f1–f6, it is obvious that OXBBO performs better than or similar to PBBO-G on 5 out of 6 functions, and PBBO-G is better than OXBBO only on function f5. For higher-dimensional multimodal functions, OXBBO performs better than PBBO-G for all the multimodal functions. For lower dimension functions, OXBBO outperforms PBBO-G except function f17, and both algorithms obtain similar results on function f17. Moreover, the results of OXBBO are better than those of PBBO-G by several orders of magnitude on functions f1, f2, f4, f8, f9, f10, f11, f12, f13, f14, f16, f18, and f19. The analysis shows that the combination of QOX and modified migration operator into BBO is much better than combination of perturbing migration and sinusoidal migration curve in BBO.What is more is that similar results are obtained when we compare OXBBO with RCBBO-G. OXBBO outperforms RCBBO-G in 22 test functions, and OXBBO, RCBBO-G obtain the same results on test functionf6. When compared with MOBBO, OXBBO is better than or similar to MOBBO in 12 functions out of 23 functions. According to the parameters setting, MOBBO and OXBBO are tested with population size (65*3=) 195 and 100; both of the two algorithms are tested with the same maximum generations. That is to say, the maximum number of fitness function evaluations of MOBBO is almost twice as that of OXBBO. Meanwhile, MOBBO is better than OXBBO in precision in some functions that excellent results are also obtained by OXBBO. The above analysis indicates that OXBBO not only has better exploitation ability but also has better exploration ability.


### 5.3. Comparison with Hybrid BBO Algorithms

In order to verify the performance of OXBBO further, comparisons of OXBBO with hybrid BBO algorithms, such as BBO-EP [11], DBBO [13], eBBO [14], and DE/BBO [15], are made. The algorithms we adopt in this section to conduct the comparison are to directly cite their numerical results available in the according papers. OXBBO are executed 50 independent runs on 13 high-dimensional functions. The numerical results of 13 high-dimensional benchmark functions are listed in Table 3.Table 3
Comparison of hybrid BBO algorithms and OXBBO for high-dimension of functions.
BBO-EP [11]
DBBO [13]
eBBO [14]
DE/BBO [15]
OXBBO
Mean (Std)
Mean (Std)
Mean (std)
Mean (std)
Mean (Std)
f
1
2.35
E
-
06
(
3.17
E
-
06
)
7.76
E
-
36
(
3.80
E
-
35
)
6.22
E
-
27
(
2.17
E
-
26
)
8.66
E
-
28
(
5.21
E
-
28
)
3.96
E
-
28
(
2.47
E
-
28
)
f
2
5.03
E
-
07
(
3.17
E
-
08
)
6.14
E
-
04
(
2.64
E
-
03
)
4.46
E
-
23
(
1.28
E
-
22
)
0.00
E
+
00
(
0.00
E
+
00
)
1.12
E
-
19
(
4.01
E
-
20
)
f
3
1.59
E
-
03
(
2.90
E
-
03
)
1.52
E
-
11
(
1.86
E
-
11
)
4.98
E
+
01
(
8.04
E
+
01
)
2.26
E
-
03
(
1.58
E
-
03
)
3.21
E
-
03
(
1.96
E
-
03
)
f
4
6.66
E
-
04
(
4.62
E
-
05
)
9.02
E
-
02
(
6.10
E
-
02
)
7.68
E
-
08
(
1.37
E
-
07
)
1.89
E
-
15
(
8.85
E
-
16
)
2.61
E
-
15
(
8.83
E
-
15
)
f
5
2.42
E
+
00
(
2.60
E
+
00
)
6.71
E
+
01
(
2.61
E
+
01
)
5.16
E
+
01
(
4.37
E
+
01
)
1.90
E
+
01
(
7.52
E
+
00
)
1.89
E
+
01
(
1.84
E
-
01
)
f
6
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
7
1.70
E
-
03
(
5.90
E
-
04
)
1.54
E
-
03
(
3.41
E
-
04
)
1.88
E
-
03
(
3.60
E
-
03
)
3.44
E
-
03
(
8.27
E
-
04
)
2.01
E
-
03
(
6.45
E
-
04
)
f
8
-
12569.5
(
2.65
E
-
06
)
2.10
E
-
01
(
2.91
E
-
01
)
8.13
E
-
09
(
2.21
E
-
14
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
9
3.97
E
-
04
(
5.32
E
-
04
)
2.24
E
-
03
(
3.25
E
-
03
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
10
9.40
E
-
04
(
5.84
E
-
05
)
4.63
E
-
03
(
1.47
E
-
02
)
1.45
E
-
14
(
9.93
E
-
15
)
1.07
E
-
14
(
1.90
E
-
15
)
6.79
E
-
15
(
1.50
E
-
15
)
f
11
6.70
E
-
08
(
9.55
E
-
09
)
1.33
E
-
17
(
6.53
E
-
17
)
6.57
E
-
03
(
9.00
E
-
03
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
12
1.57
E
-
08
(
2.40
E
-
09
)
9.64
E
-
06
(
3.68
E
-
05
)
3.75
E
-
32
(
6.58
E
-
32
)
7.16
E
-
29
(
6.30
E
-
29
)
7.06
E
-
30
(
3.95
E
-
30
)
f
13
2.52
E
-
07
(
1.10
E
-
07
)
4.51
E
-
04
(
2.15
E
-
03
)
1.08
E
-
26
(
2.76
E
-
26
)
9.81
E
-
27
(
7.10
E
-
27
)
7.45
E
-
29
(
3.00
E
-
29
)
Note: the result off8 obtained by BBO-EP is fitness value but is fitness value error by the others.From Table3, OXBBO outperforms BBO-EP, DBBO, eBBO, and DE/BBO in 9, 9, 8, and 6 out of 13 test functions, respectively. In addition, BBO-EP, DBBO, eBBO, and DE/BBO surpass OXBBO in 3, 3, 3, and 3 out of 13 test functions, respectively. Thus, we can conclude that, overall, OXBBO is better than BBO-EP, DBBO, and eBBO and is very competitive with DE/BBO. The above discussion means that OXBBO is an effective global function optimizer.


### 5.4. Convergence Speed When Compared with BBO Algorithms

From Section5.3, we can see that, though OXBBO outperforms four algorithms, the results of eBBO, DE/BBO are also very competitive. According to [30], more than three quarters of the computational cost is consumed by the fitness function evaluation in evolutionary search. Hence, in solving real-world problems, NFFEs overwhelm the algorithm overhead. For these reasons, we compare the convergence speed of OXBBO with eBBO and DE/BBO by using the concept acceleration rate (AR). From the definition of AR, we know that  AR > 1 means that OXBBO is faster than the compared algorithm, and vice versa.Table4 summarizes the mean NFFEs and SR of eBBO, DE/BBO, and OXBBO for solving 13 test functions, and ARs between algorithm OXBBO and eBBO, OXBBO, and DE/BBO.Table 4
NFFEs required to obtain accuracy levels less than VTR.
eBBO
DE/BBO
OXBBO
3 versus 1
3 versus 2
Mean (std)
SR
Mean (std)
SR
Mean (std)
SR
AR
AR
f
1
56110 (3559.251)
100%
59926 (745.5)
100%
44398 (438.77)
100%
1.26
1.35
f
2
73670 (4640.076)
100%
82004 (983.9)
100%
84490 (1085.61)
100%
0.87
0.97
f
3
NA (NA)
0
NA (NA)
0
NA (NA)
0
NA
NA
f
4
491498 (14486.144)
44%
296572 (4969.9)
100%
214889 (4628.80)
100%
2.29
1.38
f
5
NA (NA)
0
NA (NA)
0
NA (NA)
0
NA
NA
f
6
17138 (2141.132)
100%
21590 (573.3)
100%
16055 (545.62)
100%
1.07
1.34
f
7
43864 (39947.48)
100%
109574 (21005.8)
100%
58173 (19577.82)
100%
0.75
1.88
f
8
59948 (2831.762)
100%
95952 (3126.7)
100%
63213 (1639.74)
100%
0.95
1.52
f
9
72220 (16458.023)
100%
170226 (8379.0)
100%
124639 (5195.17)
100%
0.58
1.37
f
10
84870 (4800.818)
100%
91308 (922.7)
100%
78839 (853.99)
100%
1.08
1.16
f
11
120422 (71312.35)
54%
62042 (1219.6)
100%
46312 (798.55)
100%
2.6
1.3
f
12
45416 (2520.314)
100%
54482 (873.3)
100%
40646 (641.83)
100%
1.19
1.34
f
13
54302 (2238.94)
100%
64772 (1133.4)
100%
43970 (605.58)
100%
1.23
1.47
Average
1.02
E
+
05
(
1.50
E
+
04
)
77%
1.01
E
+
05
(
3.99
E
+
03
)
85%
7.41
E
+
04
(
3.27
E
+
03
)
85%
1.26
1.37OXBBO requires fewer NFFEs to reach the VTR than DE/BBO does on 10 functions out of 11 functions with a successful run, which can indicate that our algorithm is faster than DE/BBO. Similar results can be obtained when compared with eBBO. For example, tests on functionf1 show that the average numbers of NFFEs of 56110, 59926, and 44398 are needed by the eBBO, DE/BBO, and OXBBO, respectively, to reach the VTR. However, OXBBO only needs 44398 NFFEs, which means that its CPU time is the shortest among the three algorithms. Moreover, it can be seen from Table 4 that the average AR between algorithms OXBBO and eBBO, OXBBO, and DE/BBO in the successful run are 1.26 and 1.37 (the total AR divided by 11); that is to say, the total convergence rate of OXBBO is faster than that of DE/BBO and eBBO.From Table4, we can also find that the average SR of eBBO, DE/BBO, and OXBBO are 76.8%, 84.6%, and 84.6%, respectively. OXBBO and DE/BBO reach the VTR with a successful ratio of 100% on 11 functions except function f3 and f5, while eBBO on 9 functions. So, OXBBO and DE/BBO are more robust than eBBO.


### 5.5. Effect of Dimensionality on the Performance

From the analysis above, OXBBO is a BBO algorithm with robust effective performance. In order to investigate the influence of scalability on the performance of OXBBO, we carry out a scalability study comparison with DE/BBO for the scalable functions. For functionsf1–f13, Dim = 10, 50, 100, and 200. The results of 50 independent runs are recorded in Table 5 after Dim × 10000 NFFEs.Table 5
Comparison of DE/BBO and OXBBO with differential dimensions.
DE/BBO
OXBBO
DE/BBO
OXBBO
Mean (Std)
SR
Mean (Std)
SR
Mean (Std)
SR
Mean (Std)
SR
Dim = 10
Dim = 50
f
1
0.00
E
+
00
(
0.00
E
+
00
)
100%
3.71
E
-
42
(
3.49
E
-
42
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
5.45
E
-
64
(
3.30
E
-
64
)
100%
f
2
0.00
E
+
00
(
0.00
E
+
00
)
100%
4.67
E
-
23
(
2.37
E
-
23
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
2.07
E
-
33
(
7.28
E
-
34
)
100%
f
3
6.07
E
-
14
(
9.60
E
-
14
)
100%
3.12
E
-
12
(
3.65
E
-
12
)
100%
5.20
E
+
02
(
2.48
E
+
02
)
0
2.61
E
+
01
(
7.33
E
+
00
)
0
f
4
1.58
E
-
16
(
9.88
E
-
17
)
100%
3.62
E
-
13
(
1.48
E
-
13
)
100%
3.42
E
-
03
(
2.28
E
-
02
)
6%
2.82
E
-
04
(
8.21
E
-
04
)
0
f
5
3.40
E
+
00
(
8.03
E
-
01
)
0
5.85
E
+
00
(
6.70
E
-
01
)
0
4.43
E
+
01
(
1.39
E
+
01
)
0
3.92
E
+
01
(
2.20
E
-
01
)
0
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
7
1.11
E
-
03
(
3.96
E
-
04
)
100%
1.31
E
-
03
(
6.90
E
-
04
)
100%
4.05
E
-
03
(
9.20
E
-
04
)
100%
2.13
E
-
03
(
5.79
E
-
04
)
100%
f
8
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
2.37
E
+
00
(
1.67
E
+
01
)
98%
1.82
E
-
11
(
0.00
E
+
00
)
100%
f
9
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
1.52
E
-
03
(
1.01
E
-
02
)
96%
f
10
5.89
E
-
16
(
0.00
E
-
00
)
100%
2.66
E
-
15
(
0.00
E
+
00
)
100%
5.92
E
-
15
(
1.79
E
-
15
)
100%
5.01
E
-
15
(
1.70
E
-
15
)
100%
f
11
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
12
4.71
E
-
32
(
0.00
E
+
00
)
100%
4.71
E
-
32
(
1.66
E
-
47
)
100%
9.42
E
-
33
(
0.00
E
+
00
)
100%
9.42
E
-
33
(
1.38
E
-
48
)
100%
f
13
1.35
E
-
32
(
0.00
E
+
00
)
100%
1.35
E
-
32
(
1.11
E
-
47
)
100%
1.35
E
-
32
(
0.00
E
+
00
)
100%
1.35
E
-
32
(
1.11
E
-
47
)
100%
Dim = 100
Dim = 200
f
1
6.16
E
-
34
(
1.97
E
-
33
)
100%
1.48
E
-
80
(
1.00
E
-
80
)
100%
3.07
E
-
32
(
2.48
E
-
32
)
100%
2.87
E
-
95
(
2.24
E
-
95
)
100%
f
2
0.00
E
+
00
(
0.00
E
+
00
)
100%
1.91
E
-
42
(
6.31
E
-
43
)
100%
5.83
E
-
17
(
8.11
E
-
17
)
100%
4.64
E
-
54
(
1.75
E
-
54
)
100%
f
3
3.10
E
+
04
(
1.12
E
+
04
)
0
3.04
E
+
02
(
5.06
E
+
01
)
0
2.22
E
+
05
(
5.90
E
+
04
)
0
1.31
E
+
03
(
1.68
E
+
02
)
0
f
4
2.71
E
+
00
(
2.58
E
+
00
)
0
2.90
E
+
00
(
8.10
E
-
01
)
0
1.59
E
+
01
(
3.43
E
+
00
)
0
1.25
E
+
01
(
9.66
E
-
01
)
0
f
5
1.19
E
+
02
(
3.38
E
+
01
)
0
8.15
E
+
01
(
8.52
E
-
01
)
0
2.95
E
+
02
(
4.48
E
+
01
)
0
1.80
E
+
02
(
2.47
E
+
01
)
0
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
3.60
E
-
01
(
8.60
E
-
01
)
76%
f
7
6.87
E
-
03
(
1.15
E
-
03
)
98%
2.76
E
-
03
(
6.30
E
-
04
)
100%
1.56
E
-
02
(
2.82
E
-
03
)
0
7.17
E
-
03
(
1.01
E
-
03
)
100%
f
8
7.11
E
+
00
(
2.84
E
+
01
)
94%
1.09
E
-
10
(
0.00
E
+
00
)
100%
2.01
E
+
02
(
1.68
E
+
02
)
46%
2.91
E
-
10
(
0.00
E
+
00
)
100%
f
9
7.36
E
-
01
(
8.48
E
-
01
)
46%
7.37
E
+
00
(
3.79
E
+
00
)
0
1.76
E
+
01
(
2.89
E
+
00
)
0
5.21
E
+
01
(
1.02
E
+
01
)
0
f
10
7.84
E
-
15
(
7.03
E
-
16
)
100%
9.06
E
-
15
(
3.29
E
-
15
)
100%
1.09
E
-
14
(
1.12
E
-
15
)
100%
2.47
E
-
14
(
3.84
E
-
15
)
100%
f
11
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
1.11
E
-
16
(
0.00
E
+
00
)
100%
1.20
E
-
16
(
5.48
E
-
17
)
100%
f
12
4.71
E
-
33
(
0.00
E
+
00
)
100%
4.84
E
-
33
(
8.76
E
-
34
)
100%
2.36
E
-
33
(
0.00
E
+
00
)
100%
2.94
E
-
33
(
8.35
E
-
34
)
100%
f
13
1.76
E
-
32
(
2.68
E
-
32
)
100%
1.39
E
-
32
(
2.79
E
-
33
)
100%
8.36
E
-
32
(
1.44
E
-
31
)
100%
4.37
E
-
32
(
2.52
E
-
32
)
100%We can find, from Table5, that the overall SR is decreasing for both DE/BBO and OXBBO upon increasing the dimension. For OXBBO, the average SR for solving function with dimension 10, 50, 100, and 200 is 92%, 77%, 69%, and 67%, respectively, whereas the SR of DE/BBO for solving these functions with the same dimension is 92%, 77%, 72%, and 57%, respectively. Obviously, the average SR of DE/BBO decreases more than that of OXBBO does upon increasing dimension, which can also be proved when we carefully compare the mean fitness values accordingly. By carefully looking at the results, we can recognize that for unimodal function f1, DE/BBO is better than OXBBO at dimensions 10 and 50. However, DE/BBO is outperformed by OXBBO at high dimensions (100 and 200). Moreover, the precision of f1 obtained by DE/BBO is decreased very much upon increasing dimension, while that obtained by OXBBO is increased upon increasing dimension. Another example, for multimodal function f8, which is very difficult to locate its global optima position, OXBBO can find its global solution at different dimensions in Table 5, but DE/BBO cannot do it. The experimental test shows that OXBBO can also solve higher dimensionality function effectively. Therefore, we can know that the operators used in OXBBO can enhance the exploration ability but do not offset its exploitation ability.


### 5.6. Comparison with Other OX-Based Algorithms

In this section, we compare the performance of OXBBO with two excellent OX-based algorithms: OXDE [28], which is proposed by embedding QOX into DE, and OLPSO [4], which is presented through using an orthogonal learning strategy for PSO to overcome the “oscillation” phenomenon of traditional PSO.Now, we apply OX-based algorithms to solve 13 test functions adopted in this paper under 25 independent runs. In order to compare the performance fairly, all control parameters are kept the same with their corresponding paper except the population size. The population size is 50 in this section. Results for OX-based algorithms with 25 independent runs are summarized in Table6. The convergence curves and boxplot figures are listed in Figures 2 and 3 separately.Table 6
Comparison of OX algorithms.
OXDE
OLPSO
OXBBO
Mean  (Std)
SR
Mean  (Std)
SR
Mean  (Std)
SR
f
1
1.58
E
-
16
(
1.41
E
-
16
)
+
100%
1.55
E
-
41
(
3.32
E
-
41
)
+
100%
8.84
E
-
64
(
8.92
E
-
64
)
100%
f
2
4.38
E
-
12
(
1.93
E
-
12
)
+
100%
5.76
E
-
31
(
5.46
E
-
31
)
+
100%
5.25
E
-
46
(
3.50
E
-
46
)
100%
f
3
6.41
E
-
07
(
4.98
E
-
07
)
+
0%
2.17
E
-
04
(
2.72
E
-
04
)
+
0%
1.81
E
-
11
(
1.77
E
-
11
)
100%
f
4
1.49
E
+
00
(
9.62
E
-
01
)
+
0%
2.81
E
+
00
(
1.47
E
+
00
)
+
0%
2.39
E
-
01
(
2.58
E
-
01
)
0%
f
5
1.59
E
-
01
(
7.97
E
-
01
)
-
96%
4.78
E
-
01
(
1.32
E
+
00
)
-
88%
2.61
E
+
01
(
9.85
E
-
01
)
0%
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
7
2.95
E
-
03
(
1.32
E
-
03
)
+
100%
1.35
E
-
03
(
1.40
E
-
03
)
100%
9.41
E
-
04
(
3.76
E
-
04
)
100%
f
8
0.00
E
+
00
(
0.00
E
+
00
)
100%
2.84
E
+
01
(
6.19
E
+
01
)
+
80%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
9
4.06
E
+
00
(
1.95
E
+
00
)
+
0%
1.99
E
-
01
(
4.06
E
-
01
)
80%
1.23
E
-
01
(
4.05
E
-
01
)
84%
f
10
2.99
E
-
09
(
1.54
E
-
09
)
+
100%
3.52
E
-
15
(
1.55
E
-
15
)
+
100%
2.66
E
-
15
(
0.00
E
+
00
)
100%
f
11
1.48
E
-
03
(
3.02
E
-
03
)
+
80%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
12
6.94
E
-
18
(
7.55
E
-
18
)
+
100%
1.57
E
-
32
(
5.59
E
-
48
)
100%
1.57
E
-
32
(
5.59
E
-
48
)
100%
f
13
4.07
E
-
17
(
2.68
E
-
17
)
+
100%
1.35
E
-
32
(
5.59
E
-
48
)
100%
1.35
E
-
32
(
5.59
E
-
48
)
100%
f
14
1.24
E
-
16
(
1.12
E
-
16
)
+
100%
3.64
E
-
16
(
3.95
E
-
16
)
+
100%
8.88
E
-
18
(
4.44
E
-
17
)
100%
f
15
5.12
E
-
19
(
1.49
E
-
19
)
-
100%
1.56
E
-
04
(
1.29
E
-
04
)
-
0%
3.35
E
-
04
(
6.74
E
-
05
)
0%
f
16
1.81
E
-
15
(
6.04
E
-
15
)
100%
4.44
E
-
16
(
0.00
E
+
00
)
+
100%
3.46
E
-
16
(
1.12
E
-
16
)
100%
f
17
1.62
E
-
11
(
7.29
E
-
11
)
100%
1.67
E
-
16
(
0.00
E
+
00
)
100%
1.67
E
-
16
(
0.00
E
+
00
)
100%
f
18
4.97
E
-
15
(
1.65
E
-
15
)
+
100%
9.02
E
-
15
(
4.37
E
-
15
)
+
100%
2.91
E
-
15
(
1.35
E
-
15
)
100%
f
19
4.44
E
-
16
(
0.00
E
+
00
)
100%
3.59
E
-
14
(
5.28
E
-
14
)
+
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
20
9.51
E
-
03
(
3.29
E
-
02
)
92%
6.47
E
-
08
(
3.23
E
-
07
)
96%
9.51
E
-
03
(
3.29
E
-
02
)
92%
f
21
2.03
E
-
01
(
2.77
E
-
01
)
-
0%
7.79
E
-
02
(
2.25
E
-
01
)
-
0%
2.34
E
+
00
(
3.07
E
+
00
)
24%
f
22
1.68
E
-
07
(
2.20
E
-
07
)
12%
2.71
E
-
01
(
1.33
E
+
00
)
0%
2.67
E
-
01
(
1.34
E
+
00
)
92%
f
23
2.78
E
-
07
(
4.58
E
-
07
)
16%
3.67
E
-
03
(
1.43
E
-
02
)
0%
2.94
E
-
01
(
1.14
E
+
00
)
92%
+
,
-The value of t with 48 degrees of freedom is significant at 0.05 confidence level by two-tailed test.
−The corresponding algorithm is better than our proposed OXBBO method.(a) Convergence curves of mean fitness error values of OXBBO, OXDE, and OLPSO for functionsf1, f2, f3, f4, f5, f7, f8, f9, f10, and f11. (b) Convergence curves of mean fitness error values of OXBBO, OXDE, and OLPSO for functions f12, f13, f14, f15, f16, f17, f18, f19, f21, and f22.
(a)
(b)(a) ANOVA tests of fitness error values of functionsf1, f3, f4, f5, f7, f8, f9, f10, f12, and f13 for OXBBO, OXDE, and OLPSO. (b) ANOVA tests of fitness error values of functions f14, f15, f16, f17, f18, f19, f20, f21, f22, and f23 for OXBBO, OXDE, and OLPSO.
(a)
(b)From Table6, we can find that the results of OXBBO are significantly better than those of OXDE, OLPSO in 12, and 10 out of 23 functions, while this number for OXDE, OLPSO are 3, 3 out of 23 functions. In terms of the success rate, the average SR of OXDE, OLPSO, and OXBBO is 74%, 71%, and 82%, respectively. By carefully looking at the results in Table 6, one can note that OXDE, OLPSO, and OXBBO achieve a 100% success rate for f1, f2, f6, f7, f8, f10, f11, f12, f13, f16, f17, f18, and f19. Additionally, for function f4, OXBBO surpass OXDE and OLPSO. For f9, OXBBO and OLPSO achieve the optima, but the successful rate of OXBBO is higher than that of OLPSO. For f5, OXDE and OLPSO can reach the optima, but OXBBO failed.From Figures2 and 3, we can see that OXBBO is not only converging faster than both OXDE and OLPSO, but also converging more robust than both two. From the analysis, we can conclude that the overall performance of OXBBO is better than OXDE and OLPSO.


### 5.7. Analysis the Performance of QOX

From the analysis above, we know that the proposed algorithm OXBBO possesses very good performance through comparison with improved BBO algorithms, hybrid BBO algorithms, and some state-of-the-art orthogonal-based algorithms. Does QOX really play a key role of OXBBO? For these reasons, in this section, a detailed analysis is made to analyze the performance of QOX operator in BBO. We consider two variants of OXBBO: OXBBO with QOX operator, OXBBO without QOX operator. These algorithms are denoted as OXBBO, OXBBO1. The experimental test performs on 23 test functions with 25 independent runs. The some parameter setting suggested in Section5.1. The mean and standard deviation of the function error values and t-test values of 25 independent runs for each algorithm have been listed in Table 7. The convergence curves and boxplot figures are listed in Figures 4 and 5.Table 7
Comparison of OX operator.
OXBBO
OXBBO1
OXBBO versus OXBBO1
Mean  (Std)
SR
Mean  (Std)
SR
t-test
f
1
3.10
E
-
28
(
1.31
E
-
28
)
100%
1.22
E
-
19
(
3.73
E
-
20
)
100%
-
3.274
f
2
1.28
E
-
19
(
4.05
E
-
20
)
100%
7.50
E
-
14
(
1.64
E
-
14
)
100%
-
4.564
f
3
3.23
E
-
03
(
1.92
E
-
03
)
0%
1.28
E
+
02
(
2.44
E
+
01
)
0%
-
5.251
f
4
6.66
E
-
16
(
1.32
E
-
15
)
100%
3.01
E
-
08
(
9.00
E
-
09
)
0%
-
3.346
f
5
1.89
E
+
01
(
2.07
E
-
01
)
0%
1.81
E
+
01
(
2.35
E
-
01
)
0%
2.831
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
NaN
f
7
1.80
E
-
03
(
5.54
E
-
04
)
100%
4.63
E
-
03
(
1.59
E
-
03
)
100%
-
1.677
f
8
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
NaN
f
9
0.00
E
+
00
(
0.00
E
+
00
)
100%
3.01
E
-
01
(
8.26
E
-
01
)
12%
-
0.364
f
10
6.79
E
-
15
(
1.33
E
-
15
)
100%
8.17
E
-
11
(
1.83
E
-
11
)
100%
-
4.465
f
11
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
NaN
f
12
6.21
E
-
30
(
3.12
E
-
30
)
100%
3.96
E
-
21
(
1.61
E
-
21
)
100%
-
2.459
f
13
7.28
E
-
29
(
3.56
E
-
29
)
100%
2.92
E
-
20
(
8.52
E
-
21
)
100%
-
3.428
f
14
3.38
E
-
16
(
1.13
E
-
16
)
100%
3.20
E
-
16
(
1.29
E
-
16
)
100%
0.103
f
15
3.27
E
-
04
(
4.46
E
-
05
)
0%
3.35
E
-
04
(
4.35
E
-
05
)
0%
-
0.130
f
16
1.66
E
-
15
(
4.85
E
-
15
)
100%
8.88
E
-
16
(
8.01
E
-
16
)
100%
0.157
f
17
3.81
E
-
12
(
1.32
E
-
11
)
100%
2.83
E
-
14
(
9.17
E
-
14
)
100%
0.287
f
18
1.84
E
-
14
(
8.71
E
-
15
)
100%
2.21
E
-
14
(
9.13
E
-
15
)
100%
-
0.296
f
19
6.93
E
-
16
(
2.25
E
-
16
)
100%
8.35
E
-
16
(
2.66
E
-
16
)
100%
-
0.407
f
20
4.80
E
-
16
(
1.23
E
-
16
)
100%
7.82
E
-
16
(
3.46
E
-
16
)
100%
-
0.823
f
21
2.089174
(
2.753900
)
12%
3.990006
(
3.399740
)
12%
-
0.434
f
22
4.68
E
-
08
(
9.97
E
-
08
)
76%
9.24
E
-
03
(
4.62
E
-
02
)
92%
-
0.200
f
23
7.92
E
-
05
(
3.96
E
-
04
)
84%
1.94
E
-
07
(
7.49
E
-
07
)
64%
0.200Figure 4
Convergence curves of mean fitness error values of OXBBO and OXBBO1 for functionsf1, f3, f5, f7, f8, f9, f11, f15, f18, and f22.Figure 5
ANOVA tests of fitness error values of functionsf1, f5, f7, f9, f12, f14, f15, f16, f20, and f21 for OXBBO and OXBBO1.According to thet-test, the results of OXBBO are significantly better than those of OXBBO1 in 11 out of 23 test functions, and the results of OXBBO are similar to those of OXBBO1 in 11 out of 23 functions. OXBBO1 surpasses OXBBO on only one function. From this, we know that QOX has played a very important role in enhancing the performance of OXBBO, which not only improves the solution precision but also enhances the reliability. This can also be demonstrated in Figures 4 and 5.


## 5.1. Experimental Setting

For OXBBO, we have chosen a reasonable set of values. For all experimental tests, we use the following parameters setting unless a change is mentioned:(1)
population size:NP=100;(2)
maximum immigration rate:I=1;(3)
maximum emigration rate:E=1;(4)
mutation probability:mmax = 0.005;(5)
value to reach (VTR) = 10−8, except for f7 of VTR = 10−2;(6)
maximum number of fitness function evaluations (Max_NFFEs): 150,000 forf1, f6, f10, f12, and f13; 200,000 for f2 and f11; 300,000 for f7, f8, and f9; 500,000 for f3, f4, and f5; 10,000 for f14, f16–f19, f21, and f22; 40,000 for f15; 20,000 for f20.All the algorithms are evaluated on performance criteria [14, 15] or similar to those. (1) Successful rate (SR) is The ratio of the number of successful runs to total runs. (2) NEFFs the number of fitness function evaluations is needed when reach VTR. (3) Acceleration rate (AR): AR = NEFFsother/NEFFsOXBBO. AR is used to compare the convergence speed between OXBBO and other algorithms.Note. For convenience’s sake of comparison, the best function values and their standard variation are compared in Section 5.2, and the best function error values and their corresponding standard variation are compared in other sections. Moreover, high-dimensional functions f1–f13 with dimension 10, 50, 100, and 200 are optimized in Section 5.5. Functions f1–f13 with 30 dimensions are optimized in other sections.All experimental tests in this paper are implemented on a computer with 1.86 GHz Inter-core Processor, 1 GB of RAM, and Windows XP operating system in Matlab software 7.6.


## 5.2. Comparison with Improved BBO Algorithms

In order to validate the performance of OXBBO, we first compare OXBBO with BBO [11] and improved BBO algorithms: Perturb BBO with Gaussian mutation (PBBO-G) [10], real code BBO with Gaussian mutation (RCBBO-G) [11], and Multioperator BBO (MOBBO) [12]. OXBBO executed 50 independent runs on 23 benchmark functions; mean fitness values and their standard variations are recoded. Results of other algorithms are taken from corresponding papers directly. Comparison results are summarized in Table 2.Table 2
Comparison of improved BBO algorithms and OXBBO.
PBBO-G [10]
RCBBO-G [11]
BBO [11]
MOBBO [12]
OXBBO
Mean (Std)
Mean (Std)
Mean (Std)
Mean (Std)
Mean (Std)
f
1
5.61
E
-
11
(
4.92
E
-
11
)
1.39
E
-
03
(
5.50
E
-
04
)
1.63
E
-
03
(
6.60
E
-
04
)
7.13
E
-
50
(
8.47
E
-
50
)
3.96
E
-
28
(
2.47
E
-
28
)
f
2
3.10
E
-
07
(
1.80
E
-
07
)
7.99
E
-
02
(
1.44
E
-
02
)
8.04
E
-
02
(
1.42
E
-
02
)
8.64
E
-
42
(
3.69
E
-
42
)
1.12
E
-
19
(
4.01
E
-
20
)
f
3
5.93
E
-
02
(
1.84
E
-
01
)
2.27
E
+
01
(
1.03
E
+
01
)
4.80
E
+
01
(
2.19
E
+
01
)
2.00
E
-
03
(
3.30
E
-
03
)
3.21
E
-
03
(
1.96
E
-
03
)
f
4
1.28
E
-
02
(
2.00
E
-
03
)
3.09
E
-
02
(
7.27
E
-
03
)
2.68
E
-
02
(
5.09
E
-
03
)
1.67
E
-
03
(
7.00
E
-
03
)
2.61
E
-
15
(
8.83
E
-
15
)
f
5
7.55
E
+
00
(
1.02
E
+
01
)
5.54
E
+
01
(
3.52
E
+
01
)
5.27
E
+
01
(
3.91
E
+
01
)
2.10
E
+
01
(
6.85
E
+
00
)
1.89
E
+
01
(
1.84
E
-
01
)
f
6
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
7
1.16
E
-
02
(
3.9
E
-
03
)
1.75
E
-
02
(
6.43
E
-
03
)
1.87
E
-
02
(
5.11
E
-
03
)
3.49
E
-
03
(
6.30
E
-
03
)
2.01
E
-
03
(
6.45
E
-
04
)
f
8
-
12569
(
4.168
E
-
12
)
-
12569.5
(
2.20
E
-
05
)
-
12569.5
(
1.93
E
-
05
)
-
12569
.
5
(
1.05
E
-
12
)
-
12596
.
5
(
0.00
E
+
00
)
f
9
1.74
E
-
11
(
1.12
E
-
11
)
2.62
E
-
02
(
9.76
E
-
03
)
2.77
E
-
02
(
1.02
E
-
02
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
10
3.35
E
-
06
(
2.31
E
-
06
)
2.51
E
-
02
(
5.51
E
-
03)
2.89
E
-
02
(
5.15
E
-
03
)
6.22
E
-
15
(
0.00
E
+
00
)
6.79
E
-
15
(
1.50
E
-
15
)
f
11
8.40
E
-
03
(
1.49
E
-
03
)
8.49
E
-
02
(
5.44
E
-
02
)
2.99
E
-
02
(
3.20
E
-
02
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
12
7.81
E
-
14
(
1.20
E
-
13
)
3.28
E
-
05
(
3.33
E
-
05
)
2.73
E
-
05
(
2.49
E
-
05
)
1.57
E
-
32
(
2.89
E
-
48
)
7.06
E
-
30
(
3.95
E
-
30
)
f
13
5.33
E
-
12
(
9.44
E
-
12
)
3.72
E
-
04
(
4.63
E
-
04
)
5.84
E
-
04
(
8.82
E
-
04
)
1.42
E
-
32
(
1.56
E
-
33
)
7.45
E
-
29
(
3.00
E
-
29
)
f
14
0.9980
(
3.67
E
-
11
)
0.998017
(
5.23
E
-
05
)
0.998
(
2.74
E
-
05
)
0.998
(
1.96
E
-
16
)
0.998004
(
2.34
E
-
16
)
f
15
7.28
E
-
04
(
1.94
E
-
04
)
7.86
E
-
04
(
1.80
E
-
04
)
9.00
E
-
04
(
2.68
E
-
04
)
7.26
e
-
04
(
7.39
E
-
05
)
6.29
E
-
04
(
4.79
E
-
05
)
f
16
-
1.0316
(
5.92
E
-
07
)
-
1.03101
(
9.01
E
-
04
)
-
1.03095
(
1.09
E
-
03
)
-
1.0316
(
7.17
E
-
14
)
-
1.03163
(
4.52
E
-
12
)
f
17
0.3979
(
1.03
E
-
06
)
0.398414
(
6.77
E
-
04
)
0.398327
(
4.26
E
-
04
)
0.3979
(
0
)
0.397888
(
2.41
E
-
06
)
f
18
3.0000
(
1.76
E
-
08
)
3.009504
(
1.12
E
-
02
)
3.007858
(
9.57
E
-
03
)
3
.
000
(
9.87
E
-
15
)
3.000
(
8.30
E
-
15
)
f
19
-
3.8628
(
7.30
E
-
09
)
-
3.86248
(
3.65
E
-
04
)
-
3.86253
(
2.62
E
-
04
)
-
3.8628
(
4.19
E
-
16
)
-
3.86278
(
2.40
E
-
15
)
f
20
-
3.2744
(
0.0614
)
-
3.31691
(
2.36
E
-
02
)
-
3.30741
(
3.90
E
-
02
)
-
3.3101
(
0.0376
)
-
3.31962
(
0.0168
)
f
21
-
6.6284
(
3.1750
)
-
5.51341
(
3.35
E
+
00
)
-
4.49193
(
3.34
E
+
00
)
-
6.6598
(
3.7522
)
-
7.69866
(
3.011
)
f
22
-
7.4888
(
3.8490
)
-
6.80022
(
3.52
E
+
00
)
-
6.73583
(
3.40
E
+
00
)
-
9.8714
(
1.6808
)
-
10.3598
(
0.3048
)
f
23
-
6.3403
(
3.7343
)
-
7.28480
(
3.38
E
+
00
)
-
7.80261
(
3.29
E
+
00
)
-
9.8663
(
2.119
)
-
10.4040
(
0.810
)
Note: according to the setting, these algorithms use the same maximum generations for each function, but population size of MOBBO is65*3=195 while that of other algorithms is 100, so the MAX_NFFEs of MOBBO are twice those of the others.We make a comparison of OXBBO with original BBO firstly. In Table2, the results of OXBBO are better than those of BBO in 22 out of 23 benchmark functions except f6. Either higher-dimensional functions or lower-dimensional functions, OXBBO outperforms BBO. This means that the integration of QOX and modified operator in BBO can improve the performance greatly.Compared with PBBO-G, from Table2, we can see that OXBBO is better than PBBO-G on 21 out of 23 functions. For unimodal function f1–f6, it is obvious that OXBBO performs better than or similar to PBBO-G on 5 out of 6 functions, and PBBO-G is better than OXBBO only on function f5. For higher-dimensional multimodal functions, OXBBO performs better than PBBO-G for all the multimodal functions. For lower dimension functions, OXBBO outperforms PBBO-G except function f17, and both algorithms obtain similar results on function f17. Moreover, the results of OXBBO are better than those of PBBO-G by several orders of magnitude on functions f1, f2, f4, f8, f9, f10, f11, f12, f13, f14, f16, f18, and f19. The analysis shows that the combination of QOX and modified migration operator into BBO is much better than combination of perturbing migration and sinusoidal migration curve in BBO.What is more is that similar results are obtained when we compare OXBBO with RCBBO-G. OXBBO outperforms RCBBO-G in 22 test functions, and OXBBO, RCBBO-G obtain the same results on test functionf6. When compared with MOBBO, OXBBO is better than or similar to MOBBO in 12 functions out of 23 functions. According to the parameters setting, MOBBO and OXBBO are tested with population size (65*3=) 195 and 100; both of the two algorithms are tested with the same maximum generations. That is to say, the maximum number of fitness function evaluations of MOBBO is almost twice as that of OXBBO. Meanwhile, MOBBO is better than OXBBO in precision in some functions that excellent results are also obtained by OXBBO. The above analysis indicates that OXBBO not only has better exploitation ability but also has better exploration ability.


## 5.3. Comparison with Hybrid BBO Algorithms

In order to verify the performance of OXBBO further, comparisons of OXBBO with hybrid BBO algorithms, such as BBO-EP [11], DBBO [13], eBBO [14], and DE/BBO [15], are made. The algorithms we adopt in this section to conduct the comparison are to directly cite their numerical results available in the according papers. OXBBO are executed 50 independent runs on 13 high-dimensional functions. The numerical results of 13 high-dimensional benchmark functions are listed in Table 3.Table 3
Comparison of hybrid BBO algorithms and OXBBO for high-dimension of functions.
BBO-EP [11]
DBBO [13]
eBBO [14]
DE/BBO [15]
OXBBO
Mean (Std)
Mean (Std)
Mean (std)
Mean (std)
Mean (Std)
f
1
2.35
E
-
06
(
3.17
E
-
06
)
7.76
E
-
36
(
3.80
E
-
35
)
6.22
E
-
27
(
2.17
E
-
26
)
8.66
E
-
28
(
5.21
E
-
28
)
3.96
E
-
28
(
2.47
E
-
28
)
f
2
5.03
E
-
07
(
3.17
E
-
08
)
6.14
E
-
04
(
2.64
E
-
03
)
4.46
E
-
23
(
1.28
E
-
22
)
0.00
E
+
00
(
0.00
E
+
00
)
1.12
E
-
19
(
4.01
E
-
20
)
f
3
1.59
E
-
03
(
2.90
E
-
03
)
1.52
E
-
11
(
1.86
E
-
11
)
4.98
E
+
01
(
8.04
E
+
01
)
2.26
E
-
03
(
1.58
E
-
03
)
3.21
E
-
03
(
1.96
E
-
03
)
f
4
6.66
E
-
04
(
4.62
E
-
05
)
9.02
E
-
02
(
6.10
E
-
02
)
7.68
E
-
08
(
1.37
E
-
07
)
1.89
E
-
15
(
8.85
E
-
16
)
2.61
E
-
15
(
8.83
E
-
15
)
f
5
2.42
E
+
00
(
2.60
E
+
00
)
6.71
E
+
01
(
2.61
E
+
01
)
5.16
E
+
01
(
4.37
E
+
01
)
1.90
E
+
01
(
7.52
E
+
00
)
1.89
E
+
01
(
1.84
E
-
01
)
f
6
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
7
1.70
E
-
03
(
5.90
E
-
04
)
1.54
E
-
03
(
3.41
E
-
04
)
1.88
E
-
03
(
3.60
E
-
03
)
3.44
E
-
03
(
8.27
E
-
04
)
2.01
E
-
03
(
6.45
E
-
04
)
f
8
-
12569.5
(
2.65
E
-
06
)
2.10
E
-
01
(
2.91
E
-
01
)
8.13
E
-
09
(
2.21
E
-
14
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
9
3.97
E
-
04
(
5.32
E
-
04
)
2.24
E
-
03
(
3.25
E
-
03
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
10
9.40
E
-
04
(
5.84
E
-
05
)
4.63
E
-
03
(
1.47
E
-
02
)
1.45
E
-
14
(
9.93
E
-
15
)
1.07
E
-
14
(
1.90
E
-
15
)
6.79
E
-
15
(
1.50
E
-
15
)
f
11
6.70
E
-
08
(
9.55
E
-
09
)
1.33
E
-
17
(
6.53
E
-
17
)
6.57
E
-
03
(
9.00
E
-
03
)
0.00
E
+
00
(
0.00
E
+
00
)
0.00
E
+
00
(
0.00
E
+
00
)
f
12
1.57
E
-
08
(
2.40
E
-
09
)
9.64
E
-
06
(
3.68
E
-
05
)
3.75
E
-
32
(
6.58
E
-
32
)
7.16
E
-
29
(
6.30
E
-
29
)
7.06
E
-
30
(
3.95
E
-
30
)
f
13
2.52
E
-
07
(
1.10
E
-
07
)
4.51
E
-
04
(
2.15
E
-
03
)
1.08
E
-
26
(
2.76
E
-
26
)
9.81
E
-
27
(
7.10
E
-
27
)
7.45
E
-
29
(
3.00
E
-
29
)
Note: the result off8 obtained by BBO-EP is fitness value but is fitness value error by the others.From Table3, OXBBO outperforms BBO-EP, DBBO, eBBO, and DE/BBO in 9, 9, 8, and 6 out of 13 test functions, respectively. In addition, BBO-EP, DBBO, eBBO, and DE/BBO surpass OXBBO in 3, 3, 3, and 3 out of 13 test functions, respectively. Thus, we can conclude that, overall, OXBBO is better than BBO-EP, DBBO, and eBBO and is very competitive with DE/BBO. The above discussion means that OXBBO is an effective global function optimizer.


## 5.4. Convergence Speed When Compared with BBO Algorithms

From Section5.3, we can see that, though OXBBO outperforms four algorithms, the results of eBBO, DE/BBO are also very competitive. According to [30], more than three quarters of the computational cost is consumed by the fitness function evaluation in evolutionary search. Hence, in solving real-world problems, NFFEs overwhelm the algorithm overhead. For these reasons, we compare the convergence speed of OXBBO with eBBO and DE/BBO by using the concept acceleration rate (AR). From the definition of AR, we know that  AR > 1 means that OXBBO is faster than the compared algorithm, and vice versa.Table4 summarizes the mean NFFEs and SR of eBBO, DE/BBO, and OXBBO for solving 13 test functions, and ARs between algorithm OXBBO and eBBO, OXBBO, and DE/BBO.Table 4
NFFEs required to obtain accuracy levels less than VTR.
eBBO
DE/BBO
OXBBO
3 versus 1
3 versus 2
Mean (std)
SR
Mean (std)
SR
Mean (std)
SR
AR
AR
f
1
56110 (3559.251)
100%
59926 (745.5)
100%
44398 (438.77)
100%
1.26
1.35
f
2
73670 (4640.076)
100%
82004 (983.9)
100%
84490 (1085.61)
100%
0.87
0.97
f
3
NA (NA)
0
NA (NA)
0
NA (NA)
0
NA
NA
f
4
491498 (14486.144)
44%
296572 (4969.9)
100%
214889 (4628.80)
100%
2.29
1.38
f
5
NA (NA)
0
NA (NA)
0
NA (NA)
0
NA
NA
f
6
17138 (2141.132)
100%
21590 (573.3)
100%
16055 (545.62)
100%
1.07
1.34
f
7
43864 (39947.48)
100%
109574 (21005.8)
100%
58173 (19577.82)
100%
0.75
1.88
f
8
59948 (2831.762)
100%
95952 (3126.7)
100%
63213 (1639.74)
100%
0.95
1.52
f
9
72220 (16458.023)
100%
170226 (8379.0)
100%
124639 (5195.17)
100%
0.58
1.37
f
10
84870 (4800.818)
100%
91308 (922.7)
100%
78839 (853.99)
100%
1.08
1.16
f
11
120422 (71312.35)
54%
62042 (1219.6)
100%
46312 (798.55)
100%
2.6
1.3
f
12
45416 (2520.314)
100%
54482 (873.3)
100%
40646 (641.83)
100%
1.19
1.34
f
13
54302 (2238.94)
100%
64772 (1133.4)
100%
43970 (605.58)
100%
1.23
1.47
Average
1.02
E
+
05
(
1.50
E
+
04
)
77%
1.01
E
+
05
(
3.99
E
+
03
)
85%
7.41
E
+
04
(
3.27
E
+
03
)
85%
1.26
1.37OXBBO requires fewer NFFEs to reach the VTR than DE/BBO does on 10 functions out of 11 functions with a successful run, which can indicate that our algorithm is faster than DE/BBO. Similar results can be obtained when compared with eBBO. For example, tests on functionf1 show that the average numbers of NFFEs of 56110, 59926, and 44398 are needed by the eBBO, DE/BBO, and OXBBO, respectively, to reach the VTR. However, OXBBO only needs 44398 NFFEs, which means that its CPU time is the shortest among the three algorithms. Moreover, it can be seen from Table 4 that the average AR between algorithms OXBBO and eBBO, OXBBO, and DE/BBO in the successful run are 1.26 and 1.37 (the total AR divided by 11); that is to say, the total convergence rate of OXBBO is faster than that of DE/BBO and eBBO.From Table4, we can also find that the average SR of eBBO, DE/BBO, and OXBBO are 76.8%, 84.6%, and 84.6%, respectively. OXBBO and DE/BBO reach the VTR with a successful ratio of 100% on 11 functions except function f3 and f5, while eBBO on 9 functions. So, OXBBO and DE/BBO are more robust than eBBO.


## 5.5. Effect of Dimensionality on the Performance

From the analysis above, OXBBO is a BBO algorithm with robust effective performance. In order to investigate the influence of scalability on the performance of OXBBO, we carry out a scalability study comparison with DE/BBO for the scalable functions. For functionsf1–f13, Dim = 10, 50, 100, and 200. The results of 50 independent runs are recorded in Table 5 after Dim × 10000 NFFEs.Table 5
Comparison of DE/BBO and OXBBO with differential dimensions.
DE/BBO
OXBBO
DE/BBO
OXBBO
Mean (Std)
SR
Mean (Std)
SR
Mean (Std)
SR
Mean (Std)
SR
Dim = 10
Dim = 50
f
1
0.00
E
+
00
(
0.00
E
+
00
)
100%
3.71
E
-
42
(
3.49
E
-
42
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
5.45
E
-
64
(
3.30
E
-
64
)
100%
f
2
0.00
E
+
00
(
0.00
E
+
00
)
100%
4.67
E
-
23
(
2.37
E
-
23
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
2.07
E
-
33
(
7.28
E
-
34
)
100%
f
3
6.07
E
-
14
(
9.60
E
-
14
)
100%
3.12
E
-
12
(
3.65
E
-
12
)
100%
5.20
E
+
02
(
2.48
E
+
02
)
0
2.61
E
+
01
(
7.33
E
+
00
)
0
f
4
1.58
E
-
16
(
9.88
E
-
17
)
100%
3.62
E
-
13
(
1.48
E
-
13
)
100%
3.42
E
-
03
(
2.28
E
-
02
)
6%
2.82
E
-
04
(
8.21
E
-
04
)
0
f
5
3.40
E
+
00
(
8.03
E
-
01
)
0
5.85
E
+
00
(
6.70
E
-
01
)
0
4.43
E
+
01
(
1.39
E
+
01
)
0
3.92
E
+
01
(
2.20
E
-
01
)
0
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
7
1.11
E
-
03
(
3.96
E
-
04
)
100%
1.31
E
-
03
(
6.90
E
-
04
)
100%
4.05
E
-
03
(
9.20
E
-
04
)
100%
2.13
E
-
03
(
5.79
E
-
04
)
100%
f
8
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
2.37
E
+
00
(
1.67
E
+
01
)
98%
1.82
E
-
11
(
0.00
E
+
00
)
100%
f
9
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
1.52
E
-
03
(
1.01
E
-
02
)
96%
f
10
5.89
E
-
16
(
0.00
E
-
00
)
100%
2.66
E
-
15
(
0.00
E
+
00
)
100%
5.92
E
-
15
(
1.79
E
-
15
)
100%
5.01
E
-
15
(
1.70
E
-
15
)
100%
f
11
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
12
4.71
E
-
32
(
0.00
E
+
00
)
100%
4.71
E
-
32
(
1.66
E
-
47
)
100%
9.42
E
-
33
(
0.00
E
+
00
)
100%
9.42
E
-
33
(
1.38
E
-
48
)
100%
f
13
1.35
E
-
32
(
0.00
E
+
00
)
100%
1.35
E
-
32
(
1.11
E
-
47
)
100%
1.35
E
-
32
(
0.00
E
+
00
)
100%
1.35
E
-
32
(
1.11
E
-
47
)
100%
Dim = 100
Dim = 200
f
1
6.16
E
-
34
(
1.97
E
-
33
)
100%
1.48
E
-
80
(
1.00
E
-
80
)
100%
3.07
E
-
32
(
2.48
E
-
32
)
100%
2.87
E
-
95
(
2.24
E
-
95
)
100%
f
2
0.00
E
+
00
(
0.00
E
+
00
)
100%
1.91
E
-
42
(
6.31
E
-
43
)
100%
5.83
E
-
17
(
8.11
E
-
17
)
100%
4.64
E
-
54
(
1.75
E
-
54
)
100%
f
3
3.10
E
+
04
(
1.12
E
+
04
)
0
3.04
E
+
02
(
5.06
E
+
01
)
0
2.22
E
+
05
(
5.90
E
+
04
)
0
1.31
E
+
03
(
1.68
E
+
02
)
0
f
4
2.71
E
+
00
(
2.58
E
+
00
)
0
2.90
E
+
00
(
8.10
E
-
01
)
0
1.59
E
+
01
(
3.43
E
+
00
)
0
1.25
E
+
01
(
9.66
E
-
01
)
0
f
5
1.19
E
+
02
(
3.38
E
+
01
)
0
8.15
E
+
01
(
8.52
E
-
01
)
0
2.95
E
+
02
(
4.48
E
+
01
)
0
1.80
E
+
02
(
2.47
E
+
01
)
0
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
3.60
E
-
01
(
8.60
E
-
01
)
76%
f
7
6.87
E
-
03
(
1.15
E
-
03
)
98%
2.76
E
-
03
(
6.30
E
-
04
)
100%
1.56
E
-
02
(
2.82
E
-
03
)
0
7.17
E
-
03
(
1.01
E
-
03
)
100%
f
8
7.11
E
+
00
(
2.84
E
+
01
)
94%
1.09
E
-
10
(
0.00
E
+
00
)
100%
2.01
E
+
02
(
1.68
E
+
02
)
46%
2.91
E
-
10
(
0.00
E
+
00
)
100%
f
9
7.36
E
-
01
(
8.48
E
-
01
)
46%
7.37
E
+
00
(
3.79
E
+
00
)
0
1.76
E
+
01
(
2.89
E
+
00
)
0
5.21
E
+
01
(
1.02
E
+
01
)
0
f
10
7.84
E
-
15
(
7.03
E
-
16
)
100%
9.06
E
-
15
(
3.29
E
-
15
)
100%
1.09
E
-
14
(
1.12
E
-
15
)
100%
2.47
E
-
14
(
3.84
E
-
15
)
100%
f
11
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
1.11
E
-
16
(
0.00
E
+
00
)
100%
1.20
E
-
16
(
5.48
E
-
17
)
100%
f
12
4.71
E
-
33
(
0.00
E
+
00
)
100%
4.84
E
-
33
(
8.76
E
-
34
)
100%
2.36
E
-
33
(
0.00
E
+
00
)
100%
2.94
E
-
33
(
8.35
E
-
34
)
100%
f
13
1.76
E
-
32
(
2.68
E
-
32
)
100%
1.39
E
-
32
(
2.79
E
-
33
)
100%
8.36
E
-
32
(
1.44
E
-
31
)
100%
4.37
E
-
32
(
2.52
E
-
32
)
100%We can find, from Table5, that the overall SR is decreasing for both DE/BBO and OXBBO upon increasing the dimension. For OXBBO, the average SR for solving function with dimension 10, 50, 100, and 200 is 92%, 77%, 69%, and 67%, respectively, whereas the SR of DE/BBO for solving these functions with the same dimension is 92%, 77%, 72%, and 57%, respectively. Obviously, the average SR of DE/BBO decreases more than that of OXBBO does upon increasing dimension, which can also be proved when we carefully compare the mean fitness values accordingly. By carefully looking at the results, we can recognize that for unimodal function f1, DE/BBO is better than OXBBO at dimensions 10 and 50. However, DE/BBO is outperformed by OXBBO at high dimensions (100 and 200). Moreover, the precision of f1 obtained by DE/BBO is decreased very much upon increasing dimension, while that obtained by OXBBO is increased upon increasing dimension. Another example, for multimodal function f8, which is very difficult to locate its global optima position, OXBBO can find its global solution at different dimensions in Table 5, but DE/BBO cannot do it. The experimental test shows that OXBBO can also solve higher dimensionality function effectively. Therefore, we can know that the operators used in OXBBO can enhance the exploration ability but do not offset its exploitation ability.


## 5.6. Comparison with Other OX-Based Algorithms

In this section, we compare the performance of OXBBO with two excellent OX-based algorithms: OXDE [28], which is proposed by embedding QOX into DE, and OLPSO [4], which is presented through using an orthogonal learning strategy for PSO to overcome the “oscillation” phenomenon of traditional PSO.Now, we apply OX-based algorithms to solve 13 test functions adopted in this paper under 25 independent runs. In order to compare the performance fairly, all control parameters are kept the same with their corresponding paper except the population size. The population size is 50 in this section. Results for OX-based algorithms with 25 independent runs are summarized in Table6. The convergence curves and boxplot figures are listed in Figures 2 and 3 separately.Table 6
Comparison of OX algorithms.
OXDE
OLPSO
OXBBO
Mean  (Std)
SR
Mean  (Std)
SR
Mean  (Std)
SR
f
1
1.58
E
-
16
(
1.41
E
-
16
)
+
100%
1.55
E
-
41
(
3.32
E
-
41
)
+
100%
8.84
E
-
64
(
8.92
E
-
64
)
100%
f
2
4.38
E
-
12
(
1.93
E
-
12
)
+
100%
5.76
E
-
31
(
5.46
E
-
31
)
+
100%
5.25
E
-
46
(
3.50
E
-
46
)
100%
f
3
6.41
E
-
07
(
4.98
E
-
07
)
+
0%
2.17
E
-
04
(
2.72
E
-
04
)
+
0%
1.81
E
-
11
(
1.77
E
-
11
)
100%
f
4
1.49
E
+
00
(
9.62
E
-
01
)
+
0%
2.81
E
+
00
(
1.47
E
+
00
)
+
0%
2.39
E
-
01
(
2.58
E
-
01
)
0%
f
5
1.59
E
-
01
(
7.97
E
-
01
)
-
96%
4.78
E
-
01
(
1.32
E
+
00
)
-
88%
2.61
E
+
01
(
9.85
E
-
01
)
0%
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
7
2.95
E
-
03
(
1.32
E
-
03
)
+
100%
1.35
E
-
03
(
1.40
E
-
03
)
100%
9.41
E
-
04
(
3.76
E
-
04
)
100%
f
8
0.00
E
+
00
(
0.00
E
+
00
)
100%
2.84
E
+
01
(
6.19
E
+
01
)
+
80%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
9
4.06
E
+
00
(
1.95
E
+
00
)
+
0%
1.99
E
-
01
(
4.06
E
-
01
)
80%
1.23
E
-
01
(
4.05
E
-
01
)
84%
f
10
2.99
E
-
09
(
1.54
E
-
09
)
+
100%
3.52
E
-
15
(
1.55
E
-
15
)
+
100%
2.66
E
-
15
(
0.00
E
+
00
)
100%
f
11
1.48
E
-
03
(
3.02
E
-
03
)
+
80%
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
12
6.94
E
-
18
(
7.55
E
-
18
)
+
100%
1.57
E
-
32
(
5.59
E
-
48
)
100%
1.57
E
-
32
(
5.59
E
-
48
)
100%
f
13
4.07
E
-
17
(
2.68
E
-
17
)
+
100%
1.35
E
-
32
(
5.59
E
-
48
)
100%
1.35
E
-
32
(
5.59
E
-
48
)
100%
f
14
1.24
E
-
16
(
1.12
E
-
16
)
+
100%
3.64
E
-
16
(
3.95
E
-
16
)
+
100%
8.88
E
-
18
(
4.44
E
-
17
)
100%
f
15
5.12
E
-
19
(
1.49
E
-
19
)
-
100%
1.56
E
-
04
(
1.29
E
-
04
)
-
0%
3.35
E
-
04
(
6.74
E
-
05
)
0%
f
16
1.81
E
-
15
(
6.04
E
-
15
)
100%
4.44
E
-
16
(
0.00
E
+
00
)
+
100%
3.46
E
-
16
(
1.12
E
-
16
)
100%
f
17
1.62
E
-
11
(
7.29
E
-
11
)
100%
1.67
E
-
16
(
0.00
E
+
00
)
100%
1.67
E
-
16
(
0.00
E
+
00
)
100%
f
18
4.97
E
-
15
(
1.65
E
-
15
)
+
100%
9.02
E
-
15
(
4.37
E
-
15
)
+
100%
2.91
E
-
15
(
1.35
E
-
15
)
100%
f
19
4.44
E
-
16
(
0.00
E
+
00
)
100%
3.59
E
-
14
(
5.28
E
-
14
)
+
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
f
20
9.51
E
-
03
(
3.29
E
-
02
)
92%
6.47
E
-
08
(
3.23
E
-
07
)
96%
9.51
E
-
03
(
3.29
E
-
02
)
92%
f
21
2.03
E
-
01
(
2.77
E
-
01
)
-
0%
7.79
E
-
02
(
2.25
E
-
01
)
-
0%
2.34
E
+
00
(
3.07
E
+
00
)
24%
f
22
1.68
E
-
07
(
2.20
E
-
07
)
12%
2.71
E
-
01
(
1.33
E
+
00
)
0%
2.67
E
-
01
(
1.34
E
+
00
)
92%
f
23
2.78
E
-
07
(
4.58
E
-
07
)
16%
3.67
E
-
03
(
1.43
E
-
02
)
0%
2.94
E
-
01
(
1.14
E
+
00
)
92%
+
,
-The value of t with 48 degrees of freedom is significant at 0.05 confidence level by two-tailed test.
−The corresponding algorithm is better than our proposed OXBBO method.(a) Convergence curves of mean fitness error values of OXBBO, OXDE, and OLPSO for functionsf1, f2, f3, f4, f5, f7, f8, f9, f10, and f11. (b) Convergence curves of mean fitness error values of OXBBO, OXDE, and OLPSO for functions f12, f13, f14, f15, f16, f17, f18, f19, f21, and f22.
(a)
(b)(a) ANOVA tests of fitness error values of functionsf1, f3, f4, f5, f7, f8, f9, f10, f12, and f13 for OXBBO, OXDE, and OLPSO. (b) ANOVA tests of fitness error values of functions f14, f15, f16, f17, f18, f19, f20, f21, f22, and f23 for OXBBO, OXDE, and OLPSO.
(a)
(b)From Table6, we can find that the results of OXBBO are significantly better than those of OXDE, OLPSO in 12, and 10 out of 23 functions, while this number for OXDE, OLPSO are 3, 3 out of 23 functions. In terms of the success rate, the average SR of OXDE, OLPSO, and OXBBO is 74%, 71%, and 82%, respectively. By carefully looking at the results in Table 6, one can note that OXDE, OLPSO, and OXBBO achieve a 100% success rate for f1, f2, f6, f7, f8, f10, f11, f12, f13, f16, f17, f18, and f19. Additionally, for function f4, OXBBO surpass OXDE and OLPSO. For f9, OXBBO and OLPSO achieve the optima, but the successful rate of OXBBO is higher than that of OLPSO. For f5, OXDE and OLPSO can reach the optima, but OXBBO failed.From Figures2 and 3, we can see that OXBBO is not only converging faster than both OXDE and OLPSO, but also converging more robust than both two. From the analysis, we can conclude that the overall performance of OXBBO is better than OXDE and OLPSO.


## 5.7. Analysis the Performance of QOX

From the analysis above, we know that the proposed algorithm OXBBO possesses very good performance through comparison with improved BBO algorithms, hybrid BBO algorithms, and some state-of-the-art orthogonal-based algorithms. Does QOX really play a key role of OXBBO? For these reasons, in this section, a detailed analysis is made to analyze the performance of QOX operator in BBO. We consider two variants of OXBBO: OXBBO with QOX operator, OXBBO without QOX operator. These algorithms are denoted as OXBBO, OXBBO1. The experimental test performs on 23 test functions with 25 independent runs. The some parameter setting suggested in Section5.1. The mean and standard deviation of the function error values and t-test values of 25 independent runs for each algorithm have been listed in Table 7. The convergence curves and boxplot figures are listed in Figures 4 and 5.Table 7
Comparison of OX operator.
OXBBO
OXBBO1
OXBBO versus OXBBO1
Mean  (Std)
SR
Mean  (Std)
SR
t-test
f
1
3.10
E
-
28
(
1.31
E
-
28
)
100%
1.22
E
-
19
(
3.73
E
-
20
)
100%
-
3.274
f
2
1.28
E
-
19
(
4.05
E
-
20
)
100%
7.50
E
-
14
(
1.64
E
-
14
)
100%
-
4.564
f
3
3.23
E
-
03
(
1.92
E
-
03
)
0%
1.28
E
+
02
(
2.44
E
+
01
)
0%
-
5.251
f
4
6.66
E
-
16
(
1.32
E
-
15
)
100%
3.01
E
-
08
(
9.00
E
-
09
)
0%
-
3.346
f
5
1.89
E
+
01
(
2.07
E
-
01
)
0%
1.81
E
+
01
(
2.35
E
-
01
)
0%
2.831
f
6
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
NaN
f
7
1.80
E
-
03
(
5.54
E
-
04
)
100%
4.63
E
-
03
(
1.59
E
-
03
)
100%
-
1.677
f
8
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
NaN
f
9
0.00
E
+
00
(
0.00
E
+
00
)
100%
3.01
E
-
01
(
8.26
E
-
01
)
12%
-
0.364
f
10
6.79
E
-
15
(
1.33
E
-
15
)
100%
8.17
E
-
11
(
1.83
E
-
11
)
100%
-
4.465
f
11
0.00
E
+
00
(
0.00
E
+
00
)
100%
0.00
E
+
00
(
0.00
E
+
00
)
100%
NaN
f
12
6.21
E
-
30
(
3.12
E
-
30
)
100%
3.96
E
-
21
(
1.61
E
-
21
)
100%
-
2.459
f
13
7.28
E
-
29
(
3.56
E
-
29
)
100%
2.92
E
-
20
(
8.52
E
-
21
)
100%
-
3.428
f
14
3.38
E
-
16
(
1.13
E
-
16
)
100%
3.20
E
-
16
(
1.29
E
-
16
)
100%
0.103
f
15
3.27
E
-
04
(
4.46
E
-
05
)
0%
3.35
E
-
04
(
4.35
E
-
05
)
0%
-
0.130
f
16
1.66
E
-
15
(
4.85
E
-
15
)
100%
8.88
E
-
16
(
8.01
E
-
16
)
100%
0.157
f
17
3.81
E
-
12
(
1.32
E
-
11
)
100%
2.83
E
-
14
(
9.17
E
-
14
)
100%
0.287
f
18
1.84
E
-
14
(
8.71
E
-
15
)
100%
2.21
E
-
14
(
9.13
E
-
15
)
100%
-
0.296
f
19
6.93
E
-
16
(
2.25
E
-
16
)
100%
8.35
E
-
16
(
2.66
E
-
16
)
100%
-
0.407
f
20
4.80
E
-
16
(
1.23
E
-
16
)
100%
7.82
E
-
16
(
3.46
E
-
16
)
100%
-
0.823
f
21
2.089174
(
2.753900
)
12%
3.990006
(
3.399740
)
12%
-
0.434
f
22
4.68
E
-
08
(
9.97
E
-
08
)
76%
9.24
E
-
03
(
4.62
E
-
02
)
92%
-
0.200
f
23
7.92
E
-
05
(
3.96
E
-
04
)
84%
1.94
E
-
07
(
7.49
E
-
07
)
64%
0.200Figure 4
Convergence curves of mean fitness error values of OXBBO and OXBBO1 for functionsf1, f3, f5, f7, f8, f9, f11, f15, f18, and f22.Figure 5
ANOVA tests of fitness error values of functionsf1, f5, f7, f9, f12, f14, f15, f16, f20, and f21 for OXBBO and OXBBO1.According to thet-test, the results of OXBBO are significantly better than those of OXBBO1 in 11 out of 23 test functions, and the results of OXBBO are similar to those of OXBBO1 in 11 out of 23 functions. OXBBO1 surpasses OXBBO on only one function. From this, we know that QOX has played a very important role in enhancing the performance of OXBBO, which not only improves the solution precision but also enhances the reliability. This can also be demonstrated in Figures 4 and 5.


## 6. Conclusions and Future Work

In this paper, a new improved BBO algorithm (OXBBO) is present through the combination of the QOX operator into BBO algorithm, which is designed to overcome the shortcoming that migration operator only visits one vertex of the hyperrectangle defined by the immigration and emigration vectors. In OXBBO, QOX is able to make a systematic and rational search in the region and enhance the exploration ability. Moreover, a modified migration operator is used in OXBBO to improve the population diversity. In this paper, extensive experiments have been implemented to compare the performance of OXBBO with state-of-the-art BBO algorithms and orthogonal crossover-based evolutionary algorithms. We have also experimentally studied the effect of QOX on the performance of OXBBO.We have observed that the results obtained by OXBBO differ very much with different population sizes, which maybe due to the search frequency of QOX, similar results in [28]. In the future, we will study the effect of the search frequency of QOX on the performance in BBO framework for large scale dimension test functions. Furthermore, we would like to point out that experimental tests are based on the no-rotation functions; studying the performance on rotation functions is also our future work.



---

*Source: 353969-2013-06-04.xml*