本期文章复现一篇新鲜出炉的论文:《多策略改进的蜣螂优化算法及其应用》,该成果于2023年12月15日发表于中文核心期刊《计算机科学与探索》,参考文献如下:
[1]郭琴,郑巧仙.多策略改进的蜣螂优化算法及其应用[J/OL].计算机科学与探索,1-22[2023-12-19]
文章摘要如下:
蜣螂优化算法(Dung Beetle Optimizer,.DBO)是近年提出的智能优化算法,与其它优化算法一样,DBO也存在收敛精度低,易陷入局部最优等缺点,针对DBO的这些局限性,提出一种多策略改进的蜣郎优化算法(Multi-strategy improved dung beetle optimizer,MDBO)。首先,改进雏球和偷窃蜣螂对局部最优解和全局最优解的接受程度,使其根据自身搜索能力动态变化,既提升了种群质量又保持了适应度高的个体的良好搜索能力;其次,融合麻准搜索算法中的追随者位置更新机制对算法进行扰动,并用贪婪策略更新位置,提升了算法的收敛精度;最后,当算法陷入停滞时引入柯西高斯变异策略,提高了算法跳出局部最优解的能力。
蜣螂算法自提出以来吸引了很多学者的研究,是一个比较火的算法。蜣螂算法基本原理可以参考:智能算法之蜣螂优化算法(DBO),原理公式详解,附matlab代码
多策略改进的蜣螂优化算法原理如下:
改进策略
改进点1: 改进雏球和偷窃蜣螂对最优解的接受程度
在基本蜣螂优化算法中,雏球根据局部最优位置进行位置更新,偷窃蜣螂也是根据全局最优位置更新位置,由此可知,雏球和偷窃蜣螂会不停的向局部最优位置和全局最优位置靠近,但在算法前期,应尽量扩大群体的搜索范围,快速向局部最优位置或全局最优位置靠近虽然能使算法快速收敛,但也有一定的概率令算法陷入停滞,导致无法收敛到全局最优解。
因此,设计一种根据蜣螂搜索能力的强弱(适应度大小)动态改变雏球和偷窃蜣螂对局部最优位置或全局最优位置的接受程度的策略。具体方法如下:将蜣郎群体根据搜索能力(适应度值优劣)排序,雏球和偷窃蜣螂根据自身搜索能力的更新位置方式如下: 改进点2:融合麻雀搜索算法追随机制的扰动策略
麻雀算法具有收敛精度高、收敛速度快、鲁棒性强等特点,在函数优化问题方面,优于粒子群算法,灰狼优化算法等群智能算法[]。因此,将麻雀搜索算法中追随者的位置更新机制作为一种扰动策略引入蜣螂优化算法,定义麻雀搜索算法中的发现者最优位置对应蜣螂优化算法中的全局最优位置。若扰动性太强,群体容易陷入混乱无序状态;若扰动性太弱,扰动策略将不能发挥作用;因此,根据迭代深度自适应改变扰动概率,并采用贪梦策略决定是否保留此次扰动,扰动概率如式所示: 在迭代前期,扰动概率较大,可充分发挥麻雀追随机制扰动的作用,达到提升种群质量,提高算法寻优性能的作用;在迭代后期,扰动概率逐渐减小,起到加快算法收敛速度的效果。具体扰动步骤如下:a)根据上式计算第i个个体的扰动概率pv;b)生成随机数r∈(0,1),若r 改进点3:柯西高斯变异 引入麻雀搜索算法追随机制的扰动主要作用是使群体能更充分的遍历解空间,提升种群质量,类似于混沌扰动;在多峰值情况下,蜣螂优化算法和其他群智能优化一样,容易陷入局部最优解,柯西高斯变异是为应对多峰值情况而提出的辅助策咯,加大算法跳出局部最优獬的概率[3],提升算法的寻优精度。在每次麻雀搜索算法追随机制扰动后,判断群体是否早熟,判断方式为:若群体经过5次迭代后最优解不变,则判定算法陷入停滞(早熟),对整个群体采用柯西高斯变异策略,令群体跳出局部最优解,柯西高斯变异方法如下式: ββ 结果展示 在CEC2005函数集进行测试,并与原始蜣螂算法(DBO),麻雀算法(SSA),鹈鹕算法(POA),浣熊算法(COA),减法优化器算法(SABO)进行比较。这些算法都是作者往期推荐的算法,效果都是很不错的! 并画出函数图像,迭代曲线,粒子轨迹图,平均收敛图和历史位置图。这几张图在很多智能算法的文献中会涉及到。 在CEC2005中测试: F1: F2: F6: F5: F7: F9: F12: F13: F15: 以上图片,代码一键运行即可出来。 CEC2005指标统计如下: 将每个算法迭代500次,种群个数设置为30个,每个函数运行30次,求最优值,标准差,平均值,最差值,中位数共五个指标如下,秩和检验结果,箱线图等如下所示。 箱线图: 运行后会自动出现一个excel表格,用来统计五种指标结果: Wilcoxon 秩和检验: 运行这两个主程序即可! 以上提到的所有图片,EXCEL表格等,代码均可运行出来。 代码获取 完整代码获取方式:后台回复关键字,不区分大小写。关键字: MIDBO 或者复制链接跳转:https://mbd.pub/o/bread/mbd-ZZiYkply 或者点击下方阅读原文跳转链接,F1函数计算结果:
MIDBO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
DBO:最优值:1.6775e-157 标准差:4.0998e-104 平均值:7.4957e-105 中值:4.3695e-131 最差值:2.2457e-103
POA:最优值:5.1362e-121 标准差:2.1177e-103 平均值:3.8826e-104 中值:2.19e-111 最差值:1.1601e-102
SSA:最优值:0 标准差:3.6939e-70 平均值:6.7506e-71 中值:1.0776e-89 最差值:2.0233e-69
COA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SABO:最优值:7.5261e-205 标准差:0 平均值:1.8391e-199 中值:1.0383e-201 最差值:2.9804e-198
F2函数计算结果:
MIDBO:最优值:0 标准差:0 平均值:4.7163e-201 中值:0 最差值:1.1333e-199
DBO:最优值:1.1486e-84 标准差:4.8833e-55 平均值:1.283e-55 中值:1.4611e-71 最差值:2.032e-54
POA:最优值:8.0077e-61 标准差:4.7725e-54 平均值:1.5814e-54 中值:4.4123e-56 最差值:2.5383e-53
SSA:最优值:1.5965e-131 标准差:8.4806e-35 平均值:1.5524e-35 中值:1.6877e-42 最差值:4.6454e-34
COA:最优值:8.3373e-196 标准差:0 平均值:2.3769e-180 中值:4.6145e-188 最差值:7.0832e-179
SABO:最优值:9.3956e-113 标准差:1.4431e-108 平均值:5.1734e-109 中值:9.0048e-110 最差值:7.9504e-108
F3函数计算结果:
MIDBO:最优值:0 标准差:0 平均值:3.0344e-218 中值:0 最差值:9.1031e-217
DBO:最优值:5.0119e-150 标准差:1.1918e-78 平均值:2.1759e-79 中值:4.1655e-115 最差值:6.5278e-78
POA:最优值:3.8386e-116 标准差:1.4875e-105 平均值:3.7996e-106 中值:3.8399e-111 最差值:7.7799e-105
SSA:最优值:4.138e-105 标准差:1.6966e-33 平均值:3.099e-34 中值:7.5835e-47 最差值:9.2926e-33
COA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SABO:最优值:6.3111e-114 标准差:5.2072e-85 平均值:9.8386e-86 中值:6.2376e-102 最差值:2.8538e-84
F4函数计算结果:
MIDBO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
DBO:最优值:5.2602e-82 标准差:9.9275e-52 平均值:1.9529e-52 中值:6.1546e-65 最差值:5.4363e-51
POA:最优值:1.4087e-62 标准差:1.415e-52 平均值:4.0918e-53 中值:4.7814e-56 最差值:6.0281e-52
SSA:最优值:1.0452e-217 标准差:5.764e-29 平均值:1.1294e-29 中值:2.2796e-48 最差值:3.1576e-28
COA:最优值:4.1842e-193 标准差:0 平均值:2.1174e-182 中值:7.638e-188 最差值:5.7058e-181
SABO:最优值:3.4047e-88 标准差:3.4114e-84 平均值:1.7413e-84 中值:3.5102e-85 最差值:1.6824e-83
F5函数计算结果:
MIDBO:最优值:0 标准差:7.0601e-05 平均值:2.0971e-05 中值:0 最差值:0.00034569
DBO:最优值:4.8315 标准差:0.27718 平均值:5.2879 中值:5.2615 最差值:6.0842
POA:最优值:4.7765 标准差:0.76761 平均值:6.3137 中值:6.2155 最差值:8.9143
SSA:最优值:1.7041e-10 标准差:4.7784e-06 平均值:1.9968e-06 中值:1.4148e-07 最差值:1.81e-05
COA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SABO:最优值:6.8856 标准差:0.55816 平均值:7.516 中值:7.2887 最差值:8.9185
F6函数计算结果:
MIDBO:最优值:0 标准差:1.2826e-06 平均值:3.3059e-07 中值:2.627e-24 最差值:6.7234e-06
DBO:最优值:2.2786e-28 标准差:1.0402e-23 平均值:2.5843e-24 中值:1.157e-25 最差值:5.7074e-23
POA:最优值:5.6403e-07 标准差:0.17224 平均值:0.15216 中值:0.095247 最差值:0.50277
SSA:最优值:0 标准差:1.2477e-32 平均值:1.0682e-32 中值:1.2326e-32 最差值:4.9304e-32
COA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SABO:最优值:0.00053409 标准差:0.15653 平均值:0.10074 中值:0.0020809 最差值:0.56967
F7函数计算结果:
MIDBO:最优值:3.2388e-06 标准差:6.9476e-05 平均值:6.9199e-05 中值:5.1441e-05 最差值:0.00036031
DBO:最优值:0.00011126 标准差:0.00086613 平均值:0.00099766 中值:0.00068401 最差值:0.0030559
POA:最优值:1.1789e-05 标准差:0.0001654 平均值:0.00020722 中值:0.00014035 最差值:0.00063182
SSA:最优值:0.00028315 标准差:0.0012843 平均值:0.0014874 中值:0.0011822 最差值:0.0051704
COA:最优值:2.4002e-06 标准差:5.6158e-05 平均值:5.1631e-05 中值:3.5014e-05 最差值:0.00020999
SABO:最优值:1.8589e-05 标准差:0.00010422 平均值:0.00011481 中值:8.7345e-05 最差值:0.00046295
F8函数计算结果:
MIDBO:最优值:-4189.8289 标准差:484.0229 平均值:-3596.8958 中值:-3628.937 最差值:-2455.6088
DBO:最优值:-4188.9123 标准差:548.9639 平均值:-3444.6425 中值:-3359.909 最差值:-2402.6344
POA:最优值:-3439.3677 标准差:210.0963 平均值:-3050.9842 中值:-3100.0672 最差值:-2570.4931
SSA:最优值:-3716.0755 标准差:279.1991 平均值:-3297.5856 中值:-3328.8535 最差值:-2762.4677
COA:最优值:-4189.8289 标准差:0.0072914 平均值:-4189.8244 中值:-4189.8273 最差值:-4189.7964
SABO:最优值:-2300.2368 标准差:215.7255 平均值:-1771.4858 中值:-1783.3412 最差值:-1444.6423
F9函数计算结果:
MIDBO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
DBO:最优值:0 标准差:4.767 平均值:1.5925 中值:0 最差值:16.9143
POA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SSA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
COA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SABO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
F10函数计算结果:
MIDBO:最优值:4.4409e-16 标准差:0 平均值:4.4409e-16 中值:4.4409e-16 最差值:4.4409e-16
DBO:最优值:4.4409e-16 标准差:0 平均值:4.4409e-16 中值:4.4409e-16 最差值:4.4409e-16
POA:最优值:4.4409e-16 标准差:1.7413e-15 平均值:2.6941e-15 中值:3.9968e-15 最差值:3.9968e-15
SSA:最优值:4.4409e-16 标准差:0 平均值:4.4409e-16 中值:4.4409e-16 最差值:4.4409e-16
COA:最优值:4.4409e-16 标准差:0 平均值:4.4409e-16 中值:4.4409e-16 最差值:4.4409e-16
SABO:最优值:3.9968e-15 标准差:0 平均值:3.9968e-15 中值:3.9968e-15 最差值:3.9968e-15
F11函数计算结果:
MIDBO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
DBO:最优值:0 标准差:0.032581 平均值:0.015822 中值:0 最差值:0.11782
POA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SSA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
COA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SABO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
F12函数计算结果:
MIDBO:最优值:4.7116e-32 标准差:2.255e-07 平均值:6.8509e-08 中值:1.7745e-23 最差值:9.2705e-07
DBO:最优值:2.7752e-31 标准差:2.0232e-23 平均值:5.2084e-24 中值:2.4528e-26 最差值:1.034e-22
POA:最优值:4.4907e-07 标准差:0.01495 平均值:0.012946 中值:0.0082496 最差值:0.043882
SSA:最优值:4.7116e-32 标准差:1.6013e-33 平均值:4.7963e-32 中值:4.7721e-32 最差值:5.5829e-32
COA:最优值:4.7116e-32 标准差:1.6702e-47 平均值:4.7116e-32 中值:4.7116e-32 最差值:4.7116e-32
SABO:最优值:0.0011942 标准差:0.081093 平均值:0.070052 中值:0.062348 最差值:0.46078
F13函数计算结果:
MIDBO:最优值:1.3498e-32 标准差:1.6953e-06 平均值:3.9904e-07 中值:1.3498e-32 最差值:9.2648e-06
DBO:最优值:5.0104e-30 标准差:0.064031 平均值:0.036817 中值:0.010987 最差值:0.29369
POA:最优值:4.5528e-06 标准差:0.19558 平均值:0.2747 中值:0.21728 最差值:0.69548
SSA:最优值:1.3498e-32 标准差:8.2e-33 平均值:1.7031e-32 中值:1.3498e-32 最差值:5.7871e-32
COA:最优值:1.3498e-32 标准差:5.5674e-48 平均值:1.3498e-32 中值:1.3498e-32 最差值:1.3498e-32
SABO:最优值:0.01201 标准差:0.088243 平均值:0.14026 中值:0.12958 最差值:0.32048
F14函数计算结果:
MIDBO:最优值:0.998 标准差:3.1549 平均值:2.4349 中值:0.998 最差值:12.6705
DBO:最优值:0.998 标准差:1.8611 平均值:1.6212 中值:0.998 最差值:10.7632
POA:最优值:0.998 标准差:0.18148 平均值:1.0311 中值:0.998 最差值:1.992
SSA:最优值:0.998 标准差:4.7322 平均值:3.7928 中值:0.998 最差值:12.6705
COA:最优值:0.998 标准差:1.2661e-10 平均值:0.998 中值:0.998 最差值:0.998
SABO:最优值:0.99952 标准差:3.0776 平均值:4.0221 中值:3.034 最差值:12.6705
F15函数计算结果:
MIDBO:最优值:0.00030808 标准差:2.5342e-05 平均值:0.00032174 中值:0.00031106 最差值:0.00040057
DBO:最优值:0.00030749 标准差:0.0003503 平均值:0.00072584 中值:0.0006719 最差值:0.0014887
POA:最优值:0.00030749 标准差:0.00027833 平均值:0.00040684 中值:0.00030749 最差值:0.0012232
SSA:最优值:0.00030749 标准差:5.6349e-05 平均值:0.00032268 中值:0.00030749 最差值:0.00056322
COA:最优值:0.00030869 标准差:0.00017616 平均值:0.00046003 中值:0.00038628 最差值:0.000881
SABO:最优值:0.00032052 标准差:0.00071998 平均值:0.00060695 中值:0.00041566 最差值:0.0043519
F16函数计算结果:
MIDBO:最优值:-1.0316 标准差:3.3195e-07 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
DBO:最优值:-1.0316 标准差:5.9752e-16 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
POA:最优值:-1.0316 标准差:5.7578e-16 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
SSA:最优值:-1.0316 标准差:5.2964e-16 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
COA:最优值:-1.0316 标准差:0.00022163 平均值:-1.0315 中值:-1.0316 最差值:-1.0306
SABO:最优值:-1.0316 标准差:0.010608 平均值:-1.0252 中值:-1.0306 最差值:-0.99286
F17函数计算结果:
MIDBO:最优值:0.39789 标准差:0.00018219 平均值:0.39793 中值:0.39789 最差值:0.39888
DBO:最优值:0.39789 标准差:0 平均值:0.39789 中值:0.39789 最差值:0.39789
POA:最优值:0.39789 标准差:0 平均值:0.39789 中值:0.39789 最差值:0.39789
SSA:最优值:0.39789 标准差:0 平均值:0.39789 中值:0.39789 最差值:0.39789
COA:最优值:0.39789 标准差:0.0011571 平均值:0.3985 中值:0.39803 最差值:0.4031
SABO:最优值:0.39789 标准差:0.14628 平均值:0.46505 中值:0.40319 最差值:1.0174
F18函数计算结果:
MIDBO:最优值:3 标准差:1.651e-06 平均值:3 中值:3 最差值:3
DBO:最优值:3 标准差:4.9295 平均值:3.9 中值:3 最差值:30
POA:最优值:3 标准差:9.6523e-16 平均值:3 中值:3 最差值:3
SSA:最优值:3 标准差:1.212e-15 平均值:3 中值:3 最差值:3
COA:最优值:3 标准差:0.49906 平均值:3.1412 中值:3.0153 最差值:5.7574
SABO:最优值:3.0009 标准差:1.3271 平均值:3.826 中值:3.1621 最差值:8.798
F19函数计算结果:
MIDBO:最优值:-3.8628 标准差:0.0013834 平均值:-3.8619 中值:-3.8627 最差值:-3.8572
DBO:最优值:-3.8628 标准差:0.0029875 平均值:-3.8615 中值:-3.8628 最差值:-3.8549
POA:最优值:-3.8628 标准差:7.0916e-09 平均值:-3.8628 中值:-3.8628 最差值:-3.8628
SSA:最优值:-3.8628 标准差:2.3485e-15 平均值:-3.8628 中值:-3.8628 最差值:-3.8628
COA:最优值:-3.8623 标准差:0.057873 平均值:-3.8079 中值:-3.835 最差值:-3.6702
SABO:最优值:-3.8624 标准差:0.22423 平均值:-3.5834 中值:-3.6525 最差值:-3.0449
F20函数计算结果:
MIDBO:最优值:-3.3219 标准差:0.089046 平均值:-3.2536 中值:-3.3205 最差值:-3.0891
DBO:最优值:-3.322 标准差:0.08762 平均值:-3.2381 中值:-3.2031 最差值:-3.0206
POA:最优值:-3.322 标准差:0.036619 平均值:-3.31 中值:-3.322 最差值:-3.1999
SSA:最优值:-3.322 标准差:0.057005 平均值:-3.2824 中值:-3.322 最差值:-3.2031
COA:最优值:-3.1986 标准差:0.31671 平均值:-2.6682 中值:-2.6737 最差值:-1.8233
SABO:最优值:-3.3212 标准差:0.09577 平均值:-3.2492 中值:-3.2981 最差值:-3.0297
F21函数计算结果:
MIDBO:最优值:-10.1532 标准差:0.0019794 平均值:-10.1519 中值:-10.1529 最差值:-10.1461
DBO:最优值:-10.1532 标准差:2.5492 平均值:-7.49 中值:-5.8938 最差值:-4.8115
POA:最优值:-10.1532 标准差:0.00015988 平均值:-10.1531 中值:-10.1531 最差值:-10.1526
SSA:最优值:-10.1532 标准差:2.5867 平均值:-7.7741 中值:-10.1522 最差值:-5.0552
COA:最优值:-10.1532 标准差:0.00015468 平均值:-10.1531 中值:-10.1532 最差值:-10.1525
SABO:最优值:-5.0546 标准差:0.51974 平均值:-4.8898 中值:-5.0523 最差值:-2.4236
F22函数计算结果:
MIDBO:最优值:-10.4029 标准差:0.00086297 平均值:-10.4021 中值:-10.4023 最差值:-10.3996
DBO:最优值:-10.4029 标准差:2.7609 平均值:-8.6502 中值:-10.4029 最差值:-2.7659
POA:最优值:-10.4029 标准差:1.3485 平均值:-10.0485 中值:-10.4029 最差值:-5.0877
SSA:最优值:-10.4029 标准差:2.6052 平均值:-8.454 中值:-10.4029 最差值:-5.0877
COA:最优值:-10.4029 标准差:7.5104e-05 平均值:-10.4028 中值:-10.4028 最差值:-10.4026
SABO:最优值:-8.551 标准差:0.84731 平均值:-4.8978 中值:-4.9982 最差值:-3.0254
F23函数计算结果:
MIDBO:最优值:-10.5364 标准差:0.001094 平均值:-10.5357 中值:-10.5359 最差值:-10.5304
DBO:最优值:-10.5364 标准差:2.7505 平均值:-7.8949 中值:-9.3083 最差值:-3.8353
POA:最优值:-10.5364 标准差:7.4742e-05 平均值:-10.5363 中值:-10.5364 最差值:-10.5361
SSA:最优值:-10.5364 标准差:2.5206 平均值:-8.914 中值:-10.5364 最差值:-5.1285
COA:最优值:-10.5364 标准差:0.00010112 平均值:-10.5363 中值:-10.5363 最差值:-10.5359
SABO:最优值:-9.984 标准差:1.1931 平均值:-4.9761 中值:-4.9178 最差值:-3.0507