# Bat Algorithm Based on an Integration Strategy and Gaussian Distribution

Authors: Jianqiang Huang; Yan Ma
Journal: Mathematical Problems in Engineering
 (2020)

---

## Abstract

The bat algorithm (BA) is a recent heuristic optimization algorithm based on the echolocation behavior of bats. However, the bat algorithm tends to fall into local optima and its optimization results are unstable because of its low global exploration ability. To solve these problems, a novel bat algorithm based on an integration strategy (IBA) is proposed in this paper. Through the integration strategy, an appropriate operator is adaptively selected to perform global search, so that the global search ability of the IBA is improved. Furthermore, the IBA disturbs the local optimum through a linear combination of Gaussian functions with different variances to avoid becoming trapped in local optima. The IBA also updates the velocity equation with an adaptive weight to further balance the exploration and exploitation. Moreover, the global convergence of the IBA is proved based on the convergence criterion of a stochastic algorithm. The performance of the IBA is evaluated on CEC2013 benchmark functions and compared with that of the standard BA as well as several of its variants. The results show that the IBA is superior to other algorithms.


---

## Body

## 1. Introduction

Optimization usually involves highly nonlinear complex problems with many design variables and complex constraints [1]. Generally, the form of nonlinear constrained optimization problem can be formulated as follows:(1)Minimizefx,s.t.glx≤0,l=1,2,…,k,hjx=0,j=1,2,…,p,where x=x1,x2,…,xn is n-dimensional decision variables, f (x) is the objective function,glx≤0 denotes the inequality constraints, and hjx=0 denotes the equality constraints. Traditional deterministic methods or algorithms do not cope well when solving a large number of problems in practice, especially when the objective function is multimodal with many local optima. Over the past years, over a dozen metaheuristic algorithms have been developed based on inspiration from different natural processes. For instance, the genetic algorithm [2] is based on the biological evolution processes and ant colony optimization [3] is based on swarm behavior. Harmony search is an algorithm inspired by the music composition process of musicians. The particle swarm optimization (PSO) algorithm [4] is inspired from swarming behaviors such as bird flocking and fish schooling in nature. An evolutionary algorithm named the oriented cuckoo search (OCS) algorithm [5] was motivated by the aggressive breeding habits of a bird called the “cuckoo.” These algorithms have been used to solve nonlinear complex problems because of their simple structures and abilities to obtain a solution, and they are referred to as nature-inspired algorithms or bioinspired algorithms.In recent years, many such metaheuristic algorithms have been proposed. Wu et al. [6] proposed an enhanced harmony search algorithm with circular region perturbation, and Gupta and Deep [7] introduced a new crossover operator called the double distribution crossover. An aggregative learning gravitational search algorithm was proposed by Lei et al. [8], and Mohamed et al. [9] proposed a novel nature-inspired algorithm called the gaining sharing knowledge algorithm, which mimics the process of gaining and sharing knowledge during the human life span. Attention should also be drawn to novel algorithms [10–14] based on sine cosine algorithms. Moreover, many metaheuristic algorithms were proposed for solving constrained nonlinear programming problems (CNLPPs). Han et al. [15] developed a new hybrid moth search-fireworks algorithm to solve numerical and constrained engineering optimization problems. Baykasoğlu et al. [16] introduced a new metaheuristic, single seekers society algorithm, for solving unconstrained and constrained continuous optimization problems. Shadravan et al. [17] presented a novel nature-inspired metaheuristic optimization algorithm, called sailfish optimizer, which is inspired by a group of hunting sailfish. Kaur et al. [18] proposed a novel hybrid multiobjective optimization algorithm by synthesizing the strengths of multiobjective spotted hyena optimizer and salp swarm algorithm. Montemurro et al. [19] presented a new penalty-based approach, developed within the framework of genetic algorithms for constrained optimization problems. Montemurro et al. [20] presented a nonclassical genetic algorithm to solve the design of laminates with a minimum number of layers. Costa et al. [21] provided a general methodology to approximate sets of data points through nonuniform rational basis spline (NURBS) curves.The bat algorithm (BA) is a nature-inspired metaheuristic algorithm. It was proposed by Yang in 2010 to imitate the echolocation behavior of bats [22]. The BA has been widely applied in many applications, such as engineering optimization [23, 24] and pattern recognition [25]. Next, we introduce three aspects of the BA in detail: parameters, algorithm structure, and application.


### 1.1. Parameters

Four main parameters are involved in the standard BA: pulse frequency, pulse rate, velocity, and a constant. For the standard BA, it is difficult to find a balance between global search and local search, which leads to a slow convergence rate. To solve this problem, Gandomi and Yang [26] introduced chaos into the standard BA (CBA) to increase its global search mobility for robust global optimization. In CBA, different chaotic systems are used to replace the parameters in BA. Xie et al. [27] proposed an improved BA based on the Lévy flight trajectory. This algorithm can effectively jump out of local optima using the strategy of an adaptively adjusted frequency. Gan et al. [28] proposed a new BA based on iterative local search and stochastic inertia weight. A stochastic inertial weight is considered in the velocity updating equation, which can enhance the diversity and flexibility of the bat population.


### 1.2. Algorithm Structure

The optimization performance of the standard BA mainly depends on the interaction and influence between individuals, which may lead to a local optimum. Liu and Chunming [29] introduced the Lévy flight behaviors of bats and took full advantage of the trait of uneven random walks to enable the algorithm to avoid becoming trapped in a locally optimal solution. To enhance the ability of the algorithm to escape from locally optimal values, Boudjemaa et al. [30] proposed the fractional Lévy flight BA (FLFBA), in which the velocity is updated through fractional calculus. Fister et al. [31] proposed a hybrid BA by combining it with differential evolution. To improve the global searching ability, Al-Betar and Awadallah [32] divided the whole bat population into two subgroups and specified the movement of bat individuals from one group to another by mobility. Jaddi et al. [33] proposed to modify the velocity equation of the standard BA to better balance exploration and exploitation in the population, and Ghanem and Jantan [34] proposed an enhanced BA to enhance the diversity of the standard BA using a special mutation operator.


### 1.3. Applications

Recently, BA has been widely used in the fields of optimization, modeling, and control. Dao et al. [35] used parallel BA to solve a workshop scheduling problem. Osaba et al. [36] proposed a discrete BA to solve the vehicle path problem of drug waste collection and distribution. Aiming at the data loss problem in high-dimensional data, Leke and Marwala [37] proposed to estimate missing data based on BA. To improve the accuracy of the generated fuzzy rules, Cheruku et al. [38] analyzed big data for diabetes detection by combining rough set feature selection with optimized BA. Nakamura et al. [39] proposed a binary BA to solve feature selection problems and proved that the algorithm outperforms other swarm intelligence algorithms. Goyal and Patterh [40] proposed a modified BA to evaluate the precision of node localization in wireless sensor networks.Although the aforementioned algorithms addressed the problems of BA, they cannot balance exploration and exploitation capabilities, and the stability of the results cannot be guaranteed. Hence, these methods cannot really improve the performance of the standard BA. To tackle the above problems, this paper proposes a novel BA that uses an integration strategy (IBA) to enhance the search ability while maintaining the stability of the results. In this paper, we present three main contributions: (i) we adaptively select the appropriate operator for performing global search through the integration strategy, which can improve the global search ability of the algorithm; (ii) we disturb a local optimum through a linear combination of Gaussian functions with different variances, so that the IBA has the ability to jump out of the local optima; and (iii) we update the velocity equation of the standard BA with an adaptive weight to balance the exploration and exploitation and keep the algorithm stable.In addition, different constraint-handling methods were proposed to solve CNLPPs: (i) hybrid methods; (ii) repair algorithms; (iii) unique representatives and operators; (iv) isolation of objectives and constraints; (v) penalty functions. In this paper, we use penalty function to solve SNLPPs because penalty function is the simplest one to solve the constrained problem among the above methods.The rest of the paper is organized as follows: Section2 describes the structure of standard BA. Section 3 describes the main idea of IBA and its flowchart. Section 4 proves the global convergence of IBA. Experimental and comparative analyses of the results obtained from IBA are presented in Section 5. Finally, Section 6 concludes the paper. The acronyms and their meaning are given in Table 1.Table 1
List of acronyms.
AcronymMeaningACOAnt colony optimizationAPSOAdaptive particle swarm optimizerBABat algorithmCBAChaotic bat algorithmCLPSOA comprehensive learning particle swarm optimizerCMAConstant modulus algorithmCNLPPsConstrained nonlinear programming problemsCPSOHA cooperative approach to particle swarm optimizationFIPSThe fully informed particle swarmFLFBAFractional Lévy flight bat algorithm for global optimizationsFLFBAFractional Lévy flight bat algorithmFPSOFrankenstein’s PSOG-CMA-ESA restart CMA evolution strategy with increasing population sizeHRCGAGlobal and local real-coded genetic algorithmIBAA novel bat algorithm by using integration strategyIBA-1IBA without integration strategyIBA-2IBA without Gaussian functionIBA-3IBA without adaptive weightILSAAn improved local searching algorithmJADEAdaptive differential evolution with optional external archiveLBABat algorithm with Lévy distributionLSALocal search algorithmOCSOriented cuckoo searchPDFProbability density functionPSOParticle swarm optimization algorithmSLPSOSocial learning particle swarm optimizationSPSOA novel supervised particle swarm optimization


## 1.1. Parameters

Four main parameters are involved in the standard BA: pulse frequency, pulse rate, velocity, and a constant. For the standard BA, it is difficult to find a balance between global search and local search, which leads to a slow convergence rate. To solve this problem, Gandomi and Yang [26] introduced chaos into the standard BA (CBA) to increase its global search mobility for robust global optimization. In CBA, different chaotic systems are used to replace the parameters in BA. Xie et al. [27] proposed an improved BA based on the Lévy flight trajectory. This algorithm can effectively jump out of local optima using the strategy of an adaptively adjusted frequency. Gan et al. [28] proposed a new BA based on iterative local search and stochastic inertia weight. A stochastic inertial weight is considered in the velocity updating equation, which can enhance the diversity and flexibility of the bat population.


