蝙蝠算法(Bat Algorithm,缩写 BA),是一种元启发式优化算法,是杨新社(音译自:Xin-She Yang)在2010年提出的算法[1]。这个蝙蝠算法以微蝙蝠(microbats)回声定位行为的基础,采用不同的脉冲发射率和响度[2][3]。

目录

  • 1算法描述
  • 2算法方程
  • 3算法应用
  • 4参考文献
  • 5延伸阅读

算法描述[编辑]

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

算法方程[编辑]

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

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

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

其中, 是常数。

算法应用[编辑]

蝙蝠算法已用于工程设计[4]、分类[5]等应用。把蝙蝠算法(BA)与遗传算法(GA)、PSO等方法进行比较,并用于训练神经网络,得出的结论清楚显示:蝙蝠算法比其他算法有很好优势[6]。

参考文献[编辑]

  1. ^ 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
  2. ^ J. D. Altringham, Bats: Biology and Behaviour, Oxford University Press, (1996).
  3. ^ P. Richardson, Bats. Natural History Museum, London, (2008)
  4. ^ 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).
  5. ^ S. Mishra, K. Shaw, D. Mishra, A new metaheuristic classification approach for microarray data,Procedia Technology, Vol. 4, pp. 802-806 (2012).
  6. ^ 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).

延伸阅读[编辑]

算法学习:蝙蝠算法简介相关推荐

  1. 算法学习--排序算法--插入排序

    算法学习--排序算法--插入排序 插入排序算法 代码实现 插入排序算法 插入排序(Insertion sort)是一种简单直观且稳定的排序算法.如果有一个已经有序的数据序列,要求在这个已经排好的数据序 ...

  2. php算法学习,php算法学习之动态规划

    动态规划程序设计是对解最优化问题的一种途径.一种方法,最终问题的最优解可以通过前面子问题的最优解推导出来. 对于动态规划这个算法,自己学习的还不是很透彻,简单的总结自己学习的感受是: 动态规划思想中融 ...

  3. [算法学习]模拟退火算法(SA)、遗传算法(GA)、布谷鸟算法(CS)、人工蜂群算法(ABC)学习笔记---附MATLAB注释代码

    目录 1.模拟退火算法(Simulated Annealing,SA) 1.1 本质: 1.2 算法思想 1.3 SA流程图 1.4 模拟退火过程 1.5 SA解决TSP问题 1.6 SA改进方向 1 ...

  4. 期货股票量化软件:种群优化算法:蝙蝠算法(BA)

    1. 概述 蝙蝠是种神奇的动物. 科学家认为,最早的蝙蝠出现在 65-100 亿年前,曾与恐龙并肩生活. 蝙蝠是唯一有翅膀的哺乳动物. 蝙蝠的种类拥有 1300 多种. 除了极地高寒地区之外,它们几乎 ...

  5. 算法学习之算法的引入

    一.算法的起始 1.第一次尝试 如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a.b.c可能的组合? (可以考虑到百钱白鸡)  枚举法 # 注意是三重循环 ...

  6. 【C语言】算法学习·KMP算法

    KMP算法(全称Knuth-Morris-Pratt字符串查找算法,由三位发明者的姓氏命名)是可以在文本串s中快速查找模式串p的一种算法. 要想知道KMP算法是如何减少字符串查找的时间复杂度的,我们不 ...

  7. 【C语言】算法学习·回溯算法

    目录 一.全排列问题 二.N 皇后问题 三.最后总结 回溯算法基本框架 解决一个回溯问题,实际上就是一个决策树的遍历过程.你只需要思考 3 个问题: 1.路径:也就是已经做出的选择. 2.选择列表:也 ...

  8. C++算法学习(贪心算法)

    贪心算法 1.目标 2.方法 3.例题 [122. 买卖股票的最佳时机 II](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-s ...

  9. C++算法学习(动态规划算法)

    动态规划算法 1.目标 2.方法 3.过程 4.例题 (1)[力扣:5. 最长回文子串](https://leetcode-cn.com/problems/longest-palindromic-su ...

  10. C++算法学习(回溯算法)

    回溯算法 1.目标 2.方法 3.具体思路 4.例题 (1)[力扣:10. 正则表达式匹配](https://leetcode-cn.com/problems/regular-expression-m ...

最新文章

  1. 使用css让页面变成黑白
  2. 画图怎么调整速度_初学者画图不流畅,线条毛躁生硬,而且手总抖怎么破?
  3. oracle 日期 加一秒,Leap Second (闰秒) 在ORACLE环境的影响
  4. 零基础物联网开发,踩坑无数,得到这份宝典 | 原力计划
  5. 干货 | 一文掌握常用的机器学习模型
  6. MFC开发wps演示
  7. 淘宝京东拼多多淘客源码,三合一淘客php源码cms搭建教程
  8. 小刘同学的CMOS模拟集成电路学习小记(不停更新)
  9. 一个介绍实用软件及技巧的独立博客-善用佳软
  10. 安装thrift遇到Error: libcrypto required
  11. 数据库编程之ODBC编程
  12. 学计算机要有什么基础,学计算机需要什么基础
  13. Mybatis中使用左连接查询-vo方式
  14. 深度学习目标检测模型的评价标准-AP与mAP
  15. Flutter按钮添加背景图片及文字
  16. 基于激光雷达的室内探测系统
  17. 分享10个非常不错的封面设计模板
  18. Qt环境报错-Project ERROR: Cannot run compiler ‘cl‘. Output
  19. 图片压缩软件大全-免费图片压缩软件排名
  20. 计算机冷知识科普,【科普冷知识】有趣的8个科学冷知识,让你大吃一惊

热门文章

  1. 韦东山嵌入式学习视频完整目录
  2. 学习【新版的】韦东山嵌入式_day01
  3. 菜鸟入门:电脑常用的9个小知识点
  4. c语言对c99标准声明,C语言三大标准C89,C99和C11
  5. http权威指南完整版
  6. MODIS数据介绍及下载
  7. [译] 人人都是设计师。我们可以的
  8. 怎么用计算机录制mp3的音频,内录音频是什么_如何用电脑内录音频图文步骤
  9. 路由器(Tenda 811R)变砖——修复
  10. c语言链表移动北理工,北京理工大学c语言网络教室 链表