基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码
基于 Iterative 映射和单纯形法的改进灰狼优化算法
文章目录
- 基于 Iterative 映射和单纯形法的改进灰狼优化算法
- 1.灰狼优化算法
- 2. 改进灰狼优化算法(SMIGWO)
- 2.1 混沌序列初始化
- 2.2 基于逆不完全 Γ 函数的收敛因子
- 2.3 单纯形法
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要:为了解决基本灰狼优化算法( GWO) 依赖初始种群和求解精度不高的问题,提出一种基于 Iterative 映射和单纯形法的改进灰狼优化算法( SMIGWO) 。该算法利用混沌 Iterative 映射产生初始灰狼种群,增强全局搜索过程中的种群多样性; 采用逆不完全 Γ 函数更新收敛因子,以平衡算法的全局搜索和局部搜索能力; 利用单纯形法的反射、扩张和收缩操作对当前较差个体进行改进,避免算法陷入局部最优。
1.灰狼优化算法
基础灰狼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107716390
2. 改进灰狼优化算法(SMIGWO)
2.1 混沌序列初始化
基本 GWO 算法在搜索空间中随机初始化灰狼种群,容易造成灰狼位置分布不均匀,导致种群多样性差。混沌映射具有较好的遍历性和不重复性,因此可以用来代替种群随机初始化。文中采用 Iterative 混沌映射产生灰狼的初始位置,Iterative 映射的数学表达式为:
x k + 1 = sin ( b π / x k ) (7) x_{k+1}=\sin \left(b \pi / x_{k}\right) \tag{7} xk+1=sin(bπ/xk)(7)
其中,b 是控制参数,b ∈ (0,1),文中取 b = 0. 5。
2.2 基于逆不完全 Γ 函数的收敛因子
当| A| > 1 时,灰狼群体将扩大搜索范围寻找猎物,即全局搜索,收敛速度快;当| A| < 1 时,灰狼群体将收缩搜索范围对猎物进行攻击,即局部搜索,收敛速度慢。因此,A 的大小与 GWO 算法的全局搜索和局部搜索能力有很大关系。由式(3)可以看出,A随着收敛因子a 的变化而变化。为了平衡算法的全局搜索和局部搜索能力,文中提出一种基于逆不完全 Γ 函数 的收敛因子:
a = a min + a max − a min λ × gammaincinv ( λ , 1 − t t max ) (8) a=a_{\min }+\frac{a_{\max }-a_{\min }}{\lambda} \times \text { gammaincinv }\left(\lambda, 1-\frac{t}{t_{\max }}\right) \tag{8} a=amin+λamax−amin× gammaincinv (λ,1−tmaxt)(8)
其中: a m a x 、 a m i n a_{max} 、a_{min} amax、amin 为收敛因子 a a a的最大、最小值,t 为当前迭代次
数, t m a x t_{max} tmax 为最大迭代次数, λ ( λ ≥ 0 ) λ(λ ≥ 0) λ(λ≥0) 是随机变量,本文取
λ = 0 . 01 λ =0. 01 λ=0.01。
2.3 单纯形法
单纯形法的核心思想包括两重:一是梯度估计,它是从最差顶点 X s 到除最差顶点 X s X_s Xs 以外的所有顶点的质心 X X X的方向向量 g g g;二是通过迭代用一个更好的新顶点来代替最差顶点。新的顶点是由 4 种算子之一产生的:反射、扩张、外收缩和内收缩 。
反射操作: X r = X c + α ( X c - X s ) X_r = X_c + α(X_c - X_s ) Xr=Xc+α(Xc-Xs), X r X_r Xr 是反射点,反射系数
α α α 通常取 1。
扩张操作: $ X_e = X_c + γ(X_r - X_c ) , , ,X_e$ 是扩张点,扩张系数
γ 通常取 2。
外收缩操作: X t = X c + β ( X s - X c ) X_t = X_c + β(X_s - X_c ) Xt=Xc+β(Xs-Xc), X t X_t Xt 是外收缩点,外收
缩系数 β β β取 0. 5。
内收缩操作: X w = X c - β ( X s - X c ) X_w = X_c - β(X_s - X_c ) Xw=Xc-β(Xs-Xc), X w X_w Xw 是内收缩点,内
收缩系数 β β β取 0. 5。
综合以上策略描述,给出 SMIGWO 的具体步骤:
设置算法参数:种群规模N,最大迭代次数t max ,反射系数 α,扩张系数 γ,内、外收缩系数 β,随机生成 a、A、C 等参数;
利用混沌 Iterative 映射初始化灰狼种群;
计算种群中每个灰狼个体的适应度值,并按照适应度值进行排序,选择前 3 个最好的狼,记录位置 X α 、X β 和 X δ,对应的适应度值 f(X α )、f(X β ) 和 f(X δ ),中心位置为 X c =(X α +X β ) /2。
对较差灰狼位置 X s 进行反射,得到反射点 X r 。
若 f(X r ) < f(X α ) 说明反射方向正确,执行扩张操作得到扩张点 X e ,若 f(X e ) < f(X α ),则用 X e 取代 X s ;否则,用X r 取代 X s 。
若 f(X r ) > f(X s ),说明反射方向不正确,执行外收缩操作得到外收缩点 X t ,若 f(X t ) < f(X s ),则用 X t 取代 X s 。
若f(X α ) < f(X r ) < f(X s ),执行内收缩操作得到内收缩点 X w ,若 f(X w ) < f(X s ),则用 Xw 取代 X s ;否则,用 X t 取代 X s 。
利用式(5) 和(6) 更新种群中其他 X 灰狼个体的位置;
利用式(8) 计算a,然后利用式(3) 和(4) 更新A,C的值;
判断算法是否满足结束条件,若满足,则算法结束,输出最优灰狼位置 X α ;否则,执行步骤 3)。
3.实验结果
4.参考文献
[1]王梦娜,王秋萍,王晓峰.基于Iterative映射和单纯形法的改进灰狼优化算法[J].计算机应用,2018,38(S2):16-20+54.
5.Matlab代码
6.Python代码
基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码相关推荐
- 基于Cat混沌与高斯变异的改进灰狼优化算法-附代码
基于Cat混沌与高斯变异的改进灰狼优化算法 文章目录 基于Cat混沌与高斯变异的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 混沌反向学习策略的种群初始化 2. 2 引入个体记忆 ...
- 基于差分进化与优胜劣汰策略的灰狼优化算法-附代码
基于差分进化与优胜劣汰策略的灰狼优化算法 文章目录 基于差分进化与优胜劣汰策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(IGWO) 2.1 GWO 算法中的差分进化 2.2 狼群算法中 ...
- 一种改进的灰狼优化算法-附代码
一种改进的灰狼优化算法 文章目录 一种改进的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 基于混沌的种群初始化方法 2.2 修改位置更新方程 2.3 控制参数随机调整策略 3.实验结 ...
- 具有自适应调整策略的混沌灰狼优化算法-附代码
具有自适应调整策略的混沌灰狼优化算法 文章目录 具有自适应调整策略的混沌灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 混沌局部搜索策略 3.实验结果 4.参 ...
- 具有自适应搜索策略的灰狼优化算法-附代码
具有自适应搜索策略的灰狼优化算法 文章目录 具有自适应搜索策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 跳出局部最优策略 2.3 最优学习搜索方程 3 ...
- 非线性参数的精英学习灰狼优化算法-附代码
非线性参数的精英学习灰狼优化算法 文章目录 非线性参数的精英学习灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 精英反向学习 2. 2 调整收敛因子 a 2.3改造位置更新公式 3.实 ...
- 重选精英个体的非线性收敛灰狼优化算法-附代码
重选精英个体的非线性收敛灰狼优化算法 文章目录 重选精英个体的非线性收敛灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 收敛因子非线性调整策略 2. 2 精英个体重选策略 3.实验结果 ...
- 基于透镜成像学习策略的灰狼优化算法-附代码
基于透镜成像学习策略的灰狼优化算法 文章目录 基于透镜成像学习策略的灰狼优化算法 1.灰狼优化算法 2.基于透镜成像学习的 GWO 算法 2.1修改控制参数*C*策略 2.2 透镜成像反向学习策略 3 ...
- 基于自适应权重的缎蓝园丁鸟优化算法-附代码
基于自适应权重的缎蓝园丁鸟优化算法 文章目录 基于自适应权重的缎蓝园丁鸟优化算法 1.缎蓝园丁鸟优化算法 2.改进的缎蓝园丁鸟优化算法 2.1 自适应权重 2.2 改进原高斯变异形式 3.实验结果 5 ...
最新文章
- 重磅 | 吴恩达新书《Machine Learning Yearning》1-52 最新章节分享
- 工作环境总结(1)开发环境搭建
- 知物由学 | 干货!一文了解安卓APP逆向分析与保护机制
- mysql使用方法_Mysql的常用用法
- IFrame标签的两个用法介绍
- 企业如何考虑自己的网络防护设备
- 服务器主板128G只显示出64G,[硬件维护]请教高手:新买的160G硬盘为什么分区后就只能显示128G?...
- 游戏图形引擎中 Shader Systen 的设计
- 泰格如何修改服务器地址,泰格X7盘点机使用说明
- 解决 jq ui 弹框 select2 input 失效问题
- 2017年1月20日参加培训-《如何做好向上汇报》
- 惊蛰恰逢“龙抬头”,流感高峰季来袭,你准备好了吗?
- 一文读懂:CDN,P2P和PCDN
- 微信小程post问题
- python Pyside2模块详细介绍(一)
- centos7 同步网络时间
- mysql 高手_求mysql高手
- linux与hadoop常用命令梳理
- 服务器如何防御攻击?
- 如何赚到20万人民币
热门文章
- java中 int、char、long各占多少字节数
- 【计算机网络】-TCP的拥塞控制及拥塞控制方法
- 近视眼学计算机好吗6,近视又不戴眼镜,还经常对着电脑会怎么样
- .sh脚本文件shebang行引发的syntax error:“(“ unexpected
- Android 打包apk出错问题
- 【去后厂村开游戏厅吧】基于pp-tinypose的体感贪吃蛇游戏
- java毕业生设计在线多媒体学习社区的设计与实现计算机源码+系统+mysql+调试部署+lw
- vue+element ui 项目 后台管理系统
- (转载)书蕴——基于书评的人工智能推荐系统
- Xms/Xmx/Xmn/Xss区别