## 1.2. Algorithm Structure

The optimization performance of the standard BA mainly depends on the interaction and influence between individuals, which may lead to a local optimum. Liu and Chunming [29] introduced the Lévy flight behaviors of bats and took full advantage of the trait of uneven random walks to enable the algorithm to avoid becoming trapped in a locally optimal solution. To enhance the ability of the algorithm to escape from locally optimal values, Boudjemaa et al. [30] proposed the fractional Lévy flight BA (FLFBA), in which the velocity is updated through fractional calculus. Fister et al. [31] proposed a hybrid BA by combining it with differential evolution. To improve the global searching ability, Al-Betar and Awadallah [32] divided the whole bat population into two subgroups and specified the movement of bat individuals from one group to another by mobility. Jaddi et al. [33] proposed to modify the velocity equation of the standard BA to better balance exploration and exploitation in the population, and Ghanem and Jantan [34] proposed an enhanced BA to enhance the diversity of the standard BA using a special mutation operator.


## 1.3. Applications

Recently, BA has been widely used in the fields of optimization, modeling, and control. Dao et al. [35] used parallel BA to solve a workshop scheduling problem. Osaba et al. [36] proposed a discrete BA to solve the vehicle path problem of drug waste collection and distribution. Aiming at the data loss problem in high-dimensional data, Leke and Marwala [37] proposed to estimate missing data based on BA. To improve the accuracy of the generated fuzzy rules, Cheruku et al. [38] analyzed big data for diabetes detection by combining rough set feature selection with optimized BA. Nakamura et al. [39] proposed a binary BA to solve feature selection problems and proved that the algorithm outperforms other swarm intelligence algorithms. Goyal and Patterh [40] proposed a modified BA to evaluate the precision of node localization in wireless sensor networks.Although the aforementioned algorithms addressed the problems of BA, they cannot balance exploration and exploitation capabilities, and the stability of the results cannot be guaranteed. Hence, these methods cannot really improve the performance of the standard BA. To tackle the above problems, this paper proposes a novel BA that uses an integration strategy (IBA) to enhance the search ability while maintaining the stability of the results. In this paper, we present three main contributions: (i) we adaptively select the appropriate operator for performing global search through the integration strategy, which can improve the global search ability of the algorithm; (ii) we disturb a local optimum through a linear combination of Gaussian functions with different variances, so that the IBA has the ability to jump out of the local optima; and (iii) we update the velocity equation of the standard BA with an adaptive weight to balance the exploration and exploitation and keep the algorithm stable.In addition, different constraint-handling methods were proposed to solve CNLPPs: (i) hybrid methods; (ii) repair algorithms; (iii) unique representatives and operators; (iv) isolation of objectives and constraints; (v) penalty functions. In this paper, we use penalty function to solve SNLPPs because penalty function is the simplest one to solve the constrained problem among the above methods.The rest of the paper is organized as follows: Section2 describes the structure of standard BA. Section 3 describes the main idea of IBA and its flowchart. Section 4 proves the global convergence of IBA. Experimental and comparative analyses of the results obtained from IBA are presented in Section 5. Finally, Section 6 concludes the paper. The acronyms and their meaning are given in Table 1.Table 1
List of acronyms.
AcronymMeaningACOAnt colony optimizationAPSOAdaptive particle swarm optimizerBABat algorithmCBAChaotic bat algorithmCLPSOA comprehensive learning particle swarm optimizerCMAConstant modulus algorithmCNLPPsConstrained nonlinear programming problemsCPSOHA cooperative approach to particle swarm optimizationFIPSThe fully informed particle swarmFLFBAFractional Lévy flight bat algorithm for global optimizationsFLFBAFractional Lévy flight bat algorithmFPSOFrankenstein’s PSOG-CMA-ESA restart CMA evolution strategy with increasing population sizeHRCGAGlobal and local real-coded genetic algorithmIBAA novel bat algorithm by using integration strategyIBA-1IBA without integration strategyIBA-2IBA without Gaussian functionIBA-3IBA without adaptive weightILSAAn improved local searching algorithmJADEAdaptive differential evolution with optional external archiveLBABat algorithm with Lévy distributionLSALocal search algorithmOCSOriented cuckoo searchPDFProbability density functionPSOParticle swarm optimization algorithmSLPSOSocial learning particle swarm optimizationSPSOA novel supervised particle swarm optimization


## 2. BA

The BA is inspired by the echolocation behavior of bats when sensing distances. When bats hunt at night, they typically emit short, loud sound impulses and listen to the echo bouncing back from an obstacle or prey. A bat can use its special auditory mechanism to identify the size and position of the object. Yang [22] proposed the BA based on this echolocation characteristic of bats. The steps of BA can be summarized as follows:Step 1.
Initialize the bat parameters, as shown in Table2.Table 2
BA parameters.
MThe size of bat populationNMax number of iterationsIThe number of bat, in range [1,M]X∗The current global best location (solution)XiThe position ofith batViThe velocity ofith batfiThe pulse frequency of theith bat and its range is between fmin and fmaxfXFitness functionriThe pulse rate ofith batAiThe loudness ofith batαThe constant parameter in range [0, 1] used to update the loudnessAiγThe constant parameter in range [0, 1] used to update the pulse rateriStep 2.
Update the global best positionX∗, pulse frequency, velocity, and position of the ith bat as follows:(2)fi=fmin+fmax−fminβ,β∈0,1,(3)Vit+1=Vit+Xit+X∗fi,(4)Xtt+1=Xit+Vit,whereVit and Xit are the velocity and position at time t, Vit+1 and Xit+1 are the velocity and position at time t+1, and β is a random number between 0 and 1.Step 3.
If the random number is greater thanri, a new solution for the bat is generated by the following equation:(5)Xnew=Xold+εAt,whereε is a random number, ε∈−1,1, and At represents the average loudness of all bats at time t.Step 4.
If the random number is lower thanAi and fXi<fX∗, the new solution is accepted. Next, update Ai and ri, respectively, as follows:(6)Ait+1=αAit,(7)rit=ri01−e−γt,whereAit+1 and Ait denote the loudness at times t and t + 1, respectively; ri0 and rit are the initial pulse rate and pulse rate at time t, respectively, α is a constant parameter in range [0, 1], γ is a constant parameter, and γ>0. As t⟶∞, Ait⟶0 and rit⟶ri0.Step 5.
Sort the bats based on their fitness and find the current optimal solutionX∗.Step 6.
Return to Step 2 until the maximum number of iterations is reached; output the globally optimal solution.


## 3. BA Based on an Integrated Strategy and Gaussian Distribution

This section explains the basic principle of IBA in detail, which is based on integrated strategy and local search with adaptive parameters. The goal is to address the problems of standard BA: local-optima traps, slow convergence speed, and unstable optimization results. This paper presents the following improvements: (i) an adaptive weight; (ii) a representation of the random disturbance using a linear combination of two Gaussian distributions with different variances; (iii) determination of optimal solution with an integrated strategy; and (iv) local search.


### 3.1. Constraint-Handling Technique-Based Method

For the constrained nonlinear programming problem (CNLPP), the penalty method is a common method, whose core idea is to transform the constrained problem into unconstrained problem with penalty function. In general, for the metaheuristic algorithm, the equality constraint in equation (1) can be modified as follows:(8)hqx−δ≤0q=k+1,k+2,…,k+p,where δ is a plus tolerance number to equality constraints. Therefore, we define the following penalty function:(9)Glx=max0,glx,l=1,2,…k,max0,hlx−δ,l=k+1,k+2,…,k+p.We define the new objective function according to equation (1):(10)Πx,λ=fx+∑l=1k+pλGlx,where λ is a penalty parameter. Then, the new objective function can be further expressed as(11)Πx,μe,νj=fx+∑e=1k+pμeϕe2x+∑j=1k+pνjψj2x,where φe and ψj denote inequality constraints and equality constraints, respectively, and μe and vj denote the penalty parameters of inequality constraints and equality constraints. The value of the penalty parameter should be taken as large as possible depending on the solution quality needed. From the above analysis, we can see that when the equality constraints are satisfied, the effect of μe to objective function is zero. However, when the equality constraints are not satisfied, μe is heavily penalized as it significantly increases. Similarly, it is the same with the penalty parameter vj for the case of inequality constraints.When BA is used to solve the CNLPPs, its searching mechanism can be expressed as the following optimization problem:(12)minfXs.t.X∈RD,where fx is fitness function and RD denotes the searching space of BA. Suppose position Xi=xi,1,xi,2,…,xi,D is a feasible solution. In initialization, the bat individuals are generated randomly in a searching space. The bat parameters, including pulse frequency, velocity, and position, are updated according to equations (2)–(4). It can be seen from equations (2)–(4) that the velocity Vi and position Xi are updated according to the randomly generated pulse frequency fi. After the update, BA searches the local-optimal solution according to the average loudness of all bats in a random manner, as shown in equation (5). It needs to be noted that the local search is carried out with the pulse rate ri. The local search will be conducted if the random number is greater than ri. From equation (5), we can see that the range of local search is dependent on the average loudness. Then, if the random number is lower than Ai and the value of current solution is lower than the value the optimal solution, the new solution will be accepted according to the rules of the feasible solution. The loudness and pulse rate are updated according to equations (6) and (7).Similar to [41], the feasibility-based rules for BA can be defined as follows: (1) any feasible solution is superior to any infeasible solution. (2) Between two feasible solutions, the one having a better objective function value is preferred. (3) Between two infeasible solutions, the one having a smaller constraint value is preferred. To summarize, these rules are to choose a solution that lies closer to the feasible region.According to the above description, we present the pseudocode of BA in Algorithm1.Algorithm 1: BA.
(1)
Initialize positionXi and velocity Vi, i=1,2,…,M;(2)
Initialize pulse ratesri and loudness Ai;(3)
Deﬁne pulse frequencyfi of the ith bat and in the range between fmin and fmax;(4)
Evaluate all the elements in the population by objective functionf (X) and the constraint value of each bat by the constrained functions.(5)
Initialize the number of iterationt = 1;(6)
while (t < max number of iterations N)(7)
For each bat(8)
Update the locations/solutions (equation (4));(9)
Ifrand>ri(10)
Select a solution from the best solutions;(11)
Generate a local solution around the best solution (equation (5));(12)
End if(13)
Evaluate the fitness values and constraint values of the offspring(14)
Ifrand<Ai&fXi<fX∗(15)
Accept the new solutions as the feasibility-based rules;(16)
Update the fitness;(17)
Update the pulse rateri and loudness Ai (equations (6) and (7));(18)
End if(19)
End for(20)
Rank the bats and find the current bestX∗;(21)
t = t+1(22)
End while(23)
Postprocess results and visualization;


