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


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


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

    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>

    {0.1T,w=20.5T,w=30.75T,w=40.9T,w=50.95T,w=6" role="presentation" style="position: relative;">{0.1T,w=20.5T,w=30.75T,w=40.9T,w=50.95T,w=6
    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,  AA<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  ) ,

    Antit=(10.20.8tT rand )RAt+REt(0.2+0.8tT rand )," role="presentation" style="position: relative;">Antit=(10.20.8tT rand )RAt+REt(0.2+0.8tT rand ),
    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代码

  • 相关阅读:
    实现稳定可靠的消息通信:Paho MQTT Android
    编程式事务之基于XML的声明式事务控制
    C# OpenCvSharp DNN Low Light image Enhancement
    vue手动搭建脚手架(保姆式教案)
    【sql】SQL优化
    Win:使用 netsh 命令配置 Port Forwarding
    OK3568 forlinx系统编译过程及问题汇总
    简单几步便可轻松制作思维导图,快来查收这份干货
    1. Vue 3.0介绍
    讲解用Python处理Excel表格
  • 原文地址:https://blog.csdn.net/u011835903/article/details/126478068