The bat algorithm (BA) is a new bionic intelligent optimization algorithm to simulate the foraging behavior and the echolocation principle of the bats. The parameter initialization of the discussed binary bat algorithm (BBA) has important influence on the convergence speed, convergence precision, and good global searching ability of the BBA. The convergence speed and algorithm searching precision are determined by the pulse of loudness and pulse rate. The simulation experiments are carried out by using the six typical test functions to discuss this influence. The simulation results show that the convergence speed of the BBA is relatively sensitive to the setting of the algorithm parameters. The convergence precision reduces when increasing the rate of bat transmitted pulse alone and the convergence speed increases the launch loudness alone. The proper combination of BBA parameters (the rate of bat transmitted pulse and the launch loudness) can flexibly improve the algorithm’s convergence velocity and improve the accuracy of the searched solutions.
Institution of Higher Learning of Liaoning Province2017FWDF10University of Science and Technology of Liaoning2015TD04National Financial Security and System Equipment Engineering Research CenterUSTLKFGJ2015021. Introduction
Optimization is the selection of a best element from a set of some available alternatives with regard to some criterion. Optimization algorithm is a basic principle of nature, which shows many different advantages and disadvantages in computational efficiency and global search probability and has a vast variety of applications in research and industry [1]. The function optimization presents a formalized framework for modelling and solving some certain problems. Given an objective function, it takes a number of parameters as its inputs, whose goal is to find the combination of parameters and return the best value. This framework is abstract enough that a wide variety of different problems can be interpreted as function optimization problems [2].
However, the traditional function optimization algorithm is used to solve the typical problem with small dimension, often not applicable in practice. So people focus on the nature. Nature provides rich models to solve these problems (such as fireflies, bats, and ants). People discovered the swarm intelligence optimization algorithm by simulating natural biological systems. These models could stimulate computer scientists using household nontraditional tools to solve the application problems [3]. Now a lot of swarm intelligence optimization algorithms are proposed, such as particle swarm optimization (PSO) [4], ant colony algorithm (ACO) [5], bat algorithm (BA) [6], social learning optimization (SLO) algorithm [7], and chicken swarm optimization (CSO) algorithm [8]. They can be used in the dictionary learning remote sensing data, automotive safety integrity level positioning, economic dispatch, composition, and examples of the Cloud Service Composition of QOS awareness. Obviously, the study of swarm intelligence optimization has become an important research direction. The bat algorithm (BA) was proposed by professor Yang based on the swarm intelligence heuristic search algorithm in 2010 and is a kind of effective method to search the global optimal solution [9]. BA has attracted more and more attention because of its simple, less parameters, strong robustness, and the advantage of easy implementation. Firstly, BA was proposed to solve the problem with the continuous real search space. However, there are many optimization problems having the discrete binary search space. So the binary bat optimization algorithm (BBA) was put forward to solve this kind of problems [10]. At present, many scholars have carried out many researches and proved that this algorithm has a certain competitive performance compared with other algorithms. BA has been applied in the multiobjective function optimization with the artificial neural network model [11], economic operation [6], and economic load dispatch in wind power generation system [12]. BBA has been applied in the simulation test point selection [13], low speed rolling bearing fault [14], and the optimization of the echo state network [15].
The parameter initialization of the discussed binary bat algorithm (BBA) has important influence on the convergence speed, convergence precision, and good global searching ability of the BBA. The convergence speed and algorithm searching precision are mainly determined by the rate of bat transmitted pulse and the launch loudness. In this paper, the function optimization problem is solved based on the binary bat algorithm (BBA). Then the parameter performance comparison and analysis are carried out through the simulation experiments in order to verify the binary bat algorithm’s superiority. The paper is organized as follows. In Sections 2 and 3, the bat algorithm and binary bat algorithm are introduced. The simulation experiments and results analysis are introduced in detail in Section 4. Finally, the conclusion illustrates the last part.
2. Bat Algorithm
The bat algorithm is an intelligence optimization algorithm inspired by the echolocation behavior of bats [9]. Echolocation works as a type of sonar: bats, mainly microbats, emit a loud and short sound pulse. When they hit an object, after a fraction of time, the echo will return back to their ears. The bat receives and detects the location of the prey in this way. In addition, this amazing orientation mechanism makes bats able to distinguish the difference between an obstacle and a prey and allows them to hunt even in complete darkness. In order to simulate the foraging behavior of the bats, the biological mechanism of the bat algorithm to simulate the bats’ foraging behavior obeys the following idealized assumptions:
(1) All bats use echolocation to sense distance, and they also know the difference between food/prey and the background barriers in some magical way.
(2) A bat flies randomly with velocity Vi at position Xi with a fixed frequency fmin, varying wavelength λ, and loudness A0 to search for prey. They can automatically adjust the wavelength (or frequency) of their emitted pulses and adjust the rate of pulse emission r∈(0,1) depending on the proximity of their targets.
(3) Although the loudness can vary in many ways, Yang assumes that the loudness varies from a large positive A0 to a minimum constant value Amin.
On the basis of three idealized assumptions, the algorithm generates a set of solutions randomly and then searches the optimal solution by cycle and strengthens the local search in the process of searching. By producing the local solution near the optimal solution by random flight, BA finally finds the global optimal solution.
The foraging space of bats is the d dimension. At time t-1, the location and the flight velocity of the ith bat are Xit-1 and Vit-1, respectively, and X∗ is the current global optimal location. At time t, the velocity and position of the ith bat are updated by using the following equations: (1)fi=fmin+fmax-fminβ(2)Vit=Vit-1+Xit-1-X∗fi(3)Xit=Xit-1+Vit,where fmin and fmax are the minimum and maximum frequency of the sound waves emitted by bats, respectively. β is a random number obeying the uniform distribution in [0,1]. When setting up the initial values, the frequency of launch sound waves of each bat obeys the uniform distribution in [fmin,fmax]. First of all, according to (1), obtain their frequencies, and then, according to (2) and (3), update the velocities and positions.
For the local search, each bat carries out the random walk based on the optimal solution. The following equation is used to produce a new solution:(4)Xnew=Xold+εA¯t,where ε is a random number obeying the uniform distribution in [-1,1], Xold is a solution randomly selected from the current optimal solution, and A-(t) shows the average loudness for all bats at the tth iteration.
The update rules of the loudness of pulse emission of the bat Ai and the velocity ri are described as follows: if a bat finds prey, it will reduce its impulse response and increase the velocity of its pulse emission. In BA, the loudness of pulse emission of the bat Ai and velocity ri is adjusted by the following equations: (5)Ait+1=αAit(6)rit+1=rit1+expyt,where ri0 is the initial velocity and Ai0 is the initial loudness, which are selected randomly. α and y are constant (0<α<1; y>0).
3. Binary Bat Algorithm
A binary search space can be considered as a hypercube. The search agents (particles) of a binary optimization algorithm can only shift to the nearer and farther corners of this hypercube by flipping various numbers of binary bits. Hence, when designing the binary version of BA, some basic concepts of the velocity and position updating rules must be modified. In the continuous version of BA, the artificial bats can move around the search space by utilizing position and velocity vectors (or updated position vectors) within the continuous real domain. In discrete binary space, the position updating means switching between “0” and “1.” In order to achieve this change, this switching should be done based on the velocities of agents. In other words, a transfer function defines a transformation probability from 0 to 1 for a position vector element and vice versa. The transfer functions force the particles to move in a binary space. The transfer function of the discussed binary BA is defined in (7) and Figure 1 [10].(7)Svikt=11+e-vikt,where vikt is the velocity of particle i in k dimension at iteration t.
Sigmoid transfer function.
After calculating the probabilities using transfer functions, a new position updating equation is necessary to update particles’ position as follows:(8)xikt+1=0If rand<Svikt+11If rand≥Svikt+1,where xikt and vikt indicate the position and velocity of ith particle at tth iteration in kth dimension.
This method has a drawback as the particles are forced to take values of 0 or 1. So the particles remain unchanged in their positions when their velocity values increase. However, according to the concepts mentioned above for designing a transfer function, a better way is to oblige the particles with high velocity to switch their positions. A v-shaped transfer function and position updating rule are proposed in order to do this as in (9) and Figure 2.(9)Vvikt=2πarctanπ2viktxikt+1=xikt-1If rand<Vvikt+1xiktrand≥Vvikt+1,where xikt and vikt indicate the position and velocity of ith particle at tth iteration in kth dimension and xikt-1 is the complement of xikt.
v-type transfer function.
4. Simulation Experiments and Results Analysis4.1. Test Functions
In the simulation experiments, six typical functions are adopted to verify the performance of BBA. The simulation environment adopts Windows 10 operating system, INTEL processor 2.40 GHz, and 3 G memory for MATLAB2014b simulation software. The testing functions are shown in Table 1, where f1 ~f3 are unimodal functions and f4 ~f6 are the multimodal functions.
4.2. Simulation Experiments and Results Analysis4.2.1. Change of a Single Variable Ai
The initialization parameters of BBA are set as follows: the population size (noP) is 30, the number of iterations (Max_iteration) is 500, r=0.1, and the algorithm dimension (noV) is 100. In order to reduce the influence of random disturbance, the independent operating for each test function is carried out 10 times. The optimal value and average values of BBA in different launch loudness Ai are shown in Table 2. The simulation results of the six test functions are shown in Figure 3.
Performance comparison of BBA under different Ai.
Function
Result
Simulation results of BBA under different Ai
Minimum time (s)
0.25
0.4
0.6
0.9
f1
Average
1.6
1.05
0.656
1.074
10.065 s
Std.
3.6423
3.3974
3.0026
2.913
Optimum
2
2
2
0
f2
Average
26.58
28.176
27.068
26.984
11.618 s
Std.
6.4989
7.8753
6.0687
6.5658
Optimum
25
25
29
27
f3
Average
0.42459
0.13147
0.55776
0.16727
11.112 s
Std.
0.30212
0.30663
0.39227
0.33251
Optimum
0.39603
0.55776
0.20291
0.39603
f4
Average
−83.269
−83.287
−83.282
−82.781
12.209 s
Std.
2.5872
2.7421
3.194
2.9798
Optimum
−83.306
−82.464
−84.147
−83.306
f5
Average
0.040308
0.0072643
0.012536
0.0078837
11.426 s
Std.
0.040308
0.028619
0.037926
0.031519
Optimum
0.0061266
0.011729
0.0068217
0.0053477
f6
Average
1.172
1.008
0.85
0.986
11.01 s
Std.
3.4621
2.9782
3.608
2.7468
Optimum
1
3
1
1
Simulation results of BBA under different Ai.
Simulation results of function f1 under different Ai
Simulation results of function f2 under different Ai
Simulation results of function f3 under different Ai
Simulation results of function f4 under different Ai
Simulation results of function f5 under different Ai
Simulation results of function f6 under different Ai
It can be seen from the convergence curves and the numerical results of six functions after 500 iterations and 10 times running independently that the optimization ability increases gradually when Ai changes from 0.25 to 0.9. Functions f3 and f4 get the optimal value when Ai=0.6. Function f1, f5, and f6 get optimal value when Ai=0.9. The most obvious convergence curve is f3 and the worst convergence curve function is f1.
Compared with other convergence curves, function f2 is the most volatile. The function searching capability affected by Ai is smaller and the searching running time is related to the function complexity. It can be seen from all convergence trends that the convergence rate did not increase or decrease regularly with the increase of Ai. Meanwhile, it has a certain relationship with the solution space. It is different from the function optimization performance impacted by the maximum or minimum values of parameter ri. Hence, each function is corresponding to the optimal value of Ai. When Ai is 0.4, the optimization effect of function f2 is the best. When Ai is 0.6, the optimization effects of functions f3 and f4 are the best. When Ai is 0.9, the optimization effects of functions f1, f5, and f6 are the best.
4.2.2. Change of a Single Variable ri
In view of ri (the rate of bat transmitted pulse), the simulation experiments are carried out according to (6) and the simulation results are shown in Table 3 and Figure 4.
Performance comparison of BBA under different ri.
Function
Result
The simulation results of BBA under different ri
Minimum time (s)
0.2
0.5
2
10
f1
0.9
10
18
24
30
9.844000 (4)
f2
0.4
37
69
85
81
11.263000 (3)
f3
0.6
1.9033
1.7515
2.0421
1.9391
11.372000 (4)
f4
0.6
−77.415
−66.476
−62.269
−60.586
11.934000 (4)
f5
0.9
0.1069
0.18355
0.34503
0.31911
11.482000 (1)
f6
0.9
8
19
24
28
11.083000
Simulation results of BBA under different ri.
Simulation results of function f1 under different ri
Simulation results of function f2 under different ri
Simulation results of function f3 under different ri
Simulation results of function f4 under different ri
Simulation results of function f5 under different ri
Simulation results of function f6 under different ri
When r=0.2, the test functions f1, f2, f4, f5, and f6 obtain the optimal solution. The function f3 gets the optimal solution when r=0.5. With the increase of r, the optimal solution of functions f1, f3, and f5 reduces gradually. The optimal solution of functions f1, f3, and f5 also presents the tendency of decrease but r=10 is better than r=2. The operation time of the functions is almost the same time. From the convergence curves, function optimization precision is worse and worse, and convergence speed is slower and slower reduced in gradient with the increase of r. In a word, for different functions, the smaller r, the better the performance of convergence and the optimization ability is stronger and stronger.
4.2.3. Change of Variable Ai and ri
In view of Ai (the loudness of bat transmitted pulse) and ri (the rate of bat transmitted pulse), the simulation experiments are carried out and the simulation results are shown in Table 4 and Figure 5.
Performance comparison of BBA under different Ai and ri.
Function
The simulation results of BBA under different Ai and ri
Optimum
Average
Ai
ri
f1
0.9
0.1
0
0.79
0.9
0.2
8
9.272
0.6
0.1
1
0.58
0.6
0.2
8
7.474
f2
0.4
0.1
1
1.292
0.4
0.2
7
7.07
0.25
0.1
0
1.152
0.25
0.2
9
9.376
f3
0.6
0.1
0
0.772
0.6
0.5
22
16.872
0.4
0.1
1
1.158
0.4
0.5
20
17.022
f4
0.6
0.1
7
7.15
0.6
0.2
5
6.568
0.4
0.1
1
0.75
0.4
0.2
9
9.03
f5
0.9
0.1
0.0068217
0.010572
0.9
0.2
0.0751
0.072148
0.6
0.1
0.0069992
0.0075418
0.6
0.2
0.071033
0.060404
f6
0.9
0.1
1
0.614
0.9
0.2
9
5.75
0.6
0.1
0
0.66
0.6
0.2
8
7.914
Simulation results of BBA under different Ai and ri.
Simulation results of function f1 under different Ai and ri
Simulation results of function f2 under different Ai and ri
Simulation results of function f3 under different Ai and ri
Simulation results of function f4 under different Ai and ri
Simulation results of function f5 under different Ai and ri
Simulation results of function f6 under different Ai and ri
When Ai is 0.9 and ri is 0.1, the optimization of function f1 is best for the loudness of bat transmitted pulse Ai and the rate of bat transmitted pulse ri. When Ai is 0.9 and ri is 0.1, the optimization of function f2 is best. When Ai is 0.6 and ri is 0.1, the optimization of function f3 is best. When Ai is 0.4 and ri is 0.1, the optimization of function f4 is best. When Ai is 0.9 and ri is 0.1, the optimization of function f5 is best. When Ai is 0.6 and ri is 0.1, the optimization of function f6 is best. It can be seen from the convergence curves that the convergence precision reduces when increasing ri alone and the convergence speed increases when reducing Ai alone. Different functions have an impact on optimization effect of BBA. The optimal combination of algorithm parameters is independent for different function.
5. Conclusions
Based on the basic principle of binary bat algorithm (BBA), the optimization performance is verified by carrying out the simulation experiments on six test functions. ri has contact with the convergence precision. Ai relates to the convergence rate but the different functions require different Ai. Therefore, for different functions, the simulation experiments should be carried out in order to obtain the appropriate parameter setting. The simulation results show that the convergence speed of the algorithm is relatively sensitive to the setting of the algorithm parameters.
Conflicts of Interest
The authors declare that there are no conflicts of interest.
Authors’ Contributions
Xiao-Xu Ma participated in the data collection, analysis, algorithm simulation, draft writing, and critical revision of this paper. Jie-Sheng Wang participated in the concept, design and interpretation and commented on the manuscript.
Acknowledgments
This work was supported by the Basic Scientific Research Project of Institution of Higher Learning of Liaoning Province (Grant no. 2017FWDF10), the Program for Research Special Foundation of University of Science and Technology of Liaoning (Grant no. 2015TD04), and the Opening Project of National Financial Security and System Equipment Engineering Research Center (Grant no. USTLKFGJ201502).
NoackM. M.FunkeS. W.Hybrid genetic deflated Newton method for global optimisation2017325971122-s2.0-8501937854810.1016/j.cam.2017.04.047Zbl1373.90119BellN.OommenB. J.A novel abstraction for swarm intelligence: particle field optimization20173123623852-s2.0-8499442465210.1007/s10458-016-9350-8YangX.-S.DebS.FongS.HeX.ZhaoY.-X.From Swarm Intelligence to Metaheuristics: Nature-Inspired Optimization Algorithms201649952592-s2.0-8498765488310.1109/MC.2016.2927562319WangL.GengH.LiuP.LuK.KolodziejJ.RanjanR.ZomayaA. Y.Particle Swarm Optimization based dictionary learning for remote sensing big data20157943502-s2.0-8493052029210.1016/j.knosys.2014.10.004GheraibiaY.DjafriK.KrimouH.Ant colony algorithm for automotive safety integrity level allocation20171152-s2.0-8502545630010.1007/s10489-017-1000-6AdarshB. R.RaghunathanT.JayabarathiT.YangX.-S.Economic dispatch using chaotic bat algorithm20169666667510.1016/j.energy.2015.12.0962-s2.0-84958674056LiuZ.-Z.ChuD.-H.SongC.XueX.LuB.-Y.Social learning optimization (SLO) algorithm paradigm and its application in QoS-aware cloud service composition20163263153332-s2.0-8494380191110.1016/j.ins.2015.08.004WuD.XuS.KongF.Convergence Analysis and Improvement of the Chicken Swarm Optimization Algorithm20164940094122-s2.0-8502767720110.1109/ACCESS.2016.2604738YangX. S.A new metaheuristic bat-inspired algorithm2010284Springer657410.1007/978-3-642-12538-6_6Zbl1197.90348MirjaliliS.MirjaliliS. M.YangX.-S.Binary bat algorithm2013253-466368110.1007/s00521-013-1525-52-s2.0-84890837076JaddiN. S.AbdullahS.HamdanA. .Multi-population cooperative bat algorithm-based optimization of artificial neural network model201529462864410.1016/j.ins.2014.08.050MR32776662-s2.0-84944443365DuanY.ZhaoM.Bat Algorithm on Economic Load Dispatch in Wind Power System2015ZhaoD.HeY.Chaotic binary bat algorithm for analog test point selection2015842, article no. A0062012142-s2.0-8494345097110.1007/s10470-015-0548-5KangM.KimJ.KimJ.-M.Reliable fault diagnosis for incipient low-speed bearings using fault feature analysis based on a binary bat algorithm201529442343810.1016/j.ins.2014.10.014MR3277651WangH.YanX.Optimizing the echo state network with a binary particle swarm optimization algorithm2015861821932-s2.0-8493842394710.1016/j.knosys.2015.06.003