SCI一区TOP|常青藤优化算法(IVYA)原理及实现【免费获取Matlab代码】


1.背景

2024年,M Ghasemi受到自然界中常青藤生长行为启发,提出了常青藤优化算法(Ivy Algorithm, IVYA)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

IVYA模拟常青藤种群的协调有序增长以及扩散和演化过程,其通过一个微分方程和数据密集型的实验过程来建模。IVYA利用附近常青藤的知识来确定生长方向,通过选择最近且最健康的邻居来模拟常青藤在自然中的行为。

2.2算法过程

IVYA的研究步骤和种群搜索

常春藤是一种随时间生长的蔓生植物,假设常青藤植物的生长速率Gv是时间的函数,由微分方程给出:
d G ν ( t ) d t = ψ ⋅ G ν ( t ) ⋅ φ ( G ν ( t ) ) (1) \frac{dG\nu(t)}{dt}=\psi\cdotp G\nu(t)\cdotp\varphi(G\nu(t))\tag{1} dtdGν(t)=ψGν(t)φ(Gν(t))(1)
其中,Gv为增长率,φ为生长速度,φ为偏离生长的修正系数。成员Ii的生长速度Gvi(t)的差分方程:
Δ G v i ( t + 1 ) = r a n d 2 ⊙ ( N ( 1 , D ) ⊙ Δ G v i ( t ) ) (2) \Delta Gv_i(t+1)=rand^2\odot(N(1,D)\odot\Delta Gv_i(t))\tag{2} ΔGvi(t+1)=rand2(N(1,D)ΔGvi(t))(2)
其中,向量ΔGvi(t)和ΔGvi(t1)表示离散时间系统(时刻t和时刻t1)的增长率。
成员Ii利用成员Iii沿着光源的方向进行攀爬和移动:
I i n e w = I i + ∣ N ( 1 , D ) ∣ ⊙ ( I i i − I i ) + N ( 1 , D ) ⊙ Δ G v i , i = 1 , 2 , . . . , N p o p (3) I_i^{new}=I_i+|N(1,D)|\odot(I_{ii}-I_i)+N(1,D)\odot\Delta Gv_i, i=1,2,...,Npop\tag{3} Iinew=Ii+N(1,D)(IiiIi)+N(1,D)ΔGvi,i=1,2,...,Npop(3)

在成员Ii通过搜索空间全局漫游到最近的邻居Iii的阶段之后,成员Ii试图直接跟随整个种群的最佳成员IBest,这相当于在成员IBest周围寻找更好的最优解。
I i n e w = I B e s t ⊙ ( r a n d ( 1 , D ) + N ( 1 , D ) ⊙ Δ G v i ) (4) I_i^{new}=I_{Best}\odot(rand(1,D)+N(1,D)\odot\Delta Gv_i)\tag{4} Iinew=IBest(rand(1,D)+N(1,D)ΔGvi)(4)
在这里插入图片描述
当前成员Inew i的增长率:
Δ G ν i n e w = I i n e w ⊘ ( I m a x − I m i n ) (5) \Delta G\nu_{i}^{new}=I_{i}^{new}\oslash(I_{max}-I_{min})\tag{5} ΔGνinew=Iinew(ImaxImin)(5)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述
在这里插入图片描述

4 .参考文献

[1] Ghasemi M, Zare M, Trojovský P, et al. Optimization based on the smart behavior of plants with its engineering applications: Ivy algorithm[J]. Knowledge-Based Systems, 2024, 295: 111850.

5.代码获取

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值