目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4 .参考文献
- 5.代码获取
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)∣⊙(Iii−Ii)+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⊘(Imax−Imin)(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.