自适应步长萤火虫优化算法

收稿日期:2011-01-10;修回日期:2011-03-02。基金项目:广西自然科学基金资助项目(0991086)。

作者简介:欧阳矗1988-),女,江西吉安人,硕士研究生,主要研究方向:智能计算; 周永权(1962-),男,陕西旬邑人,教授,博士,主要研究方向:神经网络、计算智能。

文章编号:1001-9081(2011)07-1804-04doi:10.3724/SP.J.1087.2011.01804

(广西民族大学 数学与计算机科学学院,南宁 530006)

()

摘 要:针对基本萤火虫算法优化多峰函数时求解精度不高和后期收敛较慢的问题,引入萤光因子以自适应调整萤火虫的步长,提出一种自适应步长萤火虫优化算法。通过8个标准测试函数测试,测试结果表明,改进后的自适应步长萤火虫算法比基本萤火虫算法具有较快的寻优速度和较高的寻优精度。

关键词:多峰函数;萤火虫优化算法;自适应;步长;萤光因子

中***分类号:TP183文献标志码:A

Self-adaptive step glowworm swarm optimization algorithm

OUYANG Zhe,ZHOU Yong-quan

(College of Mathematics and Computer Science,Guangxi University for Nationalities,Nanning Guangxi 530006,China)

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 luciferin-factor, which can adaptively adjust step, was proposed. The simulation results show that the improved Self-Adaptive Step Glowworm Swarm Optimization (ASGSO) can search for global optimization more quickly and precisely.

Key words: multimodal function; Glowworm Swarm Optimization (GSO) algorithm; self-adaptive; step; luciferin-factor

0 引言

萤火虫优化(Glowworm Swarm Optimization,GSO)算法是2005年由K.N. Krishnanand和Debasish Ghose提出的一种新的群智能优化算法。GSO主要是模拟萤火虫发光吸引同伴,萤火虫发光越大,吸引的同伴越多这一现象,通过各个萤火虫个体,在视野范围内寻找最亮的萤火虫,向最亮的萤火虫移动来实现寻优的目的[1-2]。

多峰函数一般是指有多个峰值点的函数[3]。多峰函数的优化问题在实践中大量存在,例如求解非线性方程组,依据密度的山峰聚类算法、神经网络训练等。但在实际中,有时无法求出全局最优值点作为最优方案,因此求出在局部最优值点函数作为次优解。因此需要进行多峰优化,找到函数全局最优值的同时也能找到多个局部最优值,但许多经典的算法往往容易陷入局部最优[4]。所以研究有效快速的多模态函数的优化算法成为一个研究热点。

基本萤火虫算法在优化多峰函数时,能够同时获得多个极值点。但是算法后期收敛速度慢,寻优精度不高,降低了算法的效率。针对这些不足,本文提出了基于自适应步长的萤火虫算法(self-Adaptive Step Glowworm Swarm Optimization,ASGSO),引入了萤光因子对萤火虫算法的步长进行自适应调整。仿真结果表明,自适应步长的萤火虫算法具有计算精度较高、搜索速度较快等特点。

1 基本萤火虫算法

