萤火虫算法

萤火虫算法

匿名 (未验证) 提交于 2019-12-03 00:27:02
原文链接: 萤火虫算法 自然启发式的元启发式算法,特别是基于群体智能的,在过去的 10 年中备受关注。萤火虫算法(firefly algorithm,FA)出现于 2008 年,相关文献随着应用的不断扩大而显著扩大。在本章中,我们首先介绍标准萤火虫算法,然后简要回顾一下变体。我们还分析了 FA 的特点,并试图回答 FA 为什么如此有效的问题。 FA 由 Xin-She Yang 于 2007 年底开发并于 2008 年发表 [48, 49]。 FA 基于萤火虫的闪烁模式和行为。因此,让我们首先描述热带萤火虫的闪烁行为。 在热带和温带地区,夏季天空中,萤火虫的闪烁是一个惊人的景象。大约有 2000 种不同的萤火虫,大多数萤火虫会产生短而有节奏的闪烁。对于特定某种萤火虫而言,其闪烁模式通常是独特的。闪烁由生物发光过程产生;这种信号系统的真正功能仍在争论中。然而可以确定,这种闪烁发光的两个基本功能是吸引交配伙伴(交流)并吸引潜在的猎物 [32]。此外,闪光也可以作为一种保护性的警告机制,提醒潜在的捕食者萤火虫的苦味。 有节奏的闪光、闪光的速度以及两次闪光之间的时间量构成了将两性聚集在一起的信号系统的一部分 [32]。雌性对同一物种中雄性特有的闪光模式作出应答,而在 Photuris 等物种中,雌性萤火虫可以偷听(eavesdrop)生物发光的求偶信号,甚至模仿其他物种的交配闪光模式

萤火虫算法-python实现

笑着哭i 提交于 2019-11-29 15:24:27
FAIndividual.py 1 import numpy as np 2 import ObjFunction 3 4 5 class FAIndividual: 6 7 ''' 8 individual of firefly algorithm 9 ''' 10 11 def __init__(self, vardim, bound): 12 ''' 13 vardim: dimension of variables 14 bound: boundaries of variables 15 ''' 16 self.vardim = vardim 17 self.bound = bound 18 self.fitness = 0. 19 self.trials = 0 20 21 def generate(self): 22 ''' 23 generate a random chromsome for firefly algorithm 24 ''' 25 len = self.vardim 26 rnd = np.random.random(size=len) 27 self.chrom = np.zeros(len) 28 for i in xrange(0, len): 29 self.chrom[i] = self.bound[0, i] + \ 30 (self

AGSO 萤火虫算法

杀马特。学长 韩版系。学妹 提交于 2019-11-26 17:59:35
-- 今天用LUA写了一个萤火虫算法..发现很差....可能写的不对..改天再改一下 1 --算法说明:荧火虫算法 2 3 4 -- ================================初始化开始================================ 5 domx = { { -1, 2 }, { -1, 2 } }; -- 定义域 6 rho = 0.4 --荧光素挥发因子 7 gamma = 0.6 -- 适应度提取比例 8 beta = 0.08 -- 邻域变化率 9 nt = 5 -- 邻域阀值(邻域荧火虫数) 10 s = 0.3 -- 步长 11 s1 = 0.03 -- 局部最优扰动 12 iot0 = 5 -- 荧光素浓度 13 rs = 1.5 -- 感知半径 14 r0 = 1.5 -- 决策半径 15 -- ================================初始化结束================================ 16 17 -- ===============================分配空间开始=============================== 18 m = 2 -- 解空间维数 19 n = 30 -- 群规模 20 gaddress = {} -- 分配荧火虫地址空间 21