A sine cosine algorithm guided by elite pool strategy for global optimization
https://doi.org/10.1016/j.asoc.2024.111946
本文开发了一种增强的正弦余弦算法EPSCA来实现上述目标。在EPSCA中,为了平衡多样性和收敛性,引入了精英池策略和布朗运动来修改原有SCA的位置更新公式。然后,模式搜索方法作为一种局部搜索工具来增强当前最优解的质量。此外,设计了一个有效的突变算子来防止过早收敛。在CEC2017的30个基准上,对开发的EPSCA和其他最先进的技术进行了比较分析。此外,利用EPSCA对光伏系统的核心参数进行辨识。基于30个独立运行的实验证据表明,EPSCA可以比四种最先进的SCA变体和五种其他知名方法表现得更好。
公式原理不再赘述,讲讲里面的策略
1,精英池策略和布朗运动,文章的精英池策略和SAO即是雪消融优化算法中的Elite_pool,就是四个候选解的集合,在迭代过程中,四个之中随机抽取一个,布朗运动也是SAO雪消融优化算法中的一个策略。
2,模式搜索方法(pattern search method),用来对当前最优解进行扰动,针对该策略,本人学术能力有限,觉得这个有点取巧,在这个搜索里面,就CEC2017中的F1函数而言,第一次运行到这里的时候,内部的‘count“计数19000次左右,也就是说在处理这个策略的时候消耗的适应度函数的计算次数达19000次,此时的最优解对应的适应度函数值刚好为100,从而造成了当迭代次数t=90的时候,收敛曲线在90 以后一直是100,包括F3函数也一样,在t=90的时候收敛曲线下降极快;同时发现,该策略在90的倍数的节点均有这样的显现。从作者公布的源代码中可以看出,该策略在计算适应度函数值的时候的计算次数不计入总体的计算次数,对于这篇文章,作者使用的是最大迭代次数作为停止条件。单实际上,算法所消耗的计算资源要远多于原算法。针对该策略中的I变量不建议使用单位矩阵,因为当个别变量特别小的时候,随机加减1都会使得该变量超过边界,从而降低计算效率,同时,在内部使用边界判断,使得搜索的范围有效。
3,突变算子,这个没什么可说的。
对于论文中的光伏参数辨识模型的结果数据,我有点怀疑。在目前的很多文章中SDM的数据都只能达到9.8602的程度下的时候,作者的结果更好了,直接把这个结果推向了新的里程碑。
包括后面的DDM,现在国内外很多关于这方面的结果都还停留在9.8248。
若文章说法有冒犯之处请留言,本人看到后会对内容进行删除
基于精英池策略的正弦余弦算法全局优化https://link.zhihu.com/?target=https%3A//mbd.pub/o/bread/mbd-Z5yam5pr(源代码)