基于非线性参数的海洋捕食者算法
文章目录
- 一、理论基础
- 1、海洋捕食者算法(MPA)
- 2、非线性海洋捕食者算法(NMPA)
- 二、仿真实验与结果分析
- 三、参考文献
一、理论基础
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=2∗exp(−(6∗MaxIterIter)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}\quad i=1,2,\cdots,n/2\\[2ex] \frac13Max\_Iter<Iter<\frac23Max\_Iter\tag{3} ⎩ ⎨ ⎧stepsizei=RL⊗(Elitei−RL⊗Preyi)Preyi=w∗Preyi+P⋅R⊗stepsizeii=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}\quad i=n/2,\cdots,n\\[2ex] \frac13Max\_Iter<Iter<\frac23Max\_Iter\tag{4} ⎩ ⎨ ⎧stepsizei=RB⊗(RB⊗Elitei−Preyi)Preyi=w∗Elitei+P⋅CFnew⊗stepsizeii=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}\quad i=1,2,\cdots,n\\[2ex] Iter>\frac23Max\_Iter\tag{5} ⎩ ⎨ ⎧stepsizei=RL⊗(RL⊗Elitei−Preyi)Preyi=Elitei+P⋅CFnew⊗stepsizeii=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}\tag{6} Preyi=⎩ ⎨ ⎧Preyi+CFnew[Xmin+RL⊗(Xmax−Xmin)]⊗Ur≤FADsPreyi+[FADs(1−r)+r](Preyr1−Preyr2)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
实验结果表明:与原始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.
基于非线性参数的海洋捕食者算法相关推荐
- 基于海洋捕食者算法的无线传感器网络覆盖优化
文章目录 一.理论基础 1.节点覆盖模型 2.海洋捕食者算法(MPA) (1)初始化阶段 (2)MPA优化阶段 (3)FADs效应或涡流 二.实验仿真与结果分析 三.参考文献 一.理论基础 1.节点覆 ...
- MATLAB:海洋捕食者算法(MPA)优化BP神经网络权值和阈值用于月径流预测
海洋捕食者算法(Marine Predators Algorithm,MPA)是Afshin Faramarzi等人于2020年提出的一种新型元启发式优化算法,其灵感来源于海洋"适者生存&q ...
- 海洋捕食者算法介绍及TSP求解代码实现
海洋捕食者算法介绍及TSP求解代码实现 前言 一.海洋捕食者算法是什么? 二.MPA的具体内容 1.思想 2.相关术语 3.过程 三.用MPA求解旅行商(TSP)问题 1.TSP简介 2.过程与问题 ...
- 海洋捕食者算法 MPA
前言 这个算法介绍很少,所以想边学习边记录一下.可能更新有点慢(近期大概率不更新),各位小伙伴们见谅. 原论文: Marine Predators Algorithm: A nature-inspir ...
- MPA海洋捕食者算法学习笔记
mpa算法是2020年提出来的新型群体智能算法,原文Marine Predators Algorithm: A nature-inspired metaheuristic的doi:https://do ...
- MATLAB实战系列(三十九)-matlab多目标优化之海洋捕食者算法
前言 文中涉及代码可参见 matlab多目标优化之海洋捕食者算法 海洋捕食者算法(Marine Predators Algorithm, MPA)是Afshin Faramarzi等人于2020年提出 ...
- 多子群改进的海洋捕食者算法-附代码
多子群改进的海洋捕食者算法 文章目录 多子群改进的海洋捕食者算法 1.海洋捕食者算法 2.改进海洋捕食者算法 2.1 高斯变异 2.2 MSMPA 算法 3.实验结果 4.参考文献 5.Matlab代 ...
- 非线性海洋捕食者算法(Matlab代码实现)
- 基于改进海洋捕食者算法求解单目标优化问题附matlab代码(NMPA)
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
最新文章
- linux sed i 大文件,sed -i 修改链接文件注意事项 破坏了原文件
- 浅谈JavaScript作用域,关于Java的学习路线资料
- apache下django配置【原创】
- ffmpeg 截图太模糊了_PPT图片模糊?导师说放大!
- Springboot集成axis1.4
- Java快速提升_java快速复习 一 基础语法
- VS2010生成的文件在别的机器上运行提示“丢失MSVCR100D.dll”
- 3种重构EF Linq查询的方法而不扼杀性能
- himall微信支付
- 一键式文件共享软件Jirafeau
- STM32F412 can测试问题汇总
- 特征码、特征码的概念、特征码的作用、常见的特征码
- JAVA-CPU飙高问题排查
- 使用sklearn构建完整的回归项目(一)
- linux下openvpn服务搭建
- Android 多张2K,4k图片加载压缩的详解
- Eclipse中出现-访问限制由于对必需的库XX具有一定限制,因此无法访问类型
- 12岁的微博回港上市,还有新故事吗?
- [转]Golang中goroutine的调度器详解
- Ubuntu文件管理快捷键
热门文章
- PCI Express学习篇---Power Management(二)
- aws 云存储 Linux sdk,aws-sdk for JavaScript 对接私有云对象存储
- win10无法登录到你的账户->注销->重启->桌面初始化(只剩回收站+默认浏览器)等一系列问题出现
- 星特朗望远镜怎么样_星特朗天文望远镜怎么样|使用体验
- 运筹帷幄的“懒蚂蚁”
- 第一节 Python环境搭建
- windows10 win10 假死 死机 鼠标键盘动不了解决
- 基于JSP的婚恋交友网
- 益企工程云签约明远建设 助力企业降本增效
- java 读取pdf签名域_Java 获取PDF中的数字签名信息