热门问题
时间线
聊天
视角

螢火蟲算法

来自维基百科,自由的百科全书

Remove ads

螢火蟲算法(Firefly Algorithm)是一種啟發式算法,靈感來自於螢火蟲閃爍的行為。螢火蟲的閃光,其主要目的是作為一個信號系統,以吸引其他的螢火蟲。劍橋大學Xin-She Yang(音譯:楊新社)教授提出了螢火蟲算法,其假設為[1]

  • 螢火蟲不分性別,這樣一個螢火蟲將會吸引到所有其他的螢火蟲;
  • 吸引力與它們的亮度成正比,對於任何兩個螢火蟲,不那麼明亮的螢火蟲被吸引,因此移動到更亮的一個,然而,亮度又隨著其距離的增加而減少;
  • 如果沒有比一個給定的螢火蟲更亮的螢火蟲,它會隨機移動。

亮度應與目標函數聯繫起來。螢火蟲算法是以自然為靈感的啟發式優化算法。[2]

算法描述

螢火蟲算法的偽代碼可以概括為:

Begin
1)目标函数
2)生成一个萤火虫的初始人口
3)制定光照强度,因此,它与
   (例如,对于最大化问题;
4)定义吸收系数
while(T < MaxGeneration)
   for i =1:n(所有n萤火虫)
      for j =1:n(n萤火虫)
         if(),
            移动萤火虫i向j;
         end if
         吸引力与距离;
         评估新的解决方案和更新的光强度;
      end for j
   end  for i
   排名萤火虫和找到当前最佳;
end while
处理后的结果和可视化;
end

對於任何一兩隻螢火蟲的主要更新公式 and

其中是步長參數, e 是一個矢量(服從高斯或其他的分布)。

可以證明在的情況,FA可以簡化為 准粒子群優化(PSO).事實上,,如果內環(j)條被刪除,亮度 替換為當前的全球最佳,FA基本上成為標準PSO。

Remove ads

螢火蟲算法的變種

離散螢火蟲算法(DFA)

離散形式的螢火蟲算法(Discrete Firefly Algorithm,DFA)[3] DFA優於現有算法如蟻群算法。

對於圖像分割,基於FA-方法比Otsu的方法更為有效.[4] 同時, 離散螢火蟲算法對QAP問題,Durkota已進很好的實現行[5]

針對負荷預測中的特徵選擇問題,應用FA實現Wrapper特徵選擇算法. [6]

多目標螢火蟲算法

Apostolopoulos and Vlachos對FA進行了一個重要的多目標研究[7]。同時,Yang提出了多目標螢火蟲算法(Multiobjective Firefly Algorithm,MOFA),對連續優化問題有很好的效果[8]

拉格朗日FA

拉格朗日螢火蟲算法用來解決電力系統優化單元承諾問題[9]

混沌FA

混沌螢火蟲算法(Chaotic Firefly Algorithm,CFA)也顯示了算法的有效性[10]

混合算法

螢火蟲算法與蟻群優化算法相結合的混合算法,能夠解決金融投資組合優化 [11]

基於螢火蟲算法的 Memetic 算法

一種基於螢火蟲算法(FA)的Memetic算法(FA-MA)被用來優化支持向量機(SVR)預測模型的參數。在該FA-MA中,FA用來搜索全局解空間,而模式搜索(pattern Search) 被用來進行個體學習和局部解空間搜索。[12]

實際應用

螢火蟲算法已被應用到幾乎所有領域科學和工程,如數字圖像壓縮和圖像處理[13][14],特徵值優化[15],特徵提取和故障檢測[16][17],天線設計[18][19],工程結構設計[20], 調度和旅行商問題[21][22][23],語義組成[24],化學相平衡[25], 聚類[26],動態問題[27][28], 剛性圖像配准問題[29],參數選擇[30][12],蛋白質摺疊問題[31]等等。

參考文獻

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads