萤火虫算法,matlab代码
自适应步长萤火虫优化算法

动态决策域半径更新: r id ( t + 1 ) = min{ r s , max{ 0 , r id ( t) + β( n t -
N i ( t) ) } } ( 4)
收稿日期: 2011 - 01 - 10 ; 修回日期: 2011 - 03 - 02 。 基金项目: 广西自然科学基金资助项目( 0991086 ) 。 作者简介: 欧阳喆( 1988 - ) , 女, 江西吉安人, 硕士研究生, 主要研究方向: 智能计算; 周永权( 1962 - ) , 男, 陕西旬邑人, 教授, 博士, 主要 研究方向: 神经网络、 计算智能。
自适应步长萤火虫优化算法
欧阳喆, 周永权
( 广西民族大学 数学与计算机科学学院, 南宁 530006 ) ( yongquanzhou@ 126. com)
要: 针对基本萤火虫算法优化多峰函数时求解精度不高和后期收敛较慢的问题, 引入萤光因子以自适应调 。 8 整萤火虫的步长, 提出一种自适应步长萤火虫优化算法 通过 个标准测试函数测试, 测试结果表明, 改进后的自适 应步长萤火虫算法比基本萤火虫算法具有较快的寻优速度和较高的寻优精度 。 关键词: 多峰函数; 萤火虫优化算法; 自适应; 步长; 萤光因子 中图分类号: TP183 文献标志码: A
Abstract: According to the problem that Glowworm Swarm Optimization ( GSO) cannot acquire solutions exactly and converge slowly in the later period for solving the multimodal function,an improved GSO algorithm combined with luciferinfactor, which can adaptively adjust step, was proposed. The simulation results show that the improved SelfAdaptive Step Glowworm Swarm Optimization ( ASGSO) can search for global optimization more quickly and precisely. Key words: multimodal function; Glowworm Swarm Optimization ( GSO) algorithm; selfadaptive; step; luciferinfactor
变尺度混沌光强吸收系数的萤火虫优化算法

变尺度混沌光强吸收系数的萤火虫优化算法变尺度混沌光强吸收系数的萤火虫优化算法,是一种基于自然界中萤火虫集体行为的优化算法,用于求解复杂的优化问题。
该算法在传统的萤火虫算法基础上,引入了变尺度混沌光强吸收系数的概念,以提高算法的收敛速度和全局能力。
萤火虫优化算法的核心思想是模拟萤火虫的行为,通过萤火虫之间的相互吸引和追逐来优化问题。
具体而言,萤火虫在过程中根据自身位置和光强度信息,决定移动方向和距离,以期望找到更高的光强度位置。
而光强度的定义则是由目标函数决定的,目标函数的值越高,光强度越强。
在传统的萤火虫算法中,光强度仅仅是基于两个萤火虫之间的距离决定的,越近则光强度越强。
然而,这种方式并不能很好地反映问题的复杂性和全局性,容易出现陷入局部最优解的情况。
因此,为了提高算法的能力,引入了变尺度混沌光强吸收系数的概念。
变尺度混沌光强吸收系数是指在光强度计算中,引入了混沌序列来调节萤火虫之间的吸引强度。
混沌序列是一种随机的非线性序列,具有无周期性、无序性和敏感性等特点,可以提供更大的空间和随机性。
通过引入混沌序列,可以在局部最优解附近快速调整光强度,以跳出局部最优解,从而实现全局。
具体而言,变尺度混沌光强吸收系数的计算公式如下:$$I_{ij} = I_{j} + \beta \cdot \frac{{d_{ij}^2}}{{\lambda}} \cdot \exp(-\lambda \cdot d_{ij}^2)$$其中,$I_{ij}$表示萤火虫i对萤火虫j的光强度,$I_{j}$表示萤火虫j的初始光强度,$d_{ij}$表示萤火虫i和j之间的距离,$\lambda$为混沌系数,控制着光强度的变化速率和范围,$\beta$为吸引强度系数。
在算法的每一代中,萤火虫根据自身位置和光强度信息,通过调整自身的移动方向和距离来更新位置。
$$x_{i} = x_{i} + \alpha \cdot (x_{j} - x_{i})$$其中,$x_{i}$和$x_{j}$分别表示萤火虫i和j的位置,$\alpha$为步长缩放因子,控制着移动的步长。
floyd算法matlab代码

