群体智能算法广泛应用于全局函数优化及其他相关的工程应用领域,其中改进蜉蝣算法(IMA)是热点之一。徐焕增等[1]对蜉蝣算法改进并将其应用到图像分割问题上,验证了算法应用到实际工程问题中的可行性。邵瑞凝等[2]针对网状连接拓扑的光伏阵列提出了一种基于IMA的重构方法,很好地均衡了光伏阵列的行电流。Shaheen等[3]提出了一种改进混沌蜉蝣算法(CMOA),通过求解PEMFC模型,证明了CMOA算法的优越性。李浩等[4]通过改进的交叉操作和变异操作提高了蜉蝣算法进化效率,对最优解的边界点进行局部搜索,增强了算法的局部寻优能力。
然而,群体智能算法普遍存在共性缺陷,为此诸多研究者提出不同策略的优化改进方案,以综合提高全局搜索能力、增加种群多样性、提高跳出局部最优能力。为改善算法的全局搜索能力,陈佳峻等[5]利用ICMIC混沌映射初始化麻雀搜索算法的种群,提高了种群多样性,增强了麻雀种群在未知环境的探索能力;胡健等[6]利用Sin混沌映射初始化蜉蝣算法的种群,获得更高质量初始解,证明了混沌映射方法对提高全局搜索能力效果显著。李涵等[7]利用Circle混沌映射使初始化的金枪鱼分布更均匀,降低了金枪鱼群优化算法的求解误差,提高算法的鲁棒性。针对种群多样性问题,蒋宇飞等[8]提出一种多策略融合改进的方法,采用Sin混沌映射初始化蜉蝣种群,引入Tent混沌映射和高斯变异对种群个体进行调节,引入不完全伽马函数,重构自适应动态调节的重力系数,采用随机反向学习策略进行个体变异,增加了种群多样性的同时调控种群密度,更好地平衡了全局搜索和局部开发能力;李建平等[9]通过Beta分布初始化种群,结合逆不完全伽马函数更新惯性权重,然后基于差分进化的新算子实现速率更新,实现了算法寻优过程中全局探索和局部开发的合理平衡。郑洪清等[10]引入随机维度对领导者位置进行更新,在算法前期以较大概率对追随者执行差分进化操作,增强种群多样性,并在算法后期较大概率执行黄金正弦算法,平衡了算法的全局搜索和局部勘探能力。上述方法均实现了种群多样性的增加且很好地平衡了算法的全局搜索和局部开发能力。针对算法易陷入局部最优的问题,王义等[11]融合莱维飞行策略和黄金正弦因子改善了算法易陷入局部最优的缺点;陈功等[12]提出了一种基于精英差分和随机反向的混合变异策略,加快算法收敛速度,改善算法跳出局部最优的能力。
作为一类群体智能算法,IMA由Zervoudakis等[13]针对蜉蝣算法的收敛稳定性问题、开发与探索之间不平衡的问题而提出。但IMA全局搜索能力仍不理想,局部开发能力较强但其求解精度和算法稳定性都不甚理想;且由于变异过程简单,种群多样性差,易陷入局部最优。基于此,本研究首先引入ICMIC混沌映射提高初始种群质量,增强全局搜索能力;其次调整闵可夫斯基距离和重构自适应动态调节的重力系数,平衡全局搜索和局部开发能力,进而提升算法收敛精度;再次融合差分进化算法调节雄性蜉蝣个体,提高蜉蝣种群多样性,从而提升算法跳出局部最优的能力并增强其稳定性;最后通过莱维飞行策略,增加种群的多样性,提高收敛速度。
1 IMA设有一个n维问题,IMA根据蜉蝣的位置来求出最优解,蜉蝣个体在n维空间中的位置为x=(x1, x2, x3, …, xn),蜉蝣个体的速度为v=(v1, v2, v3, …, vn)。
1.1 雄性蜉蝣的更新设xit是第t次迭代时蜉蝣i在空间的位置,位置更新为第t次迭代的位置加上第t+1次的迭代速度vit+1之和,其位置更新表达式见公式(1),
| $ x_{i}^{t+1}=x_{i}^{t}+v_{i}^{t+1}, $ | (1) |
其中,雄性蜉蝣位置$x_{i} \in U\left[x_{\text {min }}, x_{\text {max }}\right]$,若添加速度$v_{i}^{t+1}$ 后超出U,则将其限制回最近边界值。其速度更新表达式见公式(2),若改变后的速度超过范围$\left[v_{\text {min }}, v_{\text {max }}\right]$,则将其限制回最近边界值。
| $ \begin{aligned} &\;\;\;\;\; v_{i j}^{t+1}= \\ & \left\{\begin{array}{l} g \cdot v_{i j}^t+a_1 e^{-\beta r_p^2}\left(p b e s t_{i j}-x_{i j}^t\right)+ \\ \;\;\;\; a_2 e^{-\beta r_R^2}\left(g { best }_{i j}-x_{i j}^t\right), f\left(x_i^t\right)>f_{\min } \\ g \cdot v_{i j}^t+d \cdot r, f\left(x_i^t\right)=f_{\min } \end{array}, \right. \end{aligned} $ | (2) |
其中, $v_{i j}^{t}$是蜉蝣i在j维上第t次迭代的速度;xijt是蜉蝣i在j维上第t次迭代的位置。a1、a2为正吸引常数,分别用于缩放认知和社会部分的贡献。pbest是蜉蝣个体的历史最佳位置;gbest是全局最优位置;β是能见度系数,用于控制蜉蝣的能见范围。
g表示重力系数,其迭代公式见公式(3),
| $ g^{t+1}=g^{t} \cdot {gdam} p , $ | (3) |
其中,gt为时间步t时的重力系数,gdamp为重力系数阻尼。
rp表示雄性蜉蝣当前位置与pbest的距离;rg为雄性蜉蝣当前位置与gbest的距离。其距离计算公式为
| $ \left\|x_{i}-X_{i}\right\|=\sqrt{\sum\limits_{j=1}^{n}\left(x_{i j}-X_{i j}\right)^{2}} 。$ | (4) |
f表示适应度函数,越小则函数越适应,fmin即雄性蜉蝣中最小适应度函数值。最优位置雄性蜉蝣进行婚礼舞蹈,改变速度,d为婚礼舞蹈系数,r是[-1, 1]之间的随机数;d的迭代公式见公式(5),
| $ d^{t+1}=d^{t} \cdot d {dam} p \text {, } $ | (5) |
其中,ddamp为婚礼舞蹈系数阻尼。
1.2 雌性蜉蝣的更新假设yit雌性蜉蝣在t次迭代蜉蝣i的位置。雌蜉蝣位置范围为U[ymin, ymax],若添加速度vit+1后超出U,则将其限制回最近边界值。其位置更新表达式见公式(6),
| $ y_{i}^{t+1}=y_{i}^{t}+v_{i}^{t+1} 。$ | (6) |
雌性蜉蝣的速度更新见公式(7),若改变后的速度超过范围[vmin, vmax],则将其限制回最近边界值。
| $ \begin{aligned} &\;\;\;\;v_{i j}^{t+1}= \\ &\left\{\begin{array}{l} g \cdot v_{i j}^{t}+a_{3} e^{-\beta r_{m f}^{2}}\left(x_{i j}^{t}-y_{i j}^{t}\right), f\left(y_{i}^{t}\right)>f\left(x_{i}^{t}\right) \\ g \cdot v_{i j}^{t}+f l \cdot r, f\left(y_{i}^{t}\right) \leqslant f\left(x_{i}^{t}\right) \end{array}, \right. \end{aligned} $ | (7) |
其中,yit代表其位置;a3代表吸引系数;rmf表示雄性和雌性蜉蝣的距离,设定为最优雄性吸引最优雌性,第二优雄性吸引第二优雌性,通过公式(4)计算。fl是随机游走系数,r是[-1, 1]之间的随机数。fl的迭代公式见公式(8),
| $ f l^{t+1}=f l^{t} \cdot f l d a m p, $ | (8) |
其中,flt为时间步t时的随机游走系数,fldamp为随机游走系数阻尼。
1.3 蜉蝣的交配及变异雄性蜉蝣与雌性蜉蝣的最优个体进行交配,雄性蜉蝣与雌性蜉蝣的次优个体进行交配,交配后得到两个子代,表示为公式(9),
| $ \begin{aligned} o f f s 1 & =L \cdot { male }+(1-L) \cdot { female }+ \\ \sigma N_1(0, 1) & \\ o f f s 2 & =L \cdot { female }+(1-L) \cdot { male }+ \\ \sigma N_2(0, 1) &, \end{aligned} $ | (9) |
其中,offs1为雄性子代,offs2为雌性子代。L为[-1, 1]范围内的服从高斯分布的随机数,male为父本,female为母本。σN1(0, 1)、σN2(0, 1)表示服从高斯分布的均值为0,方差为1的随机数。
2 DEIMAIMA虽然收敛稳定性强、开发与探索之间较为平衡,但仍存在全局搜索能力差、种群多样性较小、容易陷入局部最优的问题,DEIMA有助于改善这一问题。
2.1 ICMIC混沌映射初始化种群IMA随机生成初始种群,会造成个体分布不均匀,影响算法的寻优性能。混沌系统具有遍历性和规律性,常应用于优化问题中。Logistic映射和Tent映射是常用的混沌模型,但两者在迭代区域内的折叠次数有限,且存在有理数不动点。ICMIC映射是一种映射折叠次数无限的混沌模型,该映射具有遍历均匀和收敛速度快等优点[14]。为此引入ICMIC映射初始化IMA种群,混沌序列(Zn)见公式(10),
| $ \left\{\begin{array}{l} Z_{n+1}=\sin \left(\frac{\alpha \pi}{Z_{n}}\right), \alpha \in(0, +\infty) \\ -1 \leqslant Z_{n} \leqslant 1, Z_{n} \neq 0 \end{array}\right. 。$ | (10) |
将ICMIC混沌映射到搜索空间中,得到种群初始位置,表示为公式(11),
| $ x_{i}=x_{\mathrm{lb}}+\left(x_{\mathrm{ub}}-x_{\mathrm{lb}}\right) \cdot \frac{1+Z_{i}}{2}, $ | (11) |
其中,xub、xlb分别为每个蜉蝣个体在各个维度的上、下界,Zi是由公式(10)产生的混沌序列。
2.2 速度更新公式参数调整为了平衡算法的全局搜索和局部开发能力,增强算法稳定性,调整以下两个参数。
① 闵可夫斯基距离
IMA在初始化时,当解空间范围较大(例如[-100, 100])时,两个蜉蝣个体之间的欧氏距离r的取值范围基本大于10。此时,公式(2)中的e-βrp2趋于0,公式(2)、(7)中的距离参数无效,个体速度的变化仅取决于g、d、fl、r。
使用闵可夫斯基距离[15]可以在一定程度上减轻个体受解空间范围的影响,同时保留距离系数的信息对雌性蜉蝣的影响,提高算法的稳定性,将公式(4)优化为公式(12),
| $ \left\|x_{i}-X_{i}\right\|=\sqrt[n]{\sum\limits_{j=1}^{n}\left(x_{i j}-X_{i j}\right)^{n}}, $ | (12) |
其中,n为求解问题的维度。
② 自适应重力系数
重力系数[16](惯性权重)能够平衡算法的搜索能力和开发能力。引入一种非线性递减的自适应重力系数可平衡全局搜索和局部开发能力,但具有确定性数学表达式的重力系数易使算法陷入局部最优,故引入不完全伽马函数[9],重构自适应动态调节的重力系数。为与IMA的重力系数g区别,设为g(t),其表达式见公式(13),
| $ g(t)=\left(1.1 / e^{1-\left(1-\frac{t}{T}\right)^{0.05}}\right) \cdot \varGamma\left(\lambda, 1-\frac{t}{T}\right), $ | (13) |
其中,t为当前迭代次数,T为最大迭代次数;$\varGamma(\lambda$,$\mu)=\int_{0}^{\lambda} \mathrm{e}^{-t} t^{\mu-1} \mathrm{~d} t$是关于积分上限的逆函数,称为不完全伽马函数,λ为大于0的随机变量,取0.1,μ>0是分辨率参数,取$\mu=1-\frac{t}{T}$。
2.3 差分进化差分进化算法[17]通过个体之间的差异信息干扰个体向量,进化出更优后代。将差分进化算法融入IMA可以增强种群信息交流进而增加种群多样性,提高算法搜索能力。考虑到雄性个体包含更多有益信息,在蜉蝣交配产生子代后,对雄性子代进行差分进化,通过对随机选择的两个个体的差向量加权后与第3个个体相加来产生新个体,见公式(14),
| $ x_{i}^{d e}=x_{i}+F\left(x_{\mathrm{rand} 1}-x_{\mathrm{rand} 2}\right), $ | (14) |
其中,F∈[0, 2]为缩放因子,取值0.1,xrand1与xrand2为随机选取的个体向量,xi为第3个个体向量,xide为新个体向量。
对排序后的雄性子代通过公式(14)产生新解,这样能够提升算法在当前最优解附近发现全局最优解的可能性,同时保留强大的局部搜寻能力。
2.4 莱维飞行策略为防止IMA陷入局部最优,使搜索过程更具随机性,引入莱维飞行策略对上一次迭代的最优个体进行更新,见公式(15),
| $ {Levy}(\beta)=\frac{\mu}{|v|^{-\beta}}, $ | (15) |
其中,β∈[0, 2],μ服从N(0,σu2)分布,ν服从N(0,1)分布。σu见公式(16),
| $ \sigma_{u}=\left[\frac{\varGamma(1+\beta) \sin \left(\pi \frac{\beta}{2}\right)}{\varGamma\left(\frac{1+\beta}{2}\right) \beta \times 2^{\frac{\beta-1}{2}}}\right]^{\frac{1}{\beta}} 。$ | (16) |
其中,Γ(·)为伽马函数。
本研究中的差分进化和莱维飞行策略两种变异策略皆采用贪心算法,当且仅当变异蜉蝣个体的适应度函数值减小,才进行此次变异,蜉蝣个体的位置才会因此发生改变。综合上述引入的改进策略,本研究提出的DEIMA流程图如图 1所示。
|
| 图 1 DEIMA流程图 Fig. 1 Flow chart of DEIMA |
3 算法性能测试
为验证DEIMA的有效性和优异性,以TCMA[1]、IMA2[18]两种基于IMA的改进算法作为参考,并引入PSO (粒子群优化算法)[19]、GWO(灰狼优化算法)[20]等经典优化算法进行比较。
3.1 参数设置试验选取种群规模为40(雄性20、雌性20),种群交叉个数为20,突变率1%。各算法具体参数设置见表 1。
| 算法 Algorithm |
参数设置 Parameter setting |
||
| DEIMA | fl=1, fldamp=0.99, d=5, ddamp=0.8, a1=1.0, a2=1.5, a3=1.5, β=2, g0=0.8 | ||
| IMA | |||
| IMA2 | |||
| IMA3 | |||
| TCMA | |||
| GWO | |||
| PSO | c1=1.494 45, c2=1.494 45 | ||
| Note: parameter setting of DEIMA, IMA, IMA2, IMA3 and TCMA are the same. | |||
3.2 基准测试函数
本实验利用14个经典基准测试函数进行测试,其中F1-F6为不定维单峰函数,测试算法的开发能力;F7-F11为不定维多峰函数,测试算法的局部搜索和全局搜索能力;F12-F14为固定维度函数,测试算法的收敛性与精度(表 2)。
| 基准测试函数 Benchmark test function |
维数 Dimension |
搜索范围 Search range |
最优解 Optimal solution |
| $F_1(x)=\sum\limits_{i=1}^n x_i^2 $ | 30 | [-100,100] | 0 |
| $F_2(x)=\sum\limits_{i=1}^n\left|x_i\right|+\prod\limits_{i=1}^n\left|x_i\right|$ | 30 | [-10,10] | 0 |
| $F_3(x)=\sum\limits_{i=1}^n\left(\sum\limits_{j=1}^i x_j\right)^2 $ | 30 | [-1,1] | 0 |
| $F_4(x)=\max \left\{\left|x_i\right|, 1 \leqslant i \leqslant n\right\}$ | 30 | [-100,100] | 0 |
| $F_5(x)=\sum\limits_{i=1}^{n-1}\left[100\left(x_{i+1}-x_i^2\right)^2+\left(x_i-1\right)^2\right]$ | 30 | [-30,30] | 0 |
| $F_6(x)=\sum\limits_{i=1}^n i x_i^4+{random}[0, 1)$ | 30 | [-1.28,1.28] | 0 |
| $F_7(x)=\sum\limits_{i=1}^n-x_i \sin \left(\sqrt{\left|x_i\right|}\right)$ | 30 | [-500, 500] | -1.25695E+04 |
| $\left.F_8(x)=\sum\limits_{i=1}^n\left[x_i^2-10 \cos \left(2 \pi x_i\right)+10\right)\right]$ | 30 | [-5.12, 5.12] | 0 |
| $F_9(x)=-20 \exp \left(-0.2 \sqrt{\frac{1}{n} \sum\limits_{i=1}^n x_i^2}\right)-\exp \left(\frac{1}{n} \sum\limits_{i=1}^n \cos \left(2 \pi x_i\right)\right)+20+e$ | 30 | [-32, 32] | 0 |
| $F_{10}(x)=\frac{1}{4000} \sum\limits_{i=1}^n x_i^2-\prod\limits_{i=1}^n \cos \left(\frac{x_i}{\sqrt{i}}\right)+1$ | 30 | [-600, 600] | 0 |
| $\begin{gathered}F_{11}(x)=\frac{\pi}{n}\left\{10 \sin \left(\pi y_1\right)+\sum\limits_{i=1}^n\left(y_i-1\right)^2\left[1+10 \sin ^2\left(\pi y_{i+1}\right)\right]+\left(y_n-1\right)^2\right\}+ \\ \sum\limits_{i=1}^n u\left(x_i, 10, 100, 4\right), y_i=1+\frac{x_i+1}{4}, \\ u\left(x_i, a, k, m\right)=\left\{\begin{array}{l}k\left(x_i-a\right)^m, x_i>a \\ 0, -a < x_i < a \\ k\left(-x_i-a\right)^m, x_i < -a\end{array}\right.\end{gathered}$ | 30 | [-50, 50] | 0 |
| $F_{12}(x)=\left[0.002+\sum\limits_{j=1}^{25} \frac{1}{j+\sum_{i=1}^2\left(x_i-a_{i j}\right)^6}\right]^{-1}$ | 2 | [-65.53, 65.53] | 1 |
| $F_{13}(x)=\sum\limits_{i=1}^{11}\left[a_i-\frac{x_i\left(b_i^2+b_i x_2\right)}{b_i^2+b_i x_3+x_4}\right]^2$ | 4 | [-5, 5] | 3.075E-04 |
| $F_{14}(x)=\left(x_2-\frac{5.1}{4 \pi^2} x_1^2+\frac{5}{\pi} x_1-11\right)^2+10\left(1-\frac{1}{8 \pi}\right) \cos x_1+10$ | 2 | [-5, 10] | 3.98E-01 |
3.3 结果与分析 3.3.1 基准测试函数分析
本实验在MATLAB R2020b环境下对所有测试函数进行仿真对比试验,不定维函数维度设置为30,试验均独立运行50次,最大迭代次数设为2 000, 记录每个算法的平均值、最优值、标准差。其中,最优值和平均值用于反映算法的寻优精度,标准差用于反映算法的稳定性。测试结果数据如表 3所示。
| 基准测试函数 Benchmark test function |
最优解 Fmin Optimal solution Fmin |
DEIMA | IMA | IMA2 | PSO | GWO | TCMA |
| F1 | avg | 0.000E+00 | 1.975E-24 | 1.397E-03 | 5.851E-01 | 2.075E-134 | 2.371E-26 |
| best | 0.000E+00 | 5.092E-31 | 0.000E+00 | 3.767E-01 | 1.756E-138 | 6.809E-32 | |
| std | 0.000E+00 | 9.560E-24 | 4.079E-03 | 3.565E+00 | 5.641E-134 | 5.338E-26 | |
| F2 | avg | 9.128E-231 | 2.608E-15 | 4.867E-02 | 2.841E+00 | 1.173E-77 | 4.022E-16 |
| best | 4.012E-301 | 2.339E-20 | 0.000E+00 | 1.511E+00 | 2.406E-79 | 2.131E-20 | |
| std | 0.000E+00 | 8.481E-14 | 1.144E-01 | 2.111E+00 | 1.561E-77 | 1.409E-15 | |
| F3 | avg | 0.000E+00 | 3.483E+01 | 2.480E+00 | 2.073E+00 | 9.739E-39 | 3.404E+01 |
| best | 0.000E+00 | 3.203E-02 | 0.000E+00 | 1.724E+00 | 3.355E-49 | 3.652E-02 | |
| std | 0.000E+00 | 7.977E+01 | 5.351E+00 | 5.038E+00 | 3.404E-38 | 7.499E+01 | |
| F4 | avg | 1.349E-236 | 3.127E+01 | 1.986E+01 | 3.973E-01 | 5.231E-33 | 2.830E+01 |
| best | 5.291E-288 | 1.672E+01 | 0.000E+00 | 3.845E-01 | 2.884E-35 | 5.916E+00 | |
| std | 0.000E+00 | 6.746E+00 | 1.601E+01 | 1.399E-01 | 7.294E-33 | 1.330E+01 | |
| F5 | avg | 2.142E+01 | 3.538E+01 | 4.478E+01 | 1.884E+02 | 2.643E+01 | 2.885E+01 |
| best | 1.986E+01 | 1.313E-01 | 1.755E+01 | 8.633E+01 | 2.451E+01 | 8.901E-01 | |
| std | 6.288E-01 | 2.919E+01 | 4.143E+01 | 2.031E+03 | 7.570E-01 | 2.590E+01 | |
| F6 | avg | 5.468E-04 | 7.046E-03 | 5.313E-02 | 5.130E-01 | 2.624E-04 | 7.022E-03 |
| best | 7.653E-05 | 3.808E-03 | 4.150E-06 | 1.094E-01 | 7.187E-05 | 2.593E-03 | |
| std | 4.929E-04 | 2.241E-03 | 6.488E-02 | 1.442E+01 | 1.353E-04 | 2.399E-03 | |
| F7 | avg | -1.181E+04 | -1.062E+04 | -6.577E+03 | -1.707E+02 | -6.626E+03 | -1.055E+04 |
| best | -1.233E+04 | -1.162E+04 | -7.787E+03 | -1.773E+02 | -8.374E+03 | -1.138E+04 | |
| std | 2.928E+02 | 3.595E+02 | 3.739E+02 | 2.034E+01 | 7.877E+02 | 3.755E+02 | |
| F8 | avg | 0.000E+00 | 4.597E+00 | 1.527E+01 | 4.519E+01 | 0.000E+00 | 4.762E+00 |
| best | 0.000E+00 | 9.950E-01 | 0.000E+00 | 4.338E+01 | 0.000E+00 | 9.950E-01 | |
| std | 0.000E+00 | 2.300E+00 | 1.090E+01 | 1.501E+01 | 0.000E+00 | 3.189E+01 | |
| F9 | avg | 8.882E-16 | 3.625E-01 | 7.460E-02 | 1.228E+00 | 9.486E-15 | 3.293E-01 |
| best | 8.882E-16 | 2.847E-12 | 8.882E-16 | 1.193E+00 | 7.994E-15 | 1.110E-13 | |
| std | 0.000E+00 | 5.746E-01 | 2.658E-01 | 3.314E-01 | 2.694E-15 | 5.463E-01 | |
| F10 | avg | 0.000E+00 | 2.550E-02 | 1.231E-02 | 3.897E-02 | 1.241E-03 | 2.339E-02 |
| best | 0.000E+00 | 0.000E+00 | 0.000E+00 | 3.460E-02 | 0.000E+00 | 0.000E+00 | |
| std | 0.000E+00 | 2.498E-02 | 1.881E-02 | 5.121E-02 | 3.501E-03 | 3.421E-02 | |
| F11 | avg | 2.531E-17 | 1.244E-02 | 1.877E-02 | 4.631E-02 | 2.800E-02 | 8.546E-03 |
| best | 2.736E-22 | 2.092E-28 | 3.088E-14 | 3.797E-02 | 5.499E-07 | 3.925E-29 | |
| std | 1.757E-16 | 3.403E-02 | 5.421E-02 | 1.317E-01 | 1.712E-02 | 2.839E-02 | |
| F12 | avg | 9.980E-01 | 9.980E-01 | 9.980E-01 | 1.267E+01 | 3.820E+00 | 9.980E-01 |
| best | 9.980E-01 | 9.980E-01 | 9.980E-01 | 1.267E+01 | 9.980E-01 | 9.980E-01 | |
| std | 0.000E+00 | 0.000E+00 | 3.070E-12 | 3.062E-11 | 3.721E+00 | 3.172E-17 | |
| F13 | avg | 3.448E-04 | 1.909E-03 | 5.702E-03 | 3.316E-04 | 4.358E-03 | 4.742E-03 |
| best | 3.075E-04 | 3.075E-04 | 3.075E-04 | 3.075E-04 | 3.075E-04 | 3.075E-04 | |
| std | 1.578E-04 | 5.029E-03 | 8.266E-03 | 5.371E-04 | 8.086E-03 | 7.761E-03 | |
| F14 | avg | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 |
| best | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 | |
| std | 0.000E+00 | 0.000E+00 | 1.090E+05 | 1.142E-03 | 1.278E-07 | 0.000E+00 |
除了F5、F6,DEIMA在不定维单峰函数上对比其他算法均具有显著性优势,开发能力更强,平均值、最优值、标准差具有量级优势,即寻优精度与稳定性更高。针对F5测试时,DEIMA平均值与标准差最优,最优值略差于IMA、IMA2、TCMA,即IMA、IMA2、TCMA三者小概率跳出局部最优解而DEIMA具有更强的稳定性。针对F6测试时,DEIMA平均值、标准差、最优值均排名前3,仅GWO展现出略强于DEIMAD的效果。DEIMA在不定维多峰函数上的各项测试指标表现皆显著优于其他所有算法,具有很好的全局探索能力,不容易陷入局部最优。仅在针对F11测试时,IMA和TCMA的最优值强于DEIMA,但平均值相差很大,即小概率逃出局部最优解。对于固定维函数,由于IMA本身实验效果已非常接近理论最优解,所以所有基于IMA的改进算法皆难以取得大幅度的提升,但DEIMA稳定性更好。
3.3.2 收敛曲线分析为更直观地比较6种算法的收敛速度,对其在测试函数上的平均收敛情况进行分析,如图 2所示。
|
| 图 2 基准测试函数平均收敛曲线 Fig. 2 Average convergence curves of benchmark test functions |
对于不定维单峰函数,DEIMA收敛精度最高、收敛速度最快[图 2:(a)-(e)]。DEIMA起步即快速收敛但被GWO追上,DEIMA收敛精度仅略差于GWO[图 2(f)]。在其他测试函数中,DEIMA的收敛曲线处于左下角,表现出优异的收敛速度和收敛精度。这与表 3中的数据相互印证。对于不定维多峰函数,DEIMA收敛曲线明显远离其他收敛曲线, 处于左下位置,即收敛速度与收敛精度皆远超其他算法[图 2:(g)-(k)]。DEIMA收敛曲线前期收敛速度略差,部分处于IMA、IMA2上方,但最终能跳出局部最优解,且收敛精度最高[图 2(g)];DEIMA收敛曲线因收敛速度过快,出现数据溢出情况[图 2:(h)、(j)]。对于固定维函数,DEIMA的起步收敛速度相对较快[图 2: (l)-(n)]。DEIMA的起步收敛速度较快,之后陷入局部最优解,最后通过多次逃逸,收敛于最优解[图 2(l)]。
整体而言,所有测试都明确显示DEIMA收敛曲线的断层现象,表现出极强的局部最优逃逸能力;而另外两种基于IMA的改进算法由于变异手段较为简单,导致其陷入局部最优解后往往最多只能跳出三四次。此外,DEIMA的收敛曲线起点一般较低,即初始解质量较高,在F5、F6测试中表现尤为明显,这是加入ICMIC混沌映射初始化的结果。可见,DEIMA在收敛速度、收敛精度、全局搜索能力、局部最优逃逸能力、稳定性等5个指标上,综合效果强于常用经典优化算法和其他基于IMA的改进算法。
3.3.3 Wilcoxon秩和检验分析为进一步检验数据的可靠性,利用非参数检验来评估DEIMA的优越性。基于DEIMA和其他对比算法,进行Wilcoxon秩和检验(表 4)。当P值小于0.05时,即可被认为是拒绝零假设的有力验证[21]。测试结果显示,绝大部分的秩和检验的P值小于0.05,说明DEIMA较其他算法具有显著收敛效果。
| 基准测试函数 Benchmark test function |
P值P-value | ||||
| PSO | GWO | IMA | IMA2 | TCMA | |
| F1 | 7.5569E-10 | 1.5374E-12 | 1.5374E-12 | 4.0000E-06 | 1.5374E-12 |
| F2 | 7.5569E-10 | 1.5374E-12 | 5.7097E-12 | 7.3590E-03 | 1.5374E-12 |
| F3 | 7.5569E-10 | 1.5374E-12 | 7.5569E-10 | 2.4770E-07 | 7.5569E-10 |
| F4 | 7.5569E-10 | 1.5374E-12 | 7.5569E-10 | 1.0431E-08 | 7.5569E-10 |
| F5 | 7.5569E-10 | 7.5569E-10 | 2.9940E-01 | 1.2265E-09 | 7.6843E-01 |
| F6 | 7.5569E-10 | 1.2010E-03 | 7.5569E-10 | 3.0000E-06 | 7.5569E-10 |
| F7 | NaN | 7.5569E-10 | 7.5569E-10 | 7.5569E-10 | 7.5552E-10 |
| F8 | 7.5569E-10 | NaN | 7.1975E-10 | 3.5230E-09 | 7.1145E-10 |
| F9 | 7.5569E-10 | 1.5374E-12 | 7.5552E-10 | 2.4490E-09 | 7.5569E-10 |
| F10 | 7.5569E-10 | 2.7708E-02 | 7.4660E-09 | 5.3888E-07 | 7.6642E-08 |
| F11 | 7.5569E-10 | 7.5569E-10 | 2.0620E-02 | 7.5569E-10 | 9.4697E-02 |
| F12 | 4.8126E-11 | 7.0000E-06 | 4.5090E-03 | 4.5090E-03 | 4.5090E-03 |
| F13 | 2.1826E-01 | 2.6555E-07 | 1.4066E-02 | 8.0939E-09 | 3.9200E-04 |
| F14 | NaN | 7.5467E-10 | NaN | 2.7708E-02 | NaN |
| +/-/= | 11/1/2 | 13/0/1 | 12/1/1 | 14/0/0 | 11/2/1 |
| Note: boldface indicates the poor performance of DEIMA; NaN denotes that the algorithms demonstrate equivalent performance, which renders them incomparable; +/-/= indicates the number of times that the performance of DEIMA is superior to, inferior to, or comparable to that of the comparison algorithm. | |||||
3.3.4 消融实验分析
由于引入多项改进机制,对DEIMA进行消融实验[22]。在IMA基础上引入ICMIC混沌映射初始化蜉蝣种群,引入闵可夫斯基距离和自适应动态调节的重力系数调整速度更新公式的算法记为SMA;在IMA基础上融合差分进化算法和莱维飞行策略的算法记为AMA。分别以IMA、SMA、AMA、DEIMA在测试函数上作对比实验(表 5)。
| 基准测试函数 Benchmark test function |
最优解 Fmin |
IMA | SMA | AMA | DEIMA |
| F1 | avg | 1.975E-24 | 1.560E-69 | 0.000E+00 | 0.000E+00 |
| best | 5.092E-31 | 7.572E-78 | 0.000E+00 | 0.000E+00 | |
| std | 9.560E-24 | 6.992E-69 | 0.000E+00 | 0.000E+00 | |
| F2 | avg | 2.608E-15 | 1.263E-47 | 1.939E-188 | 9.128E-231 |
| best | 2.339E-20 | 2.046E-54 | 1.315E-196 | 4.012E-301 | |
| std | 8.481E-14 | 8.918E-47 | 0.000E+00 | 0.000E+00 | |
| F3 | avg | 3.483E+01 | 1.567E-02 | 5.299E-284 | 0.000E+00 |
| best | 3.203E-02 | 7.985E-15 | 0.000E+00 | 0.000E+00 | |
| std | 7.977E+01 | 8.053E-02 | 0.000E+00 | 0.000E+00 | |
| F4 | avg | 3.127E+01 | 6.329E+01 | 7.052E-168 | 1.349E-236 |
| best | 1.672E+01 | 3.656E-06 | 6.894E-192 | 5.291E-288 | |
| std | 6.746E+00 | 4.194E+01 | 0.000E+00 | 0.000E+00 | |
| F5 | avg | 3.538E+01 | 2.660E+01 | 2.078E+01 | 2.109E+01 |
| best | 1.313E-01 | 2.582E+01 | 1.899E+01 | 1.882E+01 | |
| std | 2.919E+01 | 4.127E-01 | 6.080E-01 | 6.288E-01 | |
| F6 | avg | 7.046E-03 | 1.875E-03 | 7.865E-04 | 5.468E-04 |
| best | 3.808E-03 | 3.020E-04 | 6.678E-05 | 5.067E-05 | |
| F7 | avg | -1.062E+04 | -4.632E+03 | -1.174E+04 | -1.181E+04 |
| best | -1.162E+04 | -3.909E+03 | -1.245E+04 | -1.245E+04 | |
| std | 3.595E+02 | 2.111E+02 | 2.976E+02 | 2.928E+02 | |
| F8 | avg | 4.720E+00 | 0.000E+00 | 0.000E+00 | 0.000E+00 |
| best | 4.718E-12 | 0.000E+00 | 0.000E+00 | 0.000E+00 | |
| std | 2.997E+00 | 0.000E+00 | 0.000E+00 | 0.000E+00 | |
| F9 | avg | 1.836E-01 | 4.441E-15 | 8.882E-16 | 8.882E-16 |
| best | 3.099E-12 | 4.441E-15 | 8.882E-16 | 8.882E-16 | |
| std | 4.384E-01 | 0.000E+00 | 0.000E+00 | 0.000E+00 | |
| F10 | avg | 2.390E-02 | 0.000E+00 | 0.000E+00 | 0.000E+00 |
| best | 0.000E+00 | 0.000E+00 | 0.000E+00 | 0.000E+00 | |
| std | 2.447E-02 | 0.000E+00 | 0.000E+00 | 0.000E+00 | |
| F11 | avg | 1.244E-02 | 1.644E-01 | 2.840E-19 | 3.035E-24 |
| best | 2.092E-28 | 8.034E-02 | 4.440E-22 | 8.844E-27 | |
| std | 3.403E-02 | 4.609E-02 | 7.073E-19 | 1.290E-23 | |
| F12 | avg | 9.980E-01 | 2.095E+00 | 1.274E+00 | 9.980E-01 |
| best | 9.980E-01 | 9.980E-01 | 9.980E-01 | 9.980E-01 | |
| std | 0.000E+00 | 1.179E+00 | 6.654E-01 | 0.000E+00 | |
| F13 | avg | 1.909E-03 | 4.366E-04 | 3.237E-04 | 3.202E-04 |
| best | 3.075E-04 | 3.075E-04 | 3.075E-04 | 3.075E-04 | |
| std | 5.029E-03 | 2.087E-04 | 8.041E-05 | 7.045E-05 | |
| F14 | avg | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 |
| best | 3.979E-01 | 3.979E-01 | 3.979E-01 | 3.979E-01 | |
| std | 0.000E+00 | 7.421E-06 | 0.000E+00 | 0.000E+00 |
除了F4、F5,SMA、AMA、DEIMA在不定维单峰函数中的最优值、平均值及标准差均显著优于IMA,算法寻优性能有一定提升;在F4中,SMA平均值与标准差略逊于IMA,但SMA最优值优于IMA,SMA的改进程度虽然不如AMA,但是也提升了原算法的寻优能力;在F5中,SMA、AMA的平均值、标准差均优于IMA,DEIMA的寻优精度与稳定性最好,说明改进机制有效。在不定维多峰函数中,SMA、AMA对DEIMA的寻优能力提升显著。在F11中,SMA对于平均值提升幅度不大,但AMA可以稳定收敛,对DEIMA影响更大。在定维函数F12-F14中,由于每种算法都无限接近理论最优解,寻优效果基本相同。整体来看,融入4种策略后的DEIMA效果最好。
4 结论针对IMA全局搜索能力弱、种群多样性差等问题,本研究提出了一种融合差分进化的多策略改进蜉蝣算法——DEIMA,并在14个经典基准测试函数上与现有经典算法(IMA、IMA2、TCMA、PSO及GWO)进行了对比测试。不定维单峰函数的实验结果表明,DEIMA的寻优精度和收敛速度大大提升。不定维多峰函数的实验结果表明,DEIMA具有更强的局部搜索能力,更容易跳出局部极小值。此外,DEIMA的寻优精度和稳定性效果显著。固定维函数的试验结果表明,DEIMA的稳定性明显优于其他同类算法。由于算法结构复杂,DEIMA在复杂约束问题的工程应用还有待进一步研究。
| [1] |
徐焕增, 徐文倩, 孔政敏. 基于Tent混沌序列改进的蜉蝣算法及其应用[J]. 控制工程, 2022, 29(3): 435-440. |
| [2] |
邵瑞凝, 杨博, 束洪春, 等. 基于改进蜉蝣算法的光伏阵列最优重构方法[J]. 电力系统自动化, 2022, 46(11): 142-150. |
| [3] |
SHAHEEN M A M, HASANIEN H M, EL MOURSI M S, et al. Precise modeling of PEM fuel cell using improved chaotic mayfly optimization algorithm[J]. International Journal of Energy Research, 2021, 45(13): 18754-18769. DOI:10.1002/er.6987 |
| [4] |
李浩, 杨海潇, 张兰, 等. 改进离散蜉蝣算法的多目标动态网络社区发现[J]. 计算机科学与探索, 2023, 17(4): 942-952. |
| [5] |
陈佳峻, 范英, 代晓文, 等. 改进麻雀搜索算法的智能车路径规划研究[J]. 重庆理工大学学报(自然科学), 2023, 37(4): 50-56. |
| [6] |
胡健, 刘祥敏, 毛伊敏, 等. 基于KD树和混沌蜉蝣优化的并行谱聚类算法[J]. 计算机集成制造系统, 2023, 29(12): 4001-4020. |
| [7] |
李涵, 李文敬. 混合策略改进的金枪鱼群优化算法[J]. 广西科学, 2023, 30(1): 208-218. DOI:10.13656/j.cnki.gxkx.20230308.022 |
| [8] |
蒋宇飞, 许贤泽, 徐逢秋, 等. 多策略融合改进的自适应蜉蝣算法[J]. 北京航空航天大学学报, 2024, 50(4): 1416-1426. |
| [9] |
李建平, 宫耀华, 赵思远, 等. 粒子群优化算法的改进及数值仿真[J]. 吉林大学学报(理学版), 2017, 55(2): 322-332. |
| [10] |
郑洪清, 谢聪, 周永权. 一种改进的樽海鞘群算法[J]. 广西科学, 2022, 29(2): 287-292. DOI:10.13656/j.cnki.gxkx.20220526.008 |
| [11] |
王义, 张达敏, 张琳娜, 等. 基于黄金正弦与自适应融合的蜉蝣优化算法[J]. 计算机应用研究, 2021, 38(10): 3072-3077. |
| [12] |
陈功, 曾国辉, 黄勃, 等. 螺旋探索与自适应混合变异的麻雀搜索算法[J]. 小型微型计算机系统, 2023, 44(4): 779-786. |
| [13] |
ZERVOUDAKIS K, TSAFARAKIS S. A mayfly optimization algorithm[J]. Computers & Industrial Engineering, 2020, 145: 106559. |
| [14] |
FENG J H, ZHANG J, ZHU X S, et al. A novel chaos optimization algorithm[J]. Multimedia Tools and Applications, 2017, 76(16): 17405-17436. DOI:10.1007/s11042-016-3907-z |
| [15] |
CORDEIRO DE AMORIM R, MIRKIN B. Minkowski metric, feature weighting and anomalous cluster initializing in K-Means clustering[J]. Pattern Recognition, 2012, 45(3): 1061-1075. DOI:10.1016/j.patcog.2011.08.012 |
| [16] |
SHI Y, EBERHART R. A modified particle swarm optimizer[C]//1998 IEEE International Conference on Evolutionary Computation Proceedings: IEEE World Congress on Computational Intelligence. Anchorage, AK, USA: IEEE, 1998: 69-73.
|
| [17] |
STORN R, PRICE K. Differential evolution: a simple and efficient heuristic for global optimization over continuous spaces[J]. Journal of Global Optimization, 1997, 11(4): 341-359. DOI:10.1023/A:1008202821328 |
| [18] |
邹阿威, 王雷, 李伟民, 等. 改进蜉蝣算法的移动机器人路径规划研究[J]. 机械科学与技术, 2024, 43(11): 1993-1999. |
| [19] |
POLI R, KENNEDY J, BLACKWELL T. Particle swarm optimization[J]. Swarm Intelligence, 2007, 1(1): 33-57. DOI:10.1007/s11721-007-0002-0 |
| [20] |
PANDA M, DAS B, PATI B B. Grey wolf optimization for global path planning of autonomous underwater vehicle[C]//Proceedings of the Third International Conference on Advanced Informatics for Computing Research. New York: ACM, 2019: 1-6.
|
| [21] |
DERRAC J, GARCÍA S, MOLINA D, et al. A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms[J]. Swarm and Evolutionary Computation, 2011, 1(1): 3-18. DOI:10.1016/j.swevo.2011.02.002 |
| [22] |
GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ, USA: IEEE, 2014: 580-587.
|


