The Bat algorithm is a
metaheuristic
In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimizatio ...
algorithm for
global optimization
Global optimization is a branch of applied mathematics and numerical analysis that attempts to find the global minima or maxima of a function or a set of functions on a given set. It is usually described as a minimization problem because the max ...
. It was inspired by the echolocation behaviour of
microbats
Microbats constitute the suborder Microchiroptera within the order Chiroptera ( bats). Bats have long been differentiated into Megachiroptera (megabats) and Microchiroptera, based on their size, the use of echolocation by the Microchiroptera an ...
, 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 (solution)
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
In mathematics, a random walk is a random process that describes a path that consists of a succession of random steps on some mathematical space.
An elementary example of a random walk is the random walk on the integer number line \mathbb ...
. 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
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
/
GNU Octave
GNU Octave is a high-level programming language primarily intended for scientific computing and numerical computation. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a lang ...
is available, while a comprehensive review is carried out by Parpinelli and Lopes. A further improvement is the development of an evolving bat algorithm (EBA) with better efficiency.
See also
*
List of metaphor-based metaheuristics
This is a chronologically ordered list of metaphor-based metaheuristics and swarm intelligence algorithms, sorted by decade of proposal.
Algorithms
1980s-1990s
Simulated annealing (Kirkpatrick et al., 1983)
Simulated annealing is a p ...
References
Further reading
*Yang, X.-S. (2014), ''Nature-Inspired Optimization Algorithms'',
Elsevier
Elsevier () is a Dutch academic publishing company specializing in scientific, technical, and medical content. Its products include journals such as '' The Lancet'', '' Cell'', the ScienceDirect collection of electronic journals, '' Trends'', ...
.
{{swarming
Nature-inspired metaheuristics