function [D,R]=floyd(a)% a=[3 2;4 6];采用floyd算法计算图a中每对顶点最短路% a=[0 4 11;6 0 2;3 inf 0];n=size(a,1);D=a % D是距离矩阵for i=1:nfor j=1:nR(i,j)=j;endendR % R是路由矩阵for k=1:nfor i=1:nfor j=1:nif D(i,k)+D(k,j)<D(i,j)D(i,j)=D(i,k)+D(k,j);R(i,j)=R(i,k);endendendkDRend••••••••••••••••••【唯美句子】走累的时候,我就到升国旗哪里的一角台阶坐下,双手抚膝,再闭眼,让心灵受到阳光的洗涤。
懒洋洋的幸福。
顶 3 收藏 2•【唯美句子】一个人踮着脚尖,在窄窄的跑道白线上走,走到很远的地方又走回来。
阳光很好,温暖,柔和。
漫天的安静。
顶7 收藏7•【唯美句子】清风飘然,秋水缓淌。
一丝云起,一片叶落,剔透生命的空灵。
轻轻用手触摸,就点碎了河面的脸。
落叶舞步婀娜不肯去,是眷恋,是装点?瞬间回眸,点亮了生命精彩。
顶11 收藏9•【唯美句子】几只从南方归来的燕子,轻盈的飞来飞去,“几处早莺争暖树,谁家新燕啄春泥,”其乐融融的山林气息,与世无争的世外桃源,让人心旷神怡。
顶0 收藏 2•【唯美句子】流年清浅,岁月轮转,或许是冬天太过漫长,当一夜春风吹开万里柳时,心情也似乎开朗了许多,在一个风轻云淡的早晨,踏着初春的阳光,漫步在碧柳垂青的小河边,看小河的流水因为解开了冰冻而欢快的流淌,清澈见底的的河水,可以数得清河底的鹅软石,偶尔掠过水面的水鸟,让小河荡起一层层的涟漪。
河岸换上绿色的新装,刚刚睡醒的各种各样的花花草草,悄悄的露出了嫩芽,这儿一丛,那儿一簇,好像是交头接耳的议论着些什么,又好象是在偷偷地说着悄悄话。
顶 3 收藏 4•【唯美句子】喜欢海子写的面朝大海春暖花开,不仅仅是因为我喜欢看海,还喜欢诗人笔下的意境,每当夜深人静时,放一曲纯音乐,品一盏茶,在脑海中搜寻诗中的恬淡闲适。
混合进化萤火虫算法

混合进化萤火虫算法全文共四篇示例,供读者参考第一篇示例:混合进化萤火虫算法是一种基于自然界生物进化的启发式算法,在解决优化问题领域有着广泛的应用。
这种算法结合了进化算法和萤火虫算法的优点,通过优化搜索空间中的解,寻找最优解。
混合进化萤火虫算法具有高效率、高鲁棒性和收敛速度快的特点,可有效应用于复杂的优化问题中。
萤火虫算法是一种群体智能算法,模拟了萤火虫在自然界中的求偶行为。
萤火虫通过发光吸引其他萤火虫,形成一种优化搜索过程。
在算法的求解过程中,每个萤火虫都会携带一个光强度值,通过比较光强度来更新自身位置,从而实现对问题解的搜索。
传统的萤火虫算法存在着易陷入局部最优、搜索速度慢等问题。
而进化算法是一种模拟自然选择和遗传机制的优化算法,通过种群的进化过程来搜索最优解。
在算法的求解过程中,种群中的个体通过选择、交叉和变异等操作,逐渐优化搜索空间中的解。
进化算法能够全局搜索解空间,但在搜索过程中容易陷入局部最优。
混合进化萤火虫算法结合了萤火虫算法和进化算法的优点,克服了各自算法的缺点。
在算法的求解过程中,萤火虫算法提供了良好的局部搜索能力,而进化算法则提供了全局搜索能力。
通过结合两种算法,混合进化萤火虫算法能够更好地平衡局部搜索和全局搜索,从而更快地找到最优解。
在混合进化萤火虫算法中,个体之间的信息交流和更新是十分重要的。
每个个体在搜索过程中,根据自身的光强度值以及邻近个体的情况进行位置更新,从而实现对解空间的搜索。
通过选择、交叉和变异等操作,个体能够不断优化自身位置,最终找到最优解。
在算法的求解过程中,适当的参数设置和算法调节也是非常重要的,能够帮助算法更好地收敛和找到最优解。
混合进化萤火虫算法在解决优化问题中有着广泛的应用。
在工程领域中,可以应用于电力系统优化、机器学习模型参数优化等问题;在经济金融领域中,可以应用于投资组合优化、风险管理等问题;在社会管理领域中,可以应用于城市规划、交通调度等问题。
一种新颖的改进萤火虫算法

