引言
基于生物习性的优化算法成为近年来一种热门,如蚁群算法,蝙蝠算法。但是这些算法很难越出局部寻优(如果要越出局部寻优,就要在每一次迭代中采用聚类),但个体捕猎反而更好实现,因此,参考网上的鲸鱼算法,这种单个体捕猎的算法,参照豹子捕猎行为,设计算法。
算法原理
基本想法
豹子一开始采用缩小包围圈的方式去逼近猎物(此处假设猎物行动缓慢,且猎物有限定的活动范围),当其与猎物距离小于半径R时则直线逼近猎物
L2为初始位置与猎物距离,L1为与猎物之间可直线逼近的临界距离即R,l为猎豹以猎物为中心所环绕的圈数。
同时,猎物也不蠢,在限定的区域内,为了离开猎豹,猎物必须以垂直于猎豹的瞬时速度方向进行逃跑。
算法思路
初始迭代猎物位置的更新实现,需要以蒙特卡洛模拟周围1000个点,在选出最优点替换。
伴随着捕食者靠近,被狩猎者会有紧张情绪,在这里假定急躁系数,其原理是,猎物与捕食者距离越远,急躁系数越小。这样开始时,猎物移动范围小,让捕食者多遍历,而在捕食者靠近猎物时,猎物移动距离增加,此时若最优点未被检测到,可以越出局部寻优。(这部分代码表示中文乱码了不用管)