一种改进的灰狼优化算法-附代码
一种改进的灰狼优化算法
文章目录
- 一种改进的灰狼优化算法
- 1.灰狼优化算法
- 2. 改进灰狼优化算法
- 2.1 基于混沌的种群初始化方法
- 2.2 修改位置更新方程
- 2.3 控制参数随机调整策略
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.python代码
摘要: 灰狼优化算法是最近提出的一种较有竞争力的优化技术. 然而,它的位置更新方程存在开发能力强而探索能力弱的缺点. 受差分进化和粒子群优化算法的启发,构建一个修改的个体位置更新方程以增强算法的探索能力;受粒子群优化算法的启发,提出一种控制参数 a 随机动态调整策略. 此外,为了提高算法的全局收敛速度,用混沌初始化方法产生初始种群.
1.灰狼优化算法
基础灰狼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107716390
2. 改进灰狼优化算法
2.1 基于混沌的种群初始化方法
混沌具有随机性、遍历性和规律性等特点,目前已广泛应用于 PSO、DE 和 ABC 等群体智能优化算法中以提高算法的搜索效率 . 为了使初始种群个体尽可能地利用解空间的信息,本文采用 Skew Tent 映射产生混沌序列用来进行种群初始化,其数学模型为:
{xk+1=xk/φ,0<xk<φxk+1=(1−xk)/(1−φ),φ<xk<1(7)\left\{\begin{array}{lll} x_{k+1}=x_{k} / \varphi, & & 0<x_{k}<\varphi \\ x_{k+1}=\left(1-x_{k}\right) /(1-\varphi), & \varphi<x_{k}<1 \end{array}\right. \tag{7} {xk+1=xk/φ,xk+1=(1−xk)/(1−φ),φ<xk<10<xk<φ(7)
当 φ∈(0,1)且 x∈[0,1]时,系统(7)处于混沌状态.
2.2 修改位置更新方程
为进一步增强 GWO 算法的探索能力和加快收敛速度,受 DE 和 PSO 算法的启发,从群体中随机选取个体与当前个体进行差分搜索,同时将 PSO 算法中对粒子自身运动历史最优解进行记忆保存的思想引入到GWO 算法中,对个体的记忆功能加以改进,使其能够记忆自身进化过程中的最优解. 因此,本文设计出一种修改的位置更新方程替代原位置更新方程(6):
Xid(t+1)=Xi,αd(t)+Xi,βd(t)+Xi,δd(t)3+b1⋅r3⋅(Pi,best d(t)−Xid(t))+b2⋅r4⋅(Xjd(t)−Xid(t))(8)\begin{array}{l} X_{i}^{d}(t+1)=\frac{X_{i, \alpha}^{d}(t)+X_{i, \beta}^{d}(t)+X_{i, \delta}^{d}(t)}{3}+b_{1} \cdot r_{3} \cdot\left(P_{i, \text { best }}^{d}(t)-X_{i}^{d}(t)\right)+b_{2} \cdot r_{4} \cdot\left(X_{j}^{d}(t)-X_{i}^{d}(t)\right) \end{array} \tag{8} Xid(t+1)=3Xi,αd(t)+Xi,βd(t)+Xi,δd(t)+b1⋅r3⋅(Pi, best d(t)−Xid(t))+b2⋅r4⋅(Xjd(t)−Xid(t))(8)
其中,b1∈[0,1]b_1 ∈[0,1]b1∈[0,1]称为个体记忆系数,b2∈[0,1]b_2 ∈[0,1]b2∈[0,1]称为交流系数,r3、r4r_3 、r_4r3、r4 为[0,1]间的随机数,Pi,bestdP_{i,best}^dPi,bestd表示第iii只灰狼个体所经历的最佳位置,XjX_jXj 为群体中随机选择的个体且j≠i,通过调节系数 b1b_1b1 和 b2b_2b2 的值,可以协调群体和个体记忆对 GWO 算法搜索的影响.
2.3 控制参数随机调整策略
若距离控制参数 a 设定为服从某种分布的随机数,利用随机变量的特性调整控制参数 a 的值,有利于算法跳出局部最优;若在最优个体附近,随机分布控制参数能产生相对较小的值,这样有利于加快算法的收敛速度. 原因在于随机性使得控制参数既能在迭代初期有机会取得较大或较小的值,又能在算法迭代后期取得较小或较大的值. 基于上述分析,本文提出一种随机分布调整控制参数策略,即
a(t)=ainitial −(ainitial −afinal )×rand ()+σ×randn()(9)a(t)=a_{\text {initial }}-\left(a_{\text {initial }}-a_{\text {final }}\right) \times \text { rand }()+\sigma \times \operatorname{randn}() \tag{9} a(t)=ainitial −(ainitial −afinal )× rand ()+σ×randn()(9)
其中,a initial 和 a final 分别为距离控制参数 a 的初始值和终止值,t 为当前迭代次数,rand()为[0,1]服从均匀分布的随机数randn()为服从正态分布的随机数,σ(方差)用来度量随机变量控制参数 a 与其数学期望(即均值)之间的偏离程度,是为了控制取值中的参数 a 误差,使控制参数 a 有利于向期望控制参数 a 方向进化.
算法流程如下:
3.实验结果
4.参考文献
[1]龙文,蔡绍洪,焦建军,伍铁斌.一种改进的灰狼优化算法[J].电子学报,2019,47(01):169-175.
5.Matlab代码
6.python代码
一种改进的灰狼优化算法-附代码相关推荐
- 一种改进的鲸鱼优化算法-附代码
一种改进的鲸鱼优化算法 文章目录 一种改进的鲸鱼优化算法 1.鲸鱼优化算法 2. 改进鲸鱼优化算法 2.1 准反向学习初始化种群 2.2 非线性收敛因子 2.3 自适应权重策略与随机差分法变异策略 3 ...
- 基于Cat混沌与高斯变异的改进灰狼优化算法-附代码
基于Cat混沌与高斯变异的改进灰狼优化算法 文章目录 基于Cat混沌与高斯变异的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 混沌反向学习策略的种群初始化 2. 2 引入个体记忆 ...
- 基于透镜成像学习策略的灰狼优化算法-附代码
基于透镜成像学习策略的灰狼优化算法 文章目录 基于透镜成像学习策略的灰狼优化算法 1.灰狼优化算法 2.基于透镜成像学习的 GWO 算法 2.1修改控制参数*C*策略 2.2 透镜成像反向学习策略 3 ...
- 基于差分进化与优胜劣汰策略的灰狼优化算法-附代码
基于差分进化与优胜劣汰策略的灰狼优化算法 文章目录 基于差分进化与优胜劣汰策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(IGWO) 2.1 GWO 算法中的差分进化 2.2 狼群算法中 ...
- 非线性参数的精英学习灰狼优化算法-附代码
非线性参数的精英学习灰狼优化算法 文章目录 非线性参数的精英学习灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 精英反向学习 2. 2 调整收敛因子 a 2.3改造位置更新公式 3.实 ...
- 基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码
基于 Iterative 映射和单纯形法的改进灰狼优化算法 文章目录 基于 Iterative 映射和单纯形法的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(SMIGWO) 2.1 混沌 ...
- 具有自适应调整策略的混沌灰狼优化算法-附代码
具有自适应调整策略的混沌灰狼优化算法 文章目录 具有自适应调整策略的混沌灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 混沌局部搜索策略 3.实验结果 4.参 ...
- 具有自适应搜索策略的灰狼优化算法-附代码
具有自适应搜索策略的灰狼优化算法 文章目录 具有自适应搜索策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 跳出局部最优策略 2.3 最优学习搜索方程 3 ...
- 重选精英个体的非线性收敛灰狼优化算法-附代码
重选精英个体的非线性收敛灰狼优化算法 文章目录 重选精英个体的非线性收敛灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 收敛因子非线性调整策略 2. 2 精英个体重选策略 3.实验结果 ...
最新文章
- ML:教你聚类并构建学习模型处理数据(附数据集)
- Android动画曲线库AndroidEasingFunctions
- kali最新国内更新源sources
- 词袋模型BoW图像检索Python实战
- viewpager+fragment学习笔记
- 为什么实际频率只有1.8G的AMD 2500+处理器运行速度比实际频率2.4G的P4-2.4B还快
- 小程序-涂鸦画笔(案例-集福)
- PostgreSQL-13-缺失值处理
- HTML5小游戏代码大全
- 国内外知名PT站点最全汇总,含各站内截图及站点链接【转载】
- 看漫画学python pdf下载_看漫画学Python 有趣、有料、好玩、好用(全彩版)
- “企业级零代码黑客马拉松大赛”决赛名单公布
- 完整JAVA学习路线图,助您从JAVA小白变身秃顶大叔,迈向JAVA成神之路
- 华为eNSP模拟器中两个路由器IP互联
- 从苏宁电器到卡巴斯基第29篇:难忘的三年硕士时光 V
- GitLab安装使用(SSH+Docker两种方式)
- vscode使用小技巧
- 关于设定校园二手租赁系统的计划、功能及建议
- Android4.4以上系统选择将第三方短信应用设置为默认短信应用方法
- guillotine计算机术语,巴西柔术术语中英文对照及图释(完整版)!
热门文章
- 华为P20重磅来袭,国产顶级机皇诞生
- 软技能,程序员编程之外的升值之道!
- 数码宝贝大冒险 3 全新的出发
- iphone换android 短信,iPhone用户换手机后出了大问题 iPhone用户更换为Android手机短信失踪介绍...
- excel之vba快速合并单元格
- 论文阅读|Nash Q-Learning for General-Sum Stochastic Games基于强化学习的多智能体研究(附代码)
- Word如何删除分节符
- SRILM使用之ngram-class
- 决策树剪枝:预剪枝、后剪枝
- 手机html脚本病毒,自己整的按键精灵脚本也能当成病毒……