优选策略的自适应蚁狮优化算法-附代码

该文提出了一种改进的蚁狮优化算法,通过自适应边界策略增加蚂蚁种群的多样性,防止早熟收敛;优选轮盘赌策略提高算法收敛速度并保持种群多样性;动态比例系数调整探索与开发的平衡,提升算法在不同阶段的表现。实验结果显示,这些改进有效提高了算法的全局搜索能力和求解精度。
摘要由CSDN通过智能技术生成

优选策略的自适应蚁狮优化算法


摘要:针对基本蚁狮优化算法收敛速度较慢、易陷入局部极值、高维求解精度较低等缺点,提出具有自适应边界、优选轮盘赌和动态比例系数的改进蚁狮算法.在蚂蚁围绕蚁狮游走的过程中引入自适应边界机制,增加蚂蚁种群活跃性,防止算法陷入局部极值.轮盘赌选择蚁狮过程中加入优选轮盘赌策略,在保持蚁狮个体多样性的同时加快算法收敛速度.在蚂蚁位置更新公式中加入动态比例系数,提高算法前期的探索能力和后期的开发能力.

1.蚁狮优化算法

基础蚁狮优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107726004

2. 改进蚁狮优化算法

2.1 自适应边界

在基本蚁狮算法的式 (7) 中, 蚂蚁围绕蚊狮游 走的边界随迭代次数的增加而变小, 变化呈线性分 段趋势且在同一轮迭代中, 所有妈蚁游走的边界都 完全相同, 这降低算法的多样性, 不利于算法寻找全 局最优解. 对此, 本文提出自适应边界策略, 改进式 (7)用于增加蚂蚑在围绕蚑狮游走时的多样性:
I = 1 0 ∗ t T ( 0.5 + sin ⁡ ( t π 2 T ⋅  rand  ) ) , I=10^{*} \frac{t}{T}\left(0.5+\sin \left(\frac{t \pi}{2 T} \cdot \text { rand }\right)\right), I=10Tt(0.5+sin(2Ttπ rand )),
其中 rand 为 ( 0 , 1 ) (0,1) (0,1) 内均匀分布的随机数.
t > { 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 t> \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) 可知, 边界的变化主要由 I I I 值决定, 与 其呈反比, 而式(9)中 I I I 的值由
1 0 w 、 t T 、 ( 0.5 + sin ⁡ ( t π 2 T ⋅  rand  ) ) 10^{w} 、 \frac{t}{T} 、\left(0.5+\sin \left(\frac{t \pi}{2 T} \cdot \text { rand }\right)\right) 10wTt(0.5+sin(2Ttπ rand ))
三项因子决定. 随着进化代数增加, 1 0 w 10^{w} 10w 呈线性分段指数递增, t T \frac{t}{T} Tt 呈线性递增,
( 0.5 + sin ⁡ ( t π 2 T ⋅  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) 内呈随机非线性递增趋势. 整体而言, I I I 值随进化代数增加呈现具有一定随机性的非线性自 适应递增趋势, 千是边界大小随进化代数呈现具有 一定随机性的非线性自适应递减趋势, 从而提高蚂 蚁围绕蚁狮游走的随机性和多样性, 提高算法的开 发能力和全局搜索能力, 有利于找到全局最优解.

2.2 优选轮盘赌策略

ALO 使用适应度轮盘赌法选择随机蚁狮, 虽然 这样使蚂蚁有较大概率绕较优蚁狮进行游走, 但是 仍然会有较大可能围绕较差蚁狮进行游走. 本文对 此进行改进, 将初始算法中用于轮盘赌选择的蚁狮 根据适应度大小进行排序, 然后设定: 如果
A < A ⋅ P ⋅  rand,  A<A \cdot P \cdot \text { rand, } A<AP rand, 
A A A 参与轮盘赌; 否则 A A A 不参与轮盘赌. 其中, A A A 为参与 轮盘赌蚁狮个体的适应度值, P P P M \boldsymbol{M} M 中蚁狮适应度 值的平均值, rand 为 ( 0 , 1 ) (0,1) (0,1) 内均匀分布的随机数. 这 种对蚁狮的判断选取既保留大多数蚁狮, 又使蚂蚁 有更大概率围绕较优蚁狮进行游走.
通过改进, 对参与适应度轮盘赌的蚁狮进行有 条件选取, 使蚂蚁有更大概率围绕较优蚁狮进行游 走, 提高算法找到更优解的可能性和速度.

2.3 动态比例系数

标准蚑狮算法采用式 (8) 求取 R A t R_{A}^{t} RAt R E t R_{E}^{t} REt 两种随 机游走平均值的方法以平衡探索和开发能力,但忽 略蚂蚁的开发和探索能力在不同时期所占比例应有 不同. 本文改进 R A t R_{A}^{t} RAt R E t R_{E}^{t} REt 的比例系数, 让不同时期两 种游走方式占有的权重不同. 算法前期以围绕轮盘 赌选择的蚁狮游走方式为主, 后期以围绕精英蚁狮 的游走方式为主. 改进后的动态比例系数为
A n t i t = ( 1 − 0.2 − 0.8 t T ⋅  rand  ) R A t + R E t ( 0.2 + 0.8 t T ⋅  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=(10.20.8Tt rand )RAt+REt(0.2+0.8Tt rand ),
其中, R A t R_{A}^{t} RAt 为蚂蚁在第 t t t 次迭代时围绕轮盘赌所选蚁 狮进行随机游走后的位置, R E t R_{E}^{t} REt 为蚂蚁在第 t t t 次迭代 时围绕精英蚁狮进行随机游走后的位置, T T T 为最大 迭代次数, t t t 为当前迭代次数, rand 为 ( 0 , 1 ) (0,1) (0,1) 内均匀 分布的随机数.
通过式 (10)的改进, 算法初期主要围绕轮盘赌 选择蚁狮游走, 同时也逐渐增强最优蚁狮的方向性影响.后期主要围绕精英蚁狮游走,兼有一定的随机性,有效提高算法前期的探索能力和后期的开发能力.同时动态比例系数的使用也在一定程度上提升蚂蚁种群的多样性.

3.实验结果

请添加图片描述

4.参考文献

[1]刘景森,霍宇,李煜.优选策略的自适应蚁狮优化算法[J].模式识别与人工智能,2020,33(02):121-132.

5.Matlab代码

6.Python代码

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值