作者:禅与计算机程序设计艺术
1.简介
Bat Swarm Optimization (BSO) 是一种群体算法(swarm-based optimization algorithm),属于高效的优化算法类别之一,其优点在于对全局搜索能力、高维空间可行性等方面都有较好的表现。然而,BSO 的适应性、容错性、鲁棒性等特性都需要进一步研究,否则将面临着严重的问题。本文基于之前的研究成果,提出了一套新的BSO算法——MOBOBAT——来解决当前存在的问题。 MOBOBAT 使用粗粒度的BSO原则,通过种群内每个蝙蝠的协作,动态地调整整体的搜索策略并迅速收敛到全局最优,从而得到高精度、多样化的搜索结果。在应用层,MOBOBAT 可同时满足多种多样的需求,例如,不需要预先设置参数或者启发式函数,只需指定目标函数即可。相比于目前流行的BSO方法,MOBOBAT 有如下优势:
1.更有效率:MOBOBAT 采用了粗粒度的BSO原则,因而相比于细粒度的遗传算法能够取得更好的效果;
2.更易用:MOBOBAT 不仅简单易懂,而且方便用户直接调用接口,可快速地求得目的函数值;
3.更适合复杂问题:MOBOBAT 可以自动识别多峰值和局部极小值,并且具有很强的多模态能力,因此可以用来处理复杂的多维问题;
4.更稳定:MOBOBAT 在计算过程中不容易出现分支循环或陷入局部最优,因此可以应用于实际生产环境中;
5.更具弹性:MOBOBAT 能够自适应地调整搜索范围,使其不至于被困于局部最优而产生不良后果。
2.基本概念术语
2.1 Bat 蝙蝠
蝙