Abstract

The bat algorithm (BA) is a heuristic algorithm that globally optimizes by simulating the bat echolocation behavior. In order to improve the search performance and further improve the convergence speed and optimization precision of the bat algorithm, an improved algorithm based on chaotic map is introduced, and the improved bat algorithm of Levy flight search strategy and contraction factor is proposed. The optimal chaotic map operator is selected based on the simulation experiments results. Then, a multipopulation parallel bat algorithm based on the island model is proposed. Finally, the typical test functions are used to carry out the simulation experiments. The simulation results show that the proposed improved algorithm can effectively improve the convergence speed and optimization accuracy.

1. Introduction

Optimization is the selection of the best elements for a particular set of criteria from a range of effective choices, which shows many different advantages and disadvantages in terms of computational efficiency and global optimization probability, but has a wide range of applications in industry and scientific research [1]. Function optimization proposes a formal framework for modeling and solving a series of specific problems, giving an “objective” function that takes a parameter as input, and the goal is to find the value of the combined parameter to return the “best” value. This framework is abstract enough that various problems can be interpreted as “function optimization” problems [2]. However, traditional function optimization is only used to solve some small-scale problems, which are often not applicable in practice. Therefore, people put their eyes on nature, which provides rich models to solve these problems (such as fireflies, bats, and ants). By simulating the natural biological systems, many swarm intelligent optimization algorithms are proposed to solve the application problems with nontraditional methods [3]. Many swarm intelligent optimization algorithms have been proposed, such as particle swarm optimization (PSO) algorithm [4], ant colony optimization (ACO) algorithm [5], bat algorithm (BA) [6], social learning optimization (SLO) algorithm [7], chicken swarm optimization (CSO) algorithm [8], firefly algorithm (FA) [9], and so on.

The bat algorithm (BA) is a heuristic search algorithm proposed by Professor Yang in 2010 based on swarm intelligence [10]. The BA algorithm has many advantages, such as simplicity, fewer parameters, robustness, ease of implementation, and so on. Therefore, due to its obvious superiority, BA has been applied in various application fields, such as the optimal independent micro-smart grid, multiobjective function optimization based on artificial neural network model, economic scheduling problem, economic load scheduling for wind power generation system, fault diagnosis on low-speed rolling bearing, and the optimization of echo state network [1115]. However, some research reports show that with the increase of problem dimensions, its performance may decline and its exploration capacity may become poor, so it is almost impossible to converge to the global optimal solution. In order to overcome this shortcoming, many scholars have studied and applied this algorithm and proposed corresponding improvement strategies.

An elite crossover binary bat algorithm proposed in [16], the algorithm using the cross mechanism in the elite strategy and genetic algorithm, according to the certain proportion selection in the bat group of elite individuals to crossover, will be a child of the merit of bats group and the parent group of mixed, guarantee the diversity of bats and good sex, and improve the global search ability. Zhou et al. [17] applied the cloud model to bat algorithm. Starting from the living and predation characteristics of bats, the echolocation model is reconstructed, and the transformation theory of cloud model is used to describe the qualitative concept: bats are close to prey. Fister et al. [18] developed the hybrid self-adaptive bat algorithm (HSABA) on the basis of self-adaptive bat algorithm (SABA). The HSABA was combined with the local search heuristic algorithm. The hybrid algorithm was crossbred with different DE strategies and used as the local search heuristic algorithm to improve the current optimal solution, and the solution group was pointed to a better area in the search space. Qu et al. [19] integrated the weed growth, reproduction, spatial diffusion, and competition mechanism of the invasive weed algorithm into the bat algorithm and dynamically adjusts the standard deviation of the weed spatial diffusion operator so that the algorithm not only increases the global search ability but also improves the local search ability. Wu et al. [20] proposed an elite crossover binary bat algorithm. Based on the crossover mechanism of elite strategy and genetic algorithm, this algorithm selects elite individuals in the bat group to cross over according to a certain proportion and then makes a mixed selection between the daughter bat group and parent bat group so as to ensure the diversity and excellence of the bat group and improve the global search ability.

In this paper, a multipopulation parallel bat algorithm based on island model is proposed and applied to three strategies including chaos [21], Levy flight search [22], and contraction factor. Simulation results show that the proposed algorithm is more effective than single chaos, Levy flight search, and contraction factor in terms of convergence speed and accuracy.

