蝙蝠算法

蝙蝠算法（Bat Algorithm，縮寫 BA），是一种元启发式优化算法，是杨新社（音译自：Xin-She Yang）在2010年提出的算法。这个蝙蝠算法以微蝙蝠（microbats）回声定位行为的基础，采用不同的脉冲发射率和响度。

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

算法方程

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

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

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

其中， 和是常数。

算法应用
蝙蝠算法已用于工程设计、分类等应用。把蝙蝠算法（BA）与遗传算法（GA）、PSO等方法進行比较，并用于训练神经网络，得出的结论清楚顯示：蝙蝠算法比其他算法有很好优势。

參考文獻

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

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