Bat algorithm


The Bat algorithm is a metaheuristic algorithm for global optimization. It was inspired by the echolocation behaviour of microbats, with varying pulse rates of emission and loudness. The Bat algorithm was developed by Xin-She Yang in 2010.

Metaphor

The idealization of the echolocation of microbats can be summarized as follows: Each virtual bat flies randomly with a velocity at position with a varying frequency or wavelength and loudness. As it searches and finds its prey, it changes frequency, loudness and pulse emission rate. Search is intensified by a local random walk. Selection of the best continues until certain stop criteria are met. This essentially uses a frequency-tuning technique to control the dynamic behaviour of a swarm of bats, and the balance between exploration and exploitation can be controlled by tuning algorithm-dependent parameters in bat algorithm.
A detailed introduction of metaheuristic algorithms including the bat algorithm is given by Yang where a demo program in MATLAB/GNU Octave is available, while a comprehensive review is carried out by Parpinelli and Lopes. A further improvement is the development of an evolving bat algorithm with better efficiency.