一种新颖的仿生群智能优化算法:萤火虫算法
萤火虫算法
2008年,Krishnanand, K.N. 和 Ghose, D. 给出了萤火虫群优化算法应用于多
2009年,Krishnanand, K.N.和 Ghose, D. 用萤火虫群优化算法来优化多极值函
数,并捕获多极值函数的多个局部最优值。此Krishnanand, K.N. 和 Ghose, D. 还用基于多种群的萤火虫群优化算法来检测环境中普遍存在的危险之源。
萤火虫算法简介
主要内容
1.算法产生背景; 2.算法原理; 3.算法实现 4.适用领域
算法产生背景
人工萤火虫群优化(Glowworm Swarm Optimization,GSO)算法是 印度学K.N.Krishnanand 和 D. Ghose 于 2005 年提出的一种新型群智能 优化算法。 算法思想源于模拟自然界中萤火虫在晚上群聚活动的自然现象而 提出的,在萤火虫的群聚活动中,各只萤火虫通过散发荧光素与同伴 进行寻觅食物以及求偶等信息交流。一般来说,荧光素越亮的萤火虫 其号召力也就越强,最终会出现很多萤火虫聚集在一些荧光素较亮的 萤火虫周围。人工萤火虫算法就是根据这种现象而提出的一种新型的 仿生群智能优化算法。在人工萤火虫群优化算法中,每只萤火虫被视 为解空间的一个解,萤火虫种群作为初始解随机的分布在搜索空间中, 然后根据自然界萤火虫的移动方式进行解空间中每只萤火虫的移动。 通过每一代的移动,最终使得萤火虫聚集到较好的萤火虫周围,也即 是找到多个极值点,从而达到种群寻优的目的。
算法原理
在基本人工萤火虫群优化算法中,每一只人工萤火虫都被随机 的分布在目标函数的定义空间内,这些萤火虫拥有各自的荧光素, 并且每一个萤火虫都有自己的视野范围,我们称之为决策域半径 (local-decision range)。每个萤火虫荧光素的亮度和自己所在位置对 应的目标函数的适应度值有关。荧光越亮的萤火虫表示它所在的 位置就越好,即它所对应的目标函数值也更优。萤火虫的移动方 式是:每个萤火虫在各自的视野范围内寻找邻域,在邻域中找到 发出荧光较亮的萤火虫从而向其移动。每次移动的方向会因为挑 选的邻域不同而改变。另外,萤火虫的决策域半径也会根据邻域 中萤火虫数量的不同而受影响,当邻域中萤火虫数目过少时,萤 火虫会加大自己的决策半径以便需找更多的萤火虫;反之,就会 减小自己的决策半径。最终,使得大部分萤火虫聚集在较优的位 置上。
萤火虫算法智能优化粒子滤波
第42卷第1期自动化学报Vol.42,No.1 2016年1月ACTA AUTOMATICA SINICA January,2016萤火虫算法智能优化粒子滤波田梦楚1薄煜明1陈志敏1,2吴盘龙1赵高鹏1摘要针对粒子滤波(Particlefilter,PF)重采样导致的粒子贫化以及需要大量粒子才能进行状态估计的问题,本文结合粒子滤波的运行机制,对萤火虫算法的寻优方式进行修正,设计了新的萤火虫位置更新公式和荧光亮度计算公式,并在此基础上提出了萤火虫算法智能优化粒子滤波.该方法引入了萤火虫群体的优胜劣汰机制以及萤火虫个体的吸引和移动的行为,使粒子群智能地向高似然区域移动,提高了粒子群的整体质量.实验表明该方法提高了粒子滤波的预测精度,同时大大降低了状态值预测所需的粒子数量.关键词粒子滤波,萤火虫算法,粒子贫化,状态估计引用格式田梦楚,薄煜明,陈志敏,吴盘龙,赵高鹏.萤火虫算法智能优化粒子滤波.自动化学报,2016,42(1):89−97DOI10.16383/j.aas.2016.c150221Firefly Algorithm Intelligence Optimized Particle Filter TIAN Meng-Chu1BO Yu-Ming1CHEN Zhi-Min1,2WU Pan-Long1ZHAO Gao-Peng1Abstract Given the particle impoverishment due to particlefilter(PF)resampling and given the need of a large number of particles for state estimate,the optimization mode offirefly algorithm is revised in combination with the operating mechanism of particlefilter,and a new update formula offirefly position is designed as well.On this basis,an intelligent optimized particlefilter offirefly algorithm is proposed.By means offirefly group s mechanism of survival of thefittest and individualfirefly s attraction and movement behaviors,this algorithm enables the particle swarm to move toward the high likelihood region with the purpose of improving the total mass of particle swarm.The experiment has shown that the algorithm has upgraded the prediction accuracy of particle swarm and substantially reduced the quantity of the particles required by the prediction of state value.Key words Particlefilter(PF),firefly algorithm,particle impoverishment,state estimationCitation Tian Meng-Chu,Bo Yu-Ming,Chen Zhi-Min,Wu Pan-Long,Zhao Gao-Peng.Firefly algorithm intelligence optimized particlefilter.Acta Automatica Sinica,2016,42(1):89−97非线性系统广泛存在于实际工程应用中,例如工业控制、目标跟踪、故障检测等,并且在系统中还可能存在非高斯噪声,这些因素会降低基于卡尔曼理论框架的常规滤波算法的性能[1−2].粒子滤波(Particlefilter,PF)[3]是一种基于蒙特卡罗思想的滤波技术,由于其状态函数和观测函数没有做非线性及非高斯的假设,因此粒子滤波可以不受系统非线性和非高斯噪声的限制.针对粒子滤波的权值退化问题,可以采用重采样方法进行解决[4].但是重采样算法仅复制大权值样本[5−6],会导致粒子的贫化收稿日期2015-04-13收修改稿日期2015-09-14Manuscript received April13,2015;accepted September14, 2015国家自然科学基金(61501521,U1330133,61473153,61403421,61 203266),国防重点预研资助项目(40405070102)资助Supported by National Natural Science Foundation of China (61501521,U1330133,61473153,61403421,61203266)and Key Defense Advanced Research Project of China(40405070102)本文责任编委王占山Recommended by Associate Editor WANG Zhan-Shan1.南京理工大学自动化学院南京2100942.中国卫星海上测控部江阴2144311.School of Automation,Nanjing University of Science and Technology,Nanjing2100942.China Satellite Maritime Tracking and Controlling Department,Jiangyin214431现象[7−8],即高权值粒子被多次复制,小权值粒子被直接舍弃.虽然较小权值的粒子对于目标状态估计的贡献有限,但是却代表着一定的状态信息,重采样阶段对粒子的舍弃,必将影响到状态估计的精度.针对粒子滤波的样本贫化问题,国内外学者进行了大量研究,文献[9]提出了基于权值选择的粒子滤波,该方法从大量粒子中选择权值较大的粒子用于下一时刻的状态估计,可以减轻粒子的贫化程度,但容易导致粒子权值的退化.文献[10]提出了确定性重采样粒子滤波算法,该算法避免对低权重粒子的盲目舍弃,从而确保粒子的多样性.文献[11]提出了饱和粒子滤波改进算法,根据不同系统的特点选择特定的重采样方法使粒子逼近真实值.但上述两种方法依然是基于传统重采样的框架,未能彻底解决粒子贫化的问题.基于群智能优化思想的PF是现代粒子滤波发展的一个崭新方向[12],将粒子滤波中的粒子视为生物集群中的个体,利用模拟生物集群的运动规律使粒子的分布更加合理.由于基于群智能优化的粒子滤波主要是对粒子的分布进行迭代寻优[13−14],并不90自动化学报42卷涉及对低权重粒子的舍弃,因此可以从根本上解决粒子的贫化现象.国内外学者已成功将蚁群算法、粒子群算法、遗传算法等经典群智能优化算法与粒子滤波进行结合,并在此基础上提出了各种改进算法.文献[15]将粒子群优化算法和蚁群优化算法的优化思想共同作用到粒子滤波的样本更新中,实现粒子之间信息共享,从而增强了算法的全局寻优能力.文献[16]提出了自适应粒子群优化改进粒子滤波算法,自适应地控制邻域粒子的数量,提高了样本分布的合理性和滤波的精度.文献[17]提出了基于遗传算法的粒子滤波,避免了粒子搜索区域的盲目扩大和粒子的早熟,提高了滤波算法的效率.萤火虫算法[18]由剑桥大学Yang于2009年提出,作为最新的群智能优化算法之一,该算法具有更好的收敛速度和收敛精度,且易于工程实现,但由于萤火虫算法自身运行机制的特殊性,将萤火虫算法与粒子滤波进行直接融合会存在难以避免的问题,例如粒子交互会导致运算复杂度的大幅增加、局部最优现象会导致鲁棒性的降低等,因此,目前国内外关于将萤火虫算法与PF进行融合的报道较少. 2014年,文献[19]虽然提出了基于人工萤火虫群优化的粒子滤波算法,但该算法只是利用了萤火虫算法的粒子转移公式用来重组样本,没有进行粒子的迭代寻优,并不是真正意义上的群智能优化粒子滤波算法,此外该算法仍然需要抛弃低权重的粒子,无法从根本上解决粒子的贫化现象.针对上述问题,本研究对萤火虫算法的位置更新机制和荧光亮度更新机制进行改进,利用全局最优信息指导粒子集的整体移动,成功地将萤火虫群优化思想和粒子滤波进行结合,避免粒子交互带来的运算复杂度的明显增加,同时很好地提高了粒子滤波的精度.1粒子滤波算法粒子滤波是贝叶斯估计基于抽样理论的一种近似算法,它将蒙特卡罗和贝叶斯理论结合在一起[20],其基本思想是在状态空间中寻找一组随机样本对条件后验概率密度进行近似,用样本均值代替原先需要根据后验概率密度函数所进行的积分运算,从而获得最小的方差估计.假定非线性动态过程表示如下:x k=f(x k−1,v k−1)(1)y k=h(x k,w k)(2)其中,x k为状态值,f(·)为状态函数,v k−1为系统噪声,y k为观测值,h(·)为观测函数,w k为量测噪声.设状态初始概率密度为p(x0|y0)=p(x0),则状态预测方程为p(x k|y1:k−1)=p(x k|x k−1)p(x k−1|y1:k−1)d x k−1(3)状态的更新方程为p(x k|y1:k)=p(y k|x k)p(x k|y1:k−1)p(y k|y1:k−1)(4)p(y k|y1:k−1)=p(y k|x k)p(x k|y1:k−1)d x k(5)设已知且易采样的重要性函数为q(x0:k|y1:k),将其改写成q(x0:k|y1:k)=q(x0)kj=1q(x j|x0:j−1,y1:j)(6)则权值公式为w k=p(y1:k|x0:k)p(x0:k)q(x k|x0:k−1,y1:k)q(x0:k−1,y1:k)=w k−1p(y k|x k)p(x k|x k−1)q(x k|x0:k−1,y1:k)(7)从p(x k−1|y1:k−1)中采样N个样本点{x ik−1}Ni=1,则概率密度为p(x k−1|y1:k−1)=Ni=1w ik−1δ(x k−1−x ik−1)(8)其中,δ(·)为狄拉克函数.概率密度更新公式为w ik=w ik−1p(y k|x ik)p(x ik|x ik−1)q(x ik|x ik−1,y k)(9)状态输出x k=Ni=1w ikx ik(10)从上述过程可以看出,从k=0时刻开始,粒子滤波系统首先对样本进行初始化.系统确定目标状态的先验概率,给每个粒子赋予相应的初始值.在下一时刻,系统首先进行状态转移,每个粒子按照设置的状态转移方程对自身的状态进行传播,然后进行系统观测,得到观测值,计算所有粒子的权重.最后进行粒子加权,从而得到后验概率的输出,同时样本经过重采样后继续进行系统状态的转移,构成了一个循环跟踪系统.2人工萤火虫群算法萤火虫算法是通过模拟萤火虫的群体行为构造出的一类随机优化算法[21].其仿生原理是:用搜索空间中的点模拟自然界中的萤火虫个体,将搜索和1期田梦楚等:萤火虫算法智能优化粒子滤波91优化过程模拟成萤火虫个体的吸引和移动过程,将求解问题的目标函数度量成个体所处位置的优劣,将个体的优胜劣汰过程类比为搜索和优化过程中用好的可行解取代较差可行解的迭代过程.目前公认的萤火虫算法有两种版本,一种是由印度学者Krishnanand等于2006年提出,称为GSO(Glowworm swarm optimization)[22];另一种由剑桥学者Yang等于2010年提出,称为FA(Fire-fly algorithm)[23].两种算法的仿生原理相同,但在具体实现方面有一定差异.考虑到与粒子滤波算法的相容性,本研究以FA为基础进行改进和扩展.在FA中,萤火虫发出光亮的主要目的是作为一个信号系统,以吸引其他的萤火虫个体,其假设为:1)萤火虫不分性别,它将会被吸引到所有其他比它更亮的萤火虫那去;2)萤火虫的吸引力和亮度成正比,对于任何两只萤火虫,其中一只会向着比它更亮的另一只移动,然而,亮度是随着距离的增加而减少的;3)如果没有找到一个比给定的萤火虫更亮,它会随机移动.如上所述,萤火虫算法包含两个要素,即亮度和吸引度.亮度体现了萤火虫所处位置的优劣并决定其移动方向,吸引度决定了萤火虫移动的距离,通过亮度和吸引度的不断更新,从而实现目标优化.从数学角度对萤火虫算法的主要参数进行如下描述:1)萤火虫的相对荧光亮度为I=I0×e−γr ij(11)其中,I0为萤火虫的最大萤光亮度,与目标函数值相关,目标函数值越优自身亮度越高;γ为光强吸收系数,荧光会随着距离的增加和传播媒介的吸收逐渐减弱;r ij为萤火虫i与j之间的空间距离.2)萤火虫的吸引度为β=β0×e−γr2ij(12)其中,β0为最大吸引度;γ为光强吸收系数;r ij为萤火虫i与j之间的距离.3)萤火虫i被吸引向萤火虫j移动的位置更新公式如式(13)所示:x i=x i+β×(x j−x i)+α×rand−12(13)其中,x i,x j为萤火虫i和j所处的空间位置;α∈[0,1]为步长因子;rand为[0,1]上服从均匀分布的随机数.3基于萤火虫算法智能优化的粒子滤波(F A-PF)传统的粒子滤波重采样方法通过删除小权值粒子集来避免粒子匮乏的现象,但经过多次迭代后,将带来粒子的贫化问题.针对以上问题,本研究提出利用萤火虫算法对粒子滤波进行优化的思想.萤火虫算法先将萤火虫群体随机分布在解空间中,每个萤火虫个体由于所处位置不同,其发出的荧光亮度也不同,通过比较荧光亮度,亮度高的萤火虫可以吸引亮度低的萤火虫向自身移动,移动的距离主要取决于吸引度的大小和步长的大小.根据式(4)来计算更新后的位置.这样通过多次移动后,所有个体都将聚集在亮度最高的萤火虫的位置上,从而实现最终的寻优.从上述运行机制看,可以考虑利用FA的群智能性优化粒子滤波的样本,但如果直接将萤火虫群优化思想与粒子滤波直接进行融合,会导致许多的问题(具体分析在第4.1节和第4.2节中).因此需要对萤火虫算法的内部寻优机制进行修正和改进.3.1改进位置更新公式针对FA-PF位置更新方式的设计,本文从运算复杂度和全局寻优能力两方面进行研究分析.1)在标准萤火虫群优化算法的寻优机制中,萤火虫根据其邻域中各个萤火虫的荧光素浓度来决定其移动方向,从位置更新公式可以看出,要完成该步骤,粒子滤波需要用粒子i(i=1,2,···,N,i=j)和其余粒子j(j=1,2,···,N,j=i)进行交互运算,这将使粒子滤波运算复杂度提高一阶,会严重影响滤波的实时性.2)在标准萤火虫算法的位置更新机制中,完成每次交互,都需根据最大吸引度、光强吸收系数以及距离等参数重新计算粒子i和每个粒子j之间的吸引度,这又从另外一个方面提高了粒子滤波的运算复杂度.3)萤火虫算法与其他群智能优化算法一样,都存在出现局部极值现象的可能性.Yang也意识到了这个问题,因此在位置更新公式中增加了扰动项α×(rand−1/2),该方法可以一定程度上降低局部极值出现的概率,但现有的研究均表明,在群智能优化算法中仅简单地增加rand扰动项来克服局部极值现象,效果并不理想.针对以上问题,本研究对萤火虫群优化算法的位置更新公式进行改进,设置粒子目标函数的计分板,将各个迭代子时刻的粒子目标函数值与计分板的目标函数值进行对比,从而得到当前滤波时刻所有粒子所经历的全局最优值,用全局最优值代替粒子j与粒子i进行信息交互.为此,重新定义萤火虫算法的位置更新公式:定义1.修正位置更新公式.x ik=x ik+β×gbest k−x ik+92自动化学报42卷α×rand−12(14)其中,x ik为序号为i的粒子在k时刻的状态值,β为粒子间的吸引度,α为步长因子,rand是[0,1]之间的随机数,gbest k为全局最优值.从理论上分析,首先,由于粒子群的全局最优值只有一个,因此粒子滤波中的粒子i只需与全局最优值进行对比,避免了高一阶的交互运算和对粒子间吸引度的重复计算,该阶段的运算复杂度可由原先的O(N2)减少至O(N),从而确保了滤波算法的实时性.其次,用全局最优值代替粒子j与粒子i进行信息交流,实质上是用全局最优值来指导粒子群的整体运动,可以明显提高萤火虫优化部分的全局寻优能力,从而可以明显降低出现局部极值的概率.最后,该改进思路可以使滤波算法用更少的迭代次数和粒子数寻找到更优值,这又从另一个方面明显减少粒子滤波的运算复杂度,更易于工程实现.3.2改进荧光亮度更新公式标准萤火虫算法中,每一只萤火虫都需要和其他的萤火虫对比在当前所处位置的荧光亮度,亮度高的萤火虫可以吸引亮度低的萤火虫向自己移动,若将该方式直接应用于粒子滤波,这会再次增加粒子滤波的运算复杂度.同时,本研究考虑到若要确保滤波器的精度,需在萤火虫的自适应迭代寻优中引入最新的观测值,因此本研究提出修正的荧光度计算公式.定义2.修正荧光亮度计算公式I=abs(z new−z pred(i))(15)其中,I为修正后的荧光亮度,z new为滤波器最新的观测值,z pred为滤波器预测的观测值.从修正后荧光亮度计算公式可以看出,其利用观测值和每个粒子的预测观测值进行对比,由于每个时刻的观测值只有一个,因此可以避免每一个粒子和其他的粒子对比在当前所处位置的荧光亮度所带来的运算复杂度.若要将修正荧光亮度计算公式扩充到多维情况下,其核心思路是求出预测观测值和最新观测值在多维空间中的空间差值,例如红外目标跟踪中的二维坐标信息,目标的预测坐标值为(x p,y p),最新观测坐标值为(x o,y o),则修正荧光亮度计算公式可以设计为I=abs(x p−x o)+abs(y p−y o)(16)如果是雷达目标跟踪中的三维坐标信息,目标的预测坐标值为(x p,y p,z p),最新观测坐标值为(x o, y o,z o),则修正荧光亮度计算公式可以设计为I=abs(x p−x o)+abs(y p−y o)+abs(z p−z o)(17) 3.3可行性分析修正后的萤火虫算法与原始萤火虫算法相比,其用全局最优值来代替粒子间的相互对比,这会提高萤火虫算法的全局寻优能力,且明显减少运算复杂度;但是辩证地说,这也降低了萤火虫算法的局部寻优能力,而上述修正萤火虫算法的特点是非常适用于粒子滤波的,首先,FA-PF是在标准粒子滤波的基础上进行萤火虫算法迭代寻优,而粒子滤波中状态值的分布本身就有一定的准确性,因此局部寻优能力的降低对粒子滤波影响不是很大;其次,FA-PF本身的迭代次数不是很多,因此其需要很强的全局寻优能力来指导粒子移动,而这正是修正萤火虫算法的特点;最后,修正萤火虫算法在运算实时性方面优势明显,这也是粒子滤波所迫切需要的.综上,本文提出的萤火虫算法智能优化粒子滤波是可行的.3.4算法具体实现和步骤步骤1.在初始时刻,采样N个粒子{x i,i= 1,···,N}作为算法的初始粒子.重要性密度函数用式(18)表示x ik∼qx ik|x ik−1,z k=px ik|x ik−1(18)步骤2.模拟萤火虫优化思想的吸引行为和移动行为.1)计算粒子i和全局最优值之间的吸引度.β=β0×e−γr2i(19)其中,β0为最大吸引度,γ为光强吸收系数,r i为粒子i与全局最优值gbest k之间的空间距离.2)根据吸引度更新粒子的位置.x ik=x ik+β×gbest k−x ik+α×rand−12(20)步骤3.计算并对比荧光亮度值,更新全局最优值.gbest k∈x1k,x2k,x3k,···,x Nk|I(x)=maxI(x1k),I(x2k),I(x3k),···,I(x Nk)(21)步骤4.从荧光度计算公式可以看出,荧光度值随预测观测值与真实观测值的差值呈反方向变化,本文设置迭代终止阈值为0.01,当荧光度函数值大于0.01时,则算法停止迭代,否则继续迭代至最大迭代次数.当算法符合设定的阈值ε时,说明粒子已经分布在真实值附近,或者达到最大迭代次数时,此时停止优化.否则转入步骤2.1期田梦楚等:萤火虫算法智能优化粒子滤波93步骤5.权重补偿及更新.萤火虫算法与PF结合的核心思路是对PF中的每一个粒子都进行萤火虫迭代寻优操作,使得粒子沿目标状态后验密度值更高的方向移动,提高粒子对状态估计的准确性.但萤火虫算法改变了各粒子在状态空间的位置,此时粒子集所表示的分布密度函数不再是p(x k|y1:k−1),这样贝叶斯滤波的理论基础会丢失.因此,本文借鉴文献[24]的思想,在粒子位置更新的同时对权重进行补偿及更新,其具体方式如下:w ik =p(x k=s ik|z1:k−1)q(s ik)p(z k|x k=s ik)(22)其中,s ik为k时刻的粒子i,q(·)为重要性函数.在权重补偿之后,优化前后的粒子集至少从理论上讲是服从同一分布的,即p(x k|y1:k−1),从而保持了贝叶斯滤波的理论基础.步骤6.进行归一化.w ik =w ikNi=1w ik(23)步骤7.状态输出.x=Ni=1w ikx ik(24)上述思路充分利用了整个粒子集中的有效信息,有利于粒子跳出局部极值,减少算法的迭代次数浪费在状态值变化不明显的情形,使得改进算法更多地由于达到初始设置的阈值ε而停止优化,减少了算法迭代至最大迭代次数才停止的概率,从而进一步提高了运算速度.在有效粒子样本的数量上,上述方式可以增加粒子的多样性,从而提高粒子样本的质量.由于萤火虫算法的收敛能力较强,因此我们在FA-PF中通过设置最大迭代次数和终止阈值的方式对算法的迭代次数进行限制,使得粒子群整体向真实区域移动,但又避免最终收敛,具体原因如下:1) FA-PF的核心思想是让粒子集对高似然区域有更合理的覆盖,既要有一定广度,保证能在下一时刻能捕获真实值,又要有一定集中度以保证采样效率,并不是要将粒子全部集中在真实值附近.如果所有的粒子均集中在真实值附近,反而会降低粒子的多样性.2)如果迭代次数过多,会造成FA-PF的运算复杂度较PF有明显提高,这会降低FA-PF的实时性. 4仿真实验实验硬件条件为英特尔i5-4200U处理器、8G 内存,软件环境为Matlab2010b,选取单变量非静态增长模型,仿真对象的过程模型和量测模型如下:过程模型:x(t)=0.5x(t−1)+25x(t−1)1+[x(t−1)]2+8cos[1.2(t−1)]+w(t)(25)量测模型:z(t)=x(t)220+v(t)(26)式中,w(t)和v(t)为零均值高斯噪声.由于该系统是高度非线性,并且似然函数呈双峰状,因此,传统的滤波方法很难处理此系统.设系统噪声方差Q= 1和Q=10,量测噪声方差R=1,滤波时间步数为50,在萤火虫算法中,一般设置最大吸引度为[0.8, 1]区间内的常数,本文设置最大吸引度为0.85;步长因子一般设置为[0,1]之间的常数,步长因子越高,则全局寻优能力越强,但会降低收敛精度;步长因子越低,则局部寻优能力越强,但会降低收敛速度,本文设置步长因子为0.4.此外,光强吸收系数一般情况下设置为1.上述设置均是在参考现有文献通常参数设置的基础上,经过多次实验得到.根据前期研究,目前较为通用的设置为最大吸引度为1、步长因子为0.3、最大光强吸收系数为1,萤火虫算法FA在群智能优化算法中,所需设置的参数相对较少,一般情况下该通用设置可以使得FA-PF在多数非线性问题中均取得优于PF的效果,但不一定是最佳效果,因此需要在上述通用设置的基础上利用数值法进行参数微调,这样可以取得最佳效果.本文利用PF和FA-PF 对该非线性系统进行状态估计和跟踪.均方根误差公式为RMSE=1TTt=1(x t− x t)212(27)为了证明FA-PF的优势,这里在仿真实验中将FA-PF同时和PF以及粒子群优化粒子滤波(Par-ticle swarm optimized particlefilter,PSO-PF)[25]进行对比测试.在PSO-PF部分,设置学习因子c1 =c2=2,惯性权重线性递减,其最大值为0.9,最小值为0.3.4.1精度测试1)当粒子数N=20、Q=1时,仿真结果如图1和图2所示.2)当粒子数N=50、Q=1时,仿真结果如图3和图4所示.3)当粒子数N=100、Q=1时,仿真结果如图5和图6所示.94自动化学报42卷图1滤波状态估计(N =20,Q =1)Fig.1State estimation of filter (N =20,Q =1)图2滤波误差绝对值(N =20,Q =1)Fig.2Absolute value of filter error (N =20,Q =1)图3滤波状态估计(N =50,Q =1)Fig.3State estimation of filter (N =50,Q =1)图4滤波误差绝对值(N =50,Q =1)Fig.4Absolute value of filter error (N =50,Q =1)图5滤波状态估计(N =100,Q =1)Fig.5State estimation of filter (N =100,Q =1)图6滤波误差绝对值(N =100,Q =1)Fig.6Absolute value of filter error (N =100,Q =1)1期田梦楚等:萤火虫算法智能优化粒子滤波95表1实验结果对比Table1Comparison of simulation results参数RMSE运算时间(s)PF PSO-PF FA-PF PF PSO-PF FA-PFN=20,Q=1 6.5276 4.6309 4.28620.09280.12590.1108N=50,Q=1 5.5987 4.2807 4.10670.11670.14920.1367N=100,Q=1 4.7243 4.1109 4.09290.12450.19770.1674N=20,Q=107.8860 5.3516 5.02350.09470.12840.1162N=50,Q=10 6.2733 4.8920 4.70430.11500.15760.1425N=100,Q=10 5.3569 4.5583 4.54810.12330.20310.1739从图1∼6中可以看出,相对于标准PF和PSO-PF,本文提出的FA-PF算法具有更精确的状态值预测精度,这是因为FA-PF在PF的基础上,通过迭代寻优的粒子状态更新方式提高了粒子分布的合理性.从表1中可以看出,FA-PF在粒子数为20的情况下,无论是在运算时间还是在运算精度上,均优于粒子数为100的PF,说明了FA-PF 可以用很少的粒子数达到所需的精度,且具有很高的精度速度综合性价比.但我们也看到,FA-PF与PSO-PF相比,前者在粒子数为20和50时精度优势更为明显,而当粒子数为100时,两者的精度大致相同,这说明FA-PF更适合在粒子数更少的情况下使用.此外,与PSO-PF相比,FA-PF的位置更新公式的运算操作数相对更少,因此其整体运算时间也是略小于PSO-PF.综上分析,FA-PF具有更高的运算综合效率.从理论上说,粒子滤波的运算复杂度与粒子数呈近似线性关系,但本节仿真测试的目的之一是为了证明FA-PF可以利用很少的粒子数达到所需的精度,因此在实验中设置的粒子数较少,而粒子数从20提高到100所增加的时间远小于仿真程序启动运行等动作的基本时间开销,这里不能体现出近似线性的关系,若在此基础上进一步增加粒子数,则可体现出明显的近似线性的关系.4.2粒子多样性测试为了测试FA-PF运行时的样本多样性,也结合实际应用中滤波器长时间工作的需求,这里将运行步数增加至100.取滤波器在k=10、k=25、k= 95时刻的粒子分布情况,如图7∼9所示.从图7∼9可以看出,标准PF算法的粒子多样性表现较为一般,尤其在滤波后期,粒子分布往往集中在少数的状态值上,降低了粒子的多样性,不利于滤波器的状态估计.而在FA-PF中,粒子在整体向高似然真实区域移动的同时,在低似然区域也合理地保留了部分粒子,其在整个滤波的过程中确保了粒子多样性.此外,FA-PF没有进行传统的重采样,可以避免粒子贫化现象的出现.图7k=10时粒子状态分布情况Fig.7Particle distribution when k=10图8k=25时粒子状态分布情况Fig.8Particle distribution when k=25。
群智能优化算法及其应用
群智能优化算法及其应用随着复杂问题的不断涌现,传统优化算法往往难以求解出满意解。
而群智能优化算法作为一种新型的优化策略,以其强大的自组织、协作和学习能力,在解决这类问题上具有显著优势。
本文将介绍群智能优化算法的背景、概念及其应用,展望未来的研究方向和挑战。
群智能优化算法是一类基于群体行为启发的优化算法,通过模拟自然界中生物群体觅食、协作等行为来求解优化问题。
这类算法包括蚁群算法、粒子群算法、蜂群算法等,它们都具有以下特点:群体协作:群智能优化算法利用群体中个体的协作和信息共享机制,共同寻找最优解。
分布式计算:群智能优化算法采用分布式计算方式,将问题分解成若干个子问题,交由不同个体进行处理。
自适应调整:群智能优化算法能够根据问题的特性和解的分布情况,自适应地调整算法参数和策略。
蚁群算法是一种模拟蚂蚁觅食行为的优化算法,通过蚂蚁之间留下的信息素来指导寻优过程。
其应用领域广泛,包括函数优化、路径规划、任务调度等。
然而,蚁群算法易出现早熟收敛和信息素更新方式单一的问题。
粒子群算法是通过模拟鸟群飞行行为来求解优化问题的一种算法,每个粒子代表一个潜在解。
粒子群算法在求解多目标优化、约束优化等问题上具有较好表现,但可能陷入局部最优解。
蜂群算法是一种模拟蜜蜂觅食和酿蜜行为的优化算法,通过蜜蜂之间的协作和信息共享来寻找最优解。
蜂群算法在处理复杂优化问题时具有较高效率和鲁棒性,适用于多目标优化、约束优化等领域。
群智能优化算法在解决优化问题上具有广泛应用,除了上述的蚁群算法、粒子群算法和蜂群算法,还包括遗传算法、模拟退火算法、灰色狼群算法等。
这些算法在解决不同类型的问题时具有各自的优势和适用范围。
遗传算法是模拟生物进化过程的优化算法,通过选择、交叉和变异操作来产生新的解。
遗传算法在求解大规模、高维度优化问题时具有较好表现,但可能存在早熟收敛和计算效率低下的问题。
模拟退火算法是模拟固体退火过程的优化算法,通过引入随机因素来避免陷入局部最优解。
萤火虫算法研究综述
萤火虫算法研究综述王沈娟;高晓智【摘要】作为一种新兴的群智能优化方法,萤火虫算法具有简单易懂、参数少和易实现等优点,已经在诸多领域取得了较好的应用.为了使该算法能够更有效地解决不同的优化问题,需要对标准萤火虫算法进行改进或混合其他算法.介绍了萤火虫算法的原理及其应用领域,重点分析了算法的改进策略,并提出了算法进一步研究的方向.【期刊名称】《微型机与应用》【年(卷),期】2015(034)008【总页数】4页(P8-11)【关键词】群智能;萤火虫算法;混合算法;优化【作者】王沈娟;高晓智【作者单位】上海海事大学信息工程学院,上海201306;上海海事大学信息工程学院,上海201306;阿尔托大学自动化与系统技术系,赫尔辛基FI-00076【正文语种】中文【中图分类】TP301群智能是一种通过简单个体的行为,以某种形式聚集协同,使群体在没有集中控制的情况下所表现出的智能行为[1]。
群智能优化算法是一种对自然界中生物的群体行为的模拟,并用数学形式表达出来的方法。
典型的群智能优化算法有两个,即蚁群优化算法(Ant Colony Optimization,ACO)和粒子群优化算法(Particle Swarm Optimization,PSO)。
剑桥学者Yang Xinshe根据萤火虫个体的发光特性和相互吸引的行为,于2008年提出了萤火虫算法(Firefly Algorithm,FA)[2]。
FA是继PSO和ACO之后,又一新颖的群智能启发式优化算法,具有概念简单、需要调整的参数少、易于应用和实现等优点。
萤火虫算法是一种高效的优化算法,已成为众多学者研究的热点,在诸多领域得到了较好的应用。
但标准萤火虫算法无法有效解决不同的优化问题,因此需要对其进行改进研究。
萤火虫算法是基于以下三个理想化的特征提出的:(1)萤火虫不分性别,即萤火虫之间的相互吸引只考虑个体发光的亮度;(2)吸引力与发光亮度成正比,与个体之间的距离成反比;(3)萤火虫的亮度由待优化的目标函数值决定,即Ii=f (xi)。
(参考)萤火虫算法及其应用研究
摘要萤火虫算法(Firefly Algorithm,FA)是受自然界中的萤火虫通过荧光进行信息交流这种群体行为的启发演变而来。
它是由剑桥大学的Xin-She Y ang教授在2009年提出的,它作为一种新颖的仿生群智能优化算法,有较大的研究空间。
近几十年来随着越来越多的仿生群智能算法的提出,人们对于这些算法的认识和研究也逐步加深。
本文先介绍群智能优化算法的理论概念,然后着重通过对萤火虫算法仿生原理的了解,从数学的角度对萤火虫算法进行合理的描述和过程的定义,最后编写该算法的matlab代码实现对3个峰值函数进行仿真测试,得出其测试结果。
同时用遗传算法对同样的测试函数也进行仿真测试,得出其测试结果。
最后通过测试结果比较萤火虫算法和遗传算法分别在对峰值函数寻优结果的精确度。
在比较过程中,可以根据测试结果发现,萤火虫算法在对峰值函数的寻优结果的精确度优于遗传算法。
这表明了萤火虫算法在连续空间优化的可行性和有效性,同时也表明了萤火虫算法具有良好的应用前景。
关键词:萤火虫算法,仿生群智能优化算法,优化分析,遗传算法ABSTRACTThe Firefly Algorithm (FA) is affected by the nature of the Firefly exchange of information through a fluorescence inspired this kind of crowd behavior has evolved. It is made by Xin - She Y ang professor at the university of Cambridge in 2009, as a novel bionic swarm intelligent optimization algorithm, has a large research space. In recent decades as more bionic swarm intelligent algorithm is put forward, people also gradually deepen to the understanding and research of those algorithms.First,it is introduced in this paper theoretical concepts of swarm intelligence optimization algorithm, and then emphatically through the understanding of firefly algorithm bionic principle, from the perspective of mathematical descriptions of firefly algorithm is reasonable and the definition of the process, finally ,writes matlab code of the algorithm to realize the three peak function simulation test, to test results. At the same time with the genetic algorithm on the same test function, simulation test, to test results. Finally by comparing test results of firefly algorithm and genetic algorithm in the accuracy of the optimization results of peak function respectively. In the process of comparison, according to the result of test, it can shows that the firefly algorithm on the accuracy of the optimization results of peak function is superior to genetic algorithm. It shows that the feasibility and effectiveness of firefly algorithm in the continuous space optimization, but also shows that the firefly algorithm has a good application prospect.Keywords:firefly algorithm, The bionic swarm intelligent optimization algorithm, Optimization analysis, genetic algorithm目录摘要 (I)ABSTRACT (II)目录 ...................................................................................................................................... I II 第一章绪论 . (1)一、研究的背景及意义 (1)二、群智能优化算法的研究现状 (1)三、本论文的内容和结构 (2)第二章群智能优化理论 (4)一、群智能优化算法的概述 (4)二、模拟退火算法 (4)三、遗传算法 (5)四、蚁群算法 (7)五、粒子群优化算法 (8)六、人工萤火虫群优化算法 (9)七、人工鱼群算法 (11)第三章萤火虫算法 (13)一、萤火虫算法的概念 (13)二、萤火虫算法的国内外研究现状 (13)三、萤火虫算法的仿生原理 (14)四、萤火虫算法的数学描述与分析 (15)五、萤火虫算法的流程 (16)六、实现萤火虫算法的matlab代码 (16)第四章仿真实验与分析 (22)一、三个测试函数的介绍 (22)二、FA和GA对F1(x)的仿真测试 (22)三、FA和GA对F2(x)的仿真测试 (25)四、FA和GA对F3(x)的仿真测试 (27)五、测试结果分析 (30)结论 (31)致谢 (32)参考文献 (33)第一章绪论一、研究的背景及意义在现实生活中,许多优化问题要求人们不仅要计算出其极值,还要得出其最优值。
萤火虫扰动算法
萤火虫扰动算法(Firefly Algorithm)是一种模拟自然界萤火虫群体行为的优化算法,用于解决优化问题。
这个算法最初由Xin-She Yang在其2010年的研究论文中提出。
萤火虫扰动算法通过模拟萤火虫在搜索食物的过程中相互之间的光信号交流来实现优化。
以下是萤火虫扰动算法的基本原理和步骤:
基本原理:
1.吸引度:萤火虫的光亮程度被称为吸引度,与其所在位置的适应度(即解
的优劣)有关。
适应度越高的解,其吸引度越大。
2.运动:萤火虫根据其吸引度和与其他萤火虫的距离来调整其位置,目标是
向适应度更高的解靠近。
3.扰动:为了增加算法的全局搜索能力,引入了随机扰动,使得萤火虫有概
率在搜索空间中随机移动。
算法步骤:
1.初始化群体:随机生成初始萤火虫群体,并计算每个萤火虫的适应度。
2.迭代:对于每一代,按照吸引度和距离调整萤火虫的位置。
即,每个萤火
虫根据其他萤火虫的吸引度和相对位置来移动。
3.扰动:对群体中的每个萤火虫,有一定概率进行随机扰动。
4.适应度评估:计算新位置的适应度。
5.更新:根据适应度的改变更新萤火虫的位置。
6.终止条件:根据预定的停止条件(迭代次数、适应度阈值等)决定是否终
止算法。
代码示例(简化):
以下是萤火虫扰动算法的简化代码示例,其中假设优化目标是最小化的:
这只是一个简化的示例,实际应用中,可能需要根据问题的特点调整参数,或者在更复杂的问题中使用更复杂的扰动和移动策略。
几种改进的萤火虫算法性能比较及应用
几种改进的萤火虫算法性能比较及应用作者:马良玉曹鹏蕊来源:《软件导刊》2017年第01期摘要摘要:萤火虫算法(FA)是继粒子群算法、遗传算法、模拟退火算法等经典智能算法之后,由剑桥学者Yang Xin-she提出的一种模仿自然界萤火虫捕食、求偶行为的新颖的群体智能随机优化算法。
该算法近年来逐渐在不同优化领域得以成功应用,但也存在易陷入局部最优、算法过早收敛等问题,为此许多学者对萤火虫算法进行了改进。
针对基于惯性权重的萤火虫算法、基于混沌算法的萤火虫算法这两种改进算法,通过几种标准检验函数对各算法的性能进行详细的仿真、比较,得出具体试验结果。
在控制系统PID参数优化中应用改进后的萤火虫算法,仿真结果表明改进后的萤火虫算法寻优精度和搜索速度均优于基本粒子群算法。
关键词关键词:萤火虫算法;惯性权重;混沌算法;函数优化;比较研究;PID;粒子群算法DOIDOI:10.11907/rjdk.162200中图分类号:TP312文献标识码:A文章编号文章编号:16727800(2017)001002105引言2008 年,Yang[1]通过对萤火虫个体相互吸引和移动过程的研究,提出了一种新型群体智能优化算法,即萤火虫算法(Firefly Algorithm,FA)。
虽然目前萤火虫算法还缺乏完备的数学理论基础,但已有研究结果表明,萤火虫算法具有较高的寻优精度和收敛速度,是一种可行有效的优化方法,为智能优化提供了新思路[2],已经在诸多领域得以应用[37]。
但萤火虫算法作为一种新的群体智能仿生优化算法,发展时间尚短,算法本身存在着对于初始解分布的依赖性、后期收敛速度慢、易于停滞、早熟和求解精度低等缺陷。
近几年,相关学者对其进行了多角度的改进。
Lukasik等[8]于2009 年对FA 进行了改进,并对算法的参数进行研究,改进后的FA 提高了求解精度,但求解速度较慢。
冯艳红等[9]提出了基于混沌理论的动态种群萤火虫优化算法(CDPFA),该算法运用立方映射混沌初始化萤火虫初始位置,取得了较好的效果,进一步提高了算法的寻优精度和求解速度。
群智能优化算法_萤火虫算法
光 素 更 新 率 γ=0.6,初 始 荧 光 素 大 l0=5,感 知 范 围 r0=10,β=0.08,最 大 迭代次数 200。 粒子群算法种群规模为 50,惯性权重 ω=0.5,学习因子
c1=c2=2,最大迭代次数 200。 测试函数
(1) Schaffer F6
姨2
22
F1 (x)=0.5+ sin
差异。
本文分析了萤火虫算法的仿生原理,并从数学角度对两种版本的
算法实现优化过程进行定义。
1.GSO 算法
1.1 算法的数学描述与分析
在基本 GSO 中,把 n 个萤火虫个体随机 分 布 在 一 个 D 维 目 标 搜
索空间中,每个萤火虫都携带了萤光素 li。 萤火虫个体都发出一定量
的 萤 光 相 互 影 响 周 围 的 萤 火 虫 个 体 ,并 且 拥 有 各 自 的 决 策 域 rid( 0<rid ≤rs)。 萤火虫个体的萤光素大小与自己所在位置的目标函数有关,荧 光素越大,越亮的萤火虫表示它所在的位置越好,即有较好的目标值,
li(t)=(1-ρ)li(t-1)+γJ(xi(t))
(1)
其中,J(xi(t))为每只萤火虫 i 在 t 迭代的位置 xi(t)对 应 的 目 标 函 数
值;li(t)为荧光素值转化为荧光素值;γ 为荧光素更新率。
定义 2 概率选择 选择移向邻域集 Ni(t)内个体 j 的概率 pij(t):
pij(t)= lj(t)-li(t)
群智能算法是人们受自然界或生物界种群规律的启发, 根据其
原理,仿生模拟其规律而设计求解问题的算法。 近几十年来, 人们通
过模拟自然生态系统机制以求解复杂优化问题的仿生智能算法相继
萤火虫算法的改进分析及应用
萤火虫算法的改进分析及应用作者:王吉权王福林来源:《计算机应用》2014年第09期摘要:针对萤火虫算法(FA)在求解有约束全局优化问题时,存在初始种群不易产生、相对吸引力的大小与萤火虫的绝对亮度无关、惯性权重没有充分利用目标函数信息、不能更好地控制和约束萤火虫的移动距离等缺点,提出一种改进的萤火虫算法。
首先,给出了一种基于遗传算法(GA)的初始种群产生方法,提高了初始种群的产生速度;其次,给出了一种基于目标函数的动态自适应惯性权重萤火虫算法,以提高萤火虫算法收敛速度;另外,给出了一种相对吸引力大小与萤火虫的绝对亮度有关的吸引力的计算方法;最后,为了控制和约束萤火虫位置的移动距离,将压缩因子引入到萤火虫算法的位置更新公式中,从而提高了算法收敛速度。
4个测试函数的计算结果表明,与标准FA和基于惯性权重的萤火虫算法相比,改进的萤火虫算法运算速度明显提高,迭代次数明显减少,从而验证了改进萤火虫算法的有效性。
关键词:萤火虫算法;初始种群;惯性权重;相对吸引力;压缩因子0引言2008年,Yang[1]通过对萤火虫个体的相互吸引和移动过程的研究,提出了一种新型群智能优化算法,即萤火虫算法(Firefly Algorithm, FA)。
虽然目前萤火虫算法还没有完备的数学理论基础,但已有的仿真实验结果表明,萤火虫算法具有较高的寻优精度和收敛速度,是一种可行有效的优化方法,为智能优化提供了新思路[2]。
由于萤火虫算法具有计算效率高、需要设置的参数少、操作简单、易于实现等特点,已在函数优化[3]、图像处理[4,5]、经济调度[6-7]、数据挖掘[8]、神经网络训练[9]、工业优化[10]、路径规划[11-12]等领域得到了广泛的应用。
4结语一些智能优化方法在求解有约束优化问题时,如果约束条件较多,用随机方法和文献[17]给出的方法产生初始种群需要花费很长时间,为此给出了一种基于遗传算法的初始种群产生方法。
示例计算结果表明,基于遗传算法的初始种群产生方法的初始种群产生速度比随机产生方法和文献[17]中给出的方法明显提高。
一种新颖的改进萤火虫算法
一种新颖的改进萤火虫算法
左仲亮;郭星;李炜
【期刊名称】《微电子学与计算机》
【年(卷),期】2017(34)9
【摘要】为了克服原始萤火虫算法(Glowworm swarm optimization,GSO)对于多峰函数寻优精度不高和后期收敛速度较慢的问题.为此,本文针对性的提出了一种改进的动态步长自适应的萤火虫优化算法.采用该算法的改进思想,能在一定的程度上避免算法因为过早的成熟而陷入局部最优,并且改进的算法比原始萤火虫算法有着更好的收敛精度.Matlab实验仿真表明,改进算法在一定程度上提高了收敛速度和寻优精度.
【总页数】5页(P15-19)
【关键词】萤火虫算法;多峰函数;动态步长;自适应
【作者】左仲亮;郭星;李炜
【作者单位】安徽大学计算智能与信号处理重点实验室;安徽大学计算机科学与技术学院
【正文语种】中文
【中图分类】TP393
【相关文献】
1.一种新颖的仿生群智能优化算法:萤火虫算法 [J], 刘长平;叶春明
2.一种改进的模拟退火萤火虫混合算法求解0/1背包问题 [J], 任静敏; 潘大志
3.一种基于深度学习的改进萤火虫频谱分配算法 [J], 苏慧慧; 彭艺; 曲文博
4.一种基于深度学习的改进萤火虫频谱分配算法 [J], 苏慧慧; 彭艺; 曲文博
5.一种新颖的萤火虫算法求解PID控制器参数自整定问题 [J], 顾忠伟;徐福缘因版权原因,仅展示原文概要,查看原文内容请购买。
常见的群体智能算法
常见的群体智能算法一、引言群体智能算法是一类仿生算法,通过模拟自然界中群体的行为和智能来解决各种优化问题。
这类算法具有全局搜索能力、适应性强、鲁棒性好等优势,被广泛应用于优化问题的求解。
本文将介绍几种常见的群体智能算法。
二、粒子群优化算法(Particle Swarm Optimization,PSO)粒子群优化算法是由Kennedy和Eberhart于1995年提出的,其灵感来源于鸟群觅食行为。
算法通过维护一群粒子的位置和速度,并根据粒子自身的历史经验和全局最优位置来更新粒子的位置和速度,以实现搜索最优解的目标。
PSO算法简单易实现,但容易陷入局部最优。
三、人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)人工鱼群算法是由Xin-She Yang于2008年提出的,其灵感来源于鱼群觅食行为。
算法通过模拟鱼群的觅食和追随行为来搜索最优解。
每个鱼代表一个解,通过调整鱼的位置和状态来进行搜索。
人工鱼群算法具有全局搜索能力和自适应性,但对参数的选择较为敏感。
四、蚁群优化算法(Ant Colony Optimization,ACO)蚁群优化算法是由Marco Dorigo于1992年提出的,其灵感来源于蚂蚁寻找食物的行为。
算法通过模拟蚂蚁释放信息素和觅食的行为来搜索最优解。
蚂蚁释放的信息素会在路径上积累,其他蚂蚁会根据信息素浓度选择路径。
蚁群优化算法具有全局搜索能力和自适应性,但对问题的建模较为复杂。
五、人工免疫算法(Artificial Immune Algorithm,AIA)人工免疫算法是由De Castro和Von Zuben于2002年提出的,其灵感来源于人类免疫系统的工作原理。
算法通过模拟免疫系统的自我学习和适应性来搜索最优解。
免疫算法通过抗体和抗原之间的相互作用来进行搜索,其中抗体代表解,抗原代表问题。
人工免疫算法具有全局搜索能力和自适应性,但对参数的选择较为困难。
具有群体智能的改进萤火虫优化算法
S t e p 1划分族群 。 依 据 目标函数值来对青蛙作 降序排 列, 并在 m个族群当中进行平均的分配, 这样 , n F= mx n 就代表各族群 内的
青蛙数量 。 如 群组内青 蛙的数量 用 表示 , 就有 了如下公 式:
:
{ + m ( H ) ( f ) I l ≤ z ) , 1 ≤ ≤
1 GS 0和SF L A
1 . 1萤 火 虫优 化 算 法 萤火 虫 优 化 算 法始 于 2 0 0 5 年, 当时, 是 Kr i  ̄ d 等人 在 借 鉴 群智能优化理论 的基础上所提 出的 。 在 目标函数维解空间当中分布
荧光 素和决策范围均相 同, 在 时刻 t , 依据公式( 1 ) 来进行 l k ( t ) 的更 新:
内, 相 比于 个 体 组 成领 域 集 N k ( t ) , 萤 火 虫 对 于 荧 光 素 的 选择 要 多 ,
X k ( t + 1 ) : ( f ) + ・ I ( ( f ) 一 以( f ) ) ( f ) 一 ( f ) l I _
厂 、
( 2 )
=
{
6 . 7 1 2 1
l 5 . 1 2 8
黼 撇糯 窖 蟊 姥 鳢
1 . 4 2 1 6
7 . 3 9 2
{ ( f ) , … , ( f ) , … , ( f ) }k = 1 2一 , F, 第七 只青蛙的位置为 ( t ) = ( f ) , : ( f ) , …, X k n ( f ) } , 因此S F L A 实现过程可以描述为:
l k ( t ) = ( 1 一 p ) ( t 一 1 ) 十 z S E X  ̄ ( t ) l
萤火虫算法原理
萤火虫算法原理
萤火虫算法(Firefly Algorithm,FA)是在2008 年由英国剑桥学者Yang 提出的一种新型启发式智能优化方法,其基本思想来源于萤火虫成虫利用发光的生物学特性而表现出来的觅食、求偶、警戒等社会性行为。
该算法根据萤火虫的位置刻画萤火虫个体的自身亮度和对其它萤火虫的吸引度的大小,萤火虫的亮度越高,说明其所处的位置越好,吸引度就越大。
每个萤火虫根据其邻域结构内同伴的亮度和吸引度进行移动更新,从而实现位置优化的目的。
为了简单起见,可以将这些发光特征理想化为以下三条规则:
所有的萤火虫都是不分性别的,所以一只萤火虫会被其他萤火虫吸引,而不管它们的性别是什么;
吸引力与它们的亮度成正比,因此对于任何两只闪烁的萤火虫,较弱的那只会向较亮的那只移动;吸引力与亮度随着距离的增加而减少,如果没有比萤火虫更亮的萤火虫(亮度相同),它就会随机移动;
萤火虫的亮度或光强受要优化的目标函数的影响。
对于最大化问题,亮度可以简单地与目标函数成比例。
该方法性质简单,适用于求解连续数学函数。
萤火虫算法
萤火虫算法萤火虫算法是一种著名的算法,由美国数学家和数学大师帕森斯在1965年提出。
该算法是一个线性规划问题,其方法是先进行一个初始条件的求解,并将原始的求解结果,以“最小化函数”等形式保留下来。
此算法可用于各种数学计算领域,如:智能电网、自动驾驶等。
在传统优化问题中,人们一般采用的多项式权重方法存在计算时间长、结果不稳定、计算量大、不可预测等问题。
而萤火虫计算方法不但能够求得最优解,还能将每个变量之间的交互作用尽量控制在最小范围内。
1、先进行一个初始条件的求解,并将原始的求解结果以“最小化函数”等形式保留下来。
其中, x i (i=1)=0表示在初始条件下, i=1求最优解的平均路径长度, i=1求最优解的平均路径长度。
对于不同的种群,这种方法存在一定的差异:当一个种群没有达到某个状态时,其求解方法是先使用对这个种群影响最大的状态值(x i=1)来求解这一状态;如果种群的所有个体都处于这一状态时,则求解其最终状态为: x i=1求最优解的平均路径长度。
具体方法如下:其中b i=1为该种群的最小路径长度; c i=1表示该种群是一种具有适应能力的种群; d i=1表示种群适应能力相对较弱; e j (i为种群个体数)表示为当前种群的最小迭代次数; j为全局优化变量之间相互关联的权重因子; x i (i为种群状态值)表示该基因表达能力的全局相关系数或局部相关系数(x i— n)=1/2; z s为个体数。
2、然后通过随机抽取某些变量并将结果计算出一个可行值,该值与变量之间的交互作用最小,因此选取权重得到最优解;萤火虫算法是一种基于“数理”的优化方法,它在求解线性规划问题中有着广泛应用。
然而也正因为如此,有很多学者将该算法归为一类机器学习问题进行深入研究。
由于萤火虫算法是一种基于“数理”的优化方法,因此也有了许多其他学者将它归入机器学习、计算机科学、信息科学等领域。
但总体上来说,萤火虫算法仍然属于机器学习的范畴,而这与其复杂程度与广泛应用有着很大的关系。
萤火虫算法应用场景 -回复
萤火虫算法应用场景-回复什么是萤火虫算法(Firefly Algorithm)?萤火虫算法(Firefly Algorithm)是一种基于自然界萤火虫的行为模式而设计的优化算法。
萤火虫算法由英国学者Xin-She Yang于2008年发表在国际期刊上,是一种新兴的群智能算法。
它模拟了萤火虫在自然界中的个体行为,通过不断的迁移和聚集来寻找最优解。
该算法的特点是简单易实现、计算效率高,并且具有强大的全局搜索能力。
萤火虫算法的原理是基于萤火虫的交互行为。
萤火虫通过以固定频率闪烁的方法来吸引其他萤火虫。
他们的闪烁强度是与距离的平方成反比的,也就是说,距离越远,闪光强度越弱,吸引力越小。
在算法中,每个萤火虫表示一个解,并且通过改变位置来改善解的质量。
通过模拟这种行为,萤火虫算法可以在搜索空间中在全局和局部最优之间进行动态平衡,从而找到更好的解。
所以,萤火虫算法可以应用于许多领域的问题求解,下面我们将详细讨论其应用场景。
1. 优化问题萤火虫算法在优化问题求解中表现出色。
优化问题是在给定约束下寻找最优解的问题,这种类型的问题在工程、经济学等领域都广泛存在。
萤火虫算法可以应用于函数优化、组合优化、约束优化等各种类型的问题。
例如,在机器学习中,优化算法被广泛应用于神经网络的训练过程中,而萤火虫算法可以作为一种有效的优化算法用于神经网络的参数优化。
2. 路径规划路径规划是寻找从一个起点到达目标点的最优路径的问题。
在交通规划、物流、机器人导航等领域,路径规划是一个重要的问题。
萤火虫算法可以模拟萤火虫在寻找食物时的交互行为,用于解决路径规划问题。
通过萤火虫算法,可以找到最短路径或最佳路径,以实现高效的资源利用和减少时间成本。
3. 无线传感器网络无线传感器网络是由许多分布在空间中的传感器节点组成的网络。
这些传感器节点可以收集环境数据,并将其传输到中心节点。
在传感器网络中,节点的位置对网络性能有重要影响。
传感器节点的部署位置在一定程度上决定了网络的覆盖范围和辐射能耗。
萤火虫算法参数分析与优化
萤火虫算法参数分析与优化卓宏明; 陈倩清【期刊名称】《《微型机与应用》》【年(卷),期】2019(038)011【总页数】7页(P60-66)【关键词】萤火虫算法; 参数分析; 数值试验【作者】卓宏明; 陈倩清【作者单位】浙江国际海运职业技术学院船舶工程学院浙江舟山316021【正文语种】中文【中图分类】TP301.60 引言萤火虫算法Firefly Algorithm(FA)是2008年YANG X S[1-2]提出的一种新型群智能优化算法,其操作简单、参数少、易实现,成为众多学者研究的热点,在诸多领域得到了较好的应用[3-6]。
然而决定算法性能的参数选择还缺少相关的深入研究,算法的参数设定对求解性能影响很大,因此,萤火虫算法的参数优化已成为急需解决的问题。
1 萤火虫算法及数学模型萤火虫算法基本思想是模拟萤火虫的发光特性在一定区域内寻找伙伴,向位置较优的萤火虫移动,以达到寻优的目的。
将问题的目标函数定义为萤火虫所处位置的适应度值,将优化过程模拟成萤火虫个体的相互吸引而引发的位置更新的过程,将个体的优胜劣汰过程类比为搜索和优化过程中用好的可行解取代较差可行解的迭代过程。
萤火虫算法的寻优主要由荧光亮度和吸引度两个关键要素实现。
主要公式包括相对相对萤光亮度公式、相对吸引度公式和位置更新公式[1-2],如下所示:萤火虫的相对萤光亮度为:I=I0×e-γrij(1)其中,I0 为初始光强度,即在光源(r=0)处的光强度,与目标函数值相关,目标函数值越优自身亮度越高;γ为光强吸收系数即吸收因子,以体现光强的减弱特性,一般情况下γ∈[0.01,100];r 通常为萤火虫i与j间的欧氏距离。
萤火虫的吸引度为:(2)其中,β0为最大吸引力,即光源(r=0)处的吸引力。
萤火虫i被萤火虫j吸引而向其移动的位置更新公式如下:xj(t+1)=xj(t)+βij(rij)[xi(t)-xj(t)]+αεj(3)其中,t为算法迭代次数;α为随机步长,一般取值范围为[0,1];εj通常是由高斯分布、均匀分布或其他分布生成的随机数向量。
萤火虫算法在WSN节点部署中的应用
本期推荐本栏目责任编辑:唐一东萤火虫算法在WSN 节点部署中的应用曹娜娜,谢智峰,穆莉,王汐存(江西科技学院信息工程学院,江西南昌330098)摘要:为解决WSN 随机部署方法导致覆盖率低的问题,提出了一种基于萤火虫算法的WSN 自适应部署方法。
该方法融合概率感知模型和萤火虫算法两种技术,建立网格覆盖模型,实现WSN 节点优化部署。
设计了3组仿真测试,实验结果表明,新方法相较于随机部署方法,其测覆盖率有所提升。
关键词:WSN ;随机部署;萤火虫算法;概率感知模型;网格覆盖模型中图分类号:TP301、TP391文献标识码:A文章编号:1009-3044(2021)03-0005-03开放科学(资源服务)标识码(OSID ):Application of Firefly Algorithm in WSN Node Deployment CAO Na-na,XIE Zhi-feng,MU Li,WANG Xi-cun(School of Information Engineering,Jiangxi University of Technology,Nanchang 330098,China)Abstract:In order to solve the problem of low coverage caused by the random deployment method of WSN,a WSN adaptive deploy⁃ment method based on the Firefly algorithm is proposed.This method fuses two technologies,the probability perception model and the firefly algorithm,to establish a grid coverage model to achieve optimal deployment of WSN nodes.Three sets of simulation tests are designed,and the experimental results show that compared with the random deployment method,the new method has improved test coverage.Key words:WSN;random deployment;firefly algorithm;probabilistic perception model;grid coverage model1前言无线传感器网络(Wireless Sensor Network,WSN)[1]是基于微处理、嵌入式及无线通信等技术的一种具有低功耗、低成本、自组织等特点的分布式信息感知、传输和处理系统。
萤火虫算法目标函数
萤火虫算法目标函数萤火虫算法(Firefly Algorithm,FA)是一种仿生算法,受到萤火虫的光信号通讯行为启发而发展起来的。
通过模拟萤火虫在光亮强度下的交流行为,将解空间中个体的位置当作萤火虫在二维空间中的位置,个体适应度值当作光的亮度。
在每一代中,通过改变个体位置的方式来寻找最优解。
在萤火虫算法中,可以使用各种类型的目标函数,包括连续型单目标优化问题、离散型单目标优化问题和多目标优化问题等。
下面以连续型单目标优化问题为例,来解释目标函数的定义和作用。
连续型单目标优化问题可以定义为:min f(x),x ∈ R^n其中,f(x)为目标函数,x为解向量,n为变量的维度。
目标函数的作用是根据给定的解向量x,评估其在空间中的性能。
在萤火虫算法中,目标函数通常是问题特定的,需要根据实际问题的需求进行定义。
目标函数的设计应该符合问题的特性,并具有对问题解进行评估的能力。
在萤火虫算法的迭代过程中,个体的适应度值即为目标函数的计算结果。
适应度值越小(或越大,根据问题的定义而定),个体的性能越好。
通过适应度值来评估个体的表现,可以对解空间中的个体进行排序,并选择性能最优的解进行后续操作,如光吸引度更新、位置更新等。
萤火虫算法通过模拟萤火虫之间的光信号强度和距离的关系,来更新个体的位置,以便更好地最优解。
具体而言,个体的位置更新规则包括光吸引度因子、光信号强度和个体的移动速度等。
通过不断迭代,萤火虫算法能够自适应地到最优解或接近最优解的解。
总之,萤火虫算法的目标函数在算法的迭代过程中起到关键的作用,通过评估个体的性能和定义合适的适应度函数,能够帮助算法更好地最优解。
不同的问题需要根据其特性来定义合适的目标函数,以获取最优解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
新 颖 的仿 生群 智 能优化 算 法 , 分析 了萤 火 虫算 法的仿 生 原理 , 数 学角度 对 算 法 实现优 化 过 程进 行 了定 义。通 从
过典 型的 函数 优化 和组 合优化 问题 对 算法进行 了仿 真 测试 , 试结果 表 明 了萤火 虫算法在 连续 空 间和 离散 空 间 测
短促 、 有节奏的荧光 , 同种类 的萤火虫发光 目的不同 , 不 其真 实
原 因仍在探讨 当中。一般认 为 , 萤火虫成虫发光 的生物学意义
解, 因此 , 广泛应用于模 式识别 』 自动 控制 J 网络路 由选 被 、 、 择 驯、 机器人路径规划 , 组合优化 , 以及社会科 学 , ’ 、 。 “ ]
等 多个 领域 。 ’
是利用物种特有 的闪光信 号来定 位并 吸引异性 , 借此完成求偶
交 配 及 繁 殖 的使 命 ; 数 萤 火 虫 利 用 闪 光 信 号 进 行 捕 食 ; 有 少 还
一
萤火虫算 法是模 拟 自然界 中萤火 虫成虫 发光 的生物学 特 性 发展 而来 , 也是基于群体搜索 的随机优化算 法。关于该算 法
( A)i dvlpda nvl i is am i e i neot i t nm to.T ip pr n l e e i i pic l o r y F s ee e s oe bo c w r tlg c p mz i e d h ae a zdt o c r i e f e o a n n le i ao h s a y hb n n p f f il
安 徽 宣城 人 , 院 长 , 授 , 导 , 士 , 要 研 究 方 向为 智 能 优 化 、 业 工 程 . 副 教 博 博 主 工
・
39 ・ 26
计 算 机 应 用 研 究
第2 8卷
身亮 度 和 吸引 度 。其 中 , 火 虫 发 出 荧 光 的亮 度 取 决 于 自身 所 萤 在位 置 的 目标 值 , 度 越 高 表 示 所 处 的 位 置 越 好 , 目标 值 越 亮 即 佳 。吸 引度 与 亮度 相 关 , 亮 的 萤火 虫 拥有 愈 高 的 吸 引力 , 以 愈 可
刘 长平 ,叶 春 明
( . 海理 工大 学 管理 学 院,上 海 20 9 ; . 阴工 学院 ,江 苏 淮安 2 3 0 ) 1上 00 3 2 淮 2 0 1 摘 要 :萤火 虫算法是 受 自然界 中的 萤 火虫通过 荧光 进行 信 息 交流 这 种群 体 行 为 的启发 演 变而 来。作 为 一种
3 仿真 实验
本 文选 用 了几 个 典 型 的 函 数 优 化 和 组 合 优 化 问 题 来 测 试 萤 火虫 算 法 的性 能 。
收稿 日期 :2 1 .3 1 0 10 —6;修回 日期 :2 1 4 2 0 10 .9
向邻域结构 内位置较优 的萤火虫移 动 , 从而实现位置进化 。
在 该算 法 中 , 火 虫 彼 此 吸 引 的原 因取 决 于两 个 要 素 , 自 萤 即
基金项 目:国家教育部人 文社会 科学k , L ̄基金 项 目( 0 J 6 0 8 ) 高校 博士点专 项科 l 1Y A 3 17 ;
萤火虫进行 随机 扰动。 e 根据更新 后萤火虫的位置 , ) 重新 计算 萤火虫的亮度。
f 当满 足 搜 索 精 度 或 达 到 最 大 搜 索 次 数 则 转 g ; 则 , ) )否 搜 索 次数 增 加 1转 c , 行 下 一 次 搜 索 。 , )进
中的萤火虫个体 , 将搜 索和优化过程模拟成萤火虫个体的吸引
b 随机初始化萤火 虫 的位置 , ) 计算 萤火 虫的 目标 函数值
作 为 各 自最 大 萤 光 亮 度 ,。 0
c 由式 ( ) 2 计算群体中萤火虫 的相对亮度 , ) 1 () 和吸引度
,
吸引视线范围内亮度 比其弱的萤火虫往这个方向移动 。如果发
光 亮 度相 同 , 萤 火 虫 各 自随 机 移 动 。亮 度 和 吸 引 度 与 萤火 虫 则
g 输 出全局极值点和最优个体值。 )
算法的时间复杂度为 0 m )m是萤火虫数 目。 ( ,
和移动过程 , 将求解 问题 的 目标 函数度量成个体所处位置的优 劣, 将个体的优胜 劣汰过程类 比为搜索和优化过程中用好 的可
行 解 取 代 较 差 可 行 解 的 迭代 过 程 。 12 算 法 的 数 学 描 述 与分 析 . 如上所述 , 火 虫算 法包 含两个 要 素 , 亮 度和 吸引 度。 萤 即
i f lo i f e y a g rt m rl h
L U C a g p n .YE C u n I h n —ig , 1 h n mi g
( . n gm n col U i rt h n h io c ne& Tcnlg , h nh i 0 0 3 hn ; . u ii ntu eh o g Hu 1Ma a e et ho, nv syo a ga fr i c S e i fS Se eh ooy S ag a 0 9 ,C ia 2 H aynIstt o cnl y, a 2 i e fT o inJ ns 2 0 1 hn ) , a i gu2 30 ,C ia a
该子集施加 某种算子操作 产生新的解集 , 并逐 渐使 种群进化到 包含最 优解或近似最优解 的状态 。在 进化 过程 中仅 需要 目标
函数 的信 息 , 受 搜 索 空 间 连 续 或 可微 的 限制 就 可 以 找 到 最 优 不
自然界 中约有 20 0种 萤火 虫 , 0 多数种 类的萤火 虫会发 出
光 。萤 火 虫 优 化 算 法 就 是 模 拟 自然 界 中 萤 火 虫 的 发 光 行 为 构
造 出的随机优化算法 , 但在算法 中舍弃 了萤火虫发光 的一些生
物学意义 , 利用其发光特性 来根据 其搜索 区域 寻找伙伴 , 只 并
Y n ag1 提出 , 为 F fe ya o tm) 4 3 称 A( rf l rh 。两种 算法 的仿 生 原 i l gi 理相 同 , 但在具体实现方面有一定差异 。本文分析 了萤火虫 算
Ab t a t n pr d b o i1 b h vo f f e i s a d t e p e o n n o il mi e c n o s r c :I s i y s ca e a ir o rf e n h h n me o f b ou n s e t c mmu iai n i e y ag rtm e i l n c t ,f f lo i o rl h
优 化 的可行性 和有 效性 , 具有 良好 的 应 用前景 。 关键词 :群 智能 ; 萤火 虫算 法 ; 生原理 ; 仿 函数优 化 ; 组合优 化
中 图分类 号 :T 3 16 P 0 . 文献标 志码 :A 文章 编号 :10 — 6 5 2 1 )9 3 9 — 3 0 13 9 (0 1 0 — 2 5 0
根据相对亮度决定 萤火虫的移动方 向。
d 根据式( ) ) 3 更新 萤火 虫 的 空 间 位 置 , 处 在 最 佳 位 置 的 对
之间的距离成反比, 随着距离 的增加而减小 , 都 这相当于模拟 了 荧光在空间传播时被传播媒介吸收而逐渐衰减的特性。
萤 火 虫算 法 是 通过 模 拟 萤 火 虫 的 群 体 行 为 构 造 出 的 一 类 随 机 优 化算 法 。其 仿 生 原 理 是 : 用搜 索 空 间 中 的点 模 拟 自然 界
a g r h a d d f e h c a im f p i z t nb t e t s e t d t eF y b n h r n t n n o i ao il l o i m n e n d t e me h n s o t t i o miai ymah mai .T se A b e c ma k f c i sa d c mb n t r o c h u o a o t ’ t n i s n e .S mu ain n e u t i dc t ta h e ii s i d ag rtm a et r e s i t n a i i r p ̄ z m f t c s i l t sa d r s l ia e h t e n w b o n p r lo h h sb t a i l y a d v l t f ‘ a‘ l a ml o sn t e i ef bi dyo
c ntn o pa e o tm ia in an s r t p c p i z to o i u uss c p i z to d dic e e s a e o tmia in.
Ke r s s r i tl g n e i e y ag r h y wo d : wa m el e c ;f f l o i m;bo is u c in o t z t n;c mb n tra p i z t n n i rl t in c ;f n t p i a i o mi o o i a o il t a i o mi o
第2 8卷 第 9期
21 0 1年 9 月
计 算 机 应 用 研 究
Ap ia in plc to Res a c o m p e s e r h fCo utr
Vo . 8 No 9 12 .
Se p. 2 1 01
一
种 新 颖 的仿 生群 智 能 优 化 算 法 : 萤 火 虫算 法 术
法 的仿 生原 理 , 从 数 学 角 度 对 算 法 实 现 优 化 过 程 进 行 定 义 , 并
0 引 言
群 智能优化算法是近几 十年发展 起来 的仿生模 拟进化 算 法, 具有操作 简单 、 宜于并行 处理 、 鲁棒性强 等特点 , 型算 法 典 如蚁群算 法 、 粒子群算法等 。 。这类 算法将 问题 的所有 可能 J