一种新颖的群智能算法:飞蛾扑火优化算法

2017-02-27 15:34李志明莫愿斌张森
电脑知识与技术 2016年31期
关键词:最优化

李志明+莫愿斌+张森

摘要 飞蛾扑火优化(MFO)算法是一种新颖的群智能优化算法,该算法的主要灵感来源于飞蛾在自然界中被称为横向定位的飞行方式。作为一种新提出的仿生群智能优化算法,分析了飞蛾扑火优化算法的生物学原理,对算法的实现过程建立了数学模型。通过典型的函数优化对算法进行了仿真测试,结果显示飞蛾扑火优化算法是可行性的、有效的。最后,对将来的工作做进一步的展望。

关键词 最优化;横向定位;飞蛾扑火优化;函数优化

中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2016)31-0172-05

Abstract: The Moth-flame Optimization (MFO) algorithm is a novel swarm intelligence optimization algorithm. The main inspiration of this algorithm is the navigation method of moths in nature called transverse orientation. As a novel bionic swarm intelligence optimization algorithm, this paper analyzed the bionic principle of moth-flame optimization algorithm and built mathematical modelling for the process of the realization. By means of 10 typical benchmark functions are tested, the results demonstrate that MFO is effecitive and feasible. Finally, the future prospects for further work.

Key words: Optimization; Transverse orientation; Moth-flame optimization; Function optimization

优化是工程数学问题,优化过程就是对特定问题找到最优解决方案的过程。优化方法大致可以分为确定性优化和随机优化两大类。确定性优化研究虽相对成熟,却具有对工程应用条件较为苛刻等缺点。正因如此,随机优化方法得到了迅速发展。其中,群智能优化算法便属于随机优化方法的范畴。群智能算法一般来源于对自然界中一些生物群体行为的模仿,具有操作简单,易于并行处理,鲁棒性强等特点,已发展成为优化问题中的研究热点。比较典型的群智能算法有粒子群优化算法(Particle Swarm Optimization, PSO)[1]、萤火虫算法(Firefly Algorithm, FA)[2,3]、蝙蝠算法(Bat Algorithm, BA)[4]、布谷鸟优化算法(Cuckoo OpAtimization algorithm, COA)[5]、人工蜂群算法(Artificial Bee Colony algorithm, ABC)[6]、灰狼优化算法(Grey Wolf Optimizer, GWO)[7]等。这些算法将待优化问题的可能解看做解空间,具有不受搜索空间连续或可微的限制等诸多优点,因此,群智能算法已在模式识别[8]、路径规划[9]、组合优化[10]等诸多领域得到了较为广泛的应用。

在自然界具有很多巧妙的运行机制,其蕴含的智慧宝库,为人类解决复杂的问题提供了充足的灵感。飞蛾扑火优化(Moth-flame optimization, MFO)[11] 算法是由澳大利亚格里菲斯大学Mirjalili提出的一种新型的群智能优化算法,其灵感来源于在夜间飞蛾的一种称为横向定位的导航方式。本文分析了飞蛾扑火算法的仿生原理,并通过10个典型函数优化的测试,对该算法的可行性和有效性进行验证。

1 飞蛾扑火优化算法

1.1 仿生原理

飞蛾是非常类似于蝴蝶家族的昆虫,在自然界中像这样的昆虫有160000种之多。比较有趣的是飞蛾在夜里特殊的导航方式——利用月光来飞行。它们利用一个叫做横向定位的机制来进行导航飞行。在这种导航方式中,飞蛾相对于月亮保持一个固定的角度来飞行。这种方式在直线轨道上长距离的飞行是一个非常有效的机制。由于月亮距飞蛾较远,所以这种机制能确保其沿直線飞行。

在现实世界里,我们时常看到飞蛾围绕着人造光做螺旋形飞行,这是因为当飞蛾遇到一束人造光时,它们试图与人造光维持一个同样的角度沿直线飞行。而由于这样一束人造光与飞蛾之间距离较近,所以,与这样一束光维持一个相同的角度便导致了飞蛾做无用的螺旋飞行。飞蛾被人造光误导而表现出这样的行为说明了横向定位的低效性。横向定位的低效性决定了仅当光源非常远的时候进行直线飞行时才是可行的。

1.2 MFO算法

在MFO算法中,假设飞蛾是候选解,矩阵表示飞蛾的集合,数组用于存储相应的适应度值。该算法的另外一个核心组件是火焰,火焰矩阵用表示,且数组和的维数相等,数组用来存储相应的适应度值。在这里,飞蛾和火焰都是解。它们之间不同之处就是在每一次迭代过程中对待和更新它们的方式不同。飞蛾是在搜索空间里移动的实际搜索主体,而火焰是飞蛾到目前为止获取的最佳位置。因此,倘若找到一个更好的解,每只飞蛾便在标记附近搜索并更新它。通过此机制,飞蛾永远不会错过它的最优解。

2 仿真实验

2.1 实验环境与参数设置

为了验证飞蛾扑火算法的有效性与可行性,文中采用10个基准测试函数来验证其性能。在此次仿真实验中,仿真环境为Win 7操作系统、Intel处理器3.70 GHz、4G内存、仿真软件Matlab 2012a。除飞蛾扑火优化(MFO) [11]算法外,实验中还用到了蝙蝠算法(BA)[4]、粒子群-引力搜索算法(PSOGSA)[12]。其中算法中参数作如下设置:种群规模为30个个体,最大迭代次数为500次,函数维数设置为20维,最后采用独立运行20次最优值的平均值作为测试结果。

2.2 测试函数

