请参考这里。
AOA作为一种新型群体智能算法,如何平衡其全局搜索和局部搜索对提高算法的性能至关重要。若全局搜索和局部搜索协调不好,在进化过程中可能会导致算法出现早熟收敛现象。本文在MOA更新公式中加入由余弦因子控制的非线性惯性权重,来动态调节算法全局搜索与局部搜索的平衡,提高算法寻优精度和稳定性。 C M O A ( C _ I t e r ) = M a x − ( M a x − M i n ) ⋅ cos ( p i ⋅ C _ I t e r 2 ⋅ M _ I t e r ) (1) CMOA(C\_Iter)=Max-(Max-Min)\cdot\cos\left(\frac{pi\cdot C\_Iter}{2\cdot M\_Iter}\right)\tag{1} CMOA(C_Iter)=Max−(Max−Min)⋅cos(2⋅M_Iterpi⋅C_Iter)(1)
本文受采用以迭代次数 i t e r iter iter为t分布的自由度参数的t分布变异算子对解的位置进行扰动,使得算法在迭代前期具有较好的全局开发能力,在迭代后期具有良好的局部探索能力,并提高算法的收敛速度,具体的位置更新方式如下: X n e w j = X b e s t j + t ( C _ i t e r ) ⋅ X b e s t j (2) X_{new}^j=X_{best}^j+t(C\_iter)\cdot X_{best}^j\tag{2} Xnewj=Xbestj+t(C_iter)⋅Xbestj(2)其中, X n e w j X_{new}^j Xnewj为自适应t分布变异扰动后最优解在第 j j j维的位置, X b e s t j X_{best}^j Xbestj为变异扰动前最优解在第 j j j维的位置,迭代次数作为t分布的自由度参数。
在元启发式算法中,在算法中引入变异有利于进一步提升算法跳出局部最优解的能力,因为通过引入变异算子能够使算法具有一定的局部随机搜索能力,一方面,在求解的后期,加速向最优解收敛,另一方面也维持解的多样性。本文对三种常见的变异相应的机理进行剖析,综合考虑之后,引入自适应t分布变异改进算法搜索策略,有效增强了算法的寻优性能和避免局部最优能力。在引入自适应t分布变异的同时引入余弦控制因子的动态边界策略以更好地平衡全局搜索和局部搜索。结合两种策略对AOA 算法进行改进,可通过实验验证其有效性。
本文选取基本算术优化算法(AOA)、海洋捕食者算法(Marine Predators Algorithm, MPA)、灰狼优化算法(Grey Wolf Optimizer, GWO)、鲸鱼优化算法(Whale Optimization Algorithm, WOA)与本文所提的t-CAOA进行对比。为保证实验的公平性,所有算法的种群规模设为30,迭代次数设为1000,其他参数设置如文献[1]中表1所示。以文献[1]中表2的10个测试函数为例,每个算法独立运行30次,结果显示如下:
函数:F1
AOA:Best: 6.8822e-281, Worst: 2.7353e-51, Mean: 1.1423e-52, Std: 5.1087e-52
t-CAOA:Best: 0, Worst: 0, Mean: 0, Std: 0
WOA:Best: 1.0778e-169, Worst: 1.6607e-149, Mean: 7.4072e-151, Std: 3.1647e-150
GWO:Best: 2.0329e-62, Worst: 5.745e-58, Mean: 9.2924e-59, Std: 1.3643e-58
MPA:Best: 6.1617e-53, Worst: 9.7509e-49, Mean: 1.1228e-49, Std: 2.1635e-49
函数:F2
AOA:Best: 0, Worst: 0, Mean: 0, Std: 0
t-CAOA:Best: 0, Worst: 0, Mean: 0, Std: 0
WOA:Best: 2.3346e-114, Worst: 4.3748e-101, Mean: 1.498e-102, Std: 7.982e-102
GWO:Best: 7.2842e-36, Worst: 6.3155e-34, Mean: 1.2123e-34, Std: 1.5228e-34
MPA:Best: 1.7919e-31, Worst: 4.6619e-27, Mean: 4.6283e-28, Std: 9.7795e-28
函数:F3
AOA:Best: 3.1676e-238, Worst: 0.042641, Mean: 0.0031705, Std: 0.008964
t-CAOA:Best: 0, Worst: 0, Mean: 0, Std: 0
WOA:Best: 7522.7121, Worst: 39892.3744, Mean: 21076.7334, Std: 8537.3743
GWO:Best: 3.3916e-21, Worst: 1.0408e-14, Mean: 1.0023e-15, Std: 2.067e-15
MPA:Best: 1.9046e-18, Worst: 7.6711e-10, Mean: 2.6477e-11, Std: 1.3991e-10
函数:F4
AOA:Best: 1.6774e-104, Worst: 0.044632, Mean: 0.017599, Std: 0.019722
t-CAOA:Best: 0, Worst: 0, Mean: 0, Std: 0
WOA:Best: 0.0054298, Worst: 89.0311, Mean: 32.8398, Std: 34.1509
GWO:Best: 1.0816e-15, Worst: 7.957e-14, Mean: 1.7626e-14, Std: 2.1349e-14
MPA:Best: 3.2687e-20, Worst: 9.4199e-19, Mean: 2.5352e-19, Std: 2.0054e-19
函数:F5
AOA:Best: 27.2528, Worst: 28.7936, Mean: 28.2472, Std: 0.43636
t-CAOA:Best: 28.8449, Worst: 28.9234, Mean: 28.8821, Std: 0.019016
WOA:Best: 26.6612, Worst: 28.2082, Mean: 27.1858, Std: 0.37645
GWO:Best: 25.243, Worst: 28.5495, Mean: 26.7191, Std: 0.81304
MPA:Best: 22.9508, Worst: 24.8416, Mean: 23.4567, Std: 0.41343
函数:F6
AOA:Best: 0, Worst: 0, Mean: 0, Std: 0
t-CAOA:Best: 0, Worst: 0, Mean: 0, Std: 0
WOA:Best: 0, Worst: 0, Mean: 0, Std: 0
GWO:Best: 0, Worst: 0, Mean: 0, Std: 0
MPA:Best: 0, Worst: 0, Mean: 0, Std: 0
函数:F7
AOA:Best: -6410.1605, Worst: -5283.0448, Mean: -5834.1702, Std: 292.4443
t-CAOA:Best: -9613.4058, Worst: -2634.0818, Mean: -3962.5961, Std: 1255.9089
WOA:Best: -12569.095, Worst: -8610.5789, Mean: -11452.5976, Std: 1487.0109
GWO:Best: -7574.4991, Worst: -3075.5132, Mean: -6051.1614, Std: 1087.4937
MPA:Best: -10809.3599, Worst: -8511.6456, Mean: -9647.8953, Std: 530.1562
函数:F8
AOA:Best: 0, Worst: 0, Mean: 0, Std: 0
t-CAOA:Best: 0, Worst: 0, Mean: 0, Std: 0
WOA:Best: 0, Worst: 5.6843e-14, Mean: 3.7896e-15, Std: 1.4422e-14
GWO:Best: 0, Worst: 3.3842, Mean: 0.47353, Std: 1.1053
MPA:Best: 0, Worst: 0, Mean: 0, Std: 0
函数:F9
AOA:Best: 8.8818e-16, Worst: 8.8818e-16, Mean: 8.8818e-16, Std: 0
t-CAOA:Best: 8.8818e-16, Worst: 8.8818e-16, Mean: 8.8818e-16, Std: 0
WOA:Best: 8.8818e-16, Worst: 7.9936e-15, Mean: 3.4935e-15, Std: 2.2726e-15
GWO:Best: 1.1546e-14, Worst: 2.2204e-14, Mean: 1.6402e-14, Std: 2.8731e-15
MPA:Best: 8.8818e-16, Worst: 4.4409e-15, Mean: 3.8488e-15, Std: 1.3467e-15
函数:F10
AOA:Best: 0.0005192, Worst: 0.3381, Mean: 0.08772, Std: 0.084294
t-CAOA:Best: 0, Worst: 0, Mean: 0, Std: 0
WOA:Best: 0, Worst: 0.029902, Mean: 0.00099672, Std: 0.0054593
GWO:Best: 0, Worst: 0.023454, Mean: 0.0021241, Std: 0.0057495
MPA:Best: 0, Worst: 0, Mean: 0, Std: 0
实验结果表明,经过改进的算术优化算法具有更高的寻优精度和稳定性。
[1] 郑婷婷, 刘升, 叶旭. 自适应t分布与动态边界策略改进的算术优化算法[J]. 计算机应用研究, 2022, 39(5): 1410-1414.