### 3.2. Parameter Improvement

It is generally known that a suitable value for the inertia weight provides a balance between the global and local exploration ability of the algorithm. Shi and Eberhart [42] pointed out that a better performance would be obtained if the inertia weight was chosen a time varying, linearly decreasing quantity. It was inferred that the system should start with a high inertia weight for global exploration and this weight should decrease to facilitate finer local explorations in later iterations. The concave model [43], as a nonlinear model can meet these requirements for inertia weight. However, the inertia weight generated by a concave function will greatly accelerate the convergence rate, which tends to make the algorithm fall into local optima. Inspired by Kentzoglanakis and Poole [44], we define an adaptive weight w as follows, with the help of the sine function:(13)w=1−sinπ−π∗t2∗Tmax,t<Tmax,1−sinπ−π∗t−ε2∗Tmax,t=Tmax,where ε⟶0+. We then modify the velocity update equation as follows to solve this issue:(14)Vit+1=wVit+Xit+X∗fi.Figure1 shows how the values of w vary with time t. It can be seen from Figure 1 that the values of w tend to decrease as the number of iterations increases. In equation (13), t is subtracted by ε to avoid outputting 0 for w when t is equal to Tmax. We introduce an adaptive weight into equation (13), which will make the velocity update more flexible. At the beginning of the iterations, the individual has a higher speed when the value of the weight is large, which can speed up the search process and improve its global search ability. In contrast, the individual has a lower speed when the value of the weight is smaller in the last stages of the iterations, which can improve its local search capability and ensure the stability of the algorithm.Figure 1
Adaptive weight, which (w) varies with the number of iterations.The optimal position of the bat population is adjusted using random numberXnew=Xold+0.5N0,1+N0,2At, which follows a uniform distribution in the interval [−1, 1]. To enhance the search performance of the algorithm, He et al. [45] introduced Gaussian perturbations into the standard BA, instead of a uniform distribution. Inspired by Chellapilla et al. [46], we modify the random disturbance in the standard BA into a linear combination of two standard Gaussian distributions as follows:(15)Xnew=Xold+0.5N0,1+N0,2At,where N0,1 is a random number drawn from a distribution with zero mean and a standard deviation of one; N0,2 is a random number drawn from a Gaussian distribution with zero mean and a standard deviation of two. Figure 2 shows the probability density function (PDF) of the linear combination. Two standard Gaussian PDFs are also plotted for comparison. For analysis, based on Figure 2, the range of x-axis is split into two categories, around the mean (−1.8–1.8) and far from the mean (<−1.8, or >1.8). In comparison with N (0, 1), this linear combination generates fewer random numbers around the mean. In comparison with N (0, 2), the linear combination generates fewer random numbers far from the mean. Thus, the linear combination can achieve better disturbance performance and avoid allowing an individual falling into local optima.Figure 2
PDF of the linear combination in comparison with two standard Gaussian PDFs.


### 3.3. Improved Local Search Algorithm

The standard BA will fall into the local optima during the iterations. To solve this issue, we propose an improved local search algorithm (ILSA). The basic principle of ILSA is to find the exact optimal solution according to multiple fitness values. ILSA operates as follows:Step 1.
Generate the neighborhood set of the best positionX∗ using the following equation:(16)N:X∗⟶rand∗X∗,whererand is a random number in the range of [0, 1]. We obtain a neighborhood set NX∗=X1∗,X2∗ from equation (16). We also assume that X1∗<X2∗.Step 2.
Calculate the fitness valuefX1∗ of X∗=X1∗ according to the objective function fX1∗<fX∗.Step 3.
IffX1∗<fX∗, the current optimal solution is X∗=X1∗, fX∗=fX1∗; otherwise, select mixkt from NX∗ and calculate its fitness value fX2∗. If fX2∗<fX∗, the current optimal solution is X∗=X2∗, fX∗=fX2∗.Step 4.
Output the best solutionX∗ and stop the search.
In terms of the optimal algorithm, there exists a certain specific operator in the iterations whose performance is superior than other operators [47]. Therefore, the global search capability of the algorithm can be further improved by selecting the appropriate operators at different times. In this paper, we propose an optimal operator selection strategy for the velocity update. The main idea is to update the velocity by selecting the appropriate operator and further improve the exploration ability of the algorithm. The selection strategy determines whether the IBA can jump out of the local optima. If the IBA can jump out the local optima, we randomly select other operators. Otherwise, we select the current operator.
Based on the above idea, equation (14) can be modified as follows:(17)Vit+1=wVit+mixkt,where mixkt represents the kth velocity update operator.
In this paper, we select the following three velocity update operators:(1)
An operator based on the standard BA [48]:(18)Xit−X∗fi.(2)
An operator based on chaotic BA [27]:(19)Xit−X∗CMifi,(20)fi=fmin+fmax−fminCMi,whereCMi is the generic name of chaotic maps consisting of some map functions.(3)
An operator based on an improved BA [49]:(21)Xit−Wtfi,where Wt is the worst position.
We present the pseudocode of the IBA in Algorithm2.Algorithm 2: IBA.
(1)
Define the objective functionfX,X=x1,x2,…,xDT;(2)
Initialize positionXi and velocity Vi, i=1,2,…,M;(3)
Initialize pulse ratesri and loudness Ai;(4)
Deﬁne pulse frequencyfi of the ith bat and in the range between fmin and fmax;(5)
Evaluate all the elements in the population by objective functionf (X);(6)
Initialize the number of iterationt = 1;(7)
while (t < max number of iterations N)(8)
For each bat(9)
If ILSA jump out of the local optima(10)
Select other velocity update operators randomly and update velocities (equations (17)–(21));(11)
Else(12)
Select the current velocity update operator, update velocities (equations (17)–(21));(13)
End if(14)
Update the locations/solutions (equation (4));(15)
Ifrand>ri(16)
Select a solution from the best solutions;(17)
Generate a local solution around the best solution (equation (5));(18)
End if(19)
Ifrand<Ai&fXi<fX∗(20)
Accept the new solutions;(21)
Update the fitness;(22)
Update the pulse rateri and loudness Ai (equations (6) and (7));(23)
End if(24)
End for(25)
Obtain the disturbed solutionsX1∗,X2∗ (equation (16));(26)
IffX1∗<fX∗(27)
X∗=X1∗;(28)
Else(29)
IffX2∗<fX∗(30)
X∗=X2∗;(31)
End if(32)
End if(33)
Rank the bats and find the current bestX∗;(34)
t = t+1(35)
End while(36)
Postprocess results and visualization;


## 3.1. Constraint-Handling Technique-Based Method

For the constrained nonlinear programming problem (CNLPP), the penalty method is a common method, whose core idea is to transform the constrained problem into unconstrained problem with penalty function. In general, for the metaheuristic algorithm, the equality constraint in equation (1) can be modified as follows:(8)hqx−δ≤0q=k+1,k+2,…,k+p,where δ is a plus tolerance number to equality constraints. Therefore, we define the following penalty function:(9)Glx=max0,glx,l=1,2,…k,max0,hlx−δ,l=k+1,k+2,…,k+p.We define the new objective function according to equation (1):(10)Πx,λ=fx+∑l=1k+pλGlx,where λ is a penalty parameter. Then, the new objective function can be further expressed as(11)Πx,μe,νj=fx+∑e=1k+pμeϕe2x+∑j=1k+pνjψj2x,where φe and ψj denote inequality constraints and equality constraints, respectively, and μe and vj denote the penalty parameters of inequality constraints and equality constraints. The value of the penalty parameter should be taken as large as possible depending on the solution quality needed. From the above analysis, we can see that when the equality constraints are satisfied, the effect of μe to objective function is zero. However, when the equality constraints are not satisfied, μe is heavily penalized as it significantly increases. Similarly, it is the same with the penalty parameter vj for the case of inequality constraints.When BA is used to solve the CNLPPs, its searching mechanism can be expressed as the following optimization problem:(12)minfXs.t.X∈RD,where fx is fitness function and RD denotes the searching space of BA. Suppose position Xi=xi,1,xi,2,…,xi,D is a feasible solution. In initialization, the bat individuals are generated randomly in a searching space. The bat parameters, including pulse frequency, velocity, and position, are updated according to equations (2)–(4). It can be seen from equations (2)–(4) that the velocity Vi and position Xi are updated according to the randomly generated pulse frequency fi. After the update, BA searches the local-optimal solution according to the average loudness of all bats in a random manner, as shown in equation (5). It needs to be noted that the local search is carried out with the pulse rate ri. The local search will be conducted if the random number is greater than ri. From equation (5), we can see that the range of local search is dependent on the average loudness. Then, if the random number is lower than Ai and the value of current solution is lower than the value the optimal solution, the new solution will be accepted according to the rules of the feasible solution. The loudness and pulse rate are updated according to equations (6) and (7).Similar to [41], the feasibility-based rules for BA can be defined as follows: (1) any feasible solution is superior to any infeasible solution. (2) Between two feasible solutions, the one having a better objective function value is preferred. (3) Between two infeasible solutions, the one having a smaller constraint value is preferred. To summarize, these rules are to choose a solution that lies closer to the feasible region.According to the above description, we present the pseudocode of BA in Algorithm1.Algorithm 1: BA.
(1)
Initialize positionXi and velocity Vi, i=1,2,…,M;(2)
Initialize pulse ratesri and loudness Ai;(3)
Deﬁne pulse frequencyfi of the ith bat and in the range between fmin and fmax;(4)
Evaluate all the elements in the population by objective functionf (X) and the constraint value of each bat by the constrained functions.(5)
Initialize the number of iterationt = 1;(6)
while (t < max number of iterations N)(7)
For each bat(8)
Update the locations/solutions (equation (4));(9)
Ifrand>ri(10)
Select a solution from the best solutions;(11)
Generate a local solution around the best solution (equation (5));(12)
End if(13)
Evaluate the fitness values and constraint values of the offspring(14)
Ifrand<Ai&fXi<fX∗(15)
Accept the new solutions as the feasibility-based rules;(16)
Update the fitness;(17)
Update the pulse rateri and loudness Ai (equations (6) and (7));(18)
End if(19)
End for(20)
Rank the bats and find the current bestX∗;(21)
t = t+1(22)
End while(23)
Postprocess results and visualization;


