Scientific Programming

Volume 2016 (2016), Article ID 8031560, 13 pages

http://dx.doi.org/10.1155/2016/8031560

## Modified Bat Algorithm Based on Lévy Flight and Opposition Based Learning

^{1}School of Science, China University of Petroleum, Qingdao 266580, China^{2}College of Mechanical and Electronic Engineering, China University of Petroleum, Qingdao 266580, China^{3}School of Economics and Management, China University of Petroleum, Qingdao 266580, China

Received 14 July 2016; Accepted 25 October 2016

Academic Editor: Xiang Li

Copyright © 2016 Xian Shan 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

Bat Algorithm (BA) is a swarm intelligence algorithm which has been intensively applied to solve academic and real life optimization problems. However, due to the lack of good balance between exploration and exploitation, BA sometimes fails at finding global optimum and is easily trapped into local optima. In order to overcome the premature problem and improve the local searching ability of Bat Algorithm for optimization problems, we propose an improved BA called OBMLBA. In the proposed algorithm, a modified search equation with more useful information from the search experiences is introduced to generate a candidate solution, and Lévy Flight random walk is incorporated with BA in order to avoid being trapped into local optima. Furthermore, the concept of opposition based learning (OBL) is embedded to BA to enhance the diversity and convergence capability. To evaluate the performance of the proposed approach, 16 benchmark functions have been employed. The results obtained by the experiments demonstrate the effectiveness and efficiency of OBMLBA for global optimization problems. Comparisons with some other BA variants and other state-of-the-art algorithms have shown the proposed approach significantly improves the performance of BA. Performances of the proposed algorithm on large scale optimization problems and real world optimization problems are not discussed in the paper, and it will be studied in the future work.

#### 1. Introduction

With the development of natural science and technology, a large number of complicated optimization problems arise in a variety of fields, such as engineering, manufacturing, information technology, and economic management. These real world problems usually have an objective function with lots of decision variables and constrains, appearing with discontinuous, nonconvex features [1]. Optimization methods are always needed to obtain the optimal solution of these problems.

Optimization algorithms proposed by researchers can be categorized into two groups: deterministic algorithms and stochastic algorithms. Deterministic algorithms usually need the information of gradient. They are effective for problems with one global optimum, while they might be invalid for problems with several local optima or problems with gradient information unavailable. Compared with deterministic algorithms, stochastic algorithms require only the information of the objective function [2]. They have been successfully used in many optimization problems characterized as nondifferentiable and nonconvex.

Swarm intelligence algorithms, regarded as a subset of stochastic algorithms, have been widely used to solve optimization problems during the past decades. They are inspired by the collective behavior of swarms in nature. Researchers have observed such behaviors of animals, plants, or humans, analyzed the driving force behind the phenomena, and then proposed various types of algorithms. For example, Genetic Algorithm (GA) [3] and Differential Evolution (DE) [4] were generalized by inspiration of the biological evolution and natural selection. Particle Swarm Optimization (PSO) [5] was proposed by simulating the social and cognitive behavior of fish or bird swarms. Ant Colony Algorithm (ACO) [6] and Artificial Bee Colony (ABC) [7] were introduced by the foraging behavior of ants and bees. Cat Swarm Algorithm (CSO) [8], Cuckoo Search Algorithm (CS) [9], and Bat Algorithm (BA) [10] were also proposed by inspiration from the intelligence features in behaviors or organisms of swarms.

Bat Algorithm, proposed by Yang in 2010, is a swarm intelligence algorithm inspired by the echolocation behavior of bats. Echolocation is a type of sonar which is used by bats to detect prey, hunt, and avoid obstacles. With the help of echolocation, not only can the bats be able to detect the distance of the prey, but also they can identify the shape, position, and angle of the prey [10]. Compared with other existing swarm intelligence algorithms, BA has many advantages such as less control parameters, excellent global optimization ability, and implementation simplicity, which have shown excellent performances in some classes of optimization problems. Due to its simplicity, convergence speed, and population feature, it has been intensively used to solve academic and real life problems, like multiobjective optimization [11], engineering optimization [12], cluster analysis [13], scheduling problems [14], structure optimization [15], image processing [16], manufacturing designing [17], and various other problems.

It has been shown that BA is an excellent and powerful algorithm for global optimization problems, discrete optimization problems, and constrained optimization problems. However, due to the lack of good balance between exploration and exploitation in basic BA, the algorithm sometimes fails at finding global optimum and is easily trapped into local optima. Much efforts have been made to improve the performance of BA. These improvements or modifications can be divided into two categories.

*Introduction of New Search Mechanisms for Generating Candidate Solutions*. Inspired by DE, Xie et al. [18] presented a modified approach DLBA with a new solution update mechanism combining the concept of differential operator and Lévy Flight trajectory. Li and Zhou [19] embedded the complex value encoding mechanism into Bat Algorithm to improve the diversity and convergence performance. Gandomi and Yang [20] introduced chaotic maps into the population initialization and position update equation and proposed a modified algorithm. Bahmani-Firouzi and Azizipanah-Abarghooee [21] proposed four improved velocity update equations in order to achieve a better balance between the exploration and exploitation. Jaddi et al. [22] divided the swarm population into two subpopulation groups with each group designed to generate solutions according to different equations, respectively. Yilmaz and Küçüksille [23] defined two modification structures of the velocity equation inspired by PSO and then hybridized the modified BA with Invasive Weed Optimization algorithm. The velocity equations used information of the best-so-far solution and the neighborhood solutions, which can effectively enhance the search ability of BA.

