• 一种曲线递增策略的自适应粒子群算法研究-附代码


    一种曲线递增策略的自适应粒子群算法研究


    摘要:群智能算法以其动态寻优能力强、实现途径简单等特点不断成为进化算法领域的研究热点。控参的选择对算法寻优性能有着极大影响,首先从数学推导角度对粒子群参数进行深入研究,接着提出一种契合粒子本身进化公式的,且具有反向思维的曲线递增策略的改进算法。最后验证该算法具备以下两点突出优势:a)有效避免早熟问题,在处理维度灾难问题上,寻优性能更强,且具备良好的平衡全局与局部寻优性能; b)算法控参简单,可有效解决鲁棒性低且繁琐的人工调参问题。

    1.粒子群优化算法

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

    2. 改进粒子群算法

    2.1 曲线递增策略

    曲线递增(curves increasing)是本文提出的一种基于指数函数图像的控参策略。给定惯性权值 w m a x w_{max} wmax,曲线递增公式如下:
    w 1 = w max ⁡ − w max ⁡ T max ⁡ ⋅ t ( time  ) w = e − w 1 w1=wmax w1=wmaxTmaxwmaxt(time )w=ew1
    其中, w max  w_{\text {max }} wmax  为设定的较大惯性权值 ( w max  ≥ 1 ) , t ( t i m e ) \left(w_{\text {max }} \geq 1\right), t_{(t i m e)} (wmax 1),t(time) 为当前迭代 的次数, 最大迭代次数为 T max ⁡ T_{\max } Tmax; 随着迭代次数增加, w 1 \mathrm{w}_{1} w1 逐渐 减少, w \mathrm{w} w 逐渐增大。运用上述自适应权值变化公式, 粒子在 前期因权值较小, 具备精细搜索能力, 结合图像可知, 算法 迭代前期 w 1 w_{1} w1 值在较大范围内的缩减趋势极其缓慢, 保证了粒 子局部搜索的充分性, 后期变化趋势逐渐增大, 对若干局部 解造成一定的扰动效果, 保证了对全局搜索的能力。 w max ⁡ \mathrm{w}_{\max } wmax 值后期的趋势变化, 其目的不再是常规意义上的确保加快收敛, 变动趋势实际上是相对陡峭,绝对平滑。

    在学习因子部分,本文提出一种改进的二阶震荡法,即引入双种群配合提出的曲线递增策略,提高群体的多样性,从而进一步改善算法的全局搜索能力。改进后的公式如下:
    v i j ( t ) = e − ( w max ⁡ − w max ⁡ T max ⁡ ∗ t ) ∗ v i j ( t ) + ϕ 1 ∗ [ p i j ( t ) − ( 1 + μ 1 ) x i j ( t ) + μ 1 x i j ∗ ( t ) ] + ϕ 2 ∗ [ p g i ( t ) − ( 1 + μ 2 ) x i j ( t ) + μ 2 x i j ∗ ( t ) ] x i j ∗ ( t ) = x i j ( t ) x i j ( t ) = x i j ( t ) + v i j ( t ) vij(t)=e(wmaxTmaxwmaxt)vij(t)+ϕ1[pij(t)(1+μ1)xij(t)+μ1xij(t)]+ϕ2[pgi(t)(1+μ2)xij(t)+μ2xij(t)]xij(t)=xij(t)xij(t)=xij(t)+vij(t)
    其中, x i j ∗ x_{i j}^{*} xij 为新种群, 二阶震荡因子 μ 1.2 \mu_{1.2} μ1.2 的公式为:
    μ 1 = { ( 2 c 1 ∗ rand ⁡ ( ) − 1 ) ∗ rand ⁡ ( ) / c 1 ∗ rand ⁡ ( ) w < 2 3 w max ⁡ ( 9 ) ( 2 c 1 ∗ rand ⁡ ( ) − 1 ) ∗ ( 1 + rand ⁡ ( ) ) / c 1 ∗ rand ⁡ ( ) w ≥ 2 3 w max ⁡ ( 10 ) \mu_{1}=\left\{\right. μ1= (2c1rand() 1)rand()/c1rand()(2c1rand() 1)(1+rand())/c1rand()w<32wmaxw32wmax(9)(10)
    其中, c 1 、 c 2 c_{1} 、 c_{2} c1c2 是人为设定的学习因子, rand ⁡ ( ) \operatorname{rand}() rand() 为 0-1 之间随机 数, t t t 为当前迭代次数, T max ⁡ \mathrm{T}_{\max } Tmax 为迭代最大次数, 改进后的粒子群算法流程如下图所示。
    请添加图片描述

    3.实验结果

    请添加图片描述

    4.参考文献

    [1]吴凡,洪思,杨冰,胡贤夫.曲线递增策略的自适应粒子群算法研究[J].计算机应用研究,2021,38(06):1653-1656+1661.

    5.Matlab代码

    6.Python代码

  • 相关阅读:
    Redis主从模式下过期数据和数据不一致
    人力资源项目逐字稿
    设计模式——备忘录模式
    【Android】配置Gradle打包apk的环境
    Pdfium.Net SDK 9.71.39 NEW-Pdfium.Net SDK
    关于Python和自动化
    git服务器搭建和配置以及使用
    腾讯云服务器与普通服务器区别在哪?如何选择?
    JavaSE---栈和队列
    相同切入点的抽取
  • 原文地址:https://blog.csdn.net/u011835903/article/details/126655128