## 3.2. Parameter Improvement

It is generally known that a suitable value for the inertia weight provides a balance between the global and local exploration ability of the algorithm. Shi and Eberhart [42] pointed out that a better performance would be obtained if the inertia weight was chosen a time varying, linearly decreasing quantity. It was inferred that the system should start with a high inertia weight for global exploration and this weight should decrease to facilitate finer local explorations in later iterations. The concave model [43], as a nonlinear model can meet these requirements for inertia weight. However, the inertia weight generated by a concave function will greatly accelerate the convergence rate, which tends to make the algorithm fall into local optima. Inspired by Kentzoglanakis and Poole [44], we define an adaptive weight w as follows, with the help of the sine function:(13)w=1−sinπ−π∗t2∗Tmax,t<Tmax,1−sinπ−π∗t−ε2∗Tmax,t=Tmax,where ε⟶0+. We then modify the velocity update equation as follows to solve this issue:(14)Vit+1=wVit+Xit+X∗fi.Figure1 shows how the values of w vary with time t. It can be seen from Figure 1 that the values of w tend to decrease as the number of iterations increases. In equation (13), t is subtracted by ε to avoid outputting 0 for w when t is equal to Tmax. We introduce an adaptive weight into equation (13), which will make the velocity update more flexible. At the beginning of the iterations, the individual has a higher speed when the value of the weight is large, which can speed up the search process and improve its global search ability. In contrast, the individual has a lower speed when the value of the weight is smaller in the last stages of the iterations, which can improve its local search capability and ensure the stability of the algorithm.Figure 1
Adaptive weight, which (w) varies with the number of iterations.The optimal position of the bat population is adjusted using random numberXnew=Xold+0.5N0,1+N0,2At, which follows a uniform distribution in the interval [−1, 1]. To enhance the search performance of the algorithm, He et al. [45] introduced Gaussian perturbations into the standard BA, instead of a uniform distribution. Inspired by Chellapilla et al. [46], we modify the random disturbance in the standard BA into a linear combination of two standard Gaussian distributions as follows:(15)Xnew=Xold+0.5N0,1+N0,2At,where N0,1 is a random number drawn from a distribution with zero mean and a standard deviation of one; N0,2 is a random number drawn from a Gaussian distribution with zero mean and a standard deviation of two. Figure 2 shows the probability density function (PDF) of the linear combination. Two standard Gaussian PDFs are also plotted for comparison. For analysis, based on Figure 2, the range of x-axis is split into two categories, around the mean (−1.8–1.8) and far from the mean (<−1.8, or >1.8). In comparison with N (0, 1), this linear combination generates fewer random numbers around the mean. In comparison with N (0, 2), the linear combination generates fewer random numbers far from the mean. Thus, the linear combination can achieve better disturbance performance and avoid allowing an individual falling into local optima.Figure 2
PDF of the linear combination in comparison with two standard Gaussian PDFs.


## 3.3. Improved Local Search Algorithm

The standard BA will fall into the local optima during the iterations. To solve this issue, we propose an improved local search algorithm (ILSA). The basic principle of ILSA is to find the exact optimal solution according to multiple fitness values. ILSA operates as follows:Step 1.
Generate the neighborhood set of the best positionX∗ using the following equation:(16)N:X∗⟶rand∗X∗,whererand is a random number in the range of [0, 1]. We obtain a neighborhood set NX∗=X1∗,X2∗ from equation (16). We also assume that X1∗<X2∗.Step 2.
Calculate the fitness valuefX1∗ of X∗=X1∗ according to the objective function fX1∗<fX∗.Step 3.
IffX1∗<fX∗, the current optimal solution is X∗=X1∗, fX∗=fX1∗; otherwise, select mixkt from NX∗ and calculate its fitness value fX2∗. If fX2∗<fX∗, the current optimal solution is X∗=X2∗, fX∗=fX2∗.Step 4.
Output the best solutionX∗ and stop the search.
In terms of the optimal algorithm, there exists a certain specific operator in the iterations whose performance is superior than other operators [47]. Therefore, the global search capability of the algorithm can be further improved by selecting the appropriate operators at different times. In this paper, we propose an optimal operator selection strategy for the velocity update. The main idea is to update the velocity by selecting the appropriate operator and further improve the exploration ability of the algorithm. The selection strategy determines whether the IBA can jump out of the local optima. If the IBA can jump out the local optima, we randomly select other operators. Otherwise, we select the current operator.
Based on the above idea, equation (14) can be modified as follows:(17)Vit+1=wVit+mixkt,where mixkt represents the kth velocity update operator.
In this paper, we select the following three velocity update operators:(1)
An operator based on the standard BA [48]:(18)Xit−X∗fi.(2)
An operator based on chaotic BA [27]:(19)Xit−X∗CMifi,(20)fi=fmin+fmax−fminCMi,whereCMi is the generic name of chaotic maps consisting of some map functions.(3)
An operator based on an improved BA [49]:(21)Xit−Wtfi,where Wt is the worst position.
We present the pseudocode of the IBA in Algorithm2.Algorithm 2: IBA.
(1)
Define the objective functionfX,X=x1,x2,…,xDT;(2)
Initialize positionXi and velocity Vi, i=1,2,…,M;(3)
Initialize pulse ratesri and loudness Ai;(4)
Deﬁne pulse frequencyfi of the ith bat and in the range between fmin and fmax;(5)
Evaluate all the elements in the population by objective functionf (X);(6)
Initialize the number of iterationt = 1;(7)
while (t < max number of iterations N)(8)
For each bat(9)
If ILSA jump out of the local optima(10)
Select other velocity update operators randomly and update velocities (equations (17)–(21));(11)
Else(12)
Select the current velocity update operator, update velocities (equations (17)–(21));(13)
End if(14)
Update the locations/solutions (equation (4));(15)
Ifrand>ri(16)
Select a solution from the best solutions;(17)
Generate a local solution around the best solution (equation (5));(18)
End if(19)
Ifrand<Ai&fXi<fX∗(20)
Accept the new solutions;(21)
Update the fitness;(22)
Update the pulse rateri and loudness Ai (equations (6) and (7));(23)
End if(24)
End for(25)
Obtain the disturbed solutionsX1∗,X2∗ (equation (16));(26)
IffX1∗<fX∗(27)
X∗=X1∗;(28)
Else(29)
IffX2∗<fX∗(30)
X∗=X2∗;(31)
End if(32)
End if(33)
Rank the bats and find the current bestX∗;(34)
t = t+1(35)
End while(36)
Postprocess results and visualization;


## 4. Convergence Analysis of IBA

IBA is a stochastic optimization algorithm just like other heuristic optimization algorithms [50]. In this section, we give the global convergence proof of the IBA based on the convergence criteria of stochastic algorithms [51]. We first introduce the definition and theorem and then prove the global convergence of IBA.


### 4.1. Definition of IBA

Definition 1.
State and state space of IBA:X is the state of bat and L represents the feasible solution space, denoted as X∈L.ψ indicates the state of IBA consists of all bats, denoted as ψ=X1,X2,…,XN. Furthermore, S is the state space of IBA, denoted as S=ψ1,ψ2,…,ψN.Definition 2.
State of IBA transition probability: in IBA, the process of changing from one stateXi to another state Xj is defined as the state transition of a bat, denoted as EψXi=Xj. The probability equation is defined as(22)PESψi=ψj=PEψXi=Xj.Lemma 1.
(see [52]). In probability space, z denotes the existing solution of the random algorithm, D represents the operator of generating solution by the algorithm, and ζ indicates the generating solution of the random algorithm. For the objective function f, if fDz,ζ≤fz, then the inequality can be expressed as follows:(23)fDz,ζ≤fζ.Lemma 2.
(see [52]). For any Borel set in the domain S of an objective function, if LA>0, the formula is shown as follows:(24)∏k=0+∞1−μkA=0,where LA is the Lebesgue measure of set A and μkA is the probability of generating set A.Lemma 3.
(see [52]). The necessary and sufficient conditions for global convergence of the IBA are that pkk=1+∞ is the optimal sequence of locations, and Lemmas 1 and 2 are both simultaneously satisfied.


### 4.2. Convergence Analysis of IBA

