文章目录

  • 一、理论基础
    • 1、樽海鞘群算法
    • 2、基于衰减因子和动态学习的改进樽海鞘群算法
      • (1)添加衰减因子
      • (2)引入动态学习
      • (3)RDSSA的实现流程
  • 二、测试实验分析
  • 三、参考文献

一、理论基础

1、樽海鞘群算法

请参考这里。

2、基于衰减因子和动态学习的改进樽海鞘群算法

通过研究SSA的原理发现,由于位置更新搜索范围无约束,且精英个体的影响权重小,导致SSA在迭代后期不能进行很精确的搜索,跟随者不能很好的协助个体位置更新。因此,本文的改进思路从两个方面考虑:针对SSA在领导者更新阶段搜索范围不受限的问题,添加衰减因子,增强迭代后期的局部开发能力;针对跟随者位置更新的局限性,引入动态学习策略,提高全局探索能力。

(1)添加衰减因子

本文提出将衰减因子引入SSA,得到添加衰减因子的樽海鞘群算法(reduction factor salp swarm algorithm, RSSA),使得领导者位置更新范围随着迭代次数的增加而逐渐减小,收敛前期避免陷入局部极值,收敛后期越来越逼近最优值,达到更高的求解精度。
添加衰减因子的领导者位置更新公式(1)如下:xj1={A(l)[Fj+c1((ubj−lbj)c2+lbj)],c3≥0.5A(l)[Fj−c1((ubj−lbj)c2+lbj)],c3<0.5(1)x_j^1=\begin{dcases}A(l)[F_j+c_1((ub_j-lb_j)c_2+lb_j)],\quad c_3≥0.5\\A(l)[F_j-c_1((ub_j-lb_j)c_2+lb_j)],\quad c_3<0.5\end{dcases}\tag{1}xj1​={A(l)[Fj​+c1​((ubj​−lbj​)c2​+lbj​)],c3​≥0.5A(l)[Fj​−c1​((ubj​−lbj​)c2​+lbj​)],c3​<0.5​(1)其中控制搜索范围的衰减因子A(l)A(l)A(l)是一个非线性递减函数,定义如下:A(l)=e−30(lL)(2)A(l)=\text e^{-30(\frac lL)}\tag{2}A(l)=e−30(Ll​)(2)收敛前期,搜索范围不受限,个体可以充分在全局移动,充分发挥算法的全局搜索能力,避免陷入局部极值;收敛后期,随着个体越来越逼近最优值,搜索范围也逐渐减小,个体在限制范围内进行精确搜索,增强局部搜索能力,以达到更高的求解精度。

(2)引入动态学习

为了增强精英个体的影响权重,本文将动态学习策略引入SSA,得到引入动态学习的樽海鞘群算法(dynamic learning salp swarm algorithm, DSSA),先比较xjix_j^ixji​与xji−1x_j^{i-1}xji−1​的适应值,在适应值较大的位置(即离最优值距离较远的位置)上添加削弱因子kkk,以削弱较差位置个体的影响权重,增强较优位置个体的影响权重。
引入动态学习策略的跟随者位置更新公式如下:xji={12(k×xji+xji−1),f(xji)≥f(xji−1)12(xji+k×xji−1),f(xji)<f(xji−1),i≥2(3)x_j^i=\begin{dcases}\frac12(k×x_j^i+x_j^{i-1}),\quad f(x_j^i)≥f(x_j^{i-1})\\\frac12(x_j^i+k×x_j^{i-1}),\quad f(x_j^i)<f(x_j^{i-1})\end{dcases},i≥2\tag{3}xji​=⎩⎪⎨⎪⎧​21​(k×xji​+xji−1​),f(xji​)≥f(xji−1​)21​(xji​+k×xji−1​),f(xji​)<f(xji−1​)​,i≥2(3)其中,f(xji)f(x_j^i)f(xji​)和f(xji−1)f(x_j^{i-1})f(xji−1​)分别表示两位置的适应值,kkk是服从参数为0.5的指数分布随机数。
在收敛过程中,精英个体能更好的发挥协助作用,帮助领导者做决策,不断向食物源逼近,提高寻优效率。

(3)RDSSA的实现流程

将RSSA和DSSA结合,同时改变领导者和跟随者的位置更新公式,可以得到新的优化算法RDSSA,提高领导者局部开发能力,增强跟随者的协助作用,以提高收敛速度,获得更好的优化效果。RDSSA的实现流程如下所示:
Step 1 设定种群规模NNN、迭代次数IterationIterationIteration、维数DDD和上下界;
Step 2 初始化樽海鞘群个体的位置,并计算各个体的适应值FitnessFitnessFitness,将最小适应值个体的位置确定为食物源位置FoodPositionFoodPositionFoodPosition;
Step 3 生成衰减因子A(l)A(l)A(l),根据式(1)更新领导者位置;
Step 4 生成随机数kkk,根据式(3)更新跟随者位置;
Step 5 计算更新位置后的个体适应值,若小于当前FoodPositionFoodPositionFoodPosition,则更新FoodPositionFoodPositionFoodPosition;
Step 6 判断当前迭代次数是否达到预设迭代次数,若已达到,结束迭代,否则返回执行Step 3
Step 7 输出FoodPositionFoodPositionFoodPosition位置及该位置上的适应值FitnessFitnessFitness。
RDSSA的伪代码如下图所示:

二、测试实验分析

本文将RDSSA与SSA、RSSA、DSSA进行对比,测试函数为文献[1]中的f1~f4(单峰函数)、f13~f16(多峰函数)。为了遵循实验公平性原则,实验基本参数保持一致:种群数量NNN设为50,函数维数DDD设为45,迭代次数IterationIterationIteration设为500,每次实验结果为独立运行30次的平均值。
结果显示如下:

函数:F1
SSA:最差值: 3524.9065,最优值:998.8546,平均值:1973.4763,标准差:582.9121
RSSA:最差值: 2.4903e-35,最优值:1.0959e-35,平均值:1.6129e-35,标准差:2.811e-36
DSSA:最差值: 6.9699e-41,最优值:3.4148e-46,平均值:3.1646e-42,标准差:1.2662e-41
RDSSA:最差值: 4.9458e-64,最优值:4.6386e-69,平均值:3.8904e-65,标准差:1.0147e-64
函数:F2
SSA:最差值: 32.3036,最优值:17.566,平均值:25.5322,标准差:3.8434
RSSA:最差值: 2.565e-18,最优值:1.85e-18,平均值:2.1873e-18,标准差:1.9092e-19
DSSA:最差值: 2.4503e-21,最优值:2.7966e-23,平均值:5.5804e-22,标准差:7.2559e-22
RDSSA:最差值: 1.3688e-32,最优值:3.4198e-35,平均值:1.7116e-33,标准差:2.8507e-33
函数:F3
SSA:最差值: 21595.011,最优值:2401.204,平均值:8614.5134,标准差:4872.8367
RSSA:最差值: 2.0317e-34,最优值:2.5577e-35,平均值:8.0167e-35,标准差:4.1236e-35
DSSA:最差值: 9.5259e-41,最优值:1.3566e-44,平均值:1.2344e-41,标准差:2.2173e-41
RDSSA:最差值: 1.7051e-63,最优值:6.9384e-68,平均值:1.9419e-64,标准差:4.0834e-64
函数:F4
SSA:最差值: 21.8,最优值:13.3484,平均值:17.419,标准差:1.9018
RSSA:最差值: 1.7379e-18,最优值:9.8417e-19,平均值:1.3292e-18,标准差:1.8175e-19
DSSA:最差值: 6.9331e-22,最优值:1.5417e-23,平均值:2.0608e-22,标准差:1.6876e-22
RDSSA:最差值: 4.5634e-33,最优值:2.0181e-35,平均值:1.0902e-33,标准差:1.2728e-33
函数:F13
SSA:最差值: 312.019,最优值:179.0085,平均值:253.6474,标准差:43.6681
RSSA:最差值: 0,最优值:0,平均值:0,标准差:0
DSSA:最差值: 0,最优值:0,平均值:0,标准差:0
RDSSA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F14
SSA:最差值: 7.2999,最优值:4.7999,平均值:6.1065,标准差:0.69428
RSSA:最差值: 0,最优值:0,平均值:0,标准差:0
DSSA:最差值: 0,最优值:0,平均值:0,标准差:0
RDSSA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F15
SSA:最差值: 199.4559,最优值:30.7942,平均值:94.9727,标准差:36.4916
RSSA:最差值: 1.7068e-36,最优值:3.0966e-37,平均值:9.8005e-37,标准差:3.8859e-37
DSSA:最差值: 1.3726e-42,最优值:3.5218e-46,平均值:1.4833e-43,标准差:3.5428e-43
RDSSA:最差值: 2.8864e-65,最优值:1.2069e-69,平均值:1.1872e-66,标准差:5.2416e-66
函数:F16
SSA:最差值: 1072.8803,最优值:330.2378,平均值:632.5687,标准差:168.8757
RSSA:最差值: 2.2621e-36,最优值:1.1537e-37,平均值:4.1213e-37,标准差:3.8945e-37
DSSA:最差值: 2.017e-42,最优值:3.048e-47,平均值:1.4334e-43,标准差:3.9035e-43
RDSSA:最差值: 3.958e-66,最优值:1.2899e-69,平均值:6.9684e-67,标准差:1.03e-66

结果表明,本文提出的改进算法在收敛精度和收敛速度方面有较大提升,具有良好的优化性能。

三、参考文献

[1] 陈雷, 蔺悦, 康志龙. 基于衰减因子和动态学习的改进樽海鞘群算法[J]. 控制理论与应用, 2020, 37(8): 1766-1780.

基于衰减因子和动态学习的改进樽海鞘群算法相关推荐

  1. 基于混沌映射与动态学习的自适应樽海鞘群算法

    文章目录 一.理论基础 1.樽海鞘群算法SSA 2.改进樽海鞘群算法CDSSA (1)基于改进Tent映射的种群初始化 (2)基于Logistic映射的领导者更新 (3)基于动态学习的追随者更新 (4 ...

  2. 混沌映射与动态学习的自适应樽海鞘群算法-附代码

    混沌映射与动态学习的自适应樽海鞘群算法 文章目录 混沌映射与动态学习的自适应樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 基于改进 Tent 映射的种群初始化 2.2 基于 Logis ...

  3. 基于改进樽海鞘群寻优SVM的土壤含水量预测算法

    摘要: 针对传统土壤含水量预测算法存在的精度和效率较低等问题,采用支持向量机(SVM, support vector machine)建立预测模型,提出一种改进樽海鞘群算法(SSA, salp swa ...

  4. 基于混沌映射的自适应樽海鞘群算法-附代码

    基于混沌映射的自适应樽海鞘群算法 文章目录 基于混沌映射的自适应樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 混沌映射 2.2 自适应权重变化 2.3 追随者机制变化 3.实验结果 4 ...

  5. 基于觅食生境选择的改进粒子群算法-附代码

    基于觅食生境选择的改进粒子群算法 文章目录 基于觅食生境选择的改进粒子群算法 1.粒子群优化算法 2. 改进粒子群算法 3.实验结果 4.参考文献 5.Matlab代码 6.Python代码 摘要:在 ...

  6. 基于改进粒子群算法的WSN节点部署优化

    文章目录 一.理论基础 1.PSO算法(经典粒子群算法) 2.UPSO算法(均匀搜索粒子群算法) 3.CPSO算法(本文算法) 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.PSO算法(经典 ...

  7. 基于Cat混沌与高斯变异的改进灰狼优化算法-附代码

    基于Cat混沌与高斯变异的改进灰狼优化算法 文章目录 基于Cat混沌与高斯变异的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 混沌反向学习策略的种群初始化 2. 2 引入个体记忆 ...

  8. 《基于改进粒子群算法的混合储能系统容量优化》完全复现

    <基于改进粒子群算法的混合储能系统容量优化>完全复现 matlab. 以全生命周期费用最低为目标函数,负荷缺电率作为风光互补发电系统的运行指标,得到蓄电池储能和超级电容个数,缺电率和系统最 ...

  9. 阅读《基于CPSO和DE改进粒子群算法的无功优化仿真》的感想

    阅读<基于CPSO和DE改进粒子群算法的无功优化仿真>的感想 PS:文中提到的对比的文章都是指的是<电力系统无功优化的LRS-PSO算法>-陈功贵 CPSO Chaotic P ...

  10. 基于正交设计的折射反向学习樽海鞘群算法

    文章目录 一.理论基础 1.樽海鞘群算法 2.正交反向学习樽海鞘群算法OOSSA (1)正交反向学习策略 (2)惯性权重策略 (3)OOSSA算法 二.仿真实验与结果分析 三.参考文献 一.理论基础 ...

最新文章

  1. 微信小程序星级评分和展示
  2. 3.8 Softmax 回归-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  3. 《Linux菜鸟入门》Linux网络管理
  4. boost::hana::back用法的测试程序
  5. [BUUCTF-pwn]——pwn2_sctf_2016
  6. OpenCV学习笔记六-提高对比度
  7. servlet的执行过程
  8. python安装requests第三方模块
  9. PS抠图神器: KnockOut 2.0安装汉化和使用教程
  10. python实现不重复排列组合_python之itertools的排列组合相关
  11. 腾讯网易已称王,今日头条有什么勇气来做游戏?
  12. xpath返回结果是否有值_【自学C#】|| 笔记 41 DataReader:读取查询结果
  13. 古城钟楼微博地支报时程序铛,100行代码实现,价值一天20万粉丝
  14. 总结一下vue添加收藏取消收藏功能
  15. 使用theano进行深度学习实践(一)
  16. 如何使用docker和docker-compose在本地Testnet上开发EOS区块链
  17. 【Linux内核】Linux软中断处理机制-ksoftirqd
  18. Docker_学习笔记
  19. linux建立ss服务器,如何在linux服务器上部署ss服务
  20. sql语句批量导入数据库数据

热门文章

  1. HTML-特效代码大全
  2. 西安理工大学计算机视觉与应用,赵明华 - 西安理工大学 - 计算机科学与工程学院...
  3. 概率论与数理统计期末考试题及答案
  4. 2022-2028年中国电力载波通信行业市场行情动态及竞争战略分析报告
  5. java的applet教程_Java Applet基础
  6. 【编译原理】递归下降语法分析设计原理与实现
  7. 编程珠玑第一章-位图压缩存储
  8. 机器码、序列号、认证码、注册码的生成算法(四)
  9. 微软高性能缓存AppFabric (一) 安装
  10. 局域网QQ助手,查找局域网在线QQ,支持手机版QQ