声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~
目录
ivy算法是一种新型的元启发式算法(智能优化算法),灵感来源于常青藤的有序协调增长和扩散进化过程。比较有趣的是,这个算法的作者中包括了r.venkata rao。如果你不知道他是谁,那么,提到著名的jaya优化算法、教与学优化算法tlbo,相信你应该就已经知道了,这些经典的算法都是由他提出的!
这位学者已经被引用了1w多次。众所周知,jaya优化算法的优势就是速度快、参数少,此次提出来的算法也同样具备这两个特点!最重要的是,这个算法也是出版于2024年7月的新算法~非常新颖!
原文作者在26个经典测试函数上与12个工程优化问题上,与其他10种算法进行了比较,证明了其优越的性能。。该成果由mojtaba ghasemi等人于2024年7月发表在sci一区顶刊《knowledge-based systems 》上!
由于发表时间较短,谷歌学术上还无人引用!你先用,你就是创新!
原理简介
灵感:ivy指的是常春藤这种植物,这个算法主要模拟了常春藤的不同生命阶段,包括生长、上升和在常春藤植物群中传播。
一、初始化
在算法开始时,ivy种群在搜索空间中的初始位置是使用eq.(1)随机确定的。
其中,区间[0,1]内均匀分布随机数的维数为d的向量用rand(1,d)表示。imax和imin分别是搜索空间的上界和下界,两个向量的hadamard积(也称为元素积,在matlab中表示为“.∗”)用运算“⊙”表示。
二、协调有序的种群增长
设gv为增长率,φ为生长速度,φ为偏离生长的修正系数。在本文提出的算法中,基于数据密集型的实验和仿真过程,将eq.(2)建模为成员ii的生长速度gvi(t)的差分方程。
其中向量δgvi(t)和δgvi(t+1)表示离散时间系统(时刻t和时刻t +1)的增长率,rand是区间[0,1]中的随机实数(即rand∈u[0,1]), rand^2是随机变量的随机数,其概率密度函数等于1/(2√x))。n(1, d)表示维数为d的随机向量,为标准高斯(正态)分布中的随机数。
三、获得阳光来源生长
对于自然界中常春藤的整体健康来说,找到一个附着的表面(例如,墙,岩石或树)以便向阳光爬去是至关重要的。在野生森林中,年轻的常春藤可以适当地选择向最近的树生长的方向,而且经常是另一棵已经找到支撑的老常春藤。这样,常春藤就可以逐渐填满大片连续的森林区域。对于森林中的其他树种来说,幸运的是,小常春藤在老常春藤上的攀爬导致了整个小常春藤和老常春藤群体中只有最强壮的存活下来,几乎与它们的年龄无关。
下面的等式描述了成员ii如何利用成员iii沿着光源的方向进行攀爬和逻辑移动
其中|n(1, d)|是矢量,其分量是矢量n(1, d)的分量的绝对值,运算“u⊘v”是矢量u除以矢量v的hadamard除法(也称为逐元除法,在matlab中表示为“./”)。
四、常青藤植物的传播和进化
在成员ii通过搜索空间全局漫游到最近、最重要的邻居iii的阶段之后,有一个阶段,成员ii试图直接跟随整个种群的最佳成员ibest,这相当于在成员ibest周围寻找更好的最优解。这个阶段用数学公式表示如下:
随后,当前成员inewi的增长率δgvnewi的新值由以下公式计算(这与初始化步骤中用于计算δgvi的公式完全类似)
五、生存者选择
hoflacher和bauer研究了常青藤植株最年轻和最老(基部)部分在常青藤两个生长阶段交替期间吸收阳光的能力,即“幼叶”形成阶段(典型的快速向上生长阶段)和“成叶”形成阶段(典型的新枝宽度和开花扩张阶段)。
为了模拟常青藤树生命中的两个交替阶段,即“爬升”和“扩张”,在ivy算法中,我们使用了以下决策方法。当成员ii的目标函数值f(ii)小于f(ibest)的倍数时,参数β = (2 + rand)/2。然后,常春藤树开始扩展树枝和叶子的宽度(由式(5)给出)。否则,常春藤向上生长并爬升(由式(7)给出)。
算法伪代码
为了使大家更好地理解,这边给出算法的伪代码,非常清晰!
如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!
性能测评
原文在26个经典测试函数上与其他10种算法进行了比较,证明了其优越的性能。此外,作者还求解了12个工程优化问题,并与各种优化算法的结果进行比较,证明了ivya算法的有效性。
这边为了方便大家对比与理解,采用23个标准测试函数,即cec2005,并与作者先前提出的jaya优化算法进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!
可以看到,ivy在大部分函数上都超过了作者之前提出的jaya优化算法,尤其在f1-f4函数中,更是收敛极快,没见过这么快就收敛到0的,不知道是不是采取了偏向于0点的搜索策略~当然,大家应用到各类预测、优化问题中也是一个不错的选择~
参考文献
[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.
完整代码
如果需要免费获得图中的完整测试代码,只需后台回复关键字,不区分大小写:
ivy
也可后台回复个人需求(比如ivy-tcn)定制以下ivy算法优化模型(看到秒回):
1.回归/时序/分类预测类:svm、rvm、lssvm、elm、kelm、hkelm、delm、relm、dhkelm、rf、lstm、bilstm、gru、bigru、pnn、cnn、bp、xgboost、tcn、bitcn、esn等等均可~
2.组合预测类:cnn/tcn/bitcn/dbn/adaboost结合svm、rvm、elm、lstm、bilstm、gru、bigru、attention机制类等均可(可任意搭配非常新颖)~
3.分解类:emd、eemd、vmd、remd、feemd、tvfemd、ceemdan、iceemdan、svmd、fmd等分解模型均可~
4.其他:机器人路径规划、无人机三维路径规划、dbscan聚类、vrptw路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~
5.原创改进优化算法(适合需要创新的同学):原创改进2024年的ivy优化算法pko以及麻雀ssa、蜣螂dbo等任意优化算法均可,保证测试函数效果!
更多免费代码链接:更多免费代码链接
发表评论