• 具有 Levy 变异和精英自适应竞争机制的蚁狮优化算法-附代码


    具有 Levy 变异和精英自适应竞争机制的蚁狮优化算法


    摘要:针对蚁狮优化算法易陷入局部最优、收敛速度慢的缺点,本文提出一种具有Levy变异和精英自适应竞争机制的蚁狮优化算法。利用服从Levy分布的随机数对种群较差个体进行变异,可改善种群多样性提高算法的全局搜索能力;精英自适应竞争机制使得多个精英并行带领种群寻优,提高了算法的收敛速度,为避免较大计算量,并行竞争的精英个数会随着寻优代数增加而减少。

    1.蚁狮优化算法

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

    2. 改进蚁狮优化算法

    2.1 Levy 变异机制

    利用 Levy 飞行特点形成 Levy 变异机制来提 高种群的多样性, 保证了种群对附近区域详细捜索 的同时又具有一定的突变性。两种方式交替从而实 现对求解域的充分遍历, 有助于提高算法的全局捜 索能力 [ 9 ] { }^{[9]} [9] 。Levy 昴行服从 Levy 分布, 其概率密度 函数如下:
    P α , γ ( z ) = 1 π ∫ 0 ∞ exp ⁡ ( − γ q α ) cos ⁡ ( q z ) d q P_{\alpha, \gamma}(z)=\frac{1}{\pi} \int_{0}^{\infty} \exp \left(-\gamma q^{\alpha}\right) \cos (q z) \mathrm{d} q Pα,γ(z)=π10exp(γqα)cos(qz)dq
    式中: 0 < α ⩽ 2 0<\alpha \leqslant 2 0<α2 控制 Levy 分布图形的锐度, γ > 0 \gamma>0 γ>0 控 制分布的尺度。当 α = 2 \alpha=2 α=2 时, Levy 分布等同于高斯分 布, α = 1 \alpha=1 α=1 时, Levy 分布等同于柯西分布。对于一般 的 α \alpha α 取值, 通过 Levy 分布的概率密度函数分析较为 困难, 所以通常采用模拟方法产生 Levy 分布的随 机数 [ 10 − 12 ] { }^{[10-12]} [1012] 。为了使 Levy 行轨迹充分遍历设定的 求解域, 对文献[13]的模拟公式做修改如式 (8):
    { δ μ = { Γ ( 1 + β ) sin ⁡ ( π β / 2 ) Γ [ ( 1 + β ) / 2 ] 2 ( β − 1 ) / 2 β δ v = 1 { μ ∼ N ( 0 , δ μ 2 ) v ∼ N ( 0 , δ v 2 ) \begin{aligned} \left\{\begin{aligned} \delta_{\mu}=&\left\{\frac{\Gamma(1+\beta) \sin (\pi \beta / 2)}{\Gamma[(1+\beta) / 2] 2^{(\beta-1) / 2} \beta}\right.\\ \delta_{v}=1 \end{aligned}\right.\\ \left\{μN(0,δ2μ)vN(0,δ2v)\right. \end{aligned} δμ=δv=1{Γ[(1+β)/2]2(β1)/2βΓ(1+β)sin(πβ/2){μN(0,δμ2)vN(0,δv2)

    { S = μ ∣ v ∣ 1 / β λ i =  cumsum  ( S i ) \left\{S=μ|v|1/βλi= cumsum (Si)\right. {S=v1/βμλi= cumsum (Si)
    式中: i = 1 , 2 , ⋯   , n i=1,2, \cdots, n i=1,2,,n 为寻优的维度, cumsum ⁡ ( S i ) \operatorname{cumsum}\left(S_{i}\right) cumsum(Si) 为前 i i i 次 Levy 飞行位置的累积。
    L ( λ i ) = { l b , λ i < l b a ⋅ λ i , l b < λ i < u b u b , λ i > u b L\left(\lambda_{i}\right)= {lb,λi<lbaλi,lb<λi<ubub,λi>ub L(λi)= lb,aλi,ub,λi<lblb<λi<ubλi>ub

    2.2 精英自适应竞争机制

    单个精英所拥有的极值信息极其有限, 因此有 必要建立精英库存储历代较佳的个体 (变异后适应 值较佳的个体也会被存人精英库)。对 ALO 算法引 人精英竞争机制, 在每一代的寻优中, 多个精英之 间并行竞争, 而不是通过轮盘赌的方式选择。在多 个精英的同时带领下, 种群能够快速锁定相对较优 解的所在区域, 有助于加快算法收敛速度 [ 14 − 15 ] { }^{[14-15]} [1415]
    为保证寻优前期的收敛速度, 应选取较多个精 英参与竞争; 而后期, 应减少精英个数避免较大的 计算量。因此并行竞争的精英个数应随着迭代次数 的增加而衰减。这种自适应选取方式在保证算法寻 优速度的同时避免了不必要的计算量。设置精英个 数范围为 [ n min  , n max ⁡ ] \left[n_{\text {min }}, n_{\max }\right] [nmin ,nmax], 则对于当代精英个数 n ( t ) n(t) n(t) 和迭代 次数 t t t, 构造如下关系式:
    { n ( t ) =  round  ( n min ⁡ 1 + ( n min ⁡ n max ⁡ − 1 ) h ( t ) ) h ( t ) = 1 − ( t T ) 2 \left\{n(t)= round (nmin\right. n(t)= round (1+(nmaxnmin1)h(t)nmin)h(t)=1(Tt)2
    式中: round()为取整函数, T T T 为设置的最大迭代次 数。设置精英个数的范围为 [ 1 , 5 ] [1,5] [1,5] 时, 随迭代次数的增加, 建立容量为 n n n 的精英库, 每代寻优完成后对其更 新, 使得库内始终存放的是截止当前代为止最优的 n n n 个个体。根据式 (13) 确定精英个数, 蚂蚁种群按 照式 (1)、(2) 绕多个精英游走, 式 (3) 变为
    c i t =  Elite  j t + c t , d i t =  Elite  j t + d t i = 1 , 2 , ⋯   , n × N ; j = 1 , 2 , ⋯   , n cit= Elite jt+ct,dit= Elite jt+dti=1,2,,n×N;j=1,2,,n
    式中: E l i t e t \mathrm{Elite}^{t} Elitet '为来自精英库的精英, N N N 为设定的种群 数目。式 (4) 不作变化, 式 (6) 中的 A n t 2 i \mathrm{Ant}^{2}{ }_{i} Ant2i 代表被 n n n 个 精英精英化后的蚂蚑种群, 即 i = 1 , 2 , ⋯   , n × N i=1,2, \cdots, n \times N i=1,2,,n×N 。式 (5) 变为
    ∑ i = 1 n × N f sort  ( Ant ⁡ i t ) ⇒ ∑ i = 1 n  Antlion  i t + 1 \sum_{i=1}^{n \times N} f_{\text {sort }}\left(\operatorname{Ant}_{i}^{t}\right) \Rightarrow \sum_{i=1}^{n} \text { Antlion }_{i}^{t+1} i=1n×Nfsort (Antit)i=1n Antlion it+1
    式中: f sort  f_{\text {sort }} fsort  为排序函数, ⇒ \Rightarrow 表示提取排序后的前 n n n 个较 优个体作为下一代蚁狮种群。

    3.实验结果

    请添加图片描述

    4.参考文献

    [1]景坤雷,赵小国,张新雨,刘丁.具有Levy变异和精英自适应竞争机制的蚁狮优化算法[J].智能系统学报,2018,13(02):236-242.

    5.Matlab代码

    6.Python代码

  • 相关阅读:
    老卫带你学---leetcode刷题(49. 字母异位词分组)
    echarts自定义点击事件
    Docker‘s Network
    Moonriver在Kusama的第1年
    Redis无法正常连接
    数据结构与算法之字符串
    二十七、rqt常用插件
    1. ASM概述
    3D可视化有哪些应用场景?
    嵌入式开发人员使用基于组件的固件的5个理由
  • 原文地址:https://blog.csdn.net/u011835903/article/details/126577250