1. 蝙蝠算法简介
(以下描述,均不是学术用语,仅供大家快乐的阅读)
蝙蝠算法(Bat Algorithm)是受蝙蝠回声定位的特性启发而提出的新兴算法,提出时间是2010年,虽然距今(2020)有近10年,但与其它的经典算法相比仍算一个新算法。算法也已有一定规模的研究和应用,但仍有改进点、创新点及应用点。
蝙蝠算法主要模拟了蝙蝠通过回声定位系统来寻找小型昆虫进行觅食的行为。蝙蝠算法对解空间的搜索方式与粒子群算法(PSO)有一定的类似,与粒子群相比,蝙蝠算法的每只蝙蝠多了频率属性和响度,频率与相对距离决定蝙蝠的速度,而速度与当前位置决定了蝙蝠下一刻的位置。可以看出,算法很符合我们想象中的蝙蝠的回声定位觅食行为:当蝙蝠发出的超声波返回的频率和自己与目标之间的相对距离均较为合适时(目标个头不太大,自己离得也不太远),蝙蝠会加速(或减速)向目标飞去。
当然发送超声波的动物还有海豚什么的,大家可以发挥想象力,创造一个什么海豚算法。
2. 算法流程
这次我们的主角显而易见,就是蝙蝠了。
每一个蝙蝠有四个属性,当前位置X,当前速度V,回声频率f,回声响度A。蝙蝠算法每只蝙蝠的有两种行为(1)更新