• 1.摘要
  • 2.基本信息
  • 3.算法描述
  • 4.萤火虫算法的变种
  • 4.1.离散萤火虫算法
  • 4.2.多目标萤火虫算法
  • 4.3.拉格朗日FA
  • 4.4.混沌FA
  • 4.5.混合算法
  • 4.6.Memetic算法
  • 5.实际应用
  • 6.参考资料

萤火虫算法

萤火虫算法(Firefly Algorithm)是一种启发式算法,灵感来自于萤火虫闪烁的行为。萤火虫的闪光,其主要目的是作为一个信号系统,以吸引其他的萤火虫。剑桥大学的Xin-She Yang(音译:杨新社)教授提出了萤火虫算法,其假设为:1

萤火虫不分性别,这样一个萤火虫将会吸引到所有其他的萤火虫;吸引力与它们的亮度成正比,对于任何两个萤火虫,不那么明亮的萤火虫被吸引,因此移动到更亮的一个,然而,亮度又随着其距离的增加而减少;如果没有比一个给定的萤火虫更亮的萤火虫,它会随机移动。

亮度应与目标函数联系起来。萤火虫算法是以自然为灵感的启发式优化算法。

基本信息

  • 中文名

    萤火虫算法

  • 外文名

    Firefly Algorithm

  • 类别

    仿生群智能优化算法

  • 提出者

    Xin-She Yang

  • 灵感来源

    来自于萤火虫闪烁的行为

  • 学科

    光学

算法描述

萤火虫算法的伪代码可以概括为:

Begin

1)目标函数image

2)生成一个萤火虫的初始人口image

3)制定光照强度l,因此,它与image(例如,对于最大化问题imageimage;

4)定义吸收系数image

while(T < MaxGeneration)

for i =1:n(所有n萤火虫)

for j =1:n(n萤火虫)

if({\displaystyle I_{j}>I_{i}}),

移动萤火虫i向j;

end if

吸引力与距离image;

评估新的解决方案和更新的光强度;

end for j

end for i

排名萤火虫和找到当前最佳;

end while