Computational Intelligence and Neuroscience

Volume 2017, Article ID 3235720, 15 pages

https://doi.org/10.1155/2017/3235720

## Dynamic Inertia Weight Binary Bat Algorithm with Neighborhood Search

^{1}National Network New Media Engineering Research Center, Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China^{2}University of Chinese Academy of Sciences, Beijing 100049, China

Correspondence should be addressed to Rui Han; nc.ca.psd@rnah

Received 27 February 2017; Accepted 20 April 2017; Published 28 May 2017

Academic Editor: Michael Schmuker

Copyright © 2017 Xingwang Huang 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

Binary bat algorithm (BBA) is a binary version of the bat algorithm (BA). It has been proven that BBA is competitive compared to other binary heuristic algorithms. Since the update processes of velocity in the algorithm are consistent with BA, in some cases, this algorithm also faces the premature convergence problem. This paper proposes an improved binary bat algorithm (IBBA) to solve this problem. To evaluate the performance of IBBA, standard benchmark functions and zero-one knapsack problems have been employed. The numeric results obtained by benchmark functions experiment prove that the proposed approach greatly outperforms the original BBA and binary particle swarm optimization (BPSO). Compared with several other heuristic algorithms on zero-one knapsack problems, it also verifies that the proposed algorithm is more able to avoid local minima.

#### 1. Introduction

There are many optimization problems with binary search space. And many of them are high dimensional. Thus, it is infeasible to solve them with exhaustive method. So as to optimize these problems, such as unit commitment [1], feature selection [2, 3], task scheduling [4, 5], and 0-1 knapsack problem [6, 7], binary algorithms are proposed to generate binary solutions. For example, Mirjalili et al. [8] adapted the standard continuous BA algorithm to be applied to binary spaces and then BBA combined with -Nearest Neighbor (KNN, ) method was used to solve feature selection problem [2]. BBA can provide competitive performance but, in some cases, it may get stuck to local minima. To solve this issue, an improved binary bat algorithm, named IBBA, is proposed. IBBA will carry out a more diversified search process. The main contributions of the paper can be summarized as follows:(1)An improved high-performance binary bat algorithm is proposed for binary problems. Using the neighbor bat and dynamic inertia weight strategy, the proposed approach can be more able to avoid being trapped into local minima.(2)To evaluate its performance, the proposed IBBA and several other algorithms are implemented on benchmark functions and zero-one knapsack problems. The results obtained prove that IBBA outperforms the other algorithms.

The organization of the paper is as follows: a compact overview of BA and BBA is given in Section 2. A literature review on inertia weight strategies is also provided in this section. Section 3 presents the improved structure of IBBA. The experimental results of benchmark functions and zero-one knapsack problems are demonstrated in Sections 4 and 5, respectively. And the reason that the performance of IBBA is better than other algorithms is given in Section 6. Finally, conclusion is made in Section 7.

#### 2. Background

This section provides a brief overview of BA and BBA. A literature review on inertia weight strategies is also presented.

##### 2.1. The Bat Algorithm

Inspired by the echolocation behavior of bats, Yang proposed the bat algorithm [9]. When bats chase preys, they will decrease the loudness and increase the frequency of emitted ultrasonic sound. These characteristics of real bats have been used in developing the BA. These basic steps of BA have been mathematically described as follows [9].

In the BA, each bat has three vectors, including a frequency vector, a velocity vector, and a position vector that are updated at time step as (1), (2), and (3):where represents the best position obtained so far and represents the frequency of th bat which is updated as follows:where in the range of is a random vector drawn from a uniform distribution. From (1) and (3), it is obvious that different frequencies promote the exploration capability of bats to the optimal solution.

These equations, to a certain extent, can guarantee the exploitation capability of the BA. However, to perform the intensification better, a random walk operation has also been employed as follows:where means one solution selected randomly among the current best solutions, is a randomly selected number in the range of , and indicates the average loudness of all bats at this time step. The pseudocode of BA algorithm is demonstrated in Algorithm 1. Note that rand is a random number uniformly distributed in the range . To an extent, BA can be considered as a balanced combination of global and intensive local search. The pulse emission rate () and loudness () control the balancing between these two search techniques. As increases, artificial bats tend to perform a diversification rather than intensification. These two parameters mentioned above are updated as follows:where and are constants and has the same meaning of the cooling factor in SA [10]. To guarantee that the artificial bats are moving toward the optimal solutions, both loudness and emission rate are updated when the better solutions are found. For any ,For simplicity, can be used.