在基本GSO中,把n个萤火虫个体随机分布在一个D维目标搜索空间中。每个萤火虫都携带了萤光素li。萤火虫个体都发出一定量的萤光相互影响周围的萤火虫个体,并且拥有各自的决策域rid(0

萤光素更新 每只萤火虫i在t迭代的位置xi(t)对应的目标函数值J(xi(t))转化为荧光素值li(t):

li(t)(1-ρ)li(t-1)+γJ(xi(t))(1)

其中γ为荧光素更新率。

概率选择 每个个体在其动态决策域半径rid(t)内,选择荧光素值比自己高的个体组成其邻域集Ni(t){j:dij(t)

pij(t)(2)

位置更新:

xi(t+1)xi(t)+s(3)

其中s为移动步长。

动态决策域半径更新:

rid(t+1)min{rs,max{0,rid(t)+β(nt-Ni(t))}}(4)

简单地说,GSO算法主要包括萤火虫的初始分布、萤光素更新、萤火虫的移动和决策域的更新四个阶段[5]。

2 自适应步长萤火虫算法

2.1 动态自适应步长调整策略

在基本萤火虫算法中,存在容易陷入局部最优,后期收敛较慢且求解精度不高的问题。在搜索的过程中,步长越大,越容易搜索全局最优,但同时降低了搜索精度,有时会出现震荡现象;步长越小,搜索速度降低,求解精度提高。针对这个问题,需要根据不同阶段的搜索结果,动态调整步长的大小,处理好全局寻优能力和寻优精度之间的关系。

为此,引入萤光因子

Hi(5)

式中:Xi表示第i只萤火虫个体的状态,Xext表示此时萤光素浓度最大的萤火虫个体的状态,dmax表示最优萤火虫距其余所有萤火虫的距离的最大值。

基于萤光因子的自适应调整步长策略:

sismin+(smax-smin)Hi(6)

式中smax和smin分别表示步长的最大值和最小值。

根据式(5)、(6)动态调整步长。当第i只萤火虫越接近萤光素浓度最大的萤火虫,距离越近,则Xi-Xext越小,根据式(5),所求得的Hi值越小,因此根据式(6)得出的si也越小。当萤火虫个体向目标萤火虫个体移动时,一个较小的步长si可以让萤火虫个体更好地靠近目标萤火虫个体,而不至于由于步长太大而跳过最优解,从而提高搜索精度。当第i只萤火虫个体距离萤光素浓度最大的萤火虫个体较远时,则Xi-Xext越大,Hi值越大,si值增大,当萤火虫个体以较大步长搜索时,可提高搜索速度,更快搜索寻优。这样,根据上一次迭代的结果来动态更新本次迭代的移动步长,具有更好的自适应性。同时,给定步长的最大值和最小值smax和smin,让步长在一定范围内变化,可以避免萤火虫分散过大导致步长太小等问题。对于标准的萤火虫算法,由于步长s固定,在初始化s时,随机性强,步长太大则会影响求解精度,太小则又降低搜索速度。所以,只有根据求解的情况动态地调整步长,才能更好地提高算法的搜索速度和寻优精度。

因此,在自适应步长的萤火虫算法运行前期,采用较大的步长,可以保证离最优萤火虫较远的个体具有更大的步长,使萤火虫在大范围内进行粗搜索,从而可以更快搜索全局最优的邻域;而在最优邻域附近的个体具有较小的步长,算法逐步演化为局部搜索进行精确搜索,可以更精确地搜索极值[6-9]。

2.2 算法描述

基于自适应步长的萤火虫算法的流程可以描述如下。

步骤1 初始化群体:随机生成n个萤火虫个体形成初始萤火虫种群,搜索空间维数m,萤火虫的初始荧光素大小l0和感知范围r0,萤火虫感知最大半径rs,最大迭代次数iter_max,初始步长si(0),最大步长smax,最小步长smin,随机产生萤火虫初始位置xi(0),萤光素挥发系数ρ,萤光素更新率γ;

步骤2 对种群中每一个萤火虫个体i,执行以下操作:

2.1)使用式(1)把萤火虫i在第t次迭代的位置xi(t)对应的目标函数值J(xi(t)) 转化为荧光素值li(t);

2.2)每只萤火虫在其动态决策域半径rid(t)内,选择荧光素值比自己高的个体组成其邻域集Ni(t),其中0

2.3)利用式(2)计算萤火虫i 移向邻域集内个体j的概率pij(t);

2.4)利用赌的方法选择个体j;

2.5)据式(5)计算每个萤火虫个体的萤光因子,用式(6)计算移动步长;

2.6)进行移动,根据式(3)更新位置;

2.7)根据式(4)更新动态决策域半径的值。

步骤3 判断算法是否到达指定的最大迭代次数,如果是则转向步骤4,否则转向步骤2;

步骤4 输出结果,程序结束。

3 实验结果与分析

3.1 实验操作平台

