一种非线性动态自适应惯性权重PSO算法-附代码

本文提出了一种基于种群进化离散度和Sigmoid函数的非线性动态自适应惯性权重PSO算法,旨在解决传统PSO算法在复杂高维优化问题中可能出现的局部收敛和早熟问题。通过动态调整惯性权重,算法在初期增强全局探索能力,后期侧重局部开发,提高搜索效率。实验结果表明该算法在优化性能上有显著提升。
摘要由CSDN通过智能技术生成

一种非线性动态自适应惯性权重PSO算法


摘要:传统的时变惯性权重粒子群优化算法对于求解一般的全局最优问题具有良好的效果,而对于复杂高维的优化问题易陷入局部收敛、存在早熟等缺点。针对以上存在的缺点,提出了种群进化离散度的概念,并考虑Sigmoid函数在线性与非线性之间较好的平衡性能,给出一种非线性动态自适应惯性权重的粒子群优化算法。该算法充分考虑进化过程中种群粒子之间进化差异,自适应地赋予不同的惯性权重因子,满足粒子群优化算法在不同进化时期对全局探索和局部开发能力的需求。

1.粒子群优化算法

基础粒子群算法的具体原理参考网络资料

2. 改进粒子群算法

2.1 改进的动态自适应惯性权重 PSO 算法

在 PSO 算法初期, 粒子种群中的个体模式集中在适应度 值较低的个体上, 粒子速度的更新主要由 w × v \mathrm{w} \times \mathrm{v} w×v 所决定的, 若 采用较低的惯性权重, 种群很难在整个空间 “探索”。进化后 期, 个体模式朝高适应度的个体集中, 此时粒子的速度也快 速降低, 若一直采用低惯性权重, 种群的 “开发”能力有限, 存 在早熟收敛, 无法跳出局部极值。因此, 设计动态自适应惯 性权重因子的基本思想是应满足在算法进化前期主要对搜 索空间进行探索以期尽快达到较优区域; 在迭代后期主要对 较优区域进行开发以期尽快找到最优解 。
为描述种群进化整体适应度值的变化, 给出了进化离散 度的定义, 将第 t \mathrm{t} t 代种群与第 ( t − 1 ) (\mathrm{t}-1) (t1) 代种群的适应度值标准 差之比值定义为进化离散度 k ( t ) \mathrm{k}(\mathrm{t}) k(t) :
{ k ( t ) = 1 , t = 1 k ( t ) = StdFit ⁡ ( t )  StdFit  ( t − 1 ) , t > 1 (6) \left\{\begin{array}{l} k(t)=1 \quad, t=1 \\ k(t)=\frac{\operatorname{StdFit}(t)}{\text { StdFit }(t-1)}, t>1 \end{array}\right.\tag{6} {k(t)=1,t=1k(t)= StdFit (t1)StdFit(t),t>1(6)
在神经网络中常用 Sigmoid函数来构造神经元激活函 数, 其定义为
S ( x ) = 1 1 + exp ⁡ ( − x ) (7) S(x)=\frac{1}{1+\exp (-x)}\tag{7} S(x)=1+exp(x)1(7)
联合进化离散度 k ( t ) \mathrm{k}(\mathrm{t}) k(t) 和 Sigmoid 函数, 给出一种称之为 非线性动态自适应惯性权重因子 (DAIW) 计算公式, 即
ω ( t ) = ω max ⁡ + ( ω min ⁡ − ω max ⁡ ) 1 1 + exp ⁡ [ − 10 b ( 2 t k ( t ) ⋅ T − 1 ) ] (8) \omega(t)=\omega_{\max }+\left(\omega_{\min }-\omega_{\max }\right) \frac{1}{1+\exp \left[-10 b\left(\frac{2 t}{\mathrm{k}(\mathrm{t}) \cdot T}-1\right)\right]} \tag{8} ω(t)=ωmax+(ωminωmax)1+exp[10b(k(t)T2t1)]1(8)

式 (8) 中, ω max  、 ω min  、 t 、 T max ⁡ \omega_{\text {max }} 、 \omega_{\text {min }} 、 t 、 T_{\max } ωmax ωmin tTmax 含义同式 (3), k ( t ) k(t) k(t) 为种群进化离 散度参数, b b b 为阻尼因子, 一般取值为 [ 0 , 1 ] [0,1] [0,1]

3.实验结果

请添加图片描述

4.参考文献

[1]王生亮,刘根友.一种非线性动态自适应惯性权重PSO算法[J].计算机仿真,2021,38(04):249-253+451.

5.Matlab代码

6.Python代码

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值