2. Bat Algorithm

2.1. Basic Principle of Bat Algorithm

The bat algorithm (BA) is a new swarm intelligence optimization algorithm, which simulates the foraging behavior of bats. Its principle is to use the bat’s advanced echolocation capability [10]. Echolocation is a kind of sonar: the bat (the main small bat) emits a loud and short pulse sound. When the sound hits an object, the echo will return to their ears in a short period of time; bats receive and detect the position of the prey in this way. In order to simulate the foraging process of bats, the biological mechanism of the bat algorithm is described as follows. All bats adopt echolocation to detect distances, and the method used to identify obstacles and prey is difficult to understand. Based on the variable length waves , loudness , and fixed frequency , the bat searches for the prey with the velocity at the position . The bat adjusts the pulse wavelength according to the distance between itself and the prey. On the other hand, when it is close to the prey, the frequency of the transmission will also be adjusted. The loudness changes from the maximum value to the minimum value in the searching process.

BA’s development takes advantage of existing algorithms and other interesting features, inspired by the wonderful behavior of miniature bat echolocation. Based on these assumptions, this algorithm generates a set of solutions in a random manner and then uses the loop search to find the optimal solution. During this period, the local search is adopted. That is to say that around the optimal solution, the local solution is generated by random flight and produces a global optimal solution. For bats, if their foraging space belongs to the -dimension at the moment, the position of the bat is , the flight velocity is , and the current global optimal position is . So, the position and flight velocity of bat at time can be updated bywhere the minimum frequency of the sound waves generated by the bat is and the maximum frequency is . β is a uniformly distributed random number located in the scope [0, 1].

In the initial setting process, the frequency of the bat’s emitted sound waves is uniformly distributed in . The corresponding frequency is obtained according to equation (1), and then the local search is carried out according to equations (2) and (3). The bat randomly walks according to the optimal solution, and the new solution is generated by the following equation:where is a random number located in [−1, 1], represents the solution selected from the current optimal solutions in a random manner, and refers to the average loudness that the bat produces when the number of iterations is .

By analyzing the loudness and rate of the bat pulse emission, it is found that the update rule can be described as follows. If the bat is aware of the presence of the prey, it will reduce the response of its pulsed emission and increase its pulse emission rate. The loudness and rate of the bat launch pulse are updated by the following equations:where is the initial rate and is the initial loudness, which are all randomly chosen. and are constants (, ).

2.2. Pseudocode of the Bat Algorithm

The pseudocode of the bat algorithm is described as follows [18]:Input: Bat population for .Output: The best population and its corresponding value . init_bat (); eval = evaluate the new population; = find_best_solution (); {initialization} while termination_condition_not_meet do  for to do    = generate_new_solution ();  if rand (0, 1) >  then    = improve_the_best_solution ();  end if {local search}  if  = evaluate_new_solution ();  eval = eval + 1;  if and N (0, 1) <  then   ;   end if {simulated annealing}   = find the best solution ();  end for end while

3. Improved Bat Algorithm

3.1. Bat Algorithm Based on Chaotic Mapping

The chaotic motion is a highly unstable motion in a deterministic system that is limited to a finite phase space. Chaos is a form of aperiodic motion, which is unique and extensive in nonlinear systems [23]. Chaotic systems are very common in natural systems and social systems, which has a complex, random, and accurate characteristic [24]. By analyzing the logistic equation, it is known as the most typical of chaotic systems:where is a constant and . So, the determined sequence , , … , can be obtained, and the system is a chaotic system.

There are 10 typical kinds of chaotic mapping [25]. An optimal chaotic mapping method is selected by carrying out the simulation experiments on the test functions. In order to verify the performance of various improved algorithms, a total of seven functions were selected for simulation experiments. The name, expression, and domain range of these functions are shown in Table 1.

In this section, the first six functions are adopted to carry out the simulation experiments. The simulation results of BA based on the different chaotic mappings is shown in Figure 1, and the performance comparison results are listed in Table 2. By considering the fluctuating feature of the chaotic mapping and the influence of the initial value, the initial point in all chaotic mappings is set as 0.7.