Theorem 1.
IBA satisfies Lemma1.Proof.
In every iteration of ILSA, the current optimal solutionXold is perturbed, the best solution X∗ is disturbed, and the acceptance criterion is used. For this reason, IBA obtains the best solution in every iteration and Theorem 1 is proved.Definition 4.
The optimal state set isB=ψ∗=X1,X2,…,XNfXN=fb∗,ψ∗∈S, where b∗ is the optimal solution B⊂L.Theorem 2.
B is a closed set in IBA.Proof.
∀ψi∈B, ∀ψj∉B, and the transition probability from state ψi to ψj after the MthM≥1 step is as follows:(25)PMTSψi=ψj=∏k=1MPTSψi=ψj−k+1.
The state transition probability of IBA is shown as follows:(26)PTSψi=ψj−i+1=∏m=1NPTψXim=Xj−l+1,m.
∀ψi∈B, ∀ψj∉B, and ∃ψj−k+1∉B1≤k≤M in the Mth iteration, and then fXj−k+1≤fXj−k=fb∗. From the acceptance criterion of ILSA, we have PTSψj−k=ψj−k+1=0, PMTSψi=ψj=0, and hence, Theorem 2 is proved.Theorem 3.
The nonempty closed setG does not exist in state space S.Proof.
We make the following assumption: a nonempty closed setE exists in the state space S. Let ψi∗=bi1∗,bi2∗,…,bic∗∈B, ψj=Xj1,Xj2,…,Xjn∈E, then fζjn≤fbic∗, then it has PMTSψj=ψj∗>0. As we can see from Theorem 2, E is not a closed set, which is a contradiction with Lemma 3. Theorem 3 is proved, which gives us G∩B=Φ.Theorem 4.
The state of IBA becomes optimal state setB as the iteration times tend to infinity.Proof.
As can be seen from Theorems2 and 3, state space S is not composed of closed sets, which is beyond the optimal state set B. If ζj∉B, we have limn⟶∞PTSXn=Xj=0. Therefore, optimal state set B includes the state of IBA, and Theorem 4 is proved.Theorem 5.
IBA satisfies Lemma2.Proof.
As we can see from Theorem4, when the number of iterations approaches infinity, the probability that the globally optimum solution is searched becomes 1 and 0<μkG<1; then, ∏k=0∞1−μkG=0, where G is the best state set B. Therefore, Theorem 2 is proved.
Based on the above theoretical analyses, it can be concluded that Lemmas1 and 2 can be satisfied at the same time and IBA is globally convergent.


## 4.1. Definition of IBA

Definition 1.
State and state space of IBA:X is the state of bat and L represents the feasible solution space, denoted as X∈L.ψ indicates the state of IBA consists of all bats, denoted as ψ=X1,X2,…,XN. Furthermore, S is the state space of IBA, denoted as S=ψ1,ψ2,…,ψN.Definition 2.
State of IBA transition probability: in IBA, the process of changing from one stateXi to another state Xj is defined as the state transition of a bat, denoted as EψXi=Xj. The probability equation is defined as(22)PESψi=ψj=PEψXi=Xj.Lemma 1.
(see [52]). In probability space, z denotes the existing solution of the random algorithm, D represents the operator of generating solution by the algorithm, and ζ indicates the generating solution of the random algorithm. For the objective function f, if fDz,ζ≤fz, then the inequality can be expressed as follows:(23)fDz,ζ≤fζ.Lemma 2.
(see [52]). For any Borel set in the domain S of an objective function, if LA>0, the formula is shown as follows:(24)∏k=0+∞1−μkA=0,where LA is the Lebesgue measure of set A and μkA is the probability of generating set A.Lemma 3.
(see [52]). The necessary and sufficient conditions for global convergence of the IBA are that pkk=1+∞ is the optimal sequence of locations, and Lemmas 1 and 2 are both simultaneously satisfied.


## 4.2. Convergence Analysis of IBA

Theorem 1.
IBA satisfies Lemma1.Proof.
In every iteration of ILSA, the current optimal solutionXold is perturbed, the best solution X∗ is disturbed, and the acceptance criterion is used. For this reason, IBA obtains the best solution in every iteration and Theorem 1 is proved.Definition 4.
The optimal state set isB=ψ∗=X1,X2,…,XNfXN=fb∗,ψ∗∈S, where b∗ is the optimal solution B⊂L.Theorem 2.
B is a closed set in IBA.Proof.
∀ψi∈B, ∀ψj∉B, and the transition probability from state ψi to ψj after the MthM≥1 step is as follows:(25)PMTSψi=ψj=∏k=1MPTSψi=ψj−k+1.
The state transition probability of IBA is shown as follows:(26)PTSψi=ψj−i+1=∏m=1NPTψXim=Xj−l+1,m.
∀ψi∈B, ∀ψj∉B, and ∃ψj−k+1∉B1≤k≤M in the Mth iteration, and then fXj−k+1≤fXj−k=fb∗. From the acceptance criterion of ILSA, we have PTSψj−k=ψj−k+1=0, PMTSψi=ψj=0, and hence, Theorem 2 is proved.Theorem 3.
The nonempty closed setG does not exist in state space S.Proof.
We make the following assumption: a nonempty closed setE exists in the state space S. Let ψi∗=bi1∗,bi2∗,…,bic∗∈B, ψj=Xj1,Xj2,…,Xjn∈E, then fζjn≤fbic∗, then it has PMTSψj=ψj∗>0. As we can see from Theorem 2, E is not a closed set, which is a contradiction with Lemma 3. Theorem 3 is proved, which gives us G∩B=Φ.Theorem 4.
The state of IBA becomes optimal state setB as the iteration times tend to infinity.Proof.
As can be seen from Theorems2 and 3, state space S is not composed of closed sets, which is beyond the optimal state set B. If ζj∉B, we have limn⟶∞PTSXn=Xj=0. Therefore, optimal state set B includes the state of IBA, and Theorem 4 is proved.Theorem 5.
IBA satisfies Lemma2.Proof.
As we can see from Theorem4, when the number of iterations approaches infinity, the probability that the globally optimum solution is searched becomes 1 and 0<μkG<1; then, ∏k=0∞1−μkG=0, where G is the best state set B. Therefore, Theorem 2 is proved.
Based on the above theoretical analyses, it can be concluded that Lemmas1 and 2 can be satisfied at the same time and IBA is globally convergent.


## 5. Simulation Results

In this section, we will prove the superiority of the algorithm on CECE2013 benchmark function compared with other algorithms. It should be noted that the proposed algorithm is applied to solve the unconstrained optimization problem and cannot handle constrained optimization problem. Firstly, CEC2013 benchmark functions and parameter settings are introduced. After that, simulations were carried out.


### 5.1. CEC2013 Function and Algorithm Parameter Setting

Simulation on the CEC2013 benchmark set was done to evaluate the performance of the proposed IBA. The test set consists of three groups:(i)
F1–F5 are unimodal functions(ii)
F6–F20 are multipeak functions(iii)
F21–F28 are compound functionsThe simulations were undertaken in MATLAB 2016a/Simulink (2016a, MathWorks, Natick, MA, USA).We compare IBA with the following eight algorithms:(i)
Bat algorithm (BA) [22](ii)
Chaotic bat algorithm (CBA) [26](iii)
Bat algorithm with Lévy distribution (LBA) [29](iv)
Fractional Lévy flight bat algorithm (FLFBA) for global optimizations [30](v)
Oriented cuckoo search (OCS) [5](vi)
IBA without the integration strategy (IBA-1)(vii)
IBA without the Gaussian function (IBA-2)(viii)
IBA without the adaptive weight (IBA-3)Table3 shows the parameter settings for the nine algorithms according to the CEC2013 benchmark [53]. Note that the parameters of the algorithms are not optimized. As can be seen from Table 3, each algorithm is terminated when the number of iterations reaches 3,000.Table 3
Parameter settings.
The size of bat populationM100Frequency range[0, 5]Initial loudness0.95Initial pulse0.9Parameterα0.99Parameterγ0.9Location range−100,100DNumber of runs51Problem dimensionD30Max number of iterationsN3000In our algorithm, we used the following indicators to evaluate the experimental results:(27)error=∑i=151Fi51−Fvalue,where Fi is the ith solution and Fvalue is the actual solution set of the benchmark function. In the following experiments, we take the average solution of each algorithm over the 51 trial runs, where the value of 51 is set according to the CEC2013 benchmark.


### 5.2. Comparison of the IBA with Other Algorithms