一种新颖的改进萤火虫算法
左仲亮;郭星;李炜
【期刊名称】《微电子学与计算机》
【年(卷),期】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], 顾忠伟;徐福缘因版权原因,仅展示原文概要,查看原文内容请购买。
萤火虫算法参数研究

萤火虫算法参数研究李一玄【期刊名称】《物流工程与管理》【年(卷),期】2015(000)009【摘要】萤火虫算法各参数设定对计算结果有很大影响,必须取合理的参数值才能达到目的,文中先采用水平试验得到最优解出现次数最多的组合,然后接着将萤火虫数n固定,对步长因子和光照强度吸收系数采用枚举法得到一系列最优值组合,最后对结果进行分析得到了FA算法的参数推荐取值或取值范围,有利于FA 萤火虫算法在各类优化问题中更广泛的应用。
%The parameters of the firefly algorithm have great influence on the calculation results.So we need to study the parameters.Firstly,the optimal combination got by levels of uniform experiment.Secondly,curve fitting of the parameters and analysis results.Finally,let the number of fireflies unchanged and used the enumeration method to test the alpha and gamma,got a series ofdata,getting the parameter value or range of values through the analysis of the data,is conducive to the application of firefly algorithm in various fields.【总页数】3页(P195-197)【作者】李一玄【作者单位】上海海事大学物流工程学院,上海 201306【正文语种】中文【中图分类】F224【相关文献】1.基于变参数萤火虫算法和Maklink图的路径规划研究 [J], 李明富;张玉彦;马建华;周友行2.基于萤火虫算法的隔振体系参数优化研究 [J], 于文静3.基于自适应萤火虫算法的MMC参数优化研究 [J], 焦晓鹏;刘青4.萤火虫算法在自抗扰控制器参数整定中的方法研究 [J], 陈路伟5.基于改进萤火虫算法的永磁同步电机PID参数优化研究 [J], 胡国祥; 鲍仁明; 张鹏; 顾昊因版权原因,仅展示原文概要,查看原文内容请购买。
求解二层规划问题的萤火虫智能群优化算法

