声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~
目录
植物根茎生长优化算法(Plant Rhizome Growth-based Optimization Algorithm, PRGO)是一种新型的元启发式算法(智能优化算法),灵感来源于植物根系结构及其吸收养分方式。该算法应用马尔可夫相关理论证明了该算法的全局渐近收敛性,效果非常不错,值得一试!该成果由晏福等人于2025年1月发表在中文管科顶刊《系统工程理论与实践》上!
由于发表时间较短,中国知网上还没人引用!你先用,你就是创新!
原理简介
灵感:自然界的植物是由直根系和须根系构成,且各自占比相同(即各自出现的概率均为p=0.5)。由下图可知,直根系植物和须根系植物的根系特点差异较大,两种不同的根系构造决定了其对土壤空间中营养成分具有不同的获取能力。因此,有必要分别对直根系和须根系植物根系生长特征建模分析。
假设一颗直根系植物上随机分布有N个纤维根,即{X1,X2,···,XN},纤维根不但能从土壤中吸收养分,又兼具自主探索土壤中富含养分的区域,因此,可将每个纤维根视为优化问题的一个试探解,将相应的土壤空间视为目标问题的解空间。
一、直根系植物生长数学模型
1.纤维根在土壤空间中的生长数学模型
式中,Seed1表示第t次生长第i个纤维根,Xbest表示到目前为止搜索到历史最好的纤维根,Xtr1表示在从第t次生长的N个纤维根中随机选取的纤维根,α1∈2×rand(0,1)−0.5是用于生成(-0.5,1.5)区间的随机数,其中,当α1∈(0,1.5)时,表明随机选取的纤维根Xtr1向历史最好的纤维根Xbest生长,当α1∈(-0.5,0)时,则Xbest向Xtr1生长,这一搜索机制的设计,既保证了历史最好的纤维根Xbest在引导全体纤维根向着最优方向生长的主导作用,又确保有部分随机纤维根Xtr1引导其余纤维根进行随机搜索,在一定程度上能避免搜索陷入局部最优。
2.侧根在土壤空间中的生长数学模型
式中,Seed2表示侧根在第t+1次生长所吸收的养分,Xtmean表示将第t次生长所有纤维根吸收养分的均值作为侧根,Xtr2表示从第t次生长的N个纤维根中随机选取的纤维根,α2∈2×rand(0,1)−1是用于生成(-1,1)区间的随机数,当α2∈(0,1)表示根系吸收养分,当α2∈(-1,0)表示根系向周围环境释放有机化合物,这一搜索机制客观地描述了植物根系吸收和释放养分的完整过程。
3.主根在土壤空间中的生长数学模型
式中,Seed3表示主根在第t+1次生长所吸收的养分,Rul为整个土壤空间(即目标问题搜索空间),u和l分别为问题空间的上界和下界;α3∈ε×rand(0,1)+˜ε,ε是利用randi(0,1)函数生成0或1的随机整数,˜ε为ε的取反,当ε取1时,α3∈(0,1),表明纤维根未得到足够的养分吸收,当ε取0时,α3=1,表明纤维根能充分吸收土壤空间中的养分,这一随机数生成规则确保了α3能取到(0,1]区间的随机数,能充分体现植物根系对土壤中养分的实际吸收情况,Seed1−Rul表示分布在主根上的纤维根在深层土壤空间中生长所吸收的养分。
二、须根系植物生长数学模型
按照下图所示,虽然须根系植物不定根的生长具有较强的随机性,但其所有不定根仍然具有一定的聚集性,使得不定根能以较大的概率找到土壤中养分更充足的区域。
须根系植物的根系生长可建模如下:
式中,Xc表示当前不定根Xti引导除了粗壮不定根外的其余根茎在土壤中扩散生长所吸收的养分,α4∈σ×rand(0,1),σ是利用randi(0,1)函数生成的0或1的随机整数,当σ=1时,α4∈(0,1)表明Xc在土壤中扩散生长发现了养分区域,当σ=0时,α4=0表明Xc在土壤中扩散生长并未找到蕴含养分的区域,第二个公式等号右边的第二项则描述了粗壮不定根引导其余根茎在土壤空间中朝着养分充足区域的随机搜索机制,r3和r4是从区间(1,N)选取的随机整数且r3=r4。
算法伪代码
为了使大家更好地理解,这边给出作者算法的伪代码,非常清晰!
如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!
性能测评
原文作者选择59个Dim=30 来自 CEC2014 和 CEC2017 经典测试函数作为全局优化问题进行测试,并选择近年来新提出的5种基于植物的算法与5种其他先进算法进行对比。结果表明,PRGO对于大多数测试函数所提算法的优化精度和收敛速度均优于其他对比算法。
这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,设置种群数量为30,迭代次数为1000,和经典算法麻雀优化算法SSA进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!
可以看到,这个算法在CEC2005上,效果非常不错!属于遥遥领先独一档的存在!大家应用到各类预测、优化问题中也是一个不错的选择~
参考文献
[1]晏福,杨建强,张金.植物根茎生长优化算法[J/OL].系统工程理论与实践,1-17[2025-01-23].
完整代码
代码为本人一行一行手打完美复现而来,复现不易,希望多多支持~
如果需要以上完整代码,只需点击下方小卡片,再后台回复关键字,不区分大小写:
PRGO