The average error in equation (27) obtained by the evaluated algorithms on different test functions is shown in Table 4. On the last line of Table 4, w denotes the number of times IBA performs better than other algorithms, t refers to the number of times IBA performs similar to the other algorithms, and l indicates the number of times IBA performs worse than the other algorithms. In addition, the best results in Table 4 are presented in bold.Table 4
Comparison of the average error obtained by the IBA and other algorithms.
FunctionBACBALBAFLFBAOCSIBA-1IBA-2IBA-3IBAF11.96E + 022.30E + 008.25E − 013.59E − 014.51E − 051.26E + 012.29E − 048.82E + 013.26E − 05F23.69E + 064.47E + 063.54E + 062.21E + 063.17E + 053.66E + 055.56E + 032.21E + 062.26E + 03F33.44E + 086.71E + 084.78E + 083.46E + 089.96E + 063.12E + 076.89E + 063.22E + 085.53E + 06F43.20E + 043.10E + 041.45E + 046.13E + 037.53E + 033.11E + 049.11E − 011.90E + 048.60E − 02F55.86E − 011.73E + 004.74E − 011.36E − 014.26E − 012.71E − 011.43E − 024.32E − 011.31E − 02F65.63E + 016.28E + 015.07E + 014.52E + 015.79E + 014.11E + 011.22E + 015.01E + 011.12E + 01F72.16E + 022.31E + 021.77E + 021.62E + 022.07E + 022.11E + 022.01E + 022.02E + 021.01E + 02F82.09E + 012.10E + 012.09E + 012.10E + 012.10E + 012.09E + 012.09E + 012.09E + 012.09E + 01F93.57E + 013.51E + 013.40E + 013.59E + 012.79E + 013.47E + 013.03E + 013.11E + 012.65E + 01F101.32E + 001.48E + 001.23E + 001.05E + 001.40E − 011.03E + 016.95E − 019.89E − 17.50E − 02F114.07E + 024.27E + 021.49E + 023.18E + 016.83E + 023.78E + 026.91E + 015.99E + 026.23E + 01F124.06E + 024.30E + 027.42E + 027.17E + 023.07E + 023.77E + 023.45E + 023.96E + 022.23E + 02F134.37E + 024.36E + 025.59E + 025.10E + 023.84E + 023.23E + 022.89E + 023.66E + 022.26E + 02F144.78E + 032.62E + 033.17E + 031.14E + 032.39E + 034.01E + 034.24E + 034.51E + 034.23E + 03F154.89E + 033.87E + 034.76E + 034.79E + 033.55E + 034.87E + 034.46E + 034.71E + 034.43E + 03F162.16E + 006.06E − 011.33E + 001.53E + 001.65E + 002.11E + 008.99E − 012.12E + 003.40E − 01F178.92E + 022.73E + 023.36E + 021.62E + 021.61E + 028.88E + 021.98E + 028.56E + 021.71E + 02F189.44E + 022.61E + 023.28E + 023.31E + 021.86E + 027.98E + 021.66E + 027.76E + 021.40E + 02F196.07E + 014.35E + 011.89E + 011.26E + 017.38E + 015.56E + 01523E + 006.01E + 017.02E + 00F201.44E + 011.44E + 011.47E + 011.48E + 011.19E + 011.34E + 011.26E + 011.41E + 011.25E + 01F213.38E + 023.27E + 023.22E + 023.03E + 023.39E + 023.38E + 023.34E + 023.37E + 023.33E + 02F225.94E + 033.15E + 033.32E + 031.20E + 032.81E + 035.91E + 035.61E + 035.88E + 035.48E + 03F235.77E + 035.03E + 036.03E + 035.81E + 036.10E + 035.72E + 035.59E + 035.73E + 035.55E + 03F243.15E + 022.92E + 023.22E + 023.23E + 022.97E + 023.13E + 022.96E + 023.03E + 022.93E + 02F253.49E + 023.32E + 023.53E + 023.52E + 023.01E + 023.32E + 023.28E + 023.39E + 023.25E + 02F262.00E + 022.83E + 023.54E + 023.35E + 022.55E + 022.01E + 022.03E + 022.00E + 022.02E + 02F271.28E + 031.19E + 031.33E + 031.34E + 031.84E + 031.25E + 031.20E + 031.21E + 031.12E + 03F283.42E + 032.89E + 034.68E + 034.34E + 033.45E + 033.39E + 032.26E + 033.34E + 032.23E + 03w/t/l26/1/122/0/624/1/323/0/522/0/625/1/227/1/026/1/1As shown in Table4, IBA outperformed other algorithms on 26, 22, 24, 23, 21, 25, 27, and 26 functions when compared with BA, CBA, LBA, FLFBA, OCS, IBA-1, IBA-2, and IBA-3, respectively. BA performers the worst. Compared with the IBA, CBA, and LBA, FLFBA has better performance on functions F14, F21, and F22, respectively. Therefore, we conclude that the IBA can find effective solutions on most of the benchmark test functions.Figure3 shows the results of the convergence for different test functions. As is clear in the figure, the proposed IBA performs well in terms of convergence in most cases. However, the IBA performs poorly compared with other algorithms on functions F3, F5, F6, F7, F14, F15, and F18. This is because a suboptimal strategy was selected that made the algorithm fall into a local optimum. It can be seen clearly from Figure 3 that the convergence rate of the IBA is faster than that of OCS on most functions.Figure 3
Convergence curves of different algorithms on the CEC2013 benchmark set. (a) F1, (b) F2, (c) F3, (d) F4, (e) F5, (f) F6, (g) F7, (h) F8, (i) F9, (j) F10, (k) F11, (l) F12, (m) F13, (n) F14, (o) F15, (p) F16, (q) F17, (r) F18, (s) F19, (t) F20, (u) F21, (v) F22, (w) F23, (x) F24, (y) F25, (z) F26, (aa) F27, and (ab) F28.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)(aa)(ab)The performance of IBA-2 is superior to those of IBA-1 and IBA-3 on most functions, which indicates that the Gaussian distribution has little impact on the algorithm accuracy, but it can accelerate the convergence rate of the IBA. IBA-1 converges more slowly than IBA-3 on most functions, which indicates that the integration strategy can improve accuracy. In terms of search accuracy and convergence, the performances of IBA-1 and IBA-2 are superior to that of the BA, which means that the adaptive weight can improve the stability and search speed of the IBA. From these results, it can be concluded that the IBA has high accuracy and better convergence rate than the original BA algorithm.The results of the Friedman test [52, 54] can be seen in Table 5. Smaller rank values indicate better performance of the algorithm. Compared with the other eight algorithms, IBA has the smallest rank. Thus, we can come to the conclusion that the IBA is the best algorithm among the nine methods.Table 5
Friedman test results of nine algorithms.
AlgorithmRankBA7.18CBA5.43LBA6.05FLFBA5.34OCS4.57IBA-15.55IBA-23.45IBA-35.48IBA1.95The results of the Wilcoxon test [55] are shown in Table 6, for BA, CBA, LBA, FLFBA, OCS, IBA-1, IBA-2, and IBA-3, p<0.05. As Table 6 shows, IBA performs better than the other four algorithms.Table 6
Wilcoxon test of five algorithms.
IBA VSp valueBA0CBA0.023LBA0.001FLFBA0.006OCS0.016IBA-10IBA-20IBA-30To evaluate the performance of the proposed algorithm and related algorithms at different numbers of high dimensions, scaling simulations were performed on the CEC2008 benchmark set. The parameter settings of the algorithms are the same as in Table3. The results of IBA and the other algorithms in different dimensions are compared in Tables 7 and 8.Table 7
Comparison of the average error obtained with IBA and the other algorithms on the CEC2008 benchmark (100 dimensions).
FunctionBACBALBAFLBAOCSIBA16.79E + 006.55E + 021.04E + 015.66E + 001.55E + 011.56E − 1328.21E + 017.66E + 015.36E + 018.45E + 016.15E + 016.12E + 0133.59E + 033.51E + 036.07E + 036.33E + 031.71E + 062.26E + 0241.51E + 037.85E + 021.06E + 031.13E + 037.27E + 025.11E + 0251.42E + 034.57E + 021.25E − 018.88E + 002.12E + 005.11E − 0362.07E + 011.49E + 013.5E + 011.78E + 011.95E + 015.02E + 007−8.53E + 02−8.55E + 02−8.96E + 02−9.32E + 02−1.06E + 03−1.28E + 03w/t/l7/0/07/0/06/0/17/0/07/0/0Table 8
Comparison of the average error obtained with IBA and the other algorithms on the CEC2008 benchmark (1000 dimensions).
FunctionBACBALBAFLBAOCSIBA11.13E + 061.86E + 065.76E + 031.56E + 055.66E + 017.72E − 0721.42E + 021.23E + 021.28E + 021.45E + 021.25E + 021.11E + 0131.55E + 113.11E + 115.25E + 074.87E + 093.56E + 063.61E + 0341.99E + 049.86E + 031.77E + 041.69E + 047.25E + 038.12E + 0353.62E + 041.55E + 044.51E + 027.33E + 033.26E + 033.47E − 0362.41E + 011.99E + 012.11E + 012.33E + 012.36E + 011.89E + 017−6.63E + 03−7.55E + 03−7.12E + 03−7.29E + 03−7.56E + 03−1.28E + 04w/t/l7/0/07/0/07/0/07/0/06/0/1Figures4 and 5 show the results of the convergence for different test functions. As is clear from the figure, the proposed IBA performs well in terms of convergence in most cases, although it performs poorly in some functions.Figure 4
Convergence curves of different algorithms on the CEC2008 benchmark (100 dimensions): (a) F1, (b) F2, (c) F3, (d) F4, (e) F5, (f) F6, and (g) F7.
(a)(b)(c)(d)(e)(f)(g)Figure 5
Convergence curves of different algorithms on the CEC2008 benchmark (1,000 dimensions): (a) F1, (b) F2, (c) F3, (d) F4, (e) F6, (f) F7, and (g) F7.
(a)(b)(c)(d)(e)(f)(g)As it can be seen from Tables6 and 7, as the dimensions of the functions increase, the performances of all algorithms decrease. However, IBA performs better than the other algorithms for most of the functions. IBA had better results for six functions (F1, F3, F4, F5, F6, and F7) in 100 dimensions and for six functions (F1, F2, F3, F5, F6, and F7) in 1,000 dimensions.The above results show that the IBA is superior to the algorithms at different numbers of high dimensions.The results of the Friedman test are listed in Table9 for different dimensions. Compared with the other five algorithms, IBA has the smallest ranking value. Thus, we can conclude that the IBA is the best algorithm of the six methods.Table 9
Friedman test results of six algorithms.
100 dimensions1000 dimensionsAlgorithmsRankingsRankingsBA4.865.57CBA3.864.14LBA3.573.86FLBA4.004.43OCS3.571.86IBA1.141.14The results of the Wilcoxon test are listed in Table10 for different dimensions. As can be seen in Table 10, IBA performs better than the other five algorithms.Table 10
Wilcoxon test of six algorithms.
100 dimensions1000 dimensionsIBA vsp valuep valueBA0.0180.008CBA0.0180.008LBA0.0430.008FLBA0.0180.018OCS0.0180.091


### 5.3. Comparison on Two Real-World Application Problems

