原文链接:萤火虫算法
自然启发式的元启发式算法,特别是基于群体智能的,在过去的 10 年中备受关注。萤火虫算法(firefly algorithm,FA)出现于 2008 年,相关文献随着应用的不断扩大而显著扩大。在本章中,我们首先介绍标准萤火虫算法,然后简要回顾一下变体。我们还分析了 FA 的特点,并试图回答 FA 为什么如此有效的问题。
FA 由 Xin-She Yang 于 2007 年底开发并于 2008 年发表 [48, 49]。 FA 基于萤火虫的闪烁模式和行为。因此,让我们首先描述热带萤火虫的闪烁行为。
在热带和温带地区,夏季天空中,萤火虫的闪烁是一个惊人的景象。大约有 2000 种不同的萤火虫,大多数萤火虫会产生短而有节奏的闪烁。对于特定某种萤火虫而言,其闪烁模式通常是独特的。闪烁由生物发光过程产生;这种信号系统的真正功能仍在争论中。然而可以确定,这种闪烁发光的两个基本功能是吸引交配伙伴(交流)并吸引潜在的猎物 [32]。此外,闪光也可以作为一种保护性的警告机制,提醒潜在的捕食者萤火虫的苦味。
有节奏的闪光、闪光的速度以及两次闪光之间的时间量构成了将两性聚集在一起的信号系统的一部分 [32]。雌性对同一物种中雄性特有的闪光模式作出应答,而在 Photuris 等物种中,雌性萤火虫可以偷听(eavesdrop)生物发光的求偶信号,甚至模仿其他物种的交配闪光模式,以引诱和吃掉误以为闪光是潜在合适配偶的雄性萤火虫。一些热带萤火虫甚至可以同步它们的闪光,从而形成新兴的生物自组织行为。
我们知道,在距光源特定距离 处的光强服从平方反比定律。也就是说,光强 随机距离 以 增强。此外,空气吸收光,随着距离的增加,光变得越来越弱。这两个因素结合在一起,使得大多数萤火虫在一个有限的距离能够被发现,在夜间通常是几百米,足以让萤火虫交流。
闪光可以通过与待优化的目标函数相关联的方式进行表达,从而可以制定新的优化算法。
现在我们可以理想化一些萤火虫的闪烁特性,从而开发出萤火虫启发(firefly-inspired)算法。为了简化描述标准 FA,我们现在使用以下三个理想化规则:
- 所有的信息都是无性别的,所以不论性别如何,一个萤火虫都会被其他萤火虫吸引。
- 吸引力与光线的亮度成正比。因此,对于任何两个萤火虫,发光较暗的将朝向发光较亮的。吸引力与亮度成正比,两者都随距离的增加而减小。如果没有比特定萤火虫更亮的萤火虫,它会随机移动。
- 萤火虫的亮度受目标函数的景观影响或由目标函数景观确定。
对于最大化问题,亮度可以简单地与目标函数的值成比例。其他形式的亮度可以用类似于遗传算法中的适应度函数的方式来定义。
根据这三条规则,FA 的基本步骤可以概括为下图所示的伪代码。

在萤火虫算法中,有两个重要问题:光强的变化和吸引力的表述。为了简单起见,我们总是可以假设光的吸引力取决于光的亮度,而光线的亮度又与编码后的目标函数有关。
对于最大化问题,最简单的情况是,特定位置 处光的亮度 可以选择为 。然而,吸引力 是相对的,应该在旁观者的眼中看到或者由其他萤火虫来判断。因此,它将随着萤火虫 和萤火虫 之间的距离 而变化。另外,光强随着光源的距离而减小,光也会被介质吸收,因此我们应该允许吸引力随吸收程度而变化。
在最简单的形式中,光强 根据平方反比定律变化,
其中 是光源处的强度。对于具有固定的光吸收系数 的给定介质,光强 随距离 而变化。即,
其中 是在零距离 处的原始光强度。为了避免表达式 在 处的奇异性,平方反比定律和吸收效应的组合效果可近似为以下高斯形式:
由于萤火虫的吸引力与相邻萤火虫所看到的光强成正比,所以我们现在可以定义萤火虫的吸引力 Ϊ
其中 是 处的吸引力。由于计算 通常比计算指数函数更快,所以如果需要,该函数可以方便地近似为
在某些应用中使用这种近似可能是有利的。4 和 5 都定义了特征距离 ,在此距离上,对于式 4 而言,吸引力从 显著变化到 ;对于式 5 而言,吸引力从 变化到 。
在实际实现中,吸引力函数 可以是任何单调减函数,如下面的一般形式:
对于固定的 ,特征长度变为
相反,在优化问题中,对于给定长度 ,参数 可以用作典型的初始值。即,