文章来源于我的个人公众号:KAU的云实验台,主要更新智能优化算法的原理、应用、改进
天鹰优化算法(Aquila Optimizer,AO)是Abualigah等[1]于2021年发表在SCI二区Computers & Industrial Engineering的元启发式优化算法。该算法通过模拟天鹰对不同猎物的不同捕获方法建立数学模型,具有收敛速度快、全局搜索能力强的优点,目前在谷歌学术上引用量达1500+
本文KAU将介绍其原理,并分享其MATLAB/Python的实现
00 目录
1 天鹰优化算法(AO)
2 代码目录
3 算法性能
4 源码获取
01 天鹰优化算法(AO)
AO模拟天鹰4种不同的捕食策略建立数学模型,根据搜索空间内解的不同特性,灵活应用不同的搜索策略,具体迭代公式如下:(公式来源于AO算法源文献[1])
1.1 天鹰优化算法原理
(1) 拓展探索(阶段1)::垂直俯身高空翱翔
在这一策略中,天鹰从高空飞行,并广泛探索搜索空间,一旦天鹰识别出猎物所在的区域,就进行垂直俯冲。这种行为的数学模型表示为:
其中,Xbest(t)是最佳个体;XM(t)为天鹰群体的平均值;rand为[0,1]之间的随机数;N为群体数;T为最大迭代次数,t为当前迭代次数;L随迭代次数线性递减。
(2) 缩小探索(阶段2)::短距滑翔攻击的等高飞行
天鹰在目标猎物上空盘旋,准备降落,然后在选定的区域内下降后攻击猎物。AO算法仔细搜索目标猎物(函数)选择的区域,为攻击做准备。这种行为的数学表达式:
其中,XR(t)为第t次迭代种群内的随机一个解;Levy(D)为Levy飞行分布函数,s和β分别等于0.01和1.5的常数,u和v是0-1之间的随机数;y和x为搜索过程中的螺旋形状参数;D为问题维度;r1的值介于1-20之间,表示搜索的次数;U=0.00565;D1为从1-D的整数组成;w为0.005;θ1=1.5pi。
(3) 拓展开发(阶段3):低空慢速下降攻击
在第三种策略中,当猎物的所在的区域被精准锁定后,天鹰通过垂直下降进行初步攻击来检测猎物的反应。AO开发指定区域来接近并攻击目标猎物(函数)。这种行为表达式:
其中,α 和 δ 为一个确定的较小的开采调整值,值为0.1;BL 为问题的下界值;BU 为问题的上界值。
(4) 缩小开发(阶段4):游走和抓取猎物
当天鹰接近猎物时,它会追逐猎物并攻击地上的猎物。
其中,x(t)是当前位置;QF(t)表示用于平衡搜索技术的质量函数值;G1表示天鹰在飞行过程中监测猎物时的运动参数,为[-1,1]之间的随机数;G2表示行程中跟随猎物时的飞行斜率,从2下降到0;r6、r7和r8是介于0和1之间的随机数。
以上为天鹰优化算法的所有迭代公式,其算法流程如下:
02 代码目录
包含Matlab、Python文件以及AO算法源文献
代码都经过作者重新注释,代码更清爽,可读性强,其中Readme给出了一些注意:
03 AO算法性能
采用CEC测试函数初步检验其寻优性能
在MATLAB中,执行程序结果如下:
在PYTHON中,执行程序结果如下:
04 源码获取
在**公众号(KAU的云实验台)**后台回复 AO
参考文献
[1] ABUALIGAH L, YOUSRI D, ELAZIZ M A, et al. Aquila optimizer: a novel meta-heuristic optimization algorithm [J].Computers and Industrial Engineering, 2021, 157(10): 50–72.
另:如果有伙伴有待解决的优化问题(各种领域都可),可以发我,我会选择性的更新利用优化算法解决这些问题的文章。
如果这篇文章对你有帮助或启发,可以点击右下角的赞/在看(ง •̀_•́)ง(不点也行),你们的鼓励就是我坚持的动力!若有定制需求,可私信作者。