To test the feasibility and performance of IBA on real-world applications, we chose two problems from the real world [56]: the design of a gear train [57] and parameter estimation for frequency-modulated (FM) sound waves [58]. We compared the IBA with the following ten algorithms:(i)
Social learning PSO (SLPSO) [56](ii)
Adaptive PSO (APSO) [59](iii)
Comprehensive learning PSO (CLPSO) [60](iv)
Cooperative approach to PSO (CPSOH) [61](v)
Fully informed particle swarm (FIPS) [62](vi)
Supervised PSO (SPSO) [63](vii)
Adaptive differential evolution with optional external archive (JADE) [64](viii)
Global and local real-coded genetic algorithm (HRCGA) [65](ix)
Frankenstein’s PSO (FPSO) [66](x)
Restart CMA evolution strategy with increasing population size (G-CMA-ES) [67]The first problem is to optimize the gear ratio for a compound gear train that contains three gears. The function of the problem is as follows:(28)fx=16.931−x1x2x2x32,where xj∈12,60, j=1,2,3,4.The second problem is to estimate the parameters of an FM synthesizer. The components of the parameters vector are as follows:X=a1,w1,a2,w2,a3,w3, and the expressions for the estimated target sound waves are shown as follows:(29)yt=a1⋅sinw1⋅t⋅θ+a2⋅sinw2⋅t⋅θ+a3⋅sinw3⋅t⋅θ,(30)y0t=1.0⋅sin5.0⋅t⋅θ−1.5⋅sin4.8⋅t⋅θ+2.0⋅sin4.9⋅t⋅θ,where θ=2π/100, and the parameters are defined in the range [−6.4, 6.35]. The fitness function is the sum of the squared errors between the estimated wave in equations (29) and (30) as follows:(31)fX⟶=∑t=100100yt−y0t2.A comparison of the performances on two real-world problems is listed in Table11. A set of heuristic algorithms were used for the comparison. The parameter settings of IBA are the same as those listed in Table 3. The IBA and the related algorithms were 30 times for a crucial analysis, where “Min,” “Max,” “Mean,” and “Std” denote the best, worst, mean, and standard deviation values, respectively.Table 11
Comparison on two real-world problems.
Gear ratioEstimation errorIBA7.71E − 322.65E − 242.24E − 256.26E − 25024.7617.625.62SLPSO2.70E − 126.19E − 092.22E − 099.83E − 09013.794.1826.99APSO2.70E − 121.31E − 081.59E − 091.44E − 08034.2211.3341.13CLPSO2.70E − 121.36E − 091.99E − 102.22E − 09014.083.8223.53CPSOH1.54E − 102.02E − 062.80E − 072.33E − 060.0142.5227.0860.61FIPS8.88E − 108.90E − 073.27E − 088.77E − 073.4515.115.9325.75SPSO2.70E − 122.56E − 071.39E − 082.57E − 07018.279.8833.85JADE2.70E − 121.36E − 092.10E − 102.26E − 09013.927.5526.18HRCGA2.70E − 121.18E − 091.53E − 101.88E − 09017.598.4132.54FPSO2.06E − 091.70E − 041.57E − 051.80E − 04015.825.2228.31G-CMA-ES2.70E − 127.32E − 012.44E − 021.31E − 013.32655.0938.7516.77As can be seen from Table11, IBA can easily solve the first real-world problem and obtained the best values. For the second one, the proposed IBA can find the optimal solution and obtained the smallest standard deviation values, which shows that IBA has good ability to find the global optimum when dealing with real-world problems with good stability and is stable.


## 5.1. CEC2013 Function and Algorithm Parameter Setting

Simulation on the CEC2013 benchmark set was done to evaluate the performance of the proposed IBA. The test set consists of three groups:(i)
F1–F5 are unimodal functions(ii)
F6–F20 are multipeak functions(iii)
F21–F28 are compound functionsThe simulations were undertaken in MATLAB 2016a/Simulink (2016a, MathWorks, Natick, MA, USA).We compare IBA with the following eight algorithms:(i)
Bat algorithm (BA) [22](ii)
Chaotic bat algorithm (CBA) [26](iii)
Bat algorithm with Lévy distribution (LBA) [29](iv)
Fractional Lévy flight bat algorithm (FLFBA) for global optimizations [30](v)
Oriented cuckoo search (OCS) [5](vi)
IBA without the integration strategy (IBA-1)(vii)
IBA without the Gaussian function (IBA-2)(viii)
IBA without the adaptive weight (IBA-3)Table3 shows the parameter settings for the nine algorithms according to the CEC2013 benchmark [53]. Note that the parameters of the algorithms are not optimized. As can be seen from Table 3, each algorithm is terminated when the number of iterations reaches 3,000.Table 3
Parameter settings.
The size of bat populationM100Frequency range[0, 5]Initial loudness0.95Initial pulse0.9Parameterα0.99Parameterγ0.9Location range−100,100DNumber of runs51Problem dimensionD30Max number of iterationsN3000In our algorithm, we used the following indicators to evaluate the experimental results:(27)error=∑i=151Fi51−Fvalue,where Fi is the ith solution and Fvalue is the actual solution set of the benchmark function. In the following experiments, we take the average solution of each algorithm over the 51 trial runs, where the value of 51 is set according to the CEC2013 benchmark.


## 5.2. Comparison of the IBA with Other Algorithms