求解二层规划问题的萤火虫智能群优化算法程林鹏;林丹【摘要】In order to solve bilevel programming problem,this paper proposed a novel intelligent optimization algorithm named the firefly algorithm.The thought of this paper is using Kuhn-Tucker conditions of the underlying problem instead the underlying problem,so that the bilevel programming problem can be conversed into single programming.In order to avoid solving the gradient information of the objective function and algorithm premature into local optimum,use the firefly intelligent algorithms that based on the Pareto optimal solution to solve it,and by using Matlab.Testing through a series of numerical example and comparing with other algorithms,the results show that the fireflies intelligent algorithm that combinated Kuhn-Tucker conditions is feasible and effective.%针对二层规划问题,给出二层决策问题数学模型的一种新的解法,二层规划萤火虫智能群优化算法:首先采用以原问题的下层问题的Kuhn-Tucker条件代替下层问题的思想,将二层规划问题转化为单层规划问题.其次为避免求解目标函数的梯度信息以及算法过早的陷入局部最优,利用基于Pareto最优解集的萤火虫智能群优化算法对其进行求解,并利用Matlab予以实现.利用5个具有代表性的标准测试实例对该算法予以测试,并与其他算法进行比较.结果表明,结合Kuhn-Tucker 条件的萤火虫智能群优化算法在5个测试函数中均能寻找到最优Pareto解,并且在求解的上层目标函数值上均优于对比算法,表明新算法可行有效.【期刊名称】《天津理工大学学报》【年(卷),期】2017(033)002【总页数】4页(P44-47)【关键词】二层规划问题;Kuhn-Tucker条件;局部最优;Pareto最优解集;萤火虫智能群优化算法【作者】程林鹏;林丹【作者单位】天津大学数学系,天津300072;天津大学数学系,天津300072【正文语种】中文【中图分类】TP301.6二层规划是二层决策问题的数学模型,在二层规划模型中,上、下层问题都有各自的目标函数,两层问题的目标函数及最优解相互影响.自1951年H.W.Kuhn和A.W.Tucker提出著名的Kuhn-Tucker条件以来,非线性规划问题的研究获得了极大的进展[1].在正则性假定的前提下,Kuhn和Tucker 所提出的最优性条件是一种较强的最优性条件.据此获得的K-T点一般是局部极值点.在凸规划问题中,这种极值点就是全局最优点.人工萤火虫智能群优化算法(GSO)是一种新型仿生优化算法.该算法是通过模拟自然界中萤火虫的发光行为构造出的随机优化算法来,多用来解决较为复杂的优化问题.萤火虫智能群优化算法和其它启发式智能算法类似,在执行过程中不需要求解繁琐的目标函数的梯度,大大降低了算法成本,且操作简单易实现.结合K-T条件及人工萤火虫智能群优化算法,本文将改进并设计一种求解二层规划问题的新型萤火虫智能群优化算法.标准的二层规划具有以下形式[2]其中P(x)由以下优化问题决定:在上式中,x∈Rn,y∈Rm是紧且闭的,G:Rn×Rm→Rp1,g:Rn×Rm→Rq1,H:Rn×Rm→Rp2,h:Rn×Rm→Rp2,F,f:Rn×Rm→R为实值函数,pi,qi,i=1,2,n,m均为非负整数.(1)和(2)分别称为上层和下层规划问题.此模型的决策机制如下:首先在上层规划问题的搜索空间X中选定一个合适的x,把这个x传递到下层规划问题中.下层决策者利用上层传递下来的x求出下层规划问题的最优解y.相反,下层规划问题的最优解y同样影响上层规划问题的目标函数F(x,y)及可行域G(x,y)≤0.通过不断适当调整上层规划问题中的x,来影响下层规划问题的最优解y,最终使得上层目标函数F(x,y)值达到最优.以下是二层规划问题的一些基本概念[3].搜索空间:;约束域:S=;对固定的x∈ X,下层问题的可行域;S在上层决策空间的投影:∈S};对于x∈S(X),下层的合理反应集:,y∈S}};诱导域:2.1 人工萤火虫群优化算法(GSO)在基本的GSO中,每只萤火虫分布在决策范围区域内,首先随机的在决策范围区域当中初始化萤火虫群.每只萤火虫都携带有与其位置信息相关的荧光素.萤火虫的荧光素值越大其所发出的亮度也就越大[4],对周围其他萤火虫越有吸引力,而荧光素值随其运动过程中所处位置的适应度值变化而变化,其更新公式如下:式中:li(t)为第t代第i个萤火虫的萤光素,ρ∈(0,1)荧光素消失率,γ为荧光素更新率,zi(t)=(xi(t),yi(t)),J(zi(t))为函数适应度值.萤火虫邻域范围的大小由其邻域半径rd决定,rd的大小受邻居数量的影响.在萤火虫群的不断运动过程中,和其他萤火虫相比,适应度值高的个体能吸引到更多的同伴.其邻域范围更新公式:其中:β是一个比例常数,nt是控制邻域范围内邻居萤火虫个数的参数,是i萤火虫邻域内邻居萤火虫个数.在基本的GSO算法中,每一次迭代根据作用的不同,可大致划分为两个阶段,荧光素更新阶段和萤火虫的运动阶段.在荧光素更新阶段,初始化各个参数及萤火虫的位置;更新每只萤火虫的荧光素值;进入移动阶段,按公式(3)选出符合条件的萤火虫j;用轮盘赌法选出目标函数值较大的萤火虫,然后移动;按公式(4)更新萤火虫的位置及决策半径;一次迭代完成后判断是否到达指定的代数,如果达到则退出循环,否则进入下一次迭代[5].其路径概率选择公式如下:位置更新公式:其中:zi(t)∈Rm表示i萤火虫在m维空间的位置,s表示移动步长.2.2 Kuhn-Tucker条件Kuhn-Tucker条件是求解非线性规划最优解的著名条件.自1951年被Kuhn和Tucker提出之后,非线性规划的研究得到了飞速进展.非线性规划的一般形式为其中:X=(x1,x2,…,xn)T,Y=(y1,y2,…,yn)T∈En,En为n维欧氏空间.设(X*,Y*)是上式非线性划的极小点,而且(X*,Y*)点所有起作用约束的梯度▽hi(X*,Y*),(i=1,2,…,m)和▽gi(X*,Y*),(i=1,2,…,l)线性无关,则存在向量,使下式成立:2.3 改进的萤火虫智能群优化算法人工萤火虫智能群优化算法已在多模态函数优化、多信号源探测、组合优化等领域并取得了良好效果[6].本文在基本的GSO算法基础上,结合Pareto最优解的相关性质,对人工萤火虫算法进行改进,再结合K-T条件,求解二层规划问题.对于二层规划问题(1),(2),通过用下层规划问题的K-T条件代替下层规划问题,将约束条件转化为一个目标函数.最终将二层规划问题转化为相应单层规划问题,可描述如下:式中:x,y是决策变量,X,Y表示决策空间.是在(1)式H(x,y)的基础上添加(2)式的K-T条件.结合约束优化问题的特点,对约束条件做如下处理:即将一系列约束条件对应转化为一个目标函数(x,y).这样,原约束优化问题就转化成由目标函数F(x,y)和所组成的非约束多目标优化的问题,如下:将约束优化问题转换为非约束多目标优化问题来处理的目的是找到一个能够较好地向着Pareto前沿面逼近且分布均匀的最优解集.在不断的迭代过程中,当越接近于0时,所求得解越接近于真值.结合K-T条件,将二层规划问题转化为单层规划问题,再利用约束优化问题的特点将单层约束优化问题转化成非约束的多目标优化问题.本文尝试用如下算法解决该二层规划问题.首先,用原问题的下层问题的K-T条件代替下层问题,然后对萤火虫群规模及位置进行初始化.利用Pareto最优解的相关定义及性质,选取萤火虫群中的最优Pareto解并做好“记录”.然后,更新荧光素值.在以后迭代中,不断更新“记录”,直至迭代结束,跳出循环.综上,改进的GSO算法的基本框架如下:步骤1 结合K-T条件将原二层规划问题(1),(2)转化为单层规划问题(7). 步骤2 初始化所有萤火虫U=(u1,u2,…,un),荧光素初值l0,动态决策域初值R0,动态决策域的更新率β,领域个数阈值nt,步长s,荧光素更新率γ,荧光素消失率ρ.步骤3 计算萤火虫的适应度值.步骤4 比较所有萤火虫,如果F(ui)≤F(uj),(i,j=1,2,…,N,i≠j),则ui为其中的最优Pareto解并做好“记录”.步骤5 利用每个目标函数的适应度值按(3)式来更新萤火虫的荧光素值.步骤6 萤火虫在其领域内按照交叉换位策略(4)-(6)式更新位置及动态决策域范围.步骤7 计算并比较更新后萤火虫的适应度值,不断更新“记录”.步骤8 满足最大的迭代次数,输出结果,跳出循环.否则,返回步骤5.为了测试改进萤火虫智能群优化算法对二层规划问题的求解效果,本文在一台配置为Intel Core M 370,2.40 GHz,2 G内存的PC机上利用MATLAB R2014a运行环境实现该算法.试验结果见表1、表2.算法的参数设置如下:荧光素初值l0=5,动态决策域初值R0=3,领域个数阈值nt=5,动态决策域的更新率β=0.08,步长s=0.08,荧光素更新率γ= 0.6,荧光素消失率ρ=0.4,迭代次数max t=20.为方便起见,算法GSO代表本文中提出的改进萤火虫智能群优化算法.算法Ref代表参考文献[7-11]中所用到的粒子群优化算法.NA代表参考文献中未给出的相应数值.结合K-T条件把二层规划问题转化为单层规划问题,再用基于Pareto最优解集的萤火虫智能群优化算法进行求解,本文给出了一种求解二层规划问题的新方法.通过对以上5个测试函数仿真实验,从结果中可以看出利用GSO方法所求得的目标函数值均优于其他方法.表明本算法的可行性和有效性,算法对各个函数的测试都达优.对二层规划问题进行研究,提出一种解决该问题的局部搜索算法——结合K-T条件的人工萤火虫智能群优化算法.人工萤火虫智能群优化算法作为一种新型的启发式智能优化算法,具有鲁棒性强,通用性好等特点.本文根据二层规划问题的相关特性设计出结合K-T条件的基于Pareto最优解集的萤火虫智能群优化算法,并在MATLAB环境下编写了算法程序.实验测试结果表明,本文所提出的结合KT条件的人工萤火虫智能群优化算法在求解单目标二层规划问题时可得到较理想的效果.但是对于多目标二层规划问题以及非凸的二层规划问题有待进一步商榷.【相关文献】[1]Krishnanand K N,Ghose D.Detection of multiple source locations using a glowworm metaphor with applications to collective robotics[C]//Proceeding IEEE Swarm Intelligence Symposium.Pasadena,CA:Institute of Electrical and Electronics Engineers,2005:84-91.[2]林锉云,董加礼.多目标优化的方法与理论[M].长春:吉林教育出版社,1992.[3]Bard J F.Practical bilevel optimization[M].Norwell,MA:Kluwer,1998.[4]龚巧巧.多目标人工萤火虫群优化算法及其应用[D].南宁:广西民族大学,2011.[5]Yang X S.Nature-inspired metaheuristic algothms[M]. Luniver:Luniver Press,2008:83-96.[6]刘长平,叶春明.一种新颖的仿生群智能优化算法:萤火虫算法[J].计算机应用研究,2011,28(9):3295-3297.[7]胡密,毛和水,吕一兵,等.一种求解线性二层多目标规划的粒子群优化方法[J].长江大学学报,2013,10(28):6-10.[8]赵志刚,顾新一,李陶深.求解双层规划模型的粒子群优化算法[J].系统工程理论与实践,2007,27(8):92-98.[9]李敏强,寇纪淞,林丹,等.遗传算法的基本理论与应用[M].北京:科学出版社,2002. [10]郑金华.多目标进化算法及其应用[M].北京:科学出版社,2007.[11]徐宗本.计算智能-模拟进化计算[M].北京:高等教育出版社,2005:50-55.。
改进萤火虫算法优化粒子滤波的信号源定位

