优选策略的自适应蚁狮优化算法-附代码
优选策略的自适应蚁狮优化算法
文章目录
- 优选策略的自适应蚁狮优化算法
- 1.蚁狮优化算法
- 2. 改进蚁狮优化算法
- 2.1 自适应边界
- 2.2 优选轮盘赌策略
- 2.3 动态比例系数
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要:针对基本蚁狮优化算法收敛速度较慢、易陷入局部极值、高维求解精度较低等缺点,提出具有自适应边界、优选轮盘赌和动态比例系数的改进蚁狮算法.在蚂蚁围绕蚁狮游走的过程中引入自适应边界机制,增加蚂蚁种群活跃性,防止算法陷入局部极值.轮盘赌选择蚁狮过程中加入优选轮盘赌策略,在保持蚁狮个体多样性的同时加快算法收敛速度.在蚂蚁位置更新公式中加入动态比例系数,提高算法前期的探索能力和后期的开发能力.
1.蚁狮优化算法
基础蚁狮优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107726004
2. 改进蚁狮优化算法
2.1 自适应边界
在基本蚁狮算法的式 (7) 中, 蚂蚁围绕蚊狮游 走的边界随迭代次数的增加而变小, 变化呈线性分 段趋势且在同一轮迭代中, 所有妈蚁游走的边界都 完全相同, 这降低算法的多样性, 不利于算法寻找全 局最优解. 对此, 本文提出自适应边界策略, 改进式 (7)用于增加蚂蚑在围绕蚑狮游走时的多样性:
I=10∗tT(0.5+sin(tπ2T⋅rand )),I=10^{*} \frac{t}{T}\left(0.5+\sin \left(\frac{t \pi}{2 T} \cdot \text { rand }\right)\right), I=10∗Tt(0.5+sin(2Ttπ⋅ rand )),
其中 rand 为 (0,1)(0,1)(0,1) 内均匀分布的随机数.
t>{0.1T,w=20.5T,w=30.75T,w=40.9T,w=50.95T,w=6t> \begin{cases}0.1 T, & w=2 \\ 0.5 T, & w=3 \\ 0.75 T, & w=4 \\ 0.9 T, & w=5 \\ 0.95 T, & w=6\end{cases} t>⎩⎨⎧0.1T,0.5T,0.75T,0.9T,0.95T,w=2w=3w=4w=5w=6
由式 (6) 可知, 边界的变化主要由 III 值决定, 与 其呈反比, 而式(9)中 III 的值由
10w、tT、(0.5+sin(tπ2T⋅rand ))10^{w} 、 \frac{t}{T} 、\left(0.5+\sin \left(\frac{t \pi}{2 T} \cdot \text { rand }\right)\right) 10w、Tt、(0.5+sin(2Ttπ⋅ rand ))
三项因子决定. 随着进化代数增加, 10w10^{w}10w 呈线性分段指数递增, tT\frac{t}{T}Tt 呈线性递增,
(0.5+sin(tπ2T⋅rand ))\left(0.5+\sin \left(\frac{t \pi}{2 T} \cdot \text { rand }\right)\right) (0.5+sin(2Ttπ⋅ rand ))
在 (0.5,1.5)(0.5,1.5)(0.5,1.5) 内呈随机非线性递增趋势. 整体而言, III 值随进化代数增加呈现具有一定随机性的非线性自 适应递增趋势, 千是边界大小随进化代数呈现具有 一定随机性的非线性自适应递减趋势, 从而提高蚂 蚁围绕蚁狮游走的随机性和多样性, 提高算法的开 发能力和全局搜索能力, 有利于找到全局最优解.
2.2 优选轮盘赌策略
ALO 使用适应度轮盘赌法选择随机蚁狮, 虽然 这样使蚂蚁有较大概率绕较优蚁狮进行游走, 但是 仍然会有较大可能围绕较差蚁狮进行游走. 本文对 此进行改进, 将初始算法中用于轮盘赌选择的蚁狮 根据适应度大小进行排序, 然后设定: 如果
A<A⋅P⋅rand, A<A \cdot P \cdot \text { rand, } A<A⋅P⋅ rand,
AAA 参与轮盘赌; 否则 AAA 不参与轮盘赌. 其中, AAA 为参与 轮盘赌蚁狮个体的适应度值, PPP 为 M\boldsymbol{M}M 中蚁狮适应度 值的平均值, rand 为 (0,1)(0,1)(0,1) 内均匀分布的随机数. 这 种对蚁狮的判断选取既保留大多数蚁狮, 又使蚂蚁 有更大概率围绕较优蚁狮进行游走.
通过改进, 对参与适应度轮盘赌的蚁狮进行有 条件选取, 使蚂蚁有更大概率围绕较优蚁狮进行游 走, 提高算法找到更优解的可能性和速度.
2.3 动态比例系数
标准蚑狮算法采用式 (8) 求取 RAtR_{A}^{t}RAt 和 REtR_{E}^{t}REt 两种随 机游走平均值的方法以平衡探索和开发能力,但忽 略蚂蚁的开发和探索能力在不同时期所占比例应有 不同. 本文改进 RAtR_{A}^{t}RAt 和 REtR_{E}^{t}REt 的比例系数, 让不同时期两 种游走方式占有的权重不同. 算法前期以围绕轮盘 赌选择的蚁狮游走方式为主, 后期以围绕精英蚁狮 的游走方式为主. 改进后的动态比例系数为
Antit=(1−0.2−0.8tT⋅rand )RAt+REt(0.2+0.8tT⋅rand ),\begin{aligned} A n t_{i}^{t}=&\left(1-0.2-0.8 \frac{t}{T} \cdot \text { rand }\right) R_{A}^{t}+ R_{E}^{t}\left(0.2+0.8 \frac{t}{T} \cdot \text { rand }\right), \end{aligned} Antit=(1−0.2−0.8Tt⋅ rand )RAt+REt(0.2+0.8Tt⋅ rand ),
其中, RAtR_{A}^{t}RAt 为蚂蚁在第 ttt 次迭代时围绕轮盘赌所选蚁 狮进行随机游走后的位置, REtR_{E}^{t}REt 为蚂蚁在第 ttt 次迭代 时围绕精英蚁狮进行随机游走后的位置, TTT 为最大 迭代次数, ttt 为当前迭代次数, rand 为 (0,1)(0,1)(0,1) 内均匀 分布的随机数.
通过式 (10)的改进, 算法初期主要围绕轮盘赌 选择蚁狮游走, 同时也逐渐增强最优蚁狮的方向性影响.后期主要围绕精英蚁狮游走,兼有一定的随机性,有效提高算法前期的探索能力和后期的开发能力.同时动态比例系数的使用也在一定程度上提升蚂蚁种群的多样性.
3.实验结果
4.参考文献
[1]刘景森,霍宇,李煜.优选策略的自适应蚁狮优化算法[J].模式识别与人工智能,2020,33(02):121-132.
5.Matlab代码
6.Python代码
优选策略的自适应蚁狮优化算法-附代码相关推荐
- 基于优选策略的自适应蚁狮优化算法
文章目录 一.理论基础 1.蚁狮优化算法 2.优选策略的自适应蚁狮优化算法 (1)自适应边界 (2)优选轮盘赌策略 (3)动态比例系数 二.算法步骤 三.仿真实验与结果分析 四.参考文献 一.理论基础 ...
- 智能优化算法:蚁狮优化算法-附代码
智能优化算法:蚁狮优化算法-附代码 文章目录 智能优化算法:蚁狮优化算法-附代码 1.算法原理 1.1 蚂蚁的随机游走 1.2蚁狮对蚂蚁随机游走的影响 1.3自适应机制 1.4 精英策略 2.算法步骤 ...
- 具有自适应边界与最优引导的莱维飞行蚁狮优化算法-附代码
具有自适应边界与最优引导的莱维飞行蚁狮优化算法 文章目录 具有自适应边界与最优引导的莱维飞行蚁狮优化算法 1.蚁狮优化算法 2. 改进蚁狮优化算法 2.1 蚂蚁莱维飞行策略 2.2 蚂蚁自适应游走边界 ...
- 具有随机分形自适应搜索策略的蚁狮优化算法-附代码
具有随机分形自适应搜索策略的蚁狮优化算法 文章目录 具有随机分形自适应搜索策略的蚁狮优化算法 1.蚁狮优化算法 2. 改进蚁狮优化算法 2.1 蚂蚁随机分形搜索方程 2.2 蚁狮自适应搜索方程 3.实 ...
- 具有自适应调整策略的混沌灰狼优化算法-附代码
具有自适应调整策略的混沌灰狼优化算法 文章目录 具有自适应调整策略的混沌灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 混沌局部搜索策略 3.实验结果 4.参 ...
- 基于柯西变异的蚁狮优化算法 - 附代码
基于柯西变异的蚁狮优化算法 文章目录 基于柯西变异的蚁狮优化算法 1.蚁狮优化算法 2. 改进蚁狮优化算法 2.1 基于柯西变异算子改进 3.实验结果 4.参考文献 5.Matlab代码 6.Pyth ...
- 融合莱维飞行与黄金正弦的蚁狮优化算法-附代码
融合莱维飞行与黄金正弦的蚁狮优化算法 文章目录 融合莱维飞行与黄金正弦的蚁狮优化算法 1.蚁狮优化算法 2. 改进蚁狮优化算法 2.1 Lévy 变异机制 2.2 黄金正弦算法 3.实验结果 4.参考 ...
- 智能优化算法:正余弦优化算法-附代码
智能优化算法:正余弦优化算法-附代码 文章目录 智能优化算法:正余弦优化算法-附代码 1.算法原理 2.算法流程 3.算法结果 4.参考文献 5.MATLAB代码 6.Python代码 摘要:正 余 ...
- 智能优化算法:多元宇宙优化算法-附代码
智能优化算法:多元宇宙优化算法-附代码 文章目录 智能优化算法:多元宇宙优化算法-附代码 1.算法原理 2.算法流程图 3.算法结果 4.参考文献 5.MATLAB代码 6.python代码 摘要:多 ...
最新文章
- 百度:I am from China, wait, am I?
- 计算机桌面堆,桌面堆限制导致内存不足错误 - Windows Server | Microsoft Docs
- 洛谷 P2590 [ZJOI2008]树的统计
- 微信JS SDK开放,前端开发者“鸡冻”了!
- pandas对dataframe内部数据的增删改查操作整理汇总
- win11白屏死机怎么办 Windows11白屏死机的解决方法
- python语言适用于哪些领域_Python用于哪些领域
- 西门子定时器有几种_【图】西门子step7功能块中定时器的类型与参数
- mysql实时监控工具
- Openstack+Opencontrail安装与部署初级教程
- 浅析export * from 与 export {default} from用法
- 重标极差法(R/S)在matlab上的实现
- LabVIEW编程LabVIEW开发在LabVIEW中复用现有代码
- Linux系统启动过程及其修复过程简析(CentOS5、6)
- 构建数字高程模型的算法——不规则三角网(TIN, Triangulated Irregular Network)
- 2021全球程序员收入报告出炉
- 怎么登陆163邮箱?163的邮箱有哪些实用技巧?
- JavaWeb09_Cookie Session
- Application was not properly initialized at startup, could not find Factory:
- 跨越AI大门,一本翻译蓝皮书、一场人机共译比赛投射出怎样的未来?
热门文章
- Java 彩票双色球实现
- Ubuntu删除python3后无法启动的修复
- ethtool如何让接口闪灯_linux 判定那块网卡为eth0 eth0对应的物理网卡闪灯30秒
- HDU 2504 JAVA
- 做你想做的人,这件事,没有时间的限制,只要愿意,什么时候都可以开始
- Source Current、Sink Current、Quiescent Current、Leakage Current、Ground Current
- zabbix一键安装脚本
- Dagger使用详解
- [BZOJ4422][Cerc2015]Cow Confinement(扫描线+线段树)
- 8.EP4CE10F17的DDS