毕业设计(论文)萤火虫算法的函数优化问题研究.doc
《毕业设计(论文)萤火虫算法的函数优化问题研究.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)萤火虫算法的函数优化问题研究.doc(18页珍藏版)》请在三一办公上搜索。
1、论文题目: 萤火虫算法的函数优化问题研究 学 院: 计算机与信息学院 专业年级: 软件工程2008级 学 号: 姓 名: 指导教师、职称: 2012 年 5 月 18 日 FireFly Algorithm for Function OptimizationProblems College: Computer and Information Science Specialty and Grade: Software engineering, 2008 Number: 081181067 Name: Guo Yu Dan Advisor: Lecturer Lin Xiao Yu Submitt
2、ed Time: May 18, 2012 目 录摘要IAbstractII1引言11.1 本课题的研究意义11.2 本论文的目的、内容及作者的主要贡献11.3 研究方法与论文结构安排12萤火虫算法22.1 群智能算法22.2 萤火虫算法生物学原理22.3 萤火虫算法描述33萤火虫算法改进与仿真43.1 萤火虫算法改进43.2 仿真用的函数43.3 参数设置53.4 函数优化测试结果63.5 实验结论94总结11参考文献12致谢13摘要萤火虫算法是受自然界中的萤火虫通过荧光进行信息交流这种群体行为的启发演变而来的。它作为一种新颖的仿生群智能算法,有很大的改进空间。改进其算法必须分析它的仿生原理
3、,从数学角度对算法进行合理优化与过程的定义。本文通过引入对萤火虫更新位置择优选择(Preferred FireFly Algorithm ,PFA)与对萤火虫空间距离进行归一化处理(Normalization FireFly Algorithm ,NFA)的策略,并通过4个典型的函数优化对算法进行仿真测试,测试结果表明了改进后的萤火虫算法在连续空间函数的可行性和有效性,具有良好的应用前景。关键词:萤火虫算法;函数优化;群智能算法;仿真测试AbstractThefirefliesalgorithmisinspiredbyfirefliesin naturetothebehavioroftheex
4、change of informationof such groupsby fluorescenceevolved. As a novelbionicswarm intelligencealgorithm, there ismuch room for improvement. Improvethe algorithmmust analyzethebionicprinciple,withthedefinitionoftheprocessofrationaloptimizationalgorithm from amathematicalpoint of view. In this paper, t
5、heintroduction ofupdatedposition onthe firefly choose the best(of PreferredFireFlyAlgorithmof PFA)with thefireflyspace distance normalized(NormalizationtheFireFlyAlgorithm, the NFA)of thestrategy,andsimulationtest by fourtypicalfunction optimizationalgorithm,thetest results showthe feasibility and e
6、ffectiveness ofthefirefliesintheimprovedalgorithmincontinuous spacefunction,has a good applicationprospects.Key words: fireflyalgorithm; function optimization; swarm intelligencealgorithm; Simulation test1 引言1.1 本课题的研究意义在现实生活中,许多工程优化问题人们不仅要求出其最优值,而且希望获得其极值。这类问题对于传统的进化算法提出了严峻的挑战。为此,人们通过引入对传统进化算法的改进,使
7、这类问题在一定程度上得到了解决。但这些方法在实际应用中存在一定缺陷,如精度不高,时间耗费多等等,于是寻找更有效的算法仍是研究者们追求的目标1。1.2 本论文的目的、内容及作者的主要贡献群智能算法作为仿生模拟算法,具有操作简单、并行、鲁棒性强等特点,他们根据生物各自的特性及其仿生原理,从数学上利用算法,把所有可能的解集作为空间范围,并从其中一个代表问题出发,根据空间范围中的一个解集,引入某种算子,并产生新的解集,由此逐步演化到求最优解的状态2。其中,萤火虫算法在众多算法中表示较为突出,其思想来源于萤火虫发光的生物学特性,萤火虫的亮度越高,吸引力就越大,吸引力又控制着萤火虫的移动。根据这种生物习性
8、,而设计出的一种仿生算法,该算法在求解多极值函数优化问题方面取得很好的效果。但是随着函数极值点的增多,萤火虫数量也要大量增加,这样就导致了运算时间急剧增长。本文就该问题进行了研究,从数学的角度对算法进行重新定义,提出了一种基于萤火虫算法的改进算法,并验证其有效性与可行性3。1.3 研究方法与论文结构安排本论文先通过对萤火虫算法的概要描述,让读者了解萤火虫仿生的原理,再通过仔细的算法描述与流程讲解,细化萤火虫算法的概要内容,让算法的流程与原理更加清晰易懂。然后通过对传统的萤火虫算法进行改进算法实验,通过对4个函数的仿生实验,验证算法改进的优劣,比较与传统算法的效率,通过图表的验证,表达出在相同的
9、迭代次数中,若改进算法与传统算法对目标值存在不同的数量级,则表示算法的改进存在优越性,比传统的萤火虫算法具有更好地寻优率,更高的精度,更快的收敛度。反之,若目标值属于同一数量级,则实验验证失败,改进算法对实际应用不起影响。2 萤火虫算法2.1 群智能算法群智能算法是一种新兴的演化计算技术,已成为越来越多研究者的关注焦点,它与人工生命,特别是进化策略以及遗传算法有着极为特殊的联系4。群智能理论研究领域主要有两种算法:蚁群算法和粒子群算法。蚁群算法是对蚂蚁群落食物采集过程的模拟,已经成功应用于许多离散优化问题。粒子群优化算法也是起源于对简单社会系统的模拟,最初是模拟鸟群觅食的过程,但后来发现它是一
10、种很好的优化工具5。群智能算法作为仿生模拟算法,具有操作简单、并行、鲁棒性强等特点,他们根据生物各自的特性及其仿生原理,从数学上利用算法,把所有可能的解集单做空间范围,并从其中一个代表问题出发,根据空间范围中的一个解集,引入某种算子,并产生新的解集,由此逐步演化到求最优解的状态6。2.2 萤火虫算法生物学原理萤火虫算法在众多算法中表示较为突出,其思想来源于萤火虫发光的生物学特性,萤火虫的亮度越高,吸引力就越大,吸引力又控制着萤火虫的移动。根据这种生物习性,而设计出的一种仿生算法,该算法在求解多极值函数优化问题方面取得很好的效果。传统的萤火虫算法利用其生物特性,通过互相吸引、寻路,对每一个随机分
11、布进行比较,达到寻找其最优解得结果。但是随着函数极值点的增多,萤火虫数量也要大量增加,这样就导致了运算时间急剧增长,精度不高等,所以对算法的改进成了当务之急。在自然界2000多种萤火虫中,大部分都会萤火虫都会发光,而萤火虫就是靠着自身发光的习性进行信息传递。并且根据不同的闪光进行求偶、警戒,捕食等行为。萤火虫算法就是根据这种生物习性,排除生物物理上的意义,演变的仿生优化算法。通过这种算法,使得在一定规模范围内对随机的位置进行搜寻优化,并在范围内向位置最优解移动,通过一定的迭代次数,最终找到接近最值的最优位置7。在萤火虫算法中有两个要素,一个是萤火虫的亮度,一个是萤火虫的吸引度。在算法中萤火虫的
12、亮度表现为其函数所在位置目标值,亮度越高位置就越佳,即目标值就越大,同时,目标值比较差得向目标值比较好的方向吸引。因为本论文是测试寻找最小值的函数效率,所以函数目标值越小的吸引度就越大,目标值比较大的向目标值比较小的方向吸引。萤火虫的吸引度通过相互的距离因素,影响着移动的位置。萤火虫之间的距离越大,则相互的吸引力就越小8。通过在萤火虫算法反复的随机实验,在这种多次随机点移动的过程中,亮度与吸引度反复更新,随机分布的点也逐渐向某一最值点靠近,在一定的迭代次数下,排除移动过程中的位置比较劣势的点,优化结果的取值,从而达到寻求最优位置点的效果,同时也比较了多种算法在相同的迭代次数下地优劣效率。2.3
13、 萤火虫算法描述综上所述,用于函数优化问题的萤火虫算法的伪代码如下所述9:1、初始化基本参数。设置萤火虫初始化数目n、最大迭代次数MAX_GENERATION、搜索精度b、最大吸引度beta0、光强吸引系数gama、步长因子alpha、确定目标函数f,保证目标函数在一定的范围内有连续的波峰或波谷,并确定其范围的定义域,确定目标函数的维度D。2、随机初始化萤火虫位置,并计算其函数的目标值、相互的距离及萤火虫吸引度。多维函数两点间的距离公式为,若是二维函数,则两点间的距离r为,萤火虫吸引度beta为beta0 * 。3、比较各个点之间的目标值优劣,明确劣势点向优势点移动。在实验中则表示为if (
14、f ( i ) f ( j ) ) then move i to j 。4、更新移动后的位置,并增加干扰项。二维函数更新后的位置表达式为xj * (1 - beta) + xi * beta + alpha* (Math.random() - 0.5),其中alpha* (Math.random() - 0.5)为随机干扰项,避免过早陷入局部最优。5、当满足最大迭代次数或搜索精度时则进行下一步,否则继续第3步骤,同时迭代次数加一。6、进行循环实验,输出每次实验找到最优个体值和总平均个体值。3 萤火虫算法改进与仿真3.1 萤火虫算法改进传统的萤火虫算法(FA)在众多优化函数中存在一定的优越性,但
15、在实际的一些应用中还是存在一定缺陷,如精度不高,时间耗费多等问题。基于这些问题,从数学的角度进行合理的分析,找到了对萤火虫位置更新公式的改进,位置更新公式的的条件判定,萤火虫搜索半径的可视化范围,对于萤火虫吸引度过小的归一化处理,基于惯性权重的合理分析改进等。每一种改进算法都是基于传统的萤火虫算法原理,配合实际过程中变量因子的合理改进。目的在与提高萤火虫算法的效率,精度,收敛度等10。对萤火虫位置更新公式的改进:在传统萤火虫算法的流程中的第4步“更新移动后的位置,并增加干扰项”,修改位置更新公式为下xi+(xj-xi)* beta* alpha* (Math.random() - 0.5),使
16、得在改进的算法在整个迭代过程中保持合理的位置更新,避免了传统的萤火虫算法中迭代前期位置点距离过大而干扰项影响过小,迭代后期位置点距离过近而干扰项影响过大的问题11。对萤火虫位置更新公式的的条件判定:在传统萤火虫算法的流程中的第4步“更新移动后的位置,并增加干扰项”,加强了对传统萤火虫算法中的位置点更新后目标值的改进。使得只有在更新后的位置的目标值比原来的目标值更优的情况下才发生移动的状态,简化了算法的运行过程,在相同的迭代次数下,加强了位置点向最优点移动的可能性,提高了算法的精度12。对萤火虫搜索半径的可视化范围的改进:在传统萤火虫算法的流程中的第3步“比较各个点之间的目标值优劣,明确劣势点向
17、优势点移动”,加入对萤火虫可视范围的判断。使得每只萤火虫在一定的范围内才发生吸引,而在范围外则是保持相对静止的状态。可视范围定于所有萤火虫到随机位置中心点得平均距离,使得更容易找到空间范围的局部最优点13。对于萤火虫吸引度过小的归一化处理:在传统萤火虫算法的流程中的第2步“计算萤火虫吸引度”,改进吸引度中由于前期萤火虫距离过大,导致吸引度趋于0的问题。引入归一化处理,对萤火虫的距离进行统一的规定,使得计算萤火虫吸引度更为合理,加强收敛度14。对基于惯性权重的合理分析改进:在传统萤火虫算法的流程中的第4步“更新移动后的位置,并增加干扰项”,由于萤火虫之间位置逐渐缩小,导致无法定位最优位置,而在极
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 萤火虫 算法 函数 优化 问题 研究
链接地址:https://www.31ppt.com/p-2394645.html