智能优化算法:引力搜索算法-附代码
@[toc]
摘要:万 有 引 力 搜 索 算 法 (gravitational searchalgorithm,GSA) 由伊朗的 Esmat Rashedi 教授等人提出,该算法是基于牛顿万有引力定律的一种元启发式智能优化算法,能够用于解决优化问题。
1.算法原理
引力搜索算法利用物体间的万有引力定律搜索最优解,全局优化能力突出。设 维空间引力系统中有
个粒子,定义第
个粒子位置为
。其中:
为第
个粒子在第
维中位置。GSA 算法流程见图 1。
图1 算法流程图
粒子 在
时刻质量
为:
式中:为在
时刻粒子
的适应度函数值。
如求解适应度函数极小值,则
在第 维空间上,第
个粒子受第
个粒子作用力为:
式中: 为接近 0 的常量;
为
时刻引力常数。
式中:;
为迭代次数。
在第 维空间上,第
个粒子受其它粒子引力合力作用,用各粒子引力的随机加权和表示,即:
式中: 为范围在[0,1]间任意数。
基于牛顿第二定理,在第 维空间上粒子
在引力合力作用下加速度为:
在 中,粒子
更新在第
维空间位置
及速度
以实现迭代过程,速度及位置更新式为:
2.算法结果
算法结果
3.参考文献
[1] Esmat R,Hossein N,Saeid S.GSA:A gravitational search algorithm[J].Inform Sci,2009,179(13):2232-2248.
[2] 刘永前, 徐强, Infield D , et al. 基于引力搜索神经网络的风电机组传动链故障识别[J]. 振动与冲击, 2015, 34(2):134-137.