本实验的程序运行环境为:处理器CPU T5300,主频1.73GHz,内存1GB,操作系统:Windows XP,集成开发环境为 Matlab 7.0。

3.2 实验结果

算法参数设计如下:萤火虫算法种群规模n为50,萤光素挥发系数ρ0.4,萤光素更新率γ0.6,初始荧光素大小l05,感知范围r010,初始步长si(0)0.03,最大步长smax1,最小步长smin10-4,β0.08,nt5,最大迭代次数200。粒子群算法种群规模n为50,惯性权重ω0.5,学习因子c1c22,最大迭代次数200。

对函数F1(x)~F8(x)进行20次***实验[10],维数为10。表1列出了这些标准函数的名称及最优值等参数。这8个测试函数如下:

F1(x)∑ni1〖x2i-10cos(2πxi)〗+10

F2(x)∑ni1(0.2x2i+0.1x2isin 2xi)

F3(x)1+∑ni1x2i-∏ni1cos

F4(x)∑n-1i1〖100(xi+1-x2i)2+(xi-1)2〗

F5(x)0.5+-0.5(1+0.001(x21+x22))2

F6(x)∑n-1i1(x2i+x2i+1)0.25×

〖sin(50×(x2i+x2i+2)0.1)+1〗

F7(x)x21+2x22-0.3cos(3πx1)-0.4cos(4πx2)+0.7

F8(x)x21+2x22-0.3cos(3πx1)cos(4πx2)+0.3

表1 标准测试函数

表2列出算法优化函数的最差值、最优值、平均值和平均迭代次数,并与基本萤火虫算法及粒子群算法(Partical Swarm Optimization,PSO)的结果进行比较,其中平均迭代次数为分别进行20次***实验所求迭代次数的平均值。

表2 GSO与ASGSO,PSO的性能比较

***1~8分别为GSO和ASGSO求函数F1(x)~F8(x)的最小值时函数随迭代次数变化。

***1 函数F1(x)函数值随迭代次数变化

***2 函数F2(x)函数值随迭代次数变化

3.3 结果分析

从表1中可以看出,与基本萤火虫算法相比,自适应步长的萤火虫算法搜索最优值的能力更好,求解的最优值也更接近标准值。对于粒子群算法,基本萤火虫算法和自适应步长的萤火虫算法在高维空间求解能力更强,粒子群算法在二维空间有比较好的搜索能力。对于高维尖峰函数F1(x),ASGSO的最优值为0,求解精度比GSO提高了2个数量级,平均迭代次数减少了26次;而粒子群算法在最大迭代次数内,没有求出理想的解,搜索速度和搜索能力都不及GSO和ASGSO。对于函数F2(x),ASGSO的最优值精度达到e-32,平均求解精度比GSO提高了4个数量级,平均迭代次数减少了15次;而粒子群算法的最优值精度为e-10,比GSO和ASGSO的最优精度都低。对于函数F3(x),ASGSO的最优值为0,平均求解精度比GSO提高了7个数量级,平均迭代次数减少了近一半;而粒子群算法的最优解的精度和基本萤火虫算法相同。对于函数F4(x),ASGSO的最优值精度达到e-7,平均求解精度比GSO提高了1个数量级,但是平均迭代次数相较GSO稍微多几代;粒子群算法在最大迭代次数内,没有求解出来。对于函数F5(x),ASGSO的最优值精度达到e-8,平均求解精度比GSO提高了2个数量级,平均迭代次数减少了20次;粒子群算法最优值为0,求解精度和速度都明显高于GSO和ASGSO。对于函数F6(x),ASGSO的最优值精度达到e-3,平均求解精度比GSO提高了1个数量级,平均迭代次数减少了14次;粒子群算法有较高的求解精度,比ASGSO高了5个数量级。二维多峰函数F7(x)和F8(x),ASGSO的最优值求解精度都达到e-9,平均精度都比GSO提高了4个和3个数量级,迭代次数也有所减少;粒子群算法在二维空间就更具有优势,最优值为0,求解精度提高,迭代次数减少。对于ASGSO和GSO,在高维空间求解多峰函数时,相比于粒子群算法具有更高的精度和速度,ASGSO的寻优能力比GSO更高些;而在二维空间时,粒子群算法的求解精度和寻优速度要比ASGSO和GSO要高很多。

