栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

基于混沌权重和精英引导的鲸鱼优化算法-附代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于混沌权重和精英引导的鲸鱼优化算法-附代码

基于混沌权重和精英引导的鲸鱼优化算法

文章目录
  • 基于混沌权重和精英引导的鲸鱼优化算法
    • 1.鲸鱼优化算法
    • 2. 改进鲸鱼优化算法
      • 2.1 精英个体引导机制
      • 2.2 混沌动态权重因子
    • 3.实验结果
    • 4.参考文献
    • 5.Matlab代码
    • 6.Python代码

摘要: 针对鲸鱼优化算法( WOA) 存在收敛精度低和收敛速度慢的问题,提出基于混沌权重和精英引导的先进鲸鱼优化算法( AWOA) 。考虑算法前期搜索的随机性对收敛速度的影响,引入精英个体引导机制,利用精英个体的进化反馈信息及时调整种群的搜索方向,加强算法的全局搜索能力。在算法后期引入混沌动态权重因子加强算法的局部搜索能力,提高算法的收敛精度。

1.鲸鱼优化算法

基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167

2. 改进鲸鱼优化算法 2.1 精英个体引导机制

在基本的 WOA 中,鲸鱼游走阶段的个体位置是通过选取随机个体来引导更新, 虽然能增加种群的搜索范围, 但 完全依靠随机性, 增加了种群无效搜索的次数, 影响收玫速 度。为了加快对猎物搜索的速度, 提出一种精英个体引导 机制。选取当前种群最优个体作为精英个体引导种群位置 更新,位置更新公式变为
X ( t + 1 ) = X p ( t ) − d i r ⋅ A ⋅ D (7) boldsymbol{X}(t+1)=boldsymbol{X}_{p}(t)-boldsymbol{d i r} cdot boldsymbol{A} cdot boldsymbol{D} tag{7} X(t+1)=Xp​(t)−dir⋅A⋅D(7)
式中 X p ( t ) X_{mathrm{p}}(t) Xp​(t) 为第 t t t 次迭代时,种群适应度最优的个体位 置。dir 为种群搜索方向因子, 比较当前种群最优个体的适 应度值 fit ( X p ( t ) ) left(boldsymbol{X}_{mathrm{p}}(t)right) (Xp​(t)) 与上一代种群最优个体适应度 f i t ( X p f i tleft(boldsymbol{X}_{mathrm{p}}right. fit(Xp​ ( t − 1 ) ) (t-1)) (t−1)), 若 f i t ( X p ( t ) ) > f i t ( X p ( t − 1 ) ) f i tleft(boldsymbol{X}_{mathrm{p}}(t)right)>f i tleft(boldsymbol{X}_{mathrm{p}}(t-1)right) fit(Xp​(t))>fit(Xp​(t−1)), 则 dir ⁡ operatorname{dir} dir 为单位向 量, 否则 dir ⁡ operatorname{dir} dir 向量的每一维通过下式得到
d i r j = { − 1 , A j ⋅ [ X p j ( t ) − X p j ( t − 1 ) ] > 0 1 ,  其他  (8) d i r_{j}=left{begin{array}{l} -1, boldsymbol{A}_{j} cdotleft[boldsymbol{X}_{p}^{j}(t)-X_{p}^{j}(t-1)right]>0 \ 1, text { 其他 } end{array}right. tag{8} dirj​={−1,Aj​⋅[Xpj​(t)−Xpj​(t−1)]>01, 其他 ​(8)
由式 (7)、式 (8) 可知, 精英个体使种群朝靠近最优解 位置进行搜索, 搜索方向因子则利用最优个体的进化反馈 信息对种群的搜索方向进行调整, 两者的加入使种群搜索 更具有目的性, 避免了因随机个体与搜索矢量 A A A 的随机性 而导致收玫速度较慢的问题。值得注意的是, 精英个体的 引入使得最优鲸鱼个体在鲸鱼种群搜索中扮演着领导者的 角色, 所以, 其位置的好坏决定了种群的搜索效率, 为了提 高领导者的质量, 在每次迭代中, 对精英个体进行一次随机 扰动与反向搜索操作 [ 15 ] { }^{[15]} [15], 得到两个新的个体 X p ∗ , X p ∗ ∗ X_{mathrm{p}}^{*}, X_{mathrm{p}}^{* *} Xp∗​,Xp∗∗​, 其 求解公式如下
X p ∗ = X min ⁡ + r ⋅ ( X max ⁡ − X min ⁡ ) , X p ∗ k = X max ⁡ + X min ⁡ − X p ∗ (9) boldsymbol{X}_{mathrm{p}}^{*}=boldsymbol{X}_{min }+boldsymbol{r} cdotleft(boldsymbol{X}_{max }-mathrm{X}_{min }right), boldsymbol{X}_{p}^{* k}=boldsymbol{X}_{max }+boldsymbol{X}_{min }-boldsymbol{X}_{mathrm{p}}^{*} tag{9} Xp∗​=Xmin​+r⋅(Xmax​−Xmin​),Xp∗k​=Xmax​+Xmin​−Xp∗​(9)
式中 X min  , X max  X_{text {min }}, X_{text {max }} Xmin ​,Xmax ​ 分别为搜索空间的上界和下界, r r r 为 [ 0 , 1 ] [0,1] [0,1] 区间的随机向量。将得到的 X p ∗ , X p ∗ k X_{mathrm{p}}^{*}, boldsymbol{X}_{mathrm{p}}^{* k} Xp∗​,Xp∗k​ 替换种群中适应度最 差的两个个体, 并更新当前种群最优个体 X p X_{p} Xp​ 。

2.2 混沌动态权重因子

鲸鱼算法在进入气泡网攻击阶段后, 为了加快对全局 最优值的搜索采取收缩包围机制, 然而这种机制末充分利 用全局最优解的位置信息, 只能使鲸鱼个体缓慢靠近局部 最优解, 无法在猎物附近进行快速精细搜索, 导致算法收玫 速度较慢、收敛精度较低。文献 提出非线性自适 应权重策略, 提高了 WOA 的局部寻优能力, 算法寻优速度 得到了提高, 但同时也增加了算法的计算复杂度。本文引 入一种计算简单的动态混沌权重因子, 其表达式如下
ω ( t + 1 ) = 4 ω ( t ) ⋅ ( 1 − ω ( t ) ) , t = 1 , ⋯   , t max ⁡ (10) omega(t+1)=4 omega(t) cdot(1-omega(t)), t=1, cdots, t_{max }tag{10} ω(t+1)=4ω(t)⋅(1−ω(t)),t=1,⋯,tmax​(10)
式中 ω ( 1 ) omega(1) ω(1) 取 [ 0 , 1 ] [0,1] [0,1] 区间的随机数, 将式 (10) 代入式 (6), 并引入一个随迭代次数变化的收㪉因子 λ lambda λ, 改进后的位置 更新
X ( t + 1 ) = ω ( t ) ⋅ λ ⋅ X best  − A ⋅ D , λ = ( t max ⁡ − t ) / t max ⁡ (11) boldsymbol{X}(t+1)=omega(t) cdot lambda cdot boldsymbol{X}_{text {best }}-boldsymbol{A} cdot boldsymbol{D}, lambda=left(t_{max }-tright) / t_{max }tag{11} X(t+1)=ω(t)⋅λ⋅Xbest ​−A⋅D,λ=(tmax​−t)/tmax​(11)
从式 (10) 中可知, 本文选取 Logistic 混沌映射, 利用其随机性、遍历性等优点动态调整惯性权重,使鲸鱼个体能在猎物周围进行更加精细、彻底地搜索,加快了算法的收敛速度,同时也降低了算法陷入局部最优的概率。其次,参数 λ随着迭代次数的增加而自适应的减小,能有效控制权重因子混沌变化的范围,缩小鲸鱼种群的寻优区域,使算法迅速收敛于全局最优解,保证了算法的收敛性。

改进算法步骤:

初始化参数。设置种群规模大小为 N N N, 解空间维度为 d d d, 最大迭代次数为 t max ⁡ t_{max } tmax​, 产生初始化鲸鱼种群 { X i , i = 1 , 2 left{boldsymbol{X}_{i}, i=1,2right. {Xi​,i=1,2, ⋯   , N } cdots, N} ⋯,N};
while ( t < t max ⁡ ) left(t 计算每一个鲸鱼个体的适应度值 { f ( X i ) , i = 1 , 2 , ⋯   left{fleft(X_{i}right), i=1,2, cdotsright. {f(Xi​),i=1,2,⋯, N } N} N}, 根据式 (9) 得到 X p ∗ , X p ∗ k boldsymbol{X}_{mathrm{p}}^{*}, boldsymbol{X}_{mathrm{p}}^{* k} Xp∗​,Xp∗k​ 并替换当前种群最差与次差 的两个个体, 选出当前种群最优个体 X p X_{mathrm{p}} Xp​, 更新迄今为止找 到的最优个体 X best  X_{text {best }} Xbest ​;
for i = 1 i=1 i=1 to N N N do
按式 (3) 更新 a a a 的值, 更新其他参数 A , C , l A, C, l A,C,l 和 p p p;
if ( ∣ A ∣ ⩾ 1 ) (|A| geqslant 1) (∣A∣⩾1) do
根据式 (7)、式 (8) 更新当前个体位置;
else if ( ∣ A ∣ < 1 ) (|A|<1) (∣A∣<1) do
if ( p ⩾ 0.5 ) d o (p geqslant 0.5) mathrm{do} (p⩾0.5)do
根据式 (11) 更新当前个体位置;
else if ( p < 0.5 ) (p<0.5) (p<0.5) do
根据式 (5) 更新当前个体的位置;
end if
end if
end for
t = t + 1 t=t+1 t=t+1
ω ( t + 1 ) = 4 ω ( t ) ⋅ ( 1 − ω ( t ) ) ; omega(t+1)=4 omega(t) cdot(1-omega(t)) ; ω(t+1)=4ω(t)⋅(1−ω(t));
end while

3.实验结果

4.参考文献

[1]黄辉先,张广炎,陈思溢,胡拚.基于混沌权重和精英引导的鲸鱼优化算法[J].传感器与微系统,2020,39(05):113-116.

5.Matlab代码 6.Python代码
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026953.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号