本文核心内容:
1.新颖的多策略改进天鹰优化算法;
2.消融实验;
3.与高引用/高性能(冠军算法)/新发布/经典算法进行函数对比(CEC2005/2017/2019/2021/2022);
4.收敛结果分析、多样性分析,勘探与开发阶段分析;
5.工程优化问题应用对比。
Abualigah等于2021年提出天鹰优化算法(Aquila Optimizer,AO) [1],该算法与PSO、GWO、MPA、SSA、WOA、SMA相比均显示出一定的优越性。目前在谷歌学术上引用量已有1.7k+
然而,虽然AO具有较快的收敛速度和较强的探索能力,但其在寻优过程中仍存在算法收敛速率慢和易陷入局部极值等不足,这也吸引了大量研究人员对其进行研究和改进。具体的文献综述KAU就不细述了,针对AO算法存在的种种问题,本文对AO算法进行改进,并通过多重实验进行验证。
本文改进点新颖(结合了强化学习),性能优越(本文算法和高性能的LSHADE、SHADE、新发布的算法等在CEC2017等5大测试函数集上相比都是第一),完全由KAU原创,可用于发表SCI!
00目录
1 天鹰优化算法原理
2 融合强化学习和围猎、飞蛾扑火机制的天鹰优化算法
3 实验设计
4 代码目录
5 实验测试结果
6 源码获取
01天鹰优化算法原理
关于天鹰优化算法的原理及其代码实现,可以参考KAU的往期推文,这里不再赘述。
02融合强化学习和围猎、飞蛾扑火机制的天鹰优化算法
本文所提算法流程如下:
03实验设计
3.1 对比算法
为验证本文所提RLPFAO的实用性与优越性,选用的对比优化算法包括
高引用算法,如:GWO[5]、MFO[6]、AO[1]、DBO[13];
最新发布的优化算法,如:KOA[14] 、NOA[15]、POA[16];
经典优化算法,如: DE[17]、PSO[18]、ABC[19]
高性能算法,如:L-SHADE[ 20]、SHADE[21]、JADE[22]
所选用的优化算法罗列如下:
3.3 实验内容
实验A:消融实验
本文改进的天鹰算法共集成了4种改进策略,每种策略都是针对AO算法中的应用挑战而设定。如初始化中的佳点集策略是为了防止随机生成的种群在整个求解空间中分布不均匀,降低了搜索空间的利用率。而新型搜索策略选择机制则是为了帮助算法的勘探与开发更加平衡…。本小节将验证各策略对优化过程的影响,对于上述的4种策略,分别标记为I、II、III、IV,该将实验通过在测试函数中运行各改进策略,以验证改进策略的有效性。使用CEC函数集中一些多模态函数进行测试。
实验B:收敛行为、多样性与勘探/开发能力分析
为演示所提出的算法的收敛行为,本节将算法迭代过程中种群的变化以图示展示出来,即最优解位置与种群位置在参数空间的分布图;种群平均适应度变化图;最优解在第一维度迭代轨迹;最优解适应度收敛曲线。
对于算法的勘探与开发能力方面。勘探和开发是决定成功解决优化问题的主要属性[23]。术语勘探定义了任何搜索策略在整个搜索空间中进行全局搜索的能力,目的是发现一个包含接近最优解的区域。另一方面,开发是指帮助搜索策略仔细检查所识别的有希望的区域以定位最优解的潜力。分析收敛曲线或统计数据(如平均值、最佳值、最差值和标准差值)来从理论上检查探索和利用能力,并不能深刻理解元启发式算法的搜索特性和适当性能[24]。因此,通过对种群多样性的维度度量来评估其勘探和开发能力,并给出一个数值来描述任何搜索策略的行为,将为这些能力提供一个有效的评估。因此,可通过实施Hussain等人[24]提出的方法进行勘探和开发能力的度量。
其中,median(X1:N,j)表示整个种群中第j个维度的中位数,Xij是第i个候选解决方案的第j个维度,N表示候选解决方案的总数,Div表示在Div 1:N,j中单独计算的所有维度的多样性的平均值。因此,随着每次迭代中整个种群的多样性即将到来,每一代中的探索和利用百分比如下所示:
其中Divmax是所有世代的种群多样性的最大值。
实验C:CEC测试函数对比
选用CEC2005、CEC2017、CEC2019、CEC2021、CEC2022测试函数集共81个函数与上述算法对比,验证算法的优越性。同时,统计算法执行N次后的最优值、标准差、平均值、中值、最差值以及秩和检验和Friedman值进行对比。
实验D:实际工程问题对比
为了评估所提出的算法在应对现实世界优化挑战方面的有效性,我们挑选了4个约束工程优化问题。
04代码目录
本次改进算法为本人原创,未发表。
代码共5部分,即4个实验以及一个仅运行RLPFAO的代码。除了这些以外,还包含本次改进所用的参考文献、实验分析可借鉴的文献以及改进算法原理PDF。所有文件目录如下:
算法实现为MATLAB,每个文件夹都只需运行主程序Main_xx程序即可。
05实验结果
5.1 实验A:消融实验
其中,AO为原AO算法;AO-I为引入佳点集初始化策略的AO算法;AO-II为使用新型搜索策略选择机制的AO算法;AO-III为引入围猎和飞蛾扑火机制的AO算法;AO-IV为融合强化学习的AO算法,RLPFAO为集成4种策略的AO算法。从迭代曲线中可以看到原AO算法面对较为复杂的CEC2017函数,在迭代前期容易停滞,而改进后的算法能够帮助天鹰更好的跳出局部最优,且总体上,所采用的改进策略均能提升AO性能。
下表是这几种AO变体算法在CEC2017部分函数上多次独立运行后统计得到的最优值、标准差、平均值、最差值以及Friedman值和排名,图中标红的是数值较大的,可以看到引入改进策略后的AO算法各数值都降低了,其性能均得到了提升。
5.2实验B:收敛行为分析
算法在CEC2005中的结果如下:
可以看出,本文所提算法不仅比AO算法收敛更快,且种群多样性更好,开发和勘探能力更强。
关于这部分的分析,KAU也给出了几个参考文献已便于更全面的分析。
5.3实验C:CEC测试函数对比
本文所提算法在CEC2005、CEC2017、CEC2019、CEC2021函数集上均表现佳,显示出较为优越的性能,下面是各函数集上运行结果。
(运行主程序后能够自动保存高清迭代图像以及迭代数据的excel表,excel表包括运行后的std、平均值、最优值、最差值,秩和检验结果,Freidman值和排名)
CEC2005得到的结果:
迭代结果(Excel结果过多,这里展示部分)
秩和检验(Excel结果过多,这里展示部分)
Friedman平均值排名:(Excel结果过多,这里展示平均排名)
CEC2017得到的结果:
迭代结果(Excel结果过多,这里展示部分)
秩和检验(Excel结果过多,这里展示部分)
Friedman平均值排名:(Excel结果过多,这里展示平均排名)
CEC2019得到的结果:
迭代结果(Excel结果过多,这里展示部分)
秩和检验(Excel结果过多,这里展示部分)
Friedman平均值排名:(Excel结果过多,这里展示平均排名)
CEC2021得到的结果:
迭代结果(Excel结果过多,这里展示部分)
秩和检验(Excel结果过多,这里展示部分)
Friedman平均值排名:(Excel结果过多,这里展示平均排名)
CEC2022得到的结果:
迭代结果(Excel结果过多,这里展示部分)
秩和检验(Excel结果过多,这里展示部分)
Friedman平均值排名:(Excel结果过多,这里展示平均排名)
5.4 实验D:实际工程问题对比
5.4.1 Tension compression spring design (拉力压缩弹簧设计)
该问题是一种经典工程优化问题,该问题的主 要 目 的是优化拉伸或压缩弹簧的重量。这个问题包含4个约束条件和3个用于计算权重的变量:线径d、平均线圈直径D和活动线圈数P,本文中讲3个变量表示为x =(x1,x2,x3),对应 (d,D,N)。问题的图示如图5所 示,其数学模型:
用本文改进算法以及对比算法进行优化求解,结果如下:
5.4.2 Pressure vessel design (压力容器设计)
压力容器模型如图所示,圆柱形容器的两端均由半球形封头封盖。压力容器优化问题的目标是最小化总成本,包括材料、成形和焊接的成本。该优化问题有四个决策变量,包括壳体的厚度 Ts(x1)、封头的厚度 Th(x2)、内半径 R(x3)和不包括封头的容器圆柱段的长度 L(x4)。优化的数学模型如式所示。
用本文改进算法以及对比算法进行优化求解,结果如下:
5.4.3 Gear train design Problem (齿轮系设计问题)
齿轮系在我们日常生活中随处可见, 它的结构如图所示。齿轮系统设计问题通常是一种多目标优化问题, 需要考虑到多个目标函数, 它的变量是 4 个齿轮齿数, 主要目标是使传动比最小化, 并根据这些目标函数来确定设计方案. 在实际工程应用中齿轮系设计问题通常被描述为一个带有不等式约束的优化问题.其数学模型为:
用本文改进算法以及对比算法进行优化求解,结果如下:
5.4.4 Three-bar truss design problem (三杆衍架设计问题)
杆桁架设计问题是指在每个桁架构件可承受的应力约束下,调整横截面积(x1,x2)以求解三杆桁架的最小体积,该问题具备2个参数和3个约束,其数学模型如下:
用本文改进算法以及对比算法进行优化求解,结果如下:
06代码获取
本文算法独家原创,与以往不同的是,此代码仅售一次,确保在论文发表中你的原创性。本文算法实验丰富、性能优越,可用于SCI发表,若能够结合一定应用,一区也可以的,并且用作硕士论文其工作量也充足。
由于仅售一份,因此价格比以往代码更贵,但购买代码后KAU将提供一对一服务,可解答相关问题。
代码获取:公众号 (KAU的云实验台) 后台回复 RLPFAO
另:如果有伙伴有待解决的优化问题(各种领域都可),可以发我,我会选择性的更新利用优化算法解决这些问题的文章。
如果这篇文章对你有帮助或启发,可以点击右下角的赞/在看(ง •̀_•́)ง(不点也行),你们的鼓励就是我坚持的动力!若有定制需求,可私信作者。