***3 函数F3(x)函数值随迭代次数变化

***4 函数F4(x)函数值随迭代次数变化

从***1可看到ASGSO收敛曲线的下降速度比GSO要快得多,且很快找到最优值,而GSO在第30~第175代很长一段时间陷入局部最优才寻找到最优值。从***2~***5可以看出,ASGSO的收敛速度明显高于GSO,GSO在一定的迭代次数中陷入局部最优很难跳出,而ASGSO由于动态调整了步长能够更快地跳出局部最优更快收敛。从***6可以看出,ASGSO求解精度比GSO提高了很多。***7和***8,ASGSO的收敛曲线下降得比GSO要快,能很快地收敛到全局最优。动态调整步长,可以使算法在收敛初期更快寻优,在陷入局部最优时能很快跳出局部最优,使ASGSO能比GSO更快地收敛到全局最优并提高解的精度。

***5 函数F5(x)函数值随迭代次数变化

***6 函数F6(x)函数值随迭代次数变化

***7 函数F7(x)函数值随迭代次数变化

4 结语

针对基本GSO优化多峰函数时早熟停滞的问题,提出了自适应步长的萤火虫算法。算法中引入了萤光因子概念,通过萤光因子来动态调整步长,使算法避免陷入局部最优,提高寻优速度和精度。通过函数优化实验可以看出,算法是可行的,而且优于基本的萤火虫算法。不仅进行迭代的次数减少了,提高了进化速度,而且获得了更精确的函数值。关于算法的收敛性证明,算法参数的优化及算法的其他应用需要深入研究,也是下一步将要做的工作。

***8 函数F8(x)函数值随迭代次数变化

参考文献:

[1] KRISHNAND K N,GHOSE D. Glowworm swarm optimisation for simultaneous capture of mutiple local optima of multimodal functions[J]. Swarm Intelligence,2009,3(2):87-124.

[2] KRISHNAND K N,GHOSE D. Glowworm swarm optimisation: A new method for optimising multi-modal functions[J]. The International Journal of Computational Intelligence Studies,2009,1(1):93-119.

[3] CASTROL,ZUBEN L. Learning and optimization the clonal selection principle evolution computation[J]. IEEE Transactions on Evolutionary Computation,2002,6(3):34-50.

[4] 赵吉,孙俊,须文波.一种求解多峰函数优化问题的量子行为粒子群算法[J].计算机应用,2006,26(12): 2956-2960.

[5] 曾国泰.萤火虫最佳化分群演算法[D]. 台北:大同大学资讯经营所,2008.

[6] 刘彦君,江铭炎.自适应视野和步长的改进人工鱼群算法[J].计算机工程与应用,2009,45(25):35-37.

[7] 王联国,洪敏,赵付青,等.一种改进的人工鱼群算法[J].计算机工程,2008,34(19):192-194.

[8] 王航,薛晓中,孙瑞胜.基于人工鱼群算法的制导炸弹控制系统设计与仿真[J].弹道学报,2009,28(4):98-102.

[9] 王晔,吴小俊,王士同.基于改进人工鱼群算法的RBF网络及其在人脸表情识别中的应用[J].计算机应用研究,2008,25(9):2643-2646.

[10] DEEP K,BANSAL J C. Mean particle swarm optimization for function optimization[J]. The International Journal of Computational Intelligence Studies,2009,1(1):72-92.

转载请注明出处学文网 » 自适应步长萤火虫优化算法

学习

英语典故翻译

阅读(31)

[Abstract]Idiomsarefixedphrasesthatgothroughthetestofhistoryandcannotbetreatedseparately.Inordertobeloyaltotheoriginaltext,thetranslationofEnglishidiomsshouldnotonlykeeptheoriginal

学习

发财梦作文600字

阅读(26)

