基于Cat混沌与高斯变异的改进灰狼优化算法

文章目录

  • 基于Cat混沌与高斯变异的改进灰狼优化算法
    • 1.灰狼优化算法
    • 2. 改进灰狼优化算法
      • 2.1 混沌反向学习策略的种群初始化
      • 2. 2 引入个体记忆策略
      • 2.3改进非线性收敛因子策略
      • 2.4 高斯变异和优胜劣汰选择策略
    • 3.实验结果
    • 4.参考文献
    • 5.Matlab代码
    • 6.Python代码

摘要:针对基本灰狼优化算法在求解复杂问题时同样存在依赖初始种群、过早收敛、易陷入局部最优等缺点,提出一种改进的灰狼优化算法应用于求解函数优化问题中。该算法首先利用混沌Cat映射产生灰狼种群的初始位置,为算法全局搜索过程的种群多样性奠定基础;同时引入粒子群算法中的个体记忆功能以便增强算法的局部搜索能力和加快其收敛速度;最后采用高斯变异扰动和优胜劣汰选择规则对当前最优解进行变异操作以避免算法陷入局部最优。

1.灰狼优化算法

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

2. 改进灰狼优化算法

2.1 混沌反向学习策略的种群初始化

为保持种群多样性,使初始种群个体尽可能均匀分布,本文结合混沌初始化方法和基于反向学习初始化策略,提出了混沌反向学习初始化策略,有助于加快算法的收敛速度。将混沌映射序列与传统优化算法相结合的混合优化算法纷纷产生,而且取得了比较良好的结果,但是,这些算法均基于Logistic映射,寻优速度受到Logistic遍历不均匀性的影响,同时Logistic映射对初值设置敏感,且遍历性和均匀性都相对较差(映射点边缘处密度很高而区间中央密度较低),这将直接影响混沌搜索的遍历性能。

本文研究了Cat映射的结构和混沌特性,Cat映射是一个二维的可逆混沌映射,其动力学方程如下:
[xn+1yn+1]=[1112][xnyn]mod1(8)\left[\begin{array}{l} x_{n+1} \\ y_{n+1} \end{array}\right]=\left[\begin{array}{ll} 1 & 1 \\ 1 & 2 \end{array}\right]\left[\begin{array}{l} x_{n} \\ y_{n} \end{array}\right] \bmod 1 \tag{8} [xn+1​yn+1​​]=[11​12​][xn​yn​​]mod1(8)
该映射结构简单,具有更好的遍历均匀性和更快的迭代速度,且在[0,1]间产生的混沌序列分布均匀。基于混沌反向学习策略初始化种群的具体步骤为:首先利用Cat混沌序列产生 N 个初始解 X i ,然后为每个初始解均按照以下方式产生相对应的反向解:
OPi=K(Xmin⁡d+Xmax⁡d)−Xi(9)O P_{i}=K\left(X_{\min }^{d}+X_{\max }^{d}\right)-X_{i} \tag{9} OPi​=K(Xmind​+Xmaxd​)−Xi​(9)
其中, KKK为[0,1]间的随机数; OPiOP_iOPi​ 为每个初始解 XiX_iXi​ 所对应的反向解; Xmind、XmaxdX^d_{min} 、X^d_{max}Xmind​、Xmaxd​ 分别表示所有初始解中第 d维向量的最小值和最大值。最后,对初始解和反向解进行合并按照适应度值进行升序(求最小值)排序,选取适应度值前 N 个较优的解作为初始种群。

2. 2 引入个体记忆策略

在基本GWO算法中,虽然考虑了个体当前位置与群体历史最优位置,实现了灰狼种群信息的交流,最终通过个体在搜索空间移动收敛得到最优解,但是基本GWO算法未考虑灰狼个体自身的经验,因此在式(6)的基础上考虑PSO算法中的个体记忆功能,其具体表达式为 :
Xid(t+1)=b1⋅∑j=α,β,δwjXi,jd(t+1)+b2⋅rand⁡3(Pbest d−Xid(t))(10)\begin{array}{r} X_{i}^{d}(t+1)=b_{1} \cdot \sum_{j=\alpha, \beta, \delta} w_{j} X_{i, j}^{d}(t+1)+ b_{2} \cdot \operatorname{rand}_{3}\left(P_{\text {best }}^{d}-X_{i}^{d}(t)\right) \end{array} \tag{10} Xid​(t+1)=b1​⋅∑j=α,β,δ​wj​Xi,jd​(t+1)+b2​⋅rand3​(Pbest d​−Xid​(t))​(10)
其中 rand3rand_3rand3​ 表示 [0,1] 间的随机变量; b1、b2b_1 、b_2b1​、b2​ 分别表示群体交流系数与个体记忆系数,它们是 [0,1] 之间的常数;PbestdP^d_{best}Pbestd​ 表示第 i 只灰狼经历过的最佳位置。通过调节 b1、b2b_1 、b_2b1​、b2​ 的值,可以平衡群体交流与个体记忆对搜索的影响。

