蝙蝠算法

蝙蝠算法（Bat Algorithm，縮寫 BA），是一种元启发式优化算法，是杨新社（音译自：Xin-She Yang）在2010年提出的算法X. S. Yang, A New Metaheuristic Bat-Inspired Algorithm, in: Nature Inspired Cooperative Strategies for Optimization (NISCO 2010), Studies in Computational Intelligence, Springer Berlin, 284, Springer, 65-74 (2010). http://arxiv.org/abs/1004.4170 。这个蝙蝠算法以微蝙蝠（microbats）回声定位行为的基础，采用不同的脉冲发射率和响度J. D. Altringham, Bats: Biology and Behaviour, Oxford University Press, (1996).P. Richardson, Bats. Natural History Museum, London, (2008)。

算法描述
把蝙蝠的回声定位理想化，可以总结如下：每个虚拟蝙蝠有随机的飞行速度在位置（问题的解），同时蝙蝠具有不同的频率或波长、响度和脉冲发射率r。蝙蝠狩猎和发现猎物时，它改变频率、响度和脉冲发射率，进行最佳解的选择，直到目标停止或条件得到满足。这本质上就是使用调谐技术来控制蝙蝠群的动态行为，平衡调整算法相关的参数，以取得蝙蝠算法的最优。

算法方程

根据Yang (2010)的文章， 新的解和速度更新方程：

其中，随机数为均匀分布。是目前找到最优解。

A和r应该在迭代中变换：

其中， 和是常数。

算法应用
蝙蝠算法已用于工程设计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).、分类S. Mishra, K. Shaw, D. Mishra, A new metaheuristic classification approach for microarray data,Procedia Technology, Vol. 4, pp. 802-806 (2012).等应用。把蝙蝠算法（BA）与遗传算法（GA）、PSO等方法進行比较，并用于训练神经网络，得出的结论清楚顯示：蝙蝠算法比其他算法有很好优势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).。

 參考文獻 

延伸閱讀
 蝙蝠算法的详细的介绍：Yang, X. S., Nature-Inspired Metaheuristic Algoirthms, 2nd Edition, Luniver Press, (2010).
 Matlab/Octave程序 

Category:启发法
Category:數學最佳化
Category:进化算法