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

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


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

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}= \begin{cases}2 x_{k}^{i} & x_{k}^{i}<0.5 \\ 2\left(1-x_{k}^{i}\right) & \text { else }\end{cases} \\ \tag{8} yk+1i={2xki2(1xki)xki<0.5 else (8)

x j i = y k i ( u b − l b ) + l b (9) \begin{gathered} x_{j}^{i}=y_{k}^{i}(\mathrm{ub}-\mathrm{lb})+\mathrm{lb} \end{gathered}\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}= \begin{cases}F_{j}+c_{1} F_{j} & c_{1} \geqslant 0.8 \\ F_{j}-c_{1} F_{j} & c_{1}<0.8\end{cases} \\ \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) \begin{gathered} c_{1}= \begin{cases}2 \mathrm{e}^{-\left(2 t / T_{\max }\right)} & t<T_{\max } / 2 \\ 2 \mathrm{e}^{-\left[2\left(T_{\max }-t\right) / T_{\max }\right]} & t<T_{\max } / 2\end{cases} \end{gathered}\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\{\begin{array}{cl} \left(x_{j}^{c 2}+F x_{j}^{i}\right) / 2 & f\left(x_{j}^{c 2}\right) \leqslant f\left(x_{j}^{i}\right) \\ x_{j}^{i}-\sin \left(x_{j}^{i}\right) & f\left(x_{j}^{c 2}\right)>f\left(x_{j}^{i}\right) \end{array}\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代码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值