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


    基于混沌映射的自适应樽海鞘群算法


    摘要:针对樽海鞘群算法收敛速度慢、易陷入局部最优等问题,提出了一种基于混沌映射的自适应樽海鞘群算法。在种群初始化阶段引入混沌映射来增强种群的多样性,提高算法的收敛速度;改进领导者的更新方式,同时加入自适应权重,提高算法的探索和开发能力;改进追随者的位置更新方式,减少追随者的盲目性。

    1.樽海鞘群算法

    基础樽海鞘群算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107767869

    2.改进樽海鞘群算法

    2.1 混沌映射

    研究表明, 种群初始化作为群能算法的重要环 节, 初始化的位置的好坏可以直接影响算法的收敛 速度和解质量 , 例如, 均匀分布比随机分布解 空间的覆盖率更全, 更容易得到好的初始解。基本 樽海鞘群算法采用随机种群初始化操作, 无法覆盖 整个解空间。混池序列在一定范围内具有遍历性、 随机性及规律性的特点与随机搜索相比, 混池序列 能以更高的概率对搜索空间进行彻底搜索, 可使算 法跳出局部最优, 保持群体的多样性。
    基于以上分析, 为了更大几率的得到好的初始 解位置, 加快种群的收玫速度, 本文采用具有较好遍 历均匀性和更快迭代速度的 Tent 混池映射方法, 提 高初始解的覆盖空间, 计算方法如式 (8) 所示。
    y k + 1 i = { 2 x k i x k i < 0.5 2 ( 1 − x k i )  else  (8) y_{k+1}^{i}=

    {2xkixki<0.52(1xki) else " role="presentation" style="position: relative;">{2xkixki<0.52(1xki) else 
    \\ \tag{8} yk+1i={2xki2(1xki)xki<0.5 else (8)

    x j i = y k i ( u b − l b ) + l b (9)

    xji=yki(ublb)+lb" role="presentation" style="position: relative;">xji=yki(ublb)+lb
    \tag{9} xji=yki(ublb)+lb(9)
    式 (8) 中: y k i y_{k}^{i} yki 为区间 [ 0 , 1 ] [0,1] [0,1] 的混沈序列, 再根据 式 (9) 进行逆映射得到种群的初始位置, 这样的混 池映射方法能够大幅度的增大初始解空间的覆盖 率, 让种群能够更快的靠近最优解, 从而加快算法的 收敛速度。

    2.2 自适应权重变化

    在基本樽海鞘群算法中, 从领导者的位置更新方 式我们可以看出,领导者的位置更新主要受到食物源 和参数 c 1 c_{1} c1 的影响, c 1 c_{1} c1 值越大时有利于算法的探索能 力, c 1 c_{1} c1 值越小时, 有利于算法的开发能力, 同时领导者 的位置移动还受到缩放因子 c 2 c_{2} c2 的影响, c 2 c_{2} c2 为均匀分 布的随机数, 这样的缩放因子使得领导者的移动具有 很大的斍目性, 且 c 2 c_{2} c2 的取值多为无效取值。针对上 述问题, 本文提出了一种新的领导者位置更新方式, 在食物源的位置添加自适应权重, 算法前期权重较 大, 让算法有足够强的探索能力, 随着迭代次数的增 加,权重自适应减小,用于增强算法的局部开发能力, 在算法的中后期, 权重开始增大, 使领导者具备跳出 局部最优的能力, 具体数学描述如式 (10) 所示。
    x j i = { F j + c 1 F j c 1 ⩾ 0.8 F j − c 1 F j c 1 < 0.8 (10) x_{j}^{i}=

    {Fj+c1Fjc10.8Fjc1Fjc1<0.8" role="presentation">{Fj+c1Fjc10.8Fjc1Fjc1<0.8
    \\ \tag{10} xji={Fj+c1FjFjc1Fjc10.8c1<0.8(10)

    c 1 = { 2 e − ( 2 t / T max ⁡ ) t < T max ⁡ / 2 2 e − [ 2 ( T max ⁡ − t ) / T max ⁡ ] t < T max ⁡ / 2 (11)

    c1={2e(2t/Tmax)t<Tmax/22e[2(Tmaxt)/Tmax]t<Tmax/2" role="presentation" style="position: relative;">c1={2e(2t/Tmax)t<Tmax/22e[2(Tmaxt)/Tmax]t<Tmax/2
    \tag{11} c1={2e(2t/Tmax)2e[2(Tmaxt)/Tmax]t<Tmax/2t<Tmax/2(11)
    式中: x j i x_{j}^{i} xji 表示个体 i i i 在捕食空间 j j j 维的位置, F j F_{j} Fj 为食 物源位置, c 1 c_{1} c1 为先递减后递增的权重, t t t 代表当前迭 代次数, T max ⁡ T_{\max } Tmax 代表最大迭代次数。

    2.3 追随者机制变化

    在基本樽海鞘群算法中, 追随者根据式(7) 进 行位置更新, 从式中可以看出,第 i i i 只个体根据第 i − i- i 1 只个体进行位置移动, 而没有考虑上一个体适应 度的好与坏, 即追随者的位置移动具有一定的斍目 性,追随者 i i i 的位置移动只与个体 i − 1 i-1 i1 有关, 缺乏与 其他个体进行信息交流的能力, 这种移动方式极易 导致算法陷入局部最优。针对上述缺点, 本文提出 了一种新的追随者移动方式, 具体数学描述如式 (12) 所示。
    x j i = { ( x j c 2 + F x j i ) / 2 f ( x j c 2 ) ⩽ f ( x j i ) x j i − sin ⁡ ( x j i ) f ( x j c 2 ) > f ( x j i ) (12) x_{j}^{i}=\left\{

    (xjc2+Fxji)/2f(xjc2)f(xji)xjisin(xji)f(xjc2)>f(xji)" role="presentation" style="position: relative;">(xjc2+Fxji)/2f(xjc2)f(xji)xjisin(xji)f(xjc2)>f(xji)
    \right.\tag{12} xji={(xjc2+Fxji)/2xjisin(xji)f(xjc2)f(xji)f(xjc2)>f(xji)(12)
    式中: x j i x_{j}^{i} xji 表示追随者的位置, F F F 是权重因子, 随迭代 次数逐渐递减, c 2 c 2 c2 代表了随机从领导者中选择的个 体, 如果当前个体 i i i 的适应度大于领导者 c 2 c 2 c2 的适应 度, 则在适应度较大的个体位置上添加权重因子, 用 来降低较差位置个体的影响, 进而提升了较优个体 的权重; 否则, 个体 i i i 只在自已周围波动。这种移动 方式, 可以大大的降低斍目追随性,增强了种群间的 信息交流,同时还能保留追随者的自身信息,保证种 群的多样性。

    请添加图片描述

    3.实验结果

    请添加图片描述

    4.参考文献

    [1]童斌斌,何庆,陈俊.基于混沌映射的自适应樽海鞘群算法[J].传感技术学报,2021,34(01):41-48.

    5.Matlab代码

    6.python代码

  • 相关阅读:
    实战化场景下的容器安全攻防之道
    AdaptFormer学习笔记
    AttributeError: ‘numpy.ndarray‘ object has no attribute ‘fill_betweenx‘
    Python—线性回归
    从PMP理论看华为销售项目运作与管理
    python+django医院设备综合管理系统vue363
    Spring Boot 使用 SSE 方式向前端推送数据
    systemctlm-cosim-demo环境搭建
    语法基础(函数)
    瑞吉外卖学习笔记3
  • 原文地址:https://blog.csdn.net/u011835903/article/details/126812608