2.3改进非线性收敛因子策略

本文提出的改进非线性公式如下:
a=2(1−t/tmax⁡)k(11)a=2\left(1-t / t_{\max }\right)^{k} \tag{11} a=2(1−t/tmax​)k(11)
其中, ttt 为当前迭代次数, tmaxt maxtmax 为最大迭代次数, kkk 为非线性调节参数。由公式(11)知,收敛因子aaa 随进化迭代次数增加而非线性动态变化,能够为有效地平衡灰狼优化算法的全局搜索和局部搜索能力提供有利前提。

2.4 高斯变异和优胜劣汰选择策略

变异算子可以避免算法陷入局部最优,同时也能保持种群个体的多样性。为了降低基本GWO算法出现早熟和陷入局部最优的概率,本文以一定概率 ppp 对当前最优解 Xα(t)X_α (t)Xα​(t) 进行高斯变异操作并借鉴“贪婪”选择思想,实行优胜劣汰的选择规则。高斯变异算子具体表达式如下:
Xbest (t+1)=Xα(t)(1+Gaussion⁡(σ))(12)X_{\text {best }}(t+1)=X_{\alpha}(t)(1+\operatorname{Gaussion}(\sigma)) \tag{12} Xbest ​(t+1)=Xα​(t)(1+Gaussion(σ))(12)
其中, $X_{best} (t+1) $表示变异后个体的位置, Gaussion(σ)为满足高斯分布的随机变量。全局最优位置更新如下:
Xα(t+1)={Xbest (t+1),其他 Xα(t),f(Xbest (t+1))>f(Xα(t))且 rand⁡4<p(13)X_{\alpha}(t+1)=\left\{\begin{array}{l} X_{\text {best }}(t+1), \text { 其他 } \\ X_{\alpha}(t), f\left(X_{\text {best }}(t+1)\right)>f\left(X_{\alpha}(t)\right) \text { 且 } \operatorname{rand}_{4}<p \end{array}\right. \tag{13} Xα​(t+1)={Xbest ​(t+1), 其他 Xα​(t),f(Xbest ​(t+1))>f(Xα​(t)) 且 rand4​<p​(13)
其中, rand 4 表示[0,1]间的随机变量, p 为优胜劣汰选择概率, f(⋅) 为个体的适应度值。从公式(13)可知,通过对当前全局最优解 X α (t) 进行变异操作,可以避免陷入局部最优(若当前全局最优是局部最优值)。采用该选择策略,可使种群朝着最优解的方向进化,同时有效地提高算法的搜索效率。

本文提出的改进的灰狼优化算法(记为IGWO)步骤如下:
步骤1 设置算法参数,种群规模 N、 最大迭代次数t max 、 非线性调节参数 k、 群体交流系数 b 1 、 个体记忆系数 b 2 、 高斯变异优胜劣汰选择概率 p 、初始化 rand 1 、rand 2 、rand 3 、rand 4 、a、A di 、Cdi等,其中 i=1,2,⋯,N ,d=1,2,⋯,D 。
步骤2 设定所需优化参数的允许范围,在搜索空间中利用 3.1 节所描述的 Cat 混沌映射初始化狼群 X i ,i=1,2,⋯,N ,狼群规模为 N 。
步骤3 计算群体中每个个体的适应度值并排序,进而确定历史最优解 X α ,次最优解 X β ,第三最优解 X δ 。
步骤4 对每只灰狼个体,按公式(6)初步计算灰狼位置。
步骤5 考虑PSO算法中个体记忆功能,按公式(10)进一步更新的灰狼位置。
步骤6 对当前群体中最优灰狼个体执行2.4节所描述的高斯变异操作,并按优胜劣汰选择概率 p ,确定是否接受变异后的新的灰狼个体位置。
步骤7 迭代次数 t=t+1 ,根据公式(11)计算出改进后收敛因子 a 的值,进而更新 rand 1 、rand 2 、rand 3 、rand 4 、A di 、Cdi 等变量, i=1,2,⋯,N , d=1,2,⋯,D 。步骤8 判断算法的当前迭代次数是否达到最大迭代次数,若满足,则进入步骤9,否则返回执行步骤3。
步骤9 返回最优灰狼个体位置 X α ,则算法结束。

3.实验结果

4.参考文献

[1]徐辰华,李成县,喻昕,黄清宝.基于Cat混沌与高斯变异的改进灰狼优化算法[J].计算机工程与应用,2017,53(04):1-9+50.

5.Matlab代码

6.Python代码

基于Cat混沌与高斯变异的改进灰狼优化算法-附代码相关推荐

  1. 基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码

    基于 Iterative 映射和单纯形法的改进灰狼优化算法 文章目录 基于 Iterative 映射和单纯形法的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(SMIGWO) 2.1 混沌 ...

  2. 基于交叉算子和非均匀变异算子的飞蛾扑火优化算法-附代码

    基于交叉算子和非均匀变异算子的飞蛾扑火优化算法 文章目录 基于交叉算子和非均匀变异算子的飞蛾扑火优化算法 1.飞蛾扑火优化算法 2. 改进飞蛾扑火优化算法 2.1 交叉算子 2.2 非均匀变异算子 3 ...

  3. 基于维度学习的狩猎搜索策略的改进灰狼优化算法

    文章目录 一.理论基础 1.灰狼优化算法 2.改进的灰狼优化算法 (1)初始化阶段 (2)运动阶段 (3)选择和更新阶段 二.实验仿真与分析 三.参考文献 一.理论基础 1.灰狼优化算法 请参考这里. ...

  4. 具有自适应调整策略的混沌灰狼优化算法-附代码

    具有自适应调整策略的混沌灰狼优化算法 文章目录 具有自适应调整策略的混沌灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 混沌局部搜索策略 3.实验结果 4.参 ...

  5. 一种改进的灰狼优化算法-附代码

    一种改进的灰狼优化算法 文章目录 一种改进的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 基于混沌的种群初始化方法 2.2 修改位置更新方程 2.3 控制参数随机调整策略 3.实验结 ...

  6. 基于差分进化与优胜劣汰策略的灰狼优化算法-附代码

    基于差分进化与优胜劣汰策略的灰狼优化算法 文章目录 基于差分进化与优胜劣汰策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(IGWO) 2.1 GWO 算法中的差分进化 2.2 狼群算法中 ...

  7. 基于透镜成像学习策略的灰狼优化算法-附代码

    基于透镜成像学习策略的灰狼优化算法 文章目录 基于透镜成像学习策略的灰狼优化算法 1.灰狼优化算法 2.基于透镜成像学习的 GWO 算法 2.1修改控制参数*C*策略 2.2 透镜成像反向学习策略 3 ...

  8. 改进灰狼优化算法在WSN节点部署中的应用

    文章目录 一.理论基础 1.节点与覆盖模型 2.灰狼优化算法基本原理 3.改进灰狼优化算法 (1)非线性收敛因子 (2)δ\deltaδ狼的融合变异 二.节点部署优化算法 1.算法步骤 2.算法流程图 ...

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

    文章目录 一.理论基础 1.基本灰狼优化算法 2.改进灰狼优化算法 (1)佳点集种群初始化 (2)非线性控制参数策略 (3)基于个体记忆功能的位置更新公式 二.仿真实验与分析 三.参考文献 一.理论基 ...

最新文章

  1. oracle开发常用,oracle开发常用关键字
  2. php接口调用实例化,PHP抽象类和接口用法实例详解
  3. python内置字符串处理函数_Python内置的字符串处理函数
  4. android intent 跳转卡顿_Intent七大属性
  5. 2016 ACM/ICPC Asia Regional Dalian Online
  6. 浅谈.Net异步编程的前世今生----APM篇
  7. Swift之 vm10虚拟机安装Mac OS X10.10教程
  8. 域名是什么_企业注册域名要知道什么?如何企业域名注册?
  9. java从入门到精通 答案_java从入门到精通练习题答案.doc
  10. BAT文件里注释符号
  11. 我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:官方规范下载与参考书目
  12. 定点数乘法运算:Booth算法(补码一位乘法)C 实现
  13. 产品经理 | 职业选择及面试技巧
  14. python双柱状图与双折线图_双坐标实现图标中同时存在柱状图和折线图
  15. android动态毛玻璃,Android模糊处理实现图片毛玻璃效果
  16. ADB命令连接逍遥模拟器
  17. MATLAB在动态经济学中的应用,MATLAB在动态经济学中的应用
  18. MVVMLight Dialog
  19. Ubuntu重启后如何配置网络
  20. 如何解决缓存雪崩、击穿、穿透难题?

热门文章

  1. 重装系统后电脑数据恢复办法
  2. 我们便暗暗走过了双曲拱桥
  3. 手动制做字体子集(字体文件裁剪、抽取、提取,特别适用处理少量繁体异体字)
  4. H5唤醒本地APP(谷歌地图、百度地图等相通)
  5. java统计点击量每秒100万_这速度嗖嗖嗖!V神:以太坊网络每秒处理量将超100万次...
  6. 设置页面图标和动态title
  7. 微型计算机原理兰州大学出版社,10软件微机原理课设任务书.doc
  8. [CTO札记]‘信息/行为外播’--与开放SNS平台的互动
  9. cocos2dx项目中接入FairyGUI
  10. requestPermissions读写手机存储权限_2020年新版手机QQ接受文件存在哪里?钛备份闪退等使用教程...