改进萤火虫算法优化粒子滤波的信号源定位杜太行;李静秋;江春冬【摘要】为提高无线电信号源的定位精度,运用粒子滤波方法对其进行定位估计.针对粒子滤波存在的粒子退化问题,提出改进的萤火虫算法优化粒子滤波.首先对萤火虫算法的吸引度公式进行改进,并利用迭代时刻粒子最优值指导个体的移动过程.然后运用改进的萤火虫算法与粒子滤波机制相结合,使粒子趋向于高似然区域,提高粒子的有效性,避免粒子退化,提高粒子滤波算法的滤波精度.最后,将改进后的算法用于无线电信号源定位算法中并进行仿真试验.实验结果表明:该文提出的算法定位结果最大定位误差为0.23%,该算法相比粒子滤波算法的定位精度有很大的提高,是一种有效的、实用性较强的定位估计算法.%In order to improve the positioning accuracy of the radio signal, using particle filtering method for estimation of the location. According to the particle filter has the particle degradation problem, Firefly algorithm optimized particle filter is proposed to solve that problem. Firstly, the attraction degree formula of the firefly algorithm is improved, and the global optimal value is used to guide the individual moving process. Then combining the improved firefly algorithm and particle filter mechanism, the particles tend to the high likelihood region, which improves the effectiveness of the particles, and greatly improves the filtering effect of particle filter. Finally, the improved algorithm is used in the wireless signal source localization algorithm, and simulation experiments are carried out. The maximum localization error of the localization results of the new algorithm presented in this paper is 0.23% which shows that the new algorithm compared to particle filter positioningaccuracy is greatly improved. It is an effective and practical localization estimation algorithm.【期刊名称】《中国测试》【年(卷),期】2017(043)011【总页数】6页(P96-101)【关键词】信号源定位;粒子退化;萤火虫算法;粒子滤波【作者】杜太行;李静秋;江春冬【作者单位】河北工业大学控制科学与工程学院,天津 300130;河北省控制工程研究中心,天津 300130;河北工业大学控制科学与工程学院,天津 300130;河北工业大学控制科学与工程学院,天津 300130;河北省控制工程研究中心,天津 300130【正文语种】中文无线电信号源测向定位技术就是应用测向设备所测的数据来确定无线电信号发射源的具体位置[1]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%% 算法说明:荧火虫算法
clc; %清屏
clear all; %清除变量
format long; %确定精度
%% 各参数初始化开始
domx=[-5.12,5.12;-5.12,5.12];
% domx=[-2.048,2.048;-2.048,2.048]; %解空间
rho=0.4; %荧光素挥发因子
gamma=0.6; %适应度提取比例
beta=0.08; %邻域变化率
nt=5; %邻域阀值(邻域荧火虫数)
s=0.03; %步长
lo=5; %荧光素浓度
rs=5.12; %感知半径
r0=5.12;
% rs=2.048; %感知半径
% r0=2.048; %决策半径
%各参数初始化结束
iter_max=200; %最大迭代次数
%% 分配空间开始
m=size(domx,1); %函数空间维数
global n;
n=50; %种群规模
address=zeros(n,m); %分配荧火虫地址空间
value=zeros(n,1); %分配适应度存放空间
li=zeros(n,1); %分配荧光素存放空间
rdi=zeros(n,1); %分配荧火虫决策半径存放空间
uu=zeros(1,iter_max);
%% 荧火虫常量初始化开始
for i=1:m
address(:,i)=(domx(i,1)+(domx(i,2)-domx(i,1))*rand(n,1)); %初始化地址
% address(i,:)=5*rands(n,1); %随机产生初萤火虫所在位置
end
f=fun(address);
x=-5.12:.1:5.12;
% x=-2.048:.05:2.048;
[x,y] = meshgrid(x);
figure(1);
plot3(address(:,1),address(:,2),f,'k*')
hold on;
grid on;
z=-(x.^2-10*cos(2*pi.*x)+10+y.^2-10*cos(2*pi.*y)+10); %Rastrigin'函数
% z=-(x.^2+y.^2); %目标函数 J2
% z=-(20+x.^2-10*cos(2*pi.*x)+y.^2-10*cos(2*pi.*y)); %目标函数 J1
% z=-(-20*exp(-0.2*sqrt((x.^2+y.^2)/2))-exp((cos(2*pi*x)+cos(2*pi*y))/2)+20+exp(1)); %%目
标函数
% z=-(0.5+sin(sqrt(x.^2 + y.^2).^2-0.5)./(1+0.001*(x.^2 + y.^2)).^2);%目标函数 J3
mesh(x,y,z)
xlabel('x轴');
ylabel('y轴');
zlabel('z轴');
title('萤火虫初始分布图');
li(:,1)=lo; %荧光素初始值
rdi(:,1)=r0; %决策半径初始值
t=1; %迭代累计量
%荧火虫常量初始化结束
%% 迭代开始
while(t<=iter_max)
li=(1-rho)*li+ gamma * fun(address); %.更新荧光素值li
%各荧火虫移动过程开始
for i=1:n
Ord_number=[]; %存放荧火虫序号
for j=1:n
if (norm(address(j,:)-address(i,:))
end
end
%计算Ord_number各元素被选择概率,确定j位置
if ~isempty(Ord_number) %先判断Ord_number个数不为空
Ord_num_li=li(Ord_number,1); %选出Ord_number荧光素
Sum_Ord_li=sum(Ord_num_li); %Ord_number荧光素和
Mol=Ord_num_li-li(i,1); %分子(lj-li)
Den=Sum_Ord_li-li(i,1); %分母
Pij=Mol./Den; %计算各元素被选择概率
Pij=cumsum(Pij); %累计
Pij=Pij./Pij(end); %归一化
Pos=find(rand
%荧火虫i向位置j移动
address(i,:)=address(i,:)+ s*(address(j,:)-address(i,:))/norm(address(j,:)-address(i,:));
address(i,:)=range1(address(i,:),domx);%限制范围
end
%更新决策半径
rdi(i)=rdi(i)+beta*(nt-length(Ord_number));
rdi(i)=min(rs,max(0,rdi(i)));
uu(t)=-max(fun(address));
end
t=t+1;
% iter_max迭代结束
g=[];
g=fun(address);
x=-5.12:.1:5.12;
% x=-2.048:.05:2.048;
[x,y] = meshgrid(x);
figure(2);
plot3(address(:,1),address(:,2),g,'k*');
hold on;
z=-(x.^2-10*cos(2*pi.*x)+10+y.^2-10*cos(2*pi.*y)+10); %Rastrigin'函数
% z=-(x.^2+y.^2);%目标函数 J2
% z=-(20+x.^2-10*cos(2*pi*x)+y.^2-10*cos(2*pi*y)); %目标函数 J1
% z=-(-20*exp(-0.2*sqrt((x.^2+y.^2)/2))-exp((cos(2*pi*x)+cos(2*pi*y))/2)+20+exp(1)); %%目
标函数
% z=-(0.5+sin(sqrt(x.^2 + y.^2).^2-0.5)./(1+0.001*(x.^2 + y.^2)).^2);%目标函数 J3
grid on;
mesh(x,y,z);
title('萤火虫运动轨迹');
xlabel('x轴');
ylabel('y轴');
zlabel('z轴');
hold off;
end
figure('name','收敛曲线');
plot(uu)
title(['萤火虫最优值曲线 ' '终止次数=' num2str(iter_max)]);
xlabel('迭代次数');
ylabel('最优值');
%% 输出最优结果
value=fun(address);
disp('最优值为:')
num=find(value==max(value));%最大值序号
MaxValue=-max(value)
disp('最优解为:')
BestAddress = address(num,:)
%目标函数
function y = fun(x)
% y=x(:,1).^2+x(:,2).^2;
% y=0.5+sin(sqrt(x(:,1).^2 + x(:,2).^2).^2-0.5)./(1+0.001*(x(:,1).^2 + x(:,2).^2)).^2;%目标函数 J3
% y=20+x(:,1).^2-10*cos(2*pi*x(:,1))+x(:,2).^2-10*cos(2*pi*x(:,2)); %目标函数 J1
% y=-20*exp(-0.2*sqrt((x(:,1).^2+x(:,2).^2)/2))...
% -exp((cos(2*pi*x(:,1))+cos(2*pi*x(:,2)))/2)+20+exp(1); %%目标函数
y=x(:,1).^2-10*cos(2*pi.*x(:,1))+10+x(:,2).^2-10*cos(2*pi.*x(:,2))+10; %Rastrigin'函数
y=-y;