智能優化算法:引力搜索算法-附代碼
@[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.