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.<ref>J. D. Altringham, Bats: Biology and Behaviour, Oxford University Press, (1996).</ref><ref>P. Richardson, Bats. Natural History Museum, London, (2008)</ref> The Bat algorithm was developed by [[Xin-She Yang]] in 2010.<ref>{{cite journal | last1 = Yang | first1 = X. S. Yang,| year = 2010 | title = A New Metaheuristic Bat-Inspired Algorithm, in: Nature Inspired Cooperative Strategies for Optimization (NISCO 2010) (Eds.| J.arxiv = R1004.4170| Gonzalezjournal et= alStudies in Computational Intelligence | volume = 284 | pages = 65–74 | bibcode = 2010arXiv1004.),4170Y Studies}}</ref>
in Computational Intelligence, Springer Berlin, 284, Springer, 65-74 (2010). http://arxiv.org/abs/1004.4170</ref>
== Algorithm DescriptionMetaphor ==
The idealization of the [[Animal echolocation|echolocation]] of microbats can be summarized as follows: Each virtual bat flies randomly with a velocity <math>v_i</math> at position (solution) <math>x_i</math> with a varying frequency or wavelength and loudness <math>A_i</math>. As it searches and finds its prey, it changes frequency, loudness and pulse emission rate <math>r</math>. 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 <ref>Yang, X. S., [https://books.google.com/books?id=iVB_ETlh4ogC&q=bat+algorithm&pg=PR5 Nature-Inspired Metaheuristic Algorithms], 2nd Edition, Luniver Press, (2010).</ref> where a demo program in Matlab[[MATLAB]]/[[GNU Octave]] is available, while a comprehensive review is carried out by Parpinelli and Lopes.<ref>{{cite journal | last1 = Parpinelli, | first1 = R. S., and| last2 = Lopes, | first2 = H. S., | s2cid = 16866891 | year = 2011 | title = New inspirations in swarm intelligence: aA survey,Int.| J.journal = International Journal of Bio-Inspired Computation,| Vol.volume = 3, 1-16| (pages = 1–16 | doi=10.1504/ijbic.2011).038700}}</ref> A further improvement is the development of an evolving bat algorithm (EBA) with better efficiency.<ref>{{cite journal | last1 = Tsai | first1 = P. W. Tsai,| last2 = Pan | first2 = J. S. Pan,| last3 = Liao | first3 = B. Y. Liao,| last4 = Tsai | first4 = M. J. Tsai,| last5 = Istanda | first5 = V. Istanda,| year = 2012 | title = Bat algorithm inspired algorithm for solving numerical optimization problems, | journal = Applied Mechanics and Materials, Vo..| volume = 148-149, pp| pages = 134–137 | doi=10.1344028/www.scientific.net/amm.148-137149.134| (2012)bibcode = 2011AMM...148..134T }}</ref>
== See also ==
A Matlab demo is available at the Matlab exchange<ref>here http://www.mathworks.com/matlabcentral/fileexchange/37582</ref>
* [[List of metaphor-based metaheuristics]]
==References==
== Implementations ==
*[https://github.com/AhmedHani/PySwarmOptimization/ PySwarmOptimization] package in [[Python (programming language)|Python]].
== Multi-objective Bat Algorithm (MOBA) ==
Using a simple weighted sum with random weights, a very effective but yet simple multiobjective bat algorithm (MOBA) has been developed to solve multiobjective engineering design tasks.<ref>X. S. Yang, bat algorithm for multi-objective optimisation, Int. J. Bio-Inspired Computation, Vol. 3, 267-274 (2011).</ref> Another multiobjective bat algorithm by combining bat algorithm with
NSGA-II produces very competitive results with good efficiency.<ref>T. C. Bora, L. S. Coelho, L. Lebensztajn, Bat-inspired optimization
approach for the brushless DC wheel motor problems, IEEE Trans. Magnetics, Vol. 48 (2), 947-950 (2012).</ref>
== Bat Algorithm Embedded with FLANN (BAT-FLANN) ==
BAT-FLANN model was proposed by Sashikala et al. in 2012.<ref>S. Mishra, K. Shaw, D. Mishra, A new metaheuristic classification approach for micro array data,Procedia Technology, Vol. 4, pp. 802-806 (2012).</ref> to solve classification of gene expression data. Using simple bat frequency,loudness and pulse updation logic and random weight, a very effective algorithm is designed that give promising result.
The same model has been used for designing a Meta-heuristic Framework for Secondary Protein Structure Prediction where BAT has been used to optimize FLANN network.<ref>k. Shaw, D. Mishra,A Meta-heuristic Framework for Secondary Protein Structure Prediction using BAT-FLANN Optimization Algorithm, Indian Journal of Science and Technology, Vol 8(16),pp. 951-960 (2015).</ref>
== Directed Artificial Bat Algorithm (DABA) ==
Directed Artificial Bat Algorithm was proposed by Rekaby in Aug 2013.<ref>
A. Rekaby, "Directed Artificial Bat Algorithm (DABA): A New Bio-Inspired Algorithm," in International Conference on Advances in Computing, Communications and Informatics (ICACCI), Mysore, 2013.</ref> This algorithm is simulating the echo system of that bats, and how they use this system in prey finding and obstacle avoidance. In this research, it proved the efficiency of DABA algorithm comparing the results with ABC Algorithm.
== Binary Bat Algorithm (BBA) ==
Binary Bat Algorithm was proposed by Mirjalili et al. in 2014.<ref>
S. Mirjalili, S. M. Mirjalili, X. Yang, Binary Bat Algorithm, Neural Computing and Applications, In press, 2014, Springer DOI: http://dx.doi.org/10.1007/s00521-013-1525-5</ref> A V-shaped transfer function <ref>S. Mirjalili, A. Lewis, S-shaped versus V-shaped transfer functions for binary Particle Swarm Optimization, Swarm and Evolutionary Computation, Volume 9, April 2013, Pages 1-14, DOI: http://dx.doi.org/10.1016/j.swevo.2012.09.002</ref> was employed to allow BBA to solve binary problems.
== Applications ==
Bat algorithm has been used for engineering design,<ref>X. S. Yang and A. H. Gandomi, Bat algorithm: a novel approach for global engineering optimization, Engineering Computations, Vol. 29, No. 5, pp. 464-483 (2012).</ref> classifications of gene expression data is done by BAT-FLANN model by Sashikala Mishra,kailash shaw and Debahuti Mishra.,<ref>S. Mishra, K. Shaw, D. Mishra, A new metaheuristic classification approach for microarray data,Procedia Technology, Vol. 4, pp. 802-806 (2012).</ref> It also helps in the field of Protein Secondary Structure Prediction by means of optimizing classifier [11].A fuzzy bat clustering method has been developed to solve ergonomic workplace problems<ref>Khan, K., Nikov, A., Sahai A., A Fuzzy Bat Clustering Method for Ergonomic Screening of Office Workplaces,S3T 2011,
Advances in Intelligent and Soft Computing, 2011, Volume 101/2011, 59-66 (2011).</ref>
An interesting approach using fuzzy systems and bat algorithm has shown
a reliable match between prediction and actual data for exergy modelling.<ref>T. A. Lemma, Use of fuzzy systems and bat algorithm for exergy modelling in a gas turbine generator, IEEE Colloquium on Humanities, Science and Engineering (CHUSER'2011), pp. 305-310 (2011).</ref>
A detailed comparison of bat algorithm (BA) with genetic algorithm (GA), PSO and other methods for training feed forward neural networks concluded clearly that BA has advantages over other algorithms.<ref>K. Khan and A. Sahai, A comparison of BA, GA, PSO, BP and LM for
training feed forward neural networks in e-learning context, Int. J. Intelligent Systems and Applications (IJISA), Vol. 4, No. 7, pp. 23-29 (2012).</ref>
==Notes==
{{Reflist|33em}}
== Further reading ==
*Kotteeswaran, R. & Sivakumar, L. (2013),"A Novel Bat Algorithm Based Re-Tuning of PI Controller of Coal Gasifier for Optimum Response", ''Mining Intelligence and Knowledge Exploration'' [[Lecture Notes in Computer Science]]/Lecture Notes in Artificial Intelligence (LNAI), vol. 8284, pp. 506–517, Springer.
*Kotteeswaran, R. & Sivakumar, L. (2013),"Optimal Partial-retuning of decentralised PI controller of coal gasifier using Bat Algorithm", ''Swarm, Evolutionary, and Memetic Computing'' [[Lecture Notes in Computer Science]] (LNCS), vol. 8297, pp. 750–761, Springer.
*Yang, X.-S. (2014), ''Nature-Inspired Optimization Algorithms'', [[Elsevier]].
{{Optimization algorithms}}
{{swarming}}
[[Category:HeuristicNature-inspired algorithmsmetaheuristics]]
[[Category:Evolutionary algorithms]]
|