发财梦你听说过“周公解梦”吗?“一切命理玄机都暗藏于梦,待周公为你一一揭晓”妈妈上网时无意发现了这个解梦网站,便好奇心起,输了昨天做的一个梦,竟解为:“最近有财富涌来,抓住机遇,便可致富。”最近《未解之谜》看多的妈妈,去找热衷于买的爸爸

学习

《红梅赞》:诗化情,舞化人

阅读(29)

黑暗的铁牢中,不屈的志士在英勇地抗争着。他们中有“疯老头”,一对年轻的恋人,“小萝卜头”和他的妈妈,临近分娩的孕妇,还有备受酷刑、坚贞不屈的江姐及在敌人威逼利诱下变节偷生的叛徒,等等。舞剧中,我们可以看到,面对酷弄吊打和各种利

学习

浙江的自然地理和区划人口

阅读(17)

浙江,原为钱塘江的古称,首见于《山海经・海内东经》所载“浙江出三天子都”,其后《史记》、《越绝书》、《古越春秋》等多有记载。浙江省因江而名,简称为“浙”。省会杭州。浙江省位于中国东南沿海长江三角洲南翼,在北纬27°12′―31°31′,东

学习

力量,向上!

阅读(21)

好奇心、耐力、训练、天赋、极致、生死、热爱、交流、行走、人情、质疑、实践、理智、坚持……当你把这些词汇排列在一起,它自然而然就是一股向上的力量。介不介意聊聊天作者:郭诚出版社:中国科学技术出版社自从郭诚(行者橙子)发起80公升公益

学习

景颇族与目脑纵歌

阅读(29)

“高高的喜玛拉雅,留下过景颇先祖的足迹,深深的青海湖水,藏住了景颇先民的身影……”“穿过历史的长河,我们从青藏高原走来,越过时空的隧道,我们从日月山走来……”目脑纵歌盛会上激昂深情的歌声,述说着一个民族――景颇族。蓝天白云,雪山草甸,高

学习

关于企业盈利能力的分析

阅读(13)

本文通过对杉杉控股有限公司盈利能力的相关指标进行分析,来了解杉杉控股有限公司的盈利能力较好,适宜投资者的投资。在文章的最后提出几点公司盈利能力分析时应该重点关注的几个问题,以便为正确估计公司的发展状况。关键词:盈利能力分析;盈利

学习

智擒“油老鼠”

阅读(26)

一个以“老李”为首的跨区域成品油走私犯罪团伙,2005年4~8月间40余次走私成品油达3661.63吨,案值1440余万元。福州海关缉私警察经过缜密侦查,联手三地,同时出击,在平潭、泉州、福州等地共抓获犯罪嫌疑人19人,将该团伙一举摧毁。2005年6月初,福州

学习

煤炭行业现状及环保型煤炭开采利用

阅读(33)

本文为您介绍煤炭行业现状及环保型煤炭开采利用,内容包括煤炭开采和煤炭概念有什么区别,煤炭开采加工行业现状及发展趋势。煤炭资源是我国重要的能源资源,在我国的现有能源结构中占有重要的地位,然而煤炭的天然赋存条件及技术难题,导致其在

学习

勇敢的埃德蒙顿龙

阅读(34)

暮月7日,阴这是我第一次写日记,我郑重地在本子的封皮上写下了自己的名字:以前老米克总在这个本子上涂涂写写,可如今它不在了,我决定把这活儿接过来。就像它说的——就算我死了,总会有人知道我活过。当初上路的时候,老米克曾跟我说:“看到前面那

学习

英语翻译理论研究论文

阅读(39)

本文为您介绍英语翻译理论研究论文,内容包括论文摘要英语翻译大家都用什么,中医论文题目英语翻译。一、关联理论关联理论是法、英学者D.Sperber,和D.Wilson在其合作出版的《关联性:交际与认知》(1986/1995)专著中提出来的,1995年二人又

学习

有机聚合物太阳能电池

阅读(25)