从表1可以看出,在单峰函数方面,对于函数,PSOGSA的最优值精度达到了,其求解精度分别比MFO和BA高出14和23个数量级;在平均值方面,MFO的平均求解精度为,分别比PSOGSA和BA高出5和7个数量级。对于函数,PSOGSA的最优值精度达到了,其求解精度分别比MFO和BA高出5和10个数量级;在平均值方面,MFO与PSOGSA的平均求解精度均为,但要稍优于PSOGSA,且两者均比BA提高了2个数量级。对于函数,MFO的最优值精度达到了,虽在其求解精度和平均值方面与PSOGSA相差不大,但总体还是优于PSOGSA的,且在最优值求解精度和平均值方面分别比BA提高了3个和1个数量级。对于函数,PSOGSA的最优值精度达到了,其求解精度与MFO和BA相差不大;在平均值方面,MFO的平均求解精度为,比PSOGSA和BA分别高出1和2个数量级。对于函数,PSOGSA的最优值精度达到了,其求解精度比MFO和BA分别高出14和22个数量级;在平均值方面,MFO的平均求解精度为,比PSOGSA和BA分别高出5和7个数量级。

多峰函数方面,对于函数,BA、PSOGSA、MFO的最优值精度均达到了,平均值方面亦相差不大,但总体而言MFO还是优于BA和PSOGSA的。对于函数,MFO的最优值精度达到了,其求解精度比PSOGSA和BA分别高出3和4个数量级;在平均值方面,MFO的平均求解精度为,比PSOGSA和BA均高出1个数量级。对于函数 ,MFO与PSOGSA的最优值精度均达到了,但还是要优于PSOGSA的;在平均值方面,MFO的平均求解精度为,比PSOGSA和BA分别高出2和4个数量级。对于函数,MFO的最优值精度达到了,其求解精度比PSOGSA和BA分别高出2和6个数量级;在平均值方面,MFO的平均求解精度为,比PSOGSA和BA分别高出1和6个数量级。对于函数,MFO的最优值精度达到了,其求解精度比PSOGSA和BA分别高出4和9个数量级;在平均值方面,MFO的平均求解精度为,比PSOGSA和BA分别高出3和8个数量级。

在单峰函数方面,PSOGSA最优值求解精度是优于MFO和BA的,而在多峰函数方面,MFO是优于PSOGSA与BA的;而在平均值方面,无论是单峰函数还是多峰函数,MFO的平均求解精度均是优于PSOGSA和BA的。

图1-10为BA、PSOGSA、MFO在求解函数平均最优值时函数随迭代次数变化的曲线图。

从以上10幅图可以看到迭代结束时MFO是优于PSOGSA与BA的。从图1,3,5,8,9,10可以看出 当PSOGSA与BA接近收敛到一个值时,MFO还有继续寻优的可能。通过以上各函数优化的结果可以看出,该算法是可行的、有效的。

3 结束语

针对一种新颖的群智能算法——飞蛾扑火优化算法(MFO)进行了分析。该算法模拟了自然界中飞蛾向人造光源移动的生物特性,利用进化的方式来实现智能体的行为以达到寻优的目的。通过函数优化的结果可以看出,算法是可行的、有效的,且具有良好的应用前景。另外,飞蛾扑火优化算法在求解一些复杂函数时的收敛率与求解精度存在不足,还需进一步研究;而且,二进制版本的飞蛾扑火优化算法是一个值得研究的工作。

参考文献:

[1] 赵玉新, (英)杨新社, 刘利强. 新兴元启发式优化方法[M]. 科学出版社, 2013:81-147.

[2] Yang X S. Multi-objective Firefly Algorithm for Continuous Optimization [J]. Engineering with Computers, 2013, 29(2):175-184.

[3] 刘长平,叶春明. 一种新颖的仿生群智能优化算法:萤火虫算法[J]. 计算机应用研究,2011,28(9):3295-3297.

[4] Yang X S, A new metaheuristic bat-inspired algorithm, in: Nature Inspired Cooperative Strategies for Optimization [J] Springer, 2010, pp. 65–74.

[5] Rajabioun R, Cuckoo optimization algorithm. Applied Soft Computing [J]. 2011:5508–18.

[6] Karaboga D, Basturk B, A powerful and efficient algorithm for numerical function optimization: artificial bee colony algorithm [J]. J Global Optim 39: 2010: 459–71.

[7] Zhang S, Zhou Y Q. Grey Wolf Optimizer Based on Powell Local Optimization Method for Clustering Analysis[J]. Discrete Dynamics in Nature and Society, 2015: 1-17.

[8] Nezhinsky A E, Verbeek F J. Pattern Recognition for High Throughput Zebrafish Imaging Using Genetic Algorithm Optimization[C]// Iapr International Conference on Pattern Recognition in Bioinformatics. Springer-Verlag, 2010:301-312.

[9] 陳卫东, 朱奇光. 基于模糊算法的移动机器人路径规划[J]. 电子学报, 2011, 39(4):971-974.

[10] 夏亚梅, 程渤, 陈俊亮,等. 基于改进蚁群算法的服务组合优化[J]. 计算机学报, 2012, 35(2):270-281.

[11] S. Mirjalili, Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm [J]. Knowledge-Based Systems, 2015, 228–249.

[12] Mirjalili S, Hashim SZM .A new hybrid PSOGSA algorithm for function optimization. In Computer and information application (ICCIA), international conference on. IEEE, 2010: 374-377.

猜你喜欢
最优化
新课改情景下的初中政治教学方法综合
基于节约里程法对利民公司配送路径最优化研究