Begin
1) 目的関数: ;
2) ホタル の初期状態を生成;
3) 光の強さ I を と関連付けられるように定義
(例えば, 最大化問題では, または単に ;)
4) 吸収係数 γ を定義
While (t < 世代数)
for i = 1 : n (すべての n 匹のホタル)
for j = 1 : i (n 匹のホタル)
if (),によって距離 r で 魅力度 を変化
ホタルi を ホタルj に移動;
新たな解を評価し、光の強さ I を更新;
end ifend for j
end for i
ホタルを順位付けし、現在の最良のホタルを見つける
end while
結果や視覚化の後処理
end
^Almasi, Omid N.; Rouhani, Modjtaba (2016). “A new fuzzy membership assignment and model selection approach based on dynamic class centers for fuzzy SVM family using the firefly algorithm”. Turkish Journal of Electrical Engineering & Computer Sciences4: 1–19. doi:10.3906/elk-1310-253.
^Weyland, Dennis (2015). “A critical analysis of the harmony search algorithm—How not to solve sudoku”. Operations Research Perspectives2: 97–105. doi:10.1016/j.orp.2015.04.001.
外部リンク
[1]本に含まれているMatlabプログラムファイル: Xin-She Yang, Nature-Inspired Metaheuristic Algorithms, Second Edition, Luniver Press(2010)