Computational Intelligence and Neuroscience

Volume 2019, Article ID 6068743, 12 pages

https://doi.org/10.1155/2019/6068743

## Improved Bat Algorithm Based on Multipopulation Strategy of Island Model for Solving Global Function Optimization Problem

^{1}School of Electronic and Information Engineering, University of Science & Technology Liaoning, Anshan 114044, China^{2}School of International Finance and Banking, University of Science & Technology Liaoning, Anshan 114044, China

Correspondence should be addressed to Jie-Sheng Wang; moc.621@gnehseij_gnaw

Received 24 February 2019; Revised 3 July 2019; Accepted 8 July 2019; Published 18 August 2019

Academic Editor: Amparo Alonso-Betanzos

Copyright © 2019 Sha-Sha Guo et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### 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 [11–15]. 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.