It can be seen from the simulation results on six function optimization problems that the convergence speed and optimization ability of the piecewise chaotic mapping are the best, the optimal value can be found, and the fluctuation is relatively small. Although the optimal value is not obtained in function , the overall trend deviation is not large. So, a chaotic bat algorithm (CBA) is proposed based on the piecewise chaotic mapping shown in Table 3.

It can be seen from the simulation results on six function optimization problems that the convergence speed and optimization ability of the piecewise chaotic mapping are the best, the optimal value can be found, and the fluctuation is relatively small. Although the optimal value is not obtained in functions and , the overall trend deviation is not large. So, a chaotic bat algorithm (CBA) is proposed based on the piecewise chaotic mapping shown in Table 3.

3.2. Bat Algorithm Based on Levy Flight Search Strategy

The study found that Levy’s flight behavior in nature is based on the ideal way for food seekers to find food in an unfocused and unpredictable environment, which includes short-range exploratory bounce and occasional long walks. Viswanathan et al. [26] studied the foraging behavior of the albatross and found the same flight path as the Levy flight. Reynolds et al. [27, 28] observed the foraging trajectory of bees and fruit flies and found that the flight trajectory also shows the characteristics of Levy’s flight, and even human behavior is similar to the existence of Levy’s flight behavior. A series of studies have confirmed that Levy’s flight behavior is the best searching strategy for N independent explorers when the target position is in a random state and the distribution is relatively loose. A Levy flight-based bat algorithm (LBA) is proposed in this paper.

From a mathematical point of view, Levy flight behavior reflects a class of non-Gaussian stochastic processes, whose steady increments obey the stable distribution of Levy and whose flight path simulation is shown in Figure 2. It can be seen from Figure 2 that it can jump a lot in Levy’s searching process and change direction many times, so it can make an individual bat effectively avoid being bound by local attractions and expand the searching space.

Combined with the bat’s echolocation feature, it helps to significantly and effectively improve the performance of the bat algorithm. Therefore, the improved algorithm replaces equation (3) with the following equation:

The Levy flight is used to replace the local searching for the optimal position of an individual bat, which generates a larger matching and optimization iterations in the global search process so as to make the situation of falling into local optimum improve and also make the convergence accuracy of the algorithm improve.

3.3. Bat Algorithm Based on Shrink Factor

For the bat algorithm, since the individual is flying toward the optimal solution during optimization, there is usually a problem of early convergence of the bats, so it is difficult to obtain better optimization results. In order to avoid the premature convergence problem of bat algorithm and make the individual converge to the global optimal solution quickly, a contraction factor is proposed to realize the shrink factor bat algorithm (SBA), which not only maintains the diversity of the population but also improves the convergence efficiency. The proposed SBA can be realized by the following equations:where is a constant, and the value of the in this experiment is 10.

3.4. Multipopulation Parallel Bat Algorithm Based on Island Model

The algorithm based on the parallel model has the following two characteristics. The first is to break down a group into multiple groups by realizing a divide-and-conquer approach. The second is to control and manage the information exchange among the subgroups. From the perspective of parallel algorithms, this structural difference produces three parallel population models: master-slave parallel model, island model, and adjacency model [29]. The adjacency model and the island model belong to the decomposition parallel scheme, which divides the entire group into several subgroups. Each subgroup is distributed on its own processor for subgroup evolution, and each processor exchanges information at the appropriate time. The adjacency model is also known as a fine-grained model, with only one individual in each subgroup. The island model, also known as the coarse-grained model, has multiple subgroups on each processor. The coarse-grained models are easy to implement and can be simulated on networks or stand-alone systems without parallel computers, so coarse-grained models are the most commonly used in parallel algorithms [30].

In this paper, an island multipopulation parallel bat algorithm (IBA) is proposed by adopting the parallel optimization scheme and introducing a centralized information migration strategy. The entire population is divided into many subgroups. Each subgroup performs a global search only on the island, and the suitability of each individual in the island is calculated and evaluated to produce the best individual in the island. The entire evolution of the island is realized by using a separate subprocess to reduce the degree of coupling. Each subprocess uses a centralized migration strategy to periodically send the best individual in the island to the main process to form the main process, and the main process selects the global best individual to from the entire population so as to broadcast to the subprocess, which will force the subpopulation to perform the global most excellent evolution. The flow chart of the algorithm is shown in Figure 3.

