• 融合莱维飞行与黄金正弦的蚁狮优化算法-附代码


    融合莱维飞行与黄金正弦的蚁狮优化算法


    摘要:针对蚁狮优化算法较易陷入局部最优停滞、收敛精度低以及收敛速度较慢等问题,将莱维飞行机制和黄金正弦算法融合到蚁狮优化算法中,提出了融合莱维飞行与黄金正弦的蚁狮优化算法(LGSALO)。该算法利用Lévy飞行的变异机制对寻优过程中位置更新方式进行变异操作,可以改善种群多样性,使得算法跳出局部最优,提高全局寻优能力,并在一定程度上避免了算法的过早收敛;同时引入黄金正弦算法改进精英蚁狮的寻优方式,协调算法的全局探索与局部开发能力。

    1.蚁狮优化算法

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

    2. 改进蚁狮优化算法

    2.1 Lévy 变异机制

    Lévy 飞行的概率密度函数服从 Lévy 分布, 其函数如下:
    P α , β ( x ) = 1 π ∫ 0 ∞ exp ⁡ ( r q α ) cos ⁡ ( q z ) d q (10) P_{\alpha, \beta}(x)=\frac{1}{\pi} \int_{0}^{\infty} \exp \left(r q^{\alpha}\right) \cos (q z) \mathrm{d} q \tag{10} Pα,β(x)=π10exp(rqα)cos(qz)dq(10)
    其中:0< α ⩽ 2 \alpha \leqslant 2 α2 控制 Lévy 分布图中峰的锐度, r > 0 r>0 r>0 控制分布图 形的跨度。当 α = 2 \alpha=2 α=2 时, Lévy 分布就是高斯分布, α = 1 \alpha=1 α=1 时, Lévy 分布就是柯西分布。对于非整数的 α \alpha α 取值, 通过 Lévy 分布的 概率密度函数分析较为困难, 需要采用模拟方法来产生 Lévy 分布的随机步长。其位置更新公式㛎下:
    x i t + 1 = x i t + α ⊕ L e ˊ v y ⁡ ( λ ) (11) x_{i}^{t+1}=x_{i}^{t}+\alpha \oplus \operatorname{Lévy}(\lambda) \tag{11} xit+1=xit+αLeˊvy(λ)(11)
    其中: α \alpha α 为随机步长; ⊕ \oplus 为点乘; Lévy 为符合 Lévy 分布的随机搜索路径且符合以下约束:
     L e ˊ vy  ( λ ) ∼ φ u ∣ v ∣ 1 / 2 (12) \text { Lévy }(\lambda) \sim \frac{\varphi u}{|v|^{1 / 2}} \tag{12}  Leˊvy (λ)v1/2φu(12)
    其中: u 、 v u 、 v uv 服从标准正态分布; λ = 1.5 \lambda=1.5 λ=1.5
    φ = [ Γ ( 1 + λ ) sin ⁡ ( π λ / 2 ) Γ [ ( 1 + λ ) / 2 ] λ 2 ( λ − 1 ) / 2 ] 1 / λ \varphi=\left[\frac{\Gamma(1+\lambda) \sin (\pi \lambda / 2)}{\left.\Gamma[(1+\lambda) / 2] \lambda 2^{(\lambda-1) / 2}\right]^{1 / \lambda}}\right. φ=[Γ[(1+λ)/2]λ2(λ1)/2]1/λΓ(1+λ)sin(πλ/2)

    2.2 黄金正弦算法

    黄金正弦算法 (golden sine algorithm, golden-SA)是 Tanyildizi等人 [ 13 ] { }^{[13]} [13] 于 2017 年提出的新型元启发式算法, 该算法 的设计灵感来源于数学中的正弦函数, 该算法利用数学中的正 弦函数进行计算迭代寻优, 其优点是收敛速度快、查棒性好、易 于实现、调节的参数和运算符少。
    golden-SA 根据正弦函数与单位圆 的关系, 可以遍历正弦 函数上的所有值即寻遍单位圆上所有的点, 同时在其位置更新 过程中引入黄金分割数缩小解决方案的空间, 以便扫描可能只 产生良好结果的区域, 很大程度上提高了搜索速度, 且使搜索 和开发达到良好的平衡。golden-SA 算法的核心是位置更新过 程, 随机产生 s s s 个个体的位置, 并用 X i T = ( X i 1 , X i 2 , X i 3 , ⋯   X_{i}^{T}=\left(X_{i 1}, X_{i 2}, X_{i 3}, \cdots\right. XiT=(Xi1,Xi2,Xi3,, X i d ) T \left.X_{i d}\right)^{T} Xid)T, 表示 d d d 维个体空间中第 T T T 次迭代中第 i ( i = 1 , 2 , ⋯   , s ) i(i=1,2, \cdots, s) i(i=1,2,,s) 个 个体的空间位置, P i T = ( P i 1 , P i 2 , P i 3 , ⋯   , P i d ) T P_{i}^{T}=\left(P_{i 1}, P_{i 2}, P_{i 3}, \cdots, P_{i d}\right)^{T} PiT=(Pi1,Pi2,Pi3,,Pid)T 表示第 T T T 代个体 i i i 的最优位置, 在 T + 1 T+1 T+1 次迭代中, 第 i ( i = 1 , 2 , ⋯   , n p ) i(i=1,2, \cdots, n p) i(i=1,2,,np) 个个体的 位置更新公式如下:
    X i T + 1 = X i T ∣ sin ⁡ ( R 1 ) ∣ + R 2 sin ⁡ ( R 1 ) ∣ x 1 P i T − x 2 X i T ∣ (13) X_{i}^{T+1}=X_{i}^{T}\left|\sin \left(R_{1}\right)\right|+R_{2} \sin \left(R_{1}\right)\left|x_{1} P_{i}^{T}-x_{2} X_{i}^{T}\right| \tag{13} XiT+1=XiTsin(R1)+R2sin(R1) x1PiTx2XiT (13)
    其中: R 1 R_{1} R1 R 2 R_{2} R2 是随机数, R 1 R_{1} R1 决定下一次迭代中个体的移动距 离, R 1 ∈ [ 0 , 2 π ] , R 2 R_{1} \in[0,2 \pi], R_{2} R1[0,2π],R2 决定下一次迭代的位置更新方向, R 2 ∈ R_{2} \in R2 [ 0 , π ] ; x 1 [0, \pi] ; x_{1} [0,π];x1 x 2 x_{2} x2 是通过黄金分割得到的系数, 可以缩小搜索空 间引领个体趋近最优值, 黄金分割数 τ = ( 5 − 1 ) / 2 , x 1 = \tau=(\sqrt{5}-1) / 2, x_{1}= τ=(5 1)/2,x1= − π + ( 1 − τ ) × 2 π , x 2 = − π + τ × 2 π -\pi+(1-\tau) \times 2 \pi, x_{2}=-\pi+\tau \times 2 \pi π+(1τ)×2π,x2=π+τ×2π

    请添加图片描述

    3.实验结果

    请添加图片描述

    4.参考文献

    [1]于建芳,刘升,王俊杰,鲁晓艺.融合莱维飞行与黄金正弦的蚁狮优化算法[J].计算机应用研究,2020,37(08):2349-2353.

    5.Matlab代码

    6.Python代码

  • 相关阅读:
    Ros noetic 机器人坐标记录运动路径和发布 实战教程(C)
    数据结构之循环链表
    【毕业设计】基于RFID的门禁系统 - 单片机 物联网 嵌入式 stm32
    利用VUE生成二维码
    使用Docker搭建Nextcloud私有网盘
    计算时间复杂度
    斐波那契数
    【调试笔记-20240618-Windows-pnpm 更新出现 Cannot find module 问题的解决方法】
    2022-08-25 第五组 张明敏 学习笔记
    linux 指定时间 执行一次 命令
  • 原文地址:https://blog.csdn.net/u011835903/article/details/126516813