• 基于非线性参数的海洋捕食者算法


    一、理论基础

    1、海洋捕食者算法(MPA)

    请参考这里

    2、非线性海洋捕食者算法(NMPA)

    MPA算法根据各种研究的规则和要点以及自然界的实际行为模拟捕食者和猎物的运动。虽然具有合理的探索和开发速度,但MPA仍然在局部最优解附近停滞不前,无法实现全局最优解。NMPA的主要目的是通过调整捕食者阶段朝向猎物的大小,并使用引入的控制参数平衡算法的探索和开发阶段,来增强MPA的探索和开发。MPA算法的第二阶段包括探索和开发两个阶段。此步骤中的更改将提高MPA算法的效率和有效性。MPA算法的更新如下:
    第一:NMPA算法使用一个新的自适应参数来控制捕食者移动的步长。该参数定义如下: C F n e w = a b s ( 2 ∗ ( 1 − ( I t e r M a x I t e r ) ) − 2 ) (1) CF_{new}=abs\left(2^*\left(1-\left(\frac{Iter}{Max_{Iter}}\right)\right)-2\right)\tag{1} CFnew=abs(2(1(MaxIterIter))2)(1)其中, C F n e w CF_{new} CFnew的值在区间 [ 0 , 2 ] [0,2] [0,2]中线性增加。MPA中的CF起着自适应参数的作用,以确定捕食者到达猎物的步长。NMPA使用新的线性参数的目的是在算法第二阶段的开发阶段和整个优化过程中保持算法的高探索能力。因此,该算法达到全局最优且不陷入局部最优解的机会增加。
    第二:使用非线性参数 w w w作为控制参数,以平衡NMPA的探索和开发阶段。该参数定义如下: w = 2 ∗ exp ⁡ ( − ( 6 ∗ I t e r M a x I t e r ) 2 ) (2) w=2^*\exp\left(-\left(6^*\frac{Iter}{Max_{Iter}}\right)^2\right)\tag{2} w=2exp((6MaxIterIter)2)(2)其中, w w w值在区间 [ 2 , 0 ] [2,0] [2,0]中非线性减小。因此,猎物基于Lévy游走策略开发和捕食者基于布朗游走策略探索的更新公式改进如下: { s t e p s i z e i = R L ⊗ ( E l i t e i − R L ⊗ P r e y i ) P r e y i = w ∗ P r e y i + P ⋅ R ⊗ s t e p s i z e i i = 1 , 2 , ⋯   , n / 2 1 3 M a x _ I t e r < I t e r < 2 3 M a x _ I t e r (3)

    \begin{dcases}stepsize_i=R_L\otimes(Elite_i-R_L\otimes Prey_i)\\[2ex]Prey_i=w^*Prey_i+P\cdot R\otimes stepsize_i\end{dcases}" role="presentation" style="position: relative;">\begin{dcases}stepsize_i=R_L\otimes(Elite_i-R_L\otimes Prey_i)\\[2ex]Prey_i=w^*Prey_i+P\cdot R\otimes stepsize_i\end{dcases}
    \quad i=1,2,\cdots,n/2\\[2ex] \frac13Max\_Iter stepsizei=RL(EliteiRLPreyi)Preyi=wPreyi+PRstepsizeii=1,2,,n/231Max_Iter<Iter<32Max_Iter(3) { s t e p s i z e i = R B ⊗ ( R B ⊗ E l i t e i − P r e y i ) P r e y i = w ∗ E l i t e i + P ⋅ C F n e w ⊗ s t e p s i z e i i = n / 2 , ⋯   , n 1 3 M a x _ I t e r < I t e r < 2 3 M a x _ I t e r (4)
    \begin{dcases}stepsize_i=R_B\otimes(R_B\otimes Elite_i-Prey_i)\\[2ex]Prey_i=w^*Elite_i+P\cdot CF_{new}\otimes stepsize_i\end{dcases}" role="presentation" style="position: relative;">\begin{dcases}stepsize_i=R_B\otimes(R_B\otimes Elite_i-Prey_i)\\[2ex]Prey_i=w^*Elite_i+P\cdot CF_{new}\otimes stepsize_i\end{dcases}
    \quad i=n/2,\cdots,n\\[2ex] \frac13Max\_Iter stepsizei=RB(RBEliteiPreyi)Preyi=wElitei+PCFnewstepsizeii=n/2,,n31Max_Iter<Iter<32Max_Iter(4)
    此外,算法第三阶段和涡流形成的模型也使用了新的自适应参数,更新如下: { s t e p s i z e i = R L ⊗ ( R L ⊗ E l i t e i − P r e y i ) P r e y i = E l i t e i + P ⋅ C F n e w ⊗ s t e p s i z e i i = 1 , 2 , ⋯   , n I t e r > 2 3 M a x _ I t e r (5)
    \begin{dcases}stepsize_i=R_L\otimes(R_L\otimes Elite_i-Prey_i)\\[2ex]Prey_i=Elite_i+P\cdot CF_{new}\otimes stepsize_i\end{dcases}" role="presentation" style="position: relative;">\begin{dcases}stepsize_i=R_L\otimes(R_L\otimes Elite_i-Prey_i)\\[2ex]Prey_i=Elite_i+P\cdot CF_{new}\otimes stepsize_i\end{dcases}
    \quad i=1,2,\cdots,n\\[2ex] Iter>\frac23Max\_Iter\tag{5}
    stepsizei=RL(RLEliteiPreyi)Preyi=Elitei+PCFnewstepsizeii=1,2,,nIter>32Max_Iter(5)
    最后,FADs效应公式更新如下: P r e y i = { P r e y i + C F n e w [ X min ⁡ + R L ⊗ ( X max ⁡ − X min ⁡ ) ] ⊗ U r ≤ F A D s P r e y i + [ F A D s ( 1 − r ) + r ] ( P r e y r 1 − P r e y r 2 )      r > F A D s (6) Prey_i=
    \begin{dcases}Prey_i+CF_{new}[X_{\min}+R_L\otimes(X_{\max}-X_{\min})]\otimes U\quad r≤FADs\\[2ex]Prey_i+[FADs(1-r)+r](Prey_{r_1}-Prey_{r_2})\quad\quad\,\,\,\, r>FADs\end{dcases}" role="presentation" style="position: relative;">\begin{dcases}Prey_i+CF_{new}[X_{\min}+R_L\otimes(X_{\max}-X_{\min})]\otimes U\quad r≤FADs\\[2ex]Prey_i+[FADs(1-r)+r](Prey_{r_1}-Prey_{r_2})\quad\quad\,\,\,\, r>FADs\end{dcases}
    \tag{6}
    Preyi= Preyi+CFnew[Xmin+RL(XmaxXmin)]UrFADsPreyi+[FADs(1r)+r](Preyr1Preyr2)r>FADs(6)
    提出的NMPA算法的伪代码如图1所示。
    在这里插入图片描述

    图1 NMPA算法伪代码

    二、仿真实验与结果分析

    将NMPA与MPA、MVO、MFO、SSA、GWO、PSO和DE进行对比,以常用23个测试函数中的F1、F2、F3(单峰函数/50维)、F9、F10、F11(多峰函数/30维)、F15、F16、F17(固定维度多峰函数/4维、2维、2维)为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    函数:F1
    MPA:最差值: 9.7593e-21, 最优值: 2.3297e-22, 平均值: 2.9176e-21, 标准差: 2.8823e-21, 秩和检验: 1.2118e-12
    NMPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
    MVO:最差值: 16.052, 最优值: 3.6499, 平均值: 10.1821, 标准差: 2.6587, 秩和检验: 1.2118e-12
    MFO:最差值: 42975.7823, 最优值: 613.5888, 平均值: 10627.2366, 标准差: 11869.196, 秩和检验: 1.2118e-12
    SSA:最差值: 6.0187, 最优值: 0.14308, 平均值: 0.8488, 标准差: 1.1639, 秩和检验: 1.2118e-12
    GWO:最差值: 5.8901e-19, 最优值: 4.2241e-21, 平均值: 9.7291e-20, 标准差: 1.3241e-19, 秩和检验: 1.2118e-12
    PSO:最差值: 1422.2888, 最优值: 570.427, 平均值: 943.2364, 标准差: 232.9208, 秩和检验: 1.2118e-12
    DE:最差值: 2.4663, 最优值: 1.0737, 平均值: 1.7091, 标准差: 0.32927, 秩和检验: 1.2118e-12
    函数:F2
    MPA:最差值: 7.4878e-12, 最优值: 3.7617e-14, 平均值: 1.8723e-12, 标准差: 1.7811e-12, 秩和检验: 1.2118e-12
    NMPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
    MVO:最差值: 3123781.4303, 最优值: 2.3232, 平均值: 110198.9506, 标准差: 570109.5292, 秩和检验: 1.2118e-12
    MFO:最差值: 141.9233, 最优值: 18.2962, 平均值: 67.5238, 标准差: 26.3164, 秩和检验: 1.2118e-12
    SSA:最差值: 16.7072, 最优值: 5.1051, 平均值: 9.6025, 标准差: 2.6562, 秩和检验: 1.2118e-12
    GWO:最差值: 1.3201e-11, 最优值: 7.8438e-13, 平均值: 2.8593e-12, 标准差: 2.3181e-12, 秩和检验: 1.2118e-12
    PSO:最差值: 42.1832, 最优值: 15.6349, 平均值: 27.5674, 标准差: 5.8734, 秩和检验: 1.2118e-12
    DE:最差值: 0.41527, 最优值: 0.23698, 平均值: 0.31728, 标准差: 0.046303, 秩和检验: 1.2118e-12
    函数:F3
    MPA:最差值: 0.68899, 最优值: 1.2144e-05, 平均值: 0.045161, 标准差: 0.12557, 秩和检验: 1.2118e-12
    NMPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
    MVO:最差值: 9995.1464, 最优值: 2743.0958, 平均值: 5932.9683, 标准差: 1628.313, 秩和检验: 1.2118e-12
    MFO:最差值: 114266.0114, 最优值: 35538.183, 平均值: 64996.6678, 标准差: 19291.1283, 秩和检验: 1.2118e-12
    SSA:最差值: 24355.5837, 最优值: 3580.028, 平均值: 10210.6693, 标准差: 5342.609, 秩和检验: 1.2118e-12
    GWO:最差值: 0.92636, 最优值: 0.0031258, 平均值: 0.1876, 标准差: 0.23304, 秩和检验: 1.2118e-12
    PSO:最差值: 18027.7431, 最优值: 6009.4299, 平均值: 10891.0078, 标准差: 3199.3455, 秩和检验: 1.2118e-12
    DE:最差值: 122023.315, 最优值: 71915.8892, 平均值: 105142.2487, 标准差: 11188.3177, 秩和检验: 1.2118e-12
    函数:F9
    MPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
    NMPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
    MVO:最差值: 373.4206, 最优值: 161.7475, 平均值: 254.1163, 标准差: 54.766, 秩和检验: 1.2118e-12
    MFO:最差值: 445.7286, 最优值: 198.5457, 平均值: 314.901, 标准差: 49.5023, 秩和检验: 1.2118e-12
    SSA:最差值: 136.8207, 最优值: 51.8892, 平均值: 99.8347, 标准差: 21.7869, 秩和检验: 1.2118e-12
    GWO:最差值: 13.9408, 最优值: 2.2737e-13, 平均值: 5.1956, 标准差: 4.566, 秩和检验: 1.2078e-12
    PSO:最差值: 237.8088, 最优值: 125.3253, 平均值: 183.4204, 标准差: 27.2008, 秩和检验: 1.2118e-12
    DE:最差值: 271.4351, 最优值: 213.4937, 平均值: 243.9343, 标准差: 13.6591, 秩和检验: 1.2118e-12
    函数:F10
    MPA:最差值: 1.9168e-11, 最优值: 2.7685e-12, 平均值: 7.7766e-12, 标准差: 3.5134e-12, 秩和检验: 1.2118e-12
    NMPA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
    MVO:最差值: 19.8502, 最优值: 2.1346, 平均值: 3.5333, 标准差: 3.1208, 秩和检验: 1.2118e-12
    MFO:最差值: 19.9668, 最优值: 14.1192, 平均值: 19.2057, 标准差: 1.2817, 秩和检验: 1.2118e-12
    SSA:最差值: 6.7171, 最优值: 2.6577, 平均值: 4.4863, 标准差: 1.0522, 秩和检验: 1.2118e-12
    GWO:最差值: 7.5787e-11, 最优值: 8.9821e-12, 平均值: 3.4662e-11, 标准差: 1.8518e-11, 秩和检验: 1.2118e-12
    PSO:最差值: 11.8298, 最优值: 7.4193, 平均值: 8.892, 标准差: 0.93704, 秩和检验: 1.2118e-12
    DE:最差值: 0.83023, 最优值: 0.30607, 平均值: 0.50589, 标准差: 0.12286, 秩和检验: 1.2118e-12
    函数:F11
    MPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
    NMPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
    MVO:最差值: 1.1291, 最优值: 1.0491, 平均值: 1.0905, 标准差: 0.020325, 秩和检验: 1.2118e-12
    MFO:最差值: 369.4205, 最优值: 4.0917, 平均值: 76.6034, 标准差: 79.6338, 秩和检验: 1.2118e-12
    SSA:最差值: 0.97569, 最优值: 0.23869, 平均值: 0.49162, 标准差: 0.20463, 秩和检验: 1.2118e-12
    GWO:最差值: 0.024329, 最优值: 0, 平均值: 0.0028871, 标准差: 0.0075521, 秩和检验: 0.00065896
    PSO:最差值: 13.3294, 最优值: 5.1603, 平均值: 9.1243, 标准差: 2.1066, 秩和检验: 1.2118e-12
    DE:最差值: 0.97066, 最优值: 0.77484, 平均值: 0.88821, 标准差: 0.057871, 秩和检验: 1.2118e-12
    函数:F15
    MPA:最差值: 0.00030749, 最优值: 0.00030749, 平均值: 0.00030749, 标准差: 1.927e-15, 秩和检验: 4.6159e-10
    NMPA:最差值: 0.00030749, 最优值: 0.00030749, 平均值: 0.00030749, 标准差: 6.4378e-13, 秩和检验: 1
    MVO:最差值: 0.063248, 最优值: 0.00054051, 平均值: 0.007415, 标准差: 0.013478, 秩和检验: 3.0199e-11
    MFO:最差值: 0.020363, 最优值: 0.00053771, 平均值: 0.0023649, 标准差: 0.0049137, 秩和检验: 3.018e-11
    SSA:最差值: 0.020372, 最优值: 0.00051608, 平均值: 0.0021963, 标准差: 0.0049462, 秩和检验: 3.0199e-11
    GWO:最差值: 0.020363, 最优值: 0.0003075, 平均值: 0.0037806, 标准差: 0.0075477, 秩和检验: 3.0199e-11
    PSO:最差值: 0.020363, 最优值: 0.00030749, 平均值: 0.0019441, 标准差: 0.0050319, 秩和检验: 0.077194
    DE:最差值: 0.0012257, 最优值: 0.00049896, 平均值: 0.00074107, 标准差: 0.00014796, 秩和检验: 3.0199e-11
    函数:F16
    MPA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 4.7012e-16, 秩和检验: 0.43458
    NMPA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 4.5915e-16, 秩和检验: 1
    MVO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.0539e-07, 秩和检验: 4.1049e-12
    MFO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.7752e-16, 秩和检验: 1.4286e-12
    SSA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.8147e-14, 秩和检验: 4.0988e-12
    GWO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.2139e-08, 秩和检验: 4.1049e-12
    PSO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.1158e-16, 秩和检验: 1.4329e-06
    DE:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 6.7122e-16, 秩和检验: 8.6696e-12
    函数:F17
    MPA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 1.1251e-14, 秩和检验: 1
    NMPA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 2.2453e-13, 秩和检验: 1
    MVO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 5.6405e-07, 秩和检验: 1.6072e-11
    MFO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: 0.00014488
    SSA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 4.3518e-14, 秩和检验: 0.0027133
    GWO:最差值: 0.39919, 最优值: 0.39789, 平均值: 0.39795, 标准差: 0.00026251, 秩和检验: 1.6072e-11
    PSO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: 0.00014488
    DE:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: 0.00014488
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81

    实验结果表明:与原始MPA以及其他最近的元启发式方法相比,该算法具有优越性。

    三、参考文献

    [1] Ali Safaa Sadiq, Amin Abdollahi Dehkordi, Seyedali Mirjalili, et al. Nonlinear marine predator algorithm: A cost-effective optimizer for fair power allocation in NOMA-VLC-B5G networks[J]. Expert Systems With Applications, 2022, 203: 117395.

  • 相关阅读:
    Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表、地图)
    猿创征文|数据结构-单链表详解(含完整代码)
    C#串口官方库
    优秀论文以及思路分析01
    实现主成分分析 (PCA) 和独立成分分析 (ICA) (Matlab代码实现)
    为什么大家想要晋升职称?工程师职称有什么用?
    【第05天】给定一个整数 n 判断是否为素数 | 质数的判定与筛选
    某通电子文档安全管理系统 CDGAuthoriseTempletService1接口SQL注入漏洞复现 [附POC]
    Spring Ioc源码分析系列--@Autowired注解的实现原理
    深度之眼(十五)——导数
  • 原文地址:https://blog.csdn.net/weixin_43821559/article/details/125892258