4. Simulation Experiment and Result Analysis

The multipopulation idea based on the island model is integrated into the other three improved bat algorithms (SBA, LBA, and CBA) to form the island multipopulation chaotic bat algorithm (CBAS), the island multipopulation Levy flight bat algorithm (LBAS), and the island multipopulation shrink factor bat algorithm (SBAS). The seven algorithms (IBA, SBA, LBA, CBA, CBAS, LBAS, and SBAS) were adopted to carry out the simulation experiments on twelve typical test functions (, , , , , , , , , and ) shown in Table 1. The performance of the algorithms was evaluated by counting the optimal value, the average values, and the convergence curves of the corresponding functions in 10 runs. The parameter settings of the algorithm are shown in Table 4.

The performance comparison results are listed in Table 5, and the function convergence curves are shown in Figure 4.

It can be seen from the simulation results that the overall searching ability of IBA, SBAS, LBAS, and CBAS is better than that of the original algorithms (BA, SBA, LBA, and CBA), which have less volatility and relatively stable performance. From the perspective of a single function, most algorithms corresponding to each function are different, which proves that the seven different algorithms have different optimization capabilities for the same problem. SBAS obtains the optimal value for test functions , , and . IBA obtains the optimal value for test function . LBA obtains the optimal value for functions and . All seven optimization algorithms get the global optimal value for test function . It can be seen from the comparison of the convergence curves of the six test functions that overall, the convergence speed of the multipopulation algorithms (IBA, SBAS, and LBAS) is faster than that of the original algorithms. However, the multipopulation algorithm CBAS is slower than the original algorithms. For the test functions and , SBAS converges faster. For test functions and , LBAS converges faster. For function , CBAS converges faster. For function , IBA algorithm converges faster. The convergence rate of the function is relatively larger at an early stage, and there is a delay phenomenon in the later stage although the speed is slowed down.

It can be seen from the simulation results that the overall searching ability of IBA, SBAS, LBAS, and CBAS is better than that of the original algorithms (BA, SBA, LBA, and CBA), which have less volatility and relatively stable performance. From the perspective of a single function, most algorithms corresponding to each function are different, which proves that the seven different algorithms have different optimization capabilities for the same problem. SBAS obtains the optimal value for test functions , , , , and . SBA obtains the optimal value for test functions and . LBAS obtains the optimal value for test functions , , and . It can be seen from the comparison of the convergence curves of the ten test functions that overall, the convergence speed of the multi-population algorithms (IBA, SBAS, and CBAS) is faster than that of the original algorithms. For the test functions and , SBAS converges faster. For the test functions , LBAS converges faster. For the test functions , , , , , and , CBAS converges faster. The convergence rate of the function is relatively larger at an early stage, and there is a delay phenomenon in the later stage although the speed is slowed down.

5. Conclusions

Based on the concept of chaotic mapping, the optimal chaotic mapping is selected to produce the chaotic bat algorithm. The LBA algorithm is proposed by adopting the Levy flight searching strategy. The shrink factor is proposed to realize SBA algorithm, and the multipopulation parallel bat algorithm (IBA) based on island is proposed. The performance is compared by using seven test functions under seven optimization algorithms (IBA, SBA, LBA, CBA, SBAS, LBAS, and CBAS). The comparison results show that the multipopulation algorithms (IBA, SBAS, LBAS, and CBAS) are better than the original algorithms and have relatively stable performance in both the optimization ability and the convergence speed. The experiment proves that the improved algorithm has better optimization precision and convergence speed, which can make up for the deficiency of the original algorithm.

Data Availability

There are no data available for this paper.

Conflicts of Interest

The authors declare no conflicts of interest.

Authors’ Contributions

Sha-Sha Guo participated in the draft writing and critical revision of this paper; Jie-Sheng Wang participated in the concept, design, and interpretation of results and commented on the manuscript; and Xiao-Xu Ma participated in the data collection, analysis, and algorithm simulation.

Acknowledgments

This work was supported by the Basic Scientific Research Project of Institution of Higher Learning of Liaoning Province (grant no. 2017FWDF10) and the project by Liaoning Provincial Natural Science Foundation of China (grant no. 20180550700).