萤火虫算法

更新时间:2022-08-25 16:30

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

算法描述

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

Begin

1)目标函数

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

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

4)定义吸收系数

while(T < MaxGeneration)

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

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

移动萤火虫i向j;

end if

吸引力与距离;

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

end for j

end for i

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

end while

处理后的结果和可视化;

end

对于任何一两只萤火虫的主要更新公式是,其中是步长参数, e 是一个矢量(服从高斯或其他的分布)。

可以证明在的情况,FA可以简化为 准粒子群优化(PSO).事实上,,如果内环(j)条被删除,亮度 替换为当前的全球最佳,FA基本上成为标准PSO。

萤火虫算法的变种

离散萤火虫算法

离散形式的萤火虫算法(Discrete Firefly Algorithm,DFA)DFA优于现有算法如蚁群算法

对于图像分割,基于FA-方法比Otsu的方法更为有效.同时, 离散萤火虫算法对QAP问题,Durkota已进很好的实现行

针对负荷预测中的特征选择问题,应用FA实现Wrapper特征选择算法.

多目标萤火虫算法

Apostolopoulos and Vlachos对FA进行了一个重要的多目标研究。同时,Yang提出了多目标萤火虫算法(Multiobjective Firefly Algorithm,MOFA),对连续优化问题有很好的效果。

拉格朗日FA

拉格朗日萤火虫算法用来解决电力系统优化单元承诺问题。

混沌FA

混沌萤火虫算法(Chaotic Firefly Algorithm,CFA)也显示了算法的有效性。

混合算法

萤火虫算法与蚁群优化算法相结合的混合算法,能够解决金融投资组合优化。

Memetic 算法

一种基于萤火虫算法(FA)的Memetic算法(FA-MA)被用来优化支持向量机(SVR)预测模型的参数。在该FA-MA中,FA用来搜索全局解空间,而模式搜索(pattern Search) 被用来进行个体学习和局部解空间搜索。

实际应用

萤火虫算法已被应用到几乎所有领域科学和工程,如数字图像压缩和图像处理,特征值优化,特征提取和故障检测,天线设计,工程结构设计, 调度和旅行商问题,语义组成,化学相平衡, 聚类,动态问题, 刚性图像配准问题,参数选择,蛋白质折叠问题等等。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}