Journal of Electrical and Computer Engineering

Volume 2018, Article ID 3847951, 9 pages

https://doi.org/10.1155/2018/3847951

## Optimized Parameter Settings of Binary Bat Algorithm for Solving Function Optimization Problems

^{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 7 October 2017; Accepted 11 April 2018; Published 14 May 2018

Academic Editor: Jit S. Mandeep

Copyright © 2018 Xiao-Xu Ma and Jie-Sheng Wang. 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 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.

#### 1. 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 at position with a fixed frequency , varying wavelength , and loudness to search for prey. They can automatically adjust the wavelength (or frequency) of their emitted pulses and adjust the rate of pulse emission 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 to a minimum constant value .

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 dimension. At time , the location and the flight velocity of the th bat are and , respectively, and is the current global optimal location. At time , the velocity and position of the th bat are updated by using the following equations: where and are the minimum and maximum frequency of the sound waves emitted by bats, respectively. is a random number obeying the uniform distribution in . When setting up the initial values, the frequency of launch sound waves of each bat obeys the uniform distribution in . 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:where is a random number obeying the uniform distribution in , is a solution randomly selected from the current optimal solution, and shows the average loudness for all bats at the th iteration.

The update rules of the loudness of pulse emission of the bat and the velocity 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 and velocity is adjusted by the following equations: where is the initial velocity and is the initial loudness, which are selected randomly. and are constant (; ).

#### 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].where is the velocity of particle in dimension at iteration .