*Hybridization of BA with Other Operators*. For example, Khan and Sahai [24] proposed a hybrid approach involving PSO, HS, and SA for generating new solutions. Wang and Guo [25] introduced a mutation operator into BA using SA. He et al. [26] developed a hybrid BA which combines SA and Gauss distribution. Sadeghi et al. [27] developed a hybrid BA with local search based on PSO. Lin et al. [28] developed a chaotic BA with Lévy Flights and parameters estimated by chaotic maps. Meng et al. [29] incorporated the bats’ habitat selection and their self-adaptive compensation for Doppler effect in echoes into the basic BA and proposed a new self-adaptive modified algorithm NBA.

The study is not limited to the above two aspects and more work can be seen in [30–34] and so on.

As technology and science develop dramatically fast, more and more complicated optimization problems need to be solved by advanced numerical methods. As an important heuristic optimization algorithm, researches on how to improve the convergence accuracy and efficiency of BA are of great significance to improve the heuristic optimization theory and solve the real world optimization problems.

Exploration and exploitation are two critical characteristics in the updating process of an algorithm. Exploration is the ability of the algorithm to find the global optimum solutions in different areas of the search space, while exploitation refers to the capability of the algorithm to find better solutions with previous experience. Researches in the literature show that, for a swarm intelligence algorithm, the exploration capability should be employed first so as to search in the whole space, while the exploitation capability should be considered later by improving the quantity of the solution in the local search process [23].

To achieve a better balance between exploration and exploitation behavior of BA, it is highly required to modify the global search approach to explore the search region and develop a local search method to exploit in the nonvisited regions. Accordingly, modifications of the search equation and local search strategies for BA are studied in the research. A modified algorithm called OBMLBA is proposed in this study. The main difference between OBMLBA and other BAs is the interaction behavior between bats. In the proposed approach, the bat explores the search space with the help of the best-so-far solution and the neighborhood solutions by using echolocation, which can well balance the exploration and exploitation. The new population is generated by using a new modified position update equation with frequency defined by sinusoidal function. Lévy Flight random walk is used to exploit the local search space whereas opposition based learning is used to introduce opposition based solutions in population OP. Individuals of and OP are merged together, and the best individuals are used as a new population for the next generation. The proposed method has been tested on 16 benchmark functions. Comparison with variants of BA and other state-of-the-art algorithms demonstrates the effectiveness and superiority of OBMLBA in solving optimization problems.

The paper is organized as follows. After the introduction, the basic concept of BA is introduced in Section 2. The proposed OBMLBA is presented in Section 3. Section 4 evaluates the performance of the proposed algorithm by comparing results with other algorithms. Finally, conclusions and future work are discussed in Section 5.

#### 2. Basic Bat Algorithm

The optimization problems considered in this paper are single-objective, unconstrained continuous problems to be minimized.

Bat Algorithm is a heuristic algorithm proposed by Yang in 2010. It is based on the echolocation capability of micro bats guiding them on their foraging behavior. In BA, the position of a bat represents a possible solution of the given optimization problem. The position of the food source found by the th bat can be expressed as . The fitness of corresponds to the quality of the position the bat locates in.

##### 2.1. Initiation

At the beginning, bats do not know the location of food sources. They generate a randomly distributed population of solutions, where denotes the number of bats in the population. Each solution can be produced within the search space as follows:where . and denote the upper and lower bounds of the solution in dimension , respectively. is a uniformly distributed value generated in the range of .

##### 2.2. Generation of New Solutions

Bats modify the solution based on the information of the current location and the best source food location. Bats navigate by adjusting their flying directions using their own and other swarm members’ best experience to find the optimum of the problem.

At this stage, for each food source position , a new position was formulated as follows:where represents each bat in the population, , and represents the th iteration. and are the position and velocity components of the th bat in the population at the th iteration. denotes the pulse frequency that affects the velocity of the th bat. and represent the maximum and minimum of . is a random number between . is the best position found by the whole population.

##### 2.3. Local Search

Once the new solutions are generated, the local search is invoked by bats’ random walk. If the pulse emission rate of the th bat is smaller than a random number, select from the population and generate a new position as follows:where represents a solution chosen in current population by some mechanism and is a random vector drawn from a uniform distribution. is the average loudness of all bats at the time step .

##### 2.4. Solutions, Loudness, and Pulse Emission Rate Updating

If a random number is bigger than the loudness and , accept the new solution . At the same time, the loudness is decreased while its pulse emission is increased as follows:where and are constants. The initial loudness and initial pulse emission rate are randomly generated numbers in the range of and , respectively.

The pseudocode of Bat Algorithm is presented in Algorithm 1.