本文为您介绍有机聚合物太阳能电池,内容包括聚合物太阳能电池的最新研究现状,聚合物太阳能电池的工作原理。最轻便清洁的能源转换新技术经济发展建立在消耗资源的基础上,社会持续发展带来能源开采和利用,造成现在面临的能源短缺问题。根据

学习

大科学要有大视野

阅读(19)

本文为您介绍大科学要有大视野,内容包括大科学大视野,大视野科学。汪品先,海洋地质学家。1936年11月生于上海,1960年毕业于莫斯科大学地质系,1991年当选中国科学院学部委员(院士)。1999年作为首席科学家,主持我国海域的首次国际深海科学钻探,南

学习

王羲之:书法之美品性之高

阅读(20)

提起王羲之,人们就会想到被誉为“天下第一行书”的《兰亭序》。王羲之的书法造诣堪称空前绝后、盖世无双,除此之外,他身上还有许多值得敬仰和尊崇的东西,那就是他的才智和品德。只是,他忧国忧民的远见卓识和不贪钱财、不畏权贵的高尚品德,被掩

学习

文本比较算法分析

阅读(14)

本文为您介绍文本比较算法分析,内容包括文本比较算法分析,文本有效性分析算法。【摘要】基于文本比较算法,以算法的比较为切入点,通过比较算法的时间复杂度,找出适应文本的算法。实验结果表明,Nakatsu算法在长文本和相似度高的文本中效率更

学习

基于CORS差分的LBS定位算法研究

阅读(29)

分析了LBS用户终端的定位现状,提出了新的LBS定位方法。基于GPS伪距定位原理,研究了提高用户终端定位精度的关键技术,包括CORS系统为LBS用户终端提供伪距差分改正以及用户终端位置的解算。通过C语言程序对移动智能终端定位模块程序进行改进,

学习

基于欧氏距离的K均方聚类算法研究与应用

阅读(39)

本文为您介绍基于欧氏距离的K均方聚类算法研究与应用,内容包括聚类分析中的欧氏距离,关于k-means聚类算法解释正确的是。将所学的高等工程应用数学知识与本专业内容有效的结合起来,系统全面的介绍了距离度量与相异度计算、聚类的概念及聚

学习

柯西种群分布的自适应范围粒子群优化算法

阅读(31)

为了提高粒子群优化算法的求解性能,提出了一种具有柯西种群分布的自适应范围搜索的粒子群优化算法(ARPSO/C)。该算法在种群服从柯西分布的假设下,在每一次迭代中利用个体分布的中位数和尺度参数来自适应地调整种群的搜索范围,从而在局部搜索

学习

禁忌搜索算法评述

阅读(20)

本文为您介绍禁忌搜索算法评述,内容包括禁忌搜索算法主要思路,禁忌搜索算法优缺点。摘要:工程应用中存在大量的优化问题,对优化算法的研究是目前研究的热点之一。禁忌搜索算法作为一种新兴的智能搜索算法具有模拟人类智能的记忆机制,已

学习

均匀设计与Powell算法结合思考

阅读(20)

本文为您介绍均匀设计与Powell算法结合思考,内容包括powell优化算法,maxwell进行遗传算法的优化。复杂函数的全局最优化问题是在求解各种复杂工程与科学计算问题中提炼出来的亟待解决的计算问题,均匀设计具有让试验点在高维空间内均匀分

学习

KenKen问题的生成算法研究

阅读(20)

KenKen是一种类似于数独的数字游戏,是数独游戏与数学运算规则的巧妙结合。它既能像数独游戏那样锻炼人的逻辑思维能力,又能同时训练人的数学运算能力。该文针对KenKen问题提出了一种高效、可行的生成算法,该算法包括三个部分的内容:基于矩阵

学习

基于NSGA2算法的并行机多目标调度问题研究

阅读(15)

针对并行机多目标调度问题,以完工时间和总延迟时间最小为目标函数建立了数学模型,从而将具有解决复杂组合优化问题的非劣排序遗传算法NSGA2应用于求解多目标并行机调度问题。文中详细描述了用NSGA2算法求解并行机调度问题的步骤,并通过Matl