• 协调探索和开发能力的改进灰狼优化算法 -附代码


    协调探索和开发能力的改进灰狼优化算法


    摘要:提出一种协调探索和开发能力的灰狼优化算法. 利用佳点集方法初始化灰狼个体的位置,为全局搜索多样性奠定基础;为协调算法的全局探索和局部开发能力,给出一种基于正切三角函数描述的非线性动态变化控制参数;为加快算法的收敛速度,受粒子群优化算法个体记忆功能的启发,设计一种新的个体位置更新公式.

    1.灰狼优化算法

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

    2. 改进灰狼优化算法

    2.1 佳点集种群初始化

    在进行迭代前,基本GWO算法的初始种群个体是随机产生的,难以保证初始种群的多样性,从而在一定程度上影响算法的搜索效率.佳点集是一种有效的、能够均匀选点的方法,与随机方法相比,利用佳点集方法取点能够更均匀地分布在搜索空间中 . 目前,佳点集方法已在GA、PSO、DE、ABC等群体智能优化算法中得到了成功的应用,因此,本文将佳点集方法应用到GWO算法中生成初始种群个体.

    2. 2 非线性控制参数策略

    受PSO算法中惯性权重设置的启发,本文提出一种基于正切三角函数的非线性控制参数策略,即:
    a ( t ) = a initial  − ( a initial  − a final  ) × tan ⁡ ( 1 ε ⋅ t t max ⁡ π ) (8) a(t)=a_{\text {initial }}-\left(a_{\text {initial }}-a_{\text {final }}\right) \times \tan \left(\frac{1}{\varepsilon} \cdot \frac{t}{t_{\max }} \pi\right) \tag{8} a(t)=ainitial (ainitial afinal )×tan(ε1tmaxtπ)(8)
    其中:a initial 和a final 分别为控制参数a的初始值和最终值;ε > 0为非线性调节系数;t为当前迭代次数,t max 为最大迭代次数. 由式(8)可知,控制参数a随迭代次数的增加非线性动态变化,以协调GWO算法的全局探索和局部开发能力.

    2.3基于个体记忆功能的位置更新公式

    为了改善GWO算法的局部开发能力,受粒子群优化(PSO)算法的启发,将PSO算法中对粒子自身运动历史最优解进行记忆保存的思想引入到GWO算法中,对个体的记忆功能加以改进,使其能够记忆自身进化过程中的最优解. 为此,本文提出一种基于个体自身记忆功能的位置更新公式替代式(6),表示为:
    X i d ( t + 1 ) = b 1 ⋅ ∑ j = α , β , δ w j X i , j d ( t + 1 ) + b 2 ⋅ rand ⁡ 3 ⋅ ( P best  d − X i d ( t ) ) (9)

    Xid(t+1)=b1j=α,β,δwjXi,jd(t+1)+b2rand3(Pbest dXid(t))
    \tag{9} Xid(t+1)=b1j=α,β,δwjXi,jd(t+1)+b2rand3(Pbest dXid(t))(9)
    其中:b 1 ∈ [0,1]为群体交流系数,b 2 ∈ [0,1]为个体记忆系数,rand 3 为[0,1]间的随机数,P dbest 为第i只灰狼个体所经历过的最佳位置. 类似于PSO算法,通过调节b 1 和b 2 的值,可以协调群体交流与个体记忆对算法搜索的影响.

    综上所述,改进灰狼优化(IGWO)算法的步骤如下所示.

    Step1:设置算法参数:种群规模N,最大迭代次数t max ,参数a的初始值a initial ,最终值a final ,非线性调节系数ε,群体交流系数b1 和个体记忆系数b2 ;
    Step2:利用2.1节所描述的佳点集方法产生初始化灰狼种群{X i , = 1,2,··· ,N},令t = 0;
    Step3:计算每个个体的适应度值{f(X i ), i =1,2,··· ,N}并排序,当前适应度值排列前3位的个体分别记为α、β和δ,其对应的位置分别为X α 、X β 和X δ ;
    Step4:重复Step3,直至达到最大迭代次数或满足给定精度.

    IGWO算法步骤的伪代码表示如下:
    while (t < t max ) do
    for i = 1 to N do
    根据式(8)计算控制参数α的值
    根据式(2)和(3)更新参数A和C的值
    根据式(9)更新其他个体的位置
    end for
    计算每个个体的适应度{f(X i ), i = 1,2,··· ,N}
    更新α、β、δ及其相应位置X α 、X β 和X δ
    t = t + 1
    end while

    3.实验结果

    请添加图片描述

    4.参考文献

    [1]龙文,伍铁斌.协调探索和开发能力的改进灰狼优化算法[J].控制与决策,2017,32(10):1749-1757.

    5.Matlab代码

    6.Python代码

  • 相关阅读:
    球谐函数在环境光照中的使用原理
    【ArcGIS微课1000例】0052:创建地理数据库注记(标准注记、要素关联注记、尺寸注记)
    Odoo16—级联删除
    将自定义 GitHub 徽章添加到您的代码库
    15、简单了解Vue
    打造自己的3D模型AI 自动纹理工具
    计算机毕业设计Java校园旺角超市外卖平台(源码+系统+mysql数据库+Lw文档)
    Linux文件实时监控工具inotify-tools的安装和使用
    Kotlin okhttp3 HttpClient
    RK3399平台开发系列讲解(PCI/PCI-E)5.54、PCIe RC侧控制器驱动
  • 原文地址:https://blog.csdn.net/u011835903/article/details/125471008