The average error in equation (27) obtained by the evaluated algorithms on different test functions is shown in Table 4. On the last line of Table 4, w denotes the number of times IBA performs better than other algorithms, t refers to the number of times IBA performs similar to the other algorithms, and l indicates the number of times IBA performs worse than the other algorithms. In addition, the best results in Table 4 are presented in bold.Table 4
Comparison of the average error obtained by the IBA and other algorithms.
FunctionBACBALBAFLFBAOCSIBA-1IBA-2IBA-3IBAF11.96E + 022.30E + 008.25E − 013.59E − 014.51E − 051.26E + 012.29E − 048.82E + 013.26E − 05F23.69E + 064.47E + 063.54E + 062.21E + 063.17E + 053.66E + 055.56E + 032.21E + 062.26E + 03F33.44E + 086.71E + 084.78E + 083.46E + 089.96E + 063.12E + 076.89E + 063.22E + 085.53E + 06F43.20E + 043.10E + 041.45E + 046.13E + 037.53E + 033.11E + 049.11E − 011.90E + 048.60E − 02F55.86E − 011.73E + 004.74E − 011.36E − 014.26E − 012.71E − 011.43E − 024.32E − 011.31E − 02F65.63E + 016.28E + 015.07E + 014.52E + 015.79E + 014.11E + 011.22E + 015.01E + 011.12E + 01F72.16E + 022.31E + 021.77E + 021.62E + 022.07E + 022.11E + 022.01E + 022.02E + 021.01E + 02F82.09E + 012.10E + 012.09E + 012.10E + 012.10E + 012.09E + 012.09E + 012.09E + 012.09E + 01F93.57E + 013.51E + 013.40E + 013.59E + 012.79E + 013.47E + 013.03E + 013.11E + 012.65E + 01F101.32E + 001.48E + 001.23E + 001.05E + 001.40E − 011.03E + 016.95E − 019.89E − 17.50E − 02F114.07E + 024.27E + 021.49E + 023.18E + 016.83E + 023.78E + 026.91E + 015.99E + 026.23E + 01F124.06E + 024.30E + 027.42E + 027.17E + 023.07E + 023.77E + 023.45E + 023.96E + 022.23E + 02F134.37E + 024.36E + 025.59E + 025.10E + 023.84E + 023.23E + 022.89E + 023.66E + 022.26E + 02F144.78E + 032.62E + 033.17E + 031.14E + 032.39E + 034.01E + 034.24E + 034.51E + 034.23E + 03F154.89E + 033.87E + 034.76E + 034.79E + 033.55E + 034.87E + 034.46E + 034.71E + 034.43E + 03F162.16E + 006.06E − 011.33E + 001.53E + 001.65E + 002.11E + 008.99E − 012.12E + 003.40E − 01F178.92E + 022.73E + 023.36E + 021.62E + 021.61E + 028.88E + 021.98E + 028.56E + 021.71E + 02F189.44E + 022.61E + 023.28E + 023.31E + 021.86E + 027.98E + 021.66E + 027.76E + 021.40E + 02F196.07E + 014.35E + 011.89E + 011.26E + 017.38E + 015.56E + 01523E + 006.01E + 017.02E + 00F201.44E + 011.44E + 011.47E + 011.48E + 011.19E + 011.34E + 011.26E + 011.41E + 011.25E + 01F213.38E + 023.27E + 023.22E + 023.03E + 023.39E + 023.38E + 023.34E + 023.37E + 023.33E + 02F225.94E + 033.15E + 033.32E + 031.20E + 032.81E + 035.91E + 035.61E + 035.88E + 035.48E + 03F235.77E + 035.03E + 036.03E + 035.81E + 036.10E + 035.72E + 035.59E + 035.73E + 035.55E + 03F243.15E + 022.92E + 023.22E + 023.23E + 022.97E + 023.13E + 022.96E + 023.03E + 022.93E + 02F253.49E + 023.32E + 023.53E + 023.52E + 023.01E + 023.32E + 023.28E + 023.39E + 023.25E + 02F262.00E + 022.83E + 023.54E + 023.35E + 022.55E + 022.01E + 022.03E + 022.00E + 022.02E + 02F271.28E + 031.19E + 031.33E + 031.34E + 031.84E + 031.25E + 031.20E + 031.21E + 031.12E + 03F283.42E + 032.89E + 034.68E + 034.34E + 033.45E + 033.39E + 032.26E + 033.34E + 032.23E + 03w/t/l26/1/122/0/624/1/323/0/522/0/625/1/227/1/026/1/1As shown in Table4, IBA outperformed other algorithms on 26, 22, 24, 23, 21, 25, 27, and 26 functions when compared with BA, CBA, LBA, FLFBA, OCS, IBA-1, IBA-2, and IBA-3, respectively. BA performers the worst. Compared with the IBA, CBA, and LBA, FLFBA has better performance on functions F14, F21, and F22, respectively. Therefore, we conclude that the IBA can find effective solutions on most of the benchmark test functions.Figure3 shows the results of the convergence for different test functions. As is clear in the figure, the proposed IBA performs well in terms of convergence in most cases. However, the IBA performs poorly compared with other algorithms on functions F3, F5, F6, F7, F14, F15, and F18. This is because a suboptimal strategy was selected that made the algorithm fall into a local optimum. It can be seen clearly from Figure 3 that the convergence rate of the IBA is faster than that of OCS on most functions.Figure 3
Convergence curves of different algorithms on the CEC2013 benchmark set. (a) F1, (b) F2, (c) F3, (d) F4, (e) F5, (f) F6, (g) F7, (h) F8, (i) F9, (j) F10, (k) F11, (l) F12, (m) F13, (n) F14, (o) F15, (p) F16, (q) F17, (r) F18, (s) F19, (t) F20, (u) F21, (v) F22, (w) F23, (x) F24, (y) F25, (z) F26, (aa) F27, and (ab) F28.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)(aa)(ab)The performance of IBA-2 is superior to those of IBA-1 and IBA-3 on most functions, which indicates that the Gaussian distribution has little impact on the algorithm accuracy, but it can accelerate the convergence rate of the IBA. IBA-1 converges more slowly than IBA-3 on most functions, which indicates that the integration strategy can improve accuracy. In terms of search accuracy and convergence, the performances of IBA-1 and IBA-2 are superior to that of the BA, which means that the adaptive weight can improve the stability and search speed of the IBA. From these results, it can be concluded that the IBA has high accuracy and better convergence rate than the original BA algorithm.The results of the Friedman test [52, 54] can be seen in Table 5. Smaller rank values indicate better performance of the algorithm. Compared with the other eight algorithms, IBA has the smallest rank. Thus, we can come to the conclusion that the IBA is the best algorithm among the nine methods.Table 5
Friedman test results of nine algorithms.
AlgorithmRankBA7.18CBA5.43LBA6.05FLFBA5.34OCS4.57IBA-15.55IBA-23.45IBA-35.48IBA1.95The results of the Wilcoxon test [55] are shown in Table 6, for BA, CBA, LBA, FLFBA, OCS, IBA-1, IBA-2, and IBA-3, p<0.05. As Table 6 shows, IBA performs better than the other four algorithms.Table 6
Wilcoxon test of five algorithms.
IBA VSp valueBA0CBA0.023LBA0.001FLFBA0.006OCS0.016IBA-10IBA-20IBA-30To evaluate the performance of the proposed algorithm and related algorithms at different numbers of high dimensions, scaling simulations were performed on the CEC2008 benchmark set. The parameter settings of the algorithms are the same as in Table3. The results of IBA and the other algorithms in different dimensions are compared in Tables 7 and 8.Table 7
Comparison of the average error obtained with IBA and the other algorithms on the CEC2008 benchmark (100 dimensions).
FunctionBACBALBAFLBAOCSIBA16.79E + 006.55E + 021.04E + 015.66E + 001.55E + 011.56E − 1328.21E + 017.66E + 015.36E + 018.45E + 016.15E + 016.12E + 0133.59E + 033.51E + 036.07E + 036.33E + 031.71E + 062.26E + 0241.51E + 037.85E + 021.06E + 031.13E + 037.27E + 025.11E + 0251.42E + 034.57E + 021.25E − 018.88E + 002.12E + 005.11E − 0362.07E + 011.49E + 013.5E + 011.78E + 011.95E + 015.02E + 007−8.53E + 02−8.55E + 02−8.96E + 02−9.32E + 02−1.06E + 03−1.28E + 03w/t/l7/0/07/0/06/0/17/0/07/0/0Table 8
Comparison of the average error obtained with IBA and the other algorithms on the CEC2008 benchmark (1000 dimensions).
FunctionBACBALBAFLBAOCSIBA11.13E + 061.86E + 065.76E + 031.56E + 055.66E + 017.72E − 0721.42E + 021.23E + 021.28E + 021.45E + 021.25E + 021.11E + 0131.55E + 113.11E + 115.25E + 074.87E + 093.56E + 063.61E + 0341.99E + 049.86E + 031.77E + 041.69E + 047.25E + 038.12E + 0353.62E + 041.55E + 044.51E + 027.33E + 033.26E + 033.47E − 0362.41E + 011.99E + 012.11E + 012.33E + 012.36E + 011.89E + 017−6.63E + 03−7.55E + 03−7.12E + 03−7.29E + 03−7.56E + 03−1.28E + 04w/t/l7/0/07/0/07/0/07/0/06/0/1Figures4 and 5 show the results of the convergence for different test functions. As is clear from the figure, the proposed IBA performs well in terms of convergence in most cases, although it performs poorly in some functions.Figure 4
Convergence curves of different algorithms on the CEC2008 benchmark (100 dimensions): (a) F1, (b) F2, (c) F3, (d) F4, (e) F5, (f) F6, and (g) F7.
(a)(b)(c)(d)(e)(f)(g)Figure 5
Convergence curves of different algorithms on the CEC2008 benchmark (1,000 dimensions): (a) F1, (b) F2, (c) F3, (d) F4, (e) F6, (f) F7, and (g) F7.
(a)(b)(c)(d)(e)(f)(g)As it can be seen from Tables6 and 7, as the dimensions of the functions increase, the performances of all algorithms decrease. However, IBA performs better than the other algorithms for most of the functions. IBA had better results for six functions (F1, F3, F4, F5, F6, and F7) in 100 dimensions and for six functions (F1, F2, F3, F5, F6, and F7) in 1,000 dimensions.The above results show that the IBA is superior to the algorithms at different numbers of high dimensions.The results of the Friedman test are listed in Table9 for different dimensions. Compared with the other five algorithms, IBA has the smallest ranking value. Thus, we can conclude that the IBA is the best algorithm of the six methods.Table 9
Friedman test results of six algorithms.
100 dimensions1000 dimensionsAlgorithmsRankingsRankingsBA4.865.57CBA3.864.14LBA3.573.86FLBA4.004.43OCS3.571.86IBA1.141.14The results of the Wilcoxon test are listed in Table10 for different dimensions. As can be seen in Table 10, IBA performs better than the other five algorithms.Table 10
Wilcoxon test of six algorithms.
100 dimensions1000 dimensionsIBA vsp valuep valueBA0.0180.008CBA0.0180.008LBA0.0430.008FLBA0.0180.018OCS0.0180.091


## 5.3. Comparison on Two Real-World Application Problems

To test the feasibility and performance of IBA on real-world applications, we chose two problems from the real world [56]: the design of a gear train [57] and parameter estimation for frequency-modulated (FM) sound waves [58]. We compared the IBA with the following ten algorithms:(i)
Social learning PSO (SLPSO) [56](ii)
Adaptive PSO (APSO) [59](iii)
Comprehensive learning PSO (CLPSO) [60](iv)
Cooperative approach to PSO (CPSOH) [61](v)
Fully informed particle swarm (FIPS) [62](vi)
Supervised PSO (SPSO) [63](vii)
Adaptive differential evolution with optional external archive (JADE) [64](viii)
Global and local real-coded genetic algorithm (HRCGA) [65](ix)
Frankenstein’s PSO (FPSO) [66](x)
Restart CMA evolution strategy with increasing population size (G-CMA-ES) [67]The first problem is to optimize the gear ratio for a compound gear train that contains three gears. The function of the problem is as follows:(28)fx=16.931−x1x2x2x32,where xj∈12,60, j=1,2,3,4.The second problem is to estimate the parameters of an FM synthesizer. The components of the parameters vector are as follows:X=a1,w1,a2,w2,a3,w3, and the expressions for the estimated target sound waves are shown as follows:(29)yt=a1⋅sinw1⋅t⋅θ+a2⋅sinw2⋅t⋅θ+a3⋅sinw3⋅t⋅θ,(30)y0t=1.0⋅sin5.0⋅t⋅θ−1.5⋅sin4.8⋅t⋅θ+2.0⋅sin4.9⋅t⋅θ,where θ=2π/100, and the parameters are defined in the range [−6.4, 6.35]. The fitness function is the sum of the squared errors between the estimated wave in equations (29) and (30) as follows:(31)fX⟶=∑t=100100yt−y0t2.A comparison of the performances on two real-world problems is listed in Table11. A set of heuristic algorithms were used for the comparison. The parameter settings of IBA are the same as those listed in Table 3. The IBA and the related algorithms were 30 times for a crucial analysis, where “Min,” “Max,” “Mean,” and “Std” denote the best, worst, mean, and standard deviation values, respectively.Table 11
Comparison on two real-world problems.
Gear ratioEstimation errorIBA7.71E − 322.65E − 242.24E − 256.26E − 25024.7617.625.62SLPSO2.70E − 126.19E − 092.22E − 099.83E − 09013.794.1826.99APSO2.70E − 121.31E − 081.59E − 091.44E − 08034.2211.3341.13CLPSO2.70E − 121.36E − 091.99E − 102.22E − 09014.083.8223.53CPSOH1.54E − 102.02E − 062.80E − 072.33E − 060.0142.5227.0860.61FIPS8.88E − 108.90E − 073.27E − 088.77E − 073.4515.115.9325.75SPSO2.70E − 122.56E − 071.39E − 082.57E − 07018.279.8833.85JADE2.70E − 121.36E − 092.10E − 102.26E − 09013.927.5526.18HRCGA2.70E − 121.18E − 091.53E − 101.88E − 09017.598.4132.54FPSO2.06E − 091.70E − 041.57E − 051.80E − 04015.825.2228.31G-CMA-ES2.70E − 127.32E − 012.44E − 021.31E − 013.32655.0938.7516.77As can be seen from Table11, IBA can easily solve the first real-world problem and obtained the best values. For the second one, the proposed IBA can find the optimal solution and obtained the smallest standard deviation values, which shows that IBA has good ability to find the global optimum when dealing with real-world problems with good stability and is stable.


## 6. Summary

Although heuristic algorithms perform well in optimization problems, it is easy for them to fall into local optima and output unstable results. To solve these problems, the IBA was proposed to improve the performance of the BA. The convergence of the algorithm was proved by mathematical analysis and simulation experiments. In the future, we will use the IBA to solve modeling, optimization, and control problems in different fields。In particular, we will further improve our algorithm to solve the constrained optimization problem.



---

*Source: 9495281-2020-10-10.xml*