Article Preview
Top1. Introduction
The Bat Algorithm (BA) is a recently introduced (Yang, 2010) meta-heuristic algorithm that is founded on the dynamic echolocation behavior of bats. The micro bats found in nature demonstrate excellent capability to locate and catch prey insects by using echolocation technique and distributed intelligent swarm behavior. However, some of the recent studies (e.g., Kabir, Sakib, Chowdhury, & Alam, 2014) have revealed that BA is good at search space explorations, but relatively weak at exploitations, which compromise the quality of its final solutions. For good performance, any optimization algorithm requires a sound balance between its explorative and exploitative characteristics. Excessive explorations provide resilience against local optima, but compromising the speed of convergence of the algorithm. On the other hand, excessive exploitations provide sufficient convergence speed, but at the cost of premature convergence towards local optima.
The novelty of this paper is to introduce an innovative fuzzy controller to bring an adaptive balance between the degree of exploitative and explorative operations of the original Bat algorithm. The input to the fuzzy controller is the mutation success rate at every time step (i.e., generation), which is used by the fuzzy controller to decide whether the ongoing optimization process requires more explorations or exploitations. The output from the fuzzy controller is a scaling factor value which affects the degree of exploration and exploitation by controlling the mutation step size at the next time step. Larger step sizes (produced by large scaling factor values) are likely to conduct more search space explorations, while smaller step sizes (from small scaling factor values) are required for more exploitation. In addition to the fuzzy controller, FIBA maintains a step size value, separately for each bat (i.e., candidate solution) to employ random walk exploitations on the best group of candidate solutions. This allows FIBA to customize the degree of exploitation and exploration at the individual solution level, i.e., separately for every candidate solution of the population. FIBA has been tested and evaluated by optimizing ten different benchmark functions, consisting of both unimodal and multimodal, inseparable and separable, continuous and discrete functions. The experimental results are compared with the basic bat algorithm (Yang, 2010) and an improved bat variant — the Novel Adaptive Bat Algorithm (NABA) (Kabir, Sakib, Chowdhury, & Alam, 2014). The performance of FIBA is found to be superior to these other algorithms in comparison on most of the benchmark functions.
The organization of the article is as follows. Section 2 briefly discusses some of the existing algorithms and related works. The next section 3 briefly provides a description of the original Bat algorithm, which acts as the foundation of our proposed algorithm — FIBA. Section 4 describes FIBA in detail. The next two sections 5 and 6 present the benchmark problems, experimental setup of the algorithms and their comparison on the benchmark problem set. Finally, section 7 concludes the paper with a brief discussion and summary.