改进的混合蛙跳算法及其多目标优化的应用研究
改进的混合蛙跳算法及其多目标优化的应用研究
改进的混合蛙跳算法及其多目标优化的应用研究
摘要:蛙跳算法(Frog Leap Algorithm, FLA)作为一种基于群体智能的优化算法,在解决单目标优化问题上具有较好的效果。
然而,传统的FLA在处理多目标优化问题时存在一些不足之处,如过早收敛和缺乏全局搜索能力。
为了克服这些问题,本文提出了一种改进的混合蛙跳算法(Improved Hybrid Frog Leap Algorithm, IHFLA),并通过实验证明其在多目标优化问题上的应用效果。
引言:随着计算机技术的迅猛发展,多目标优化问题在各个领域中得到越来越广泛的关注。
多目标优化问题是指在多个目标函数的约束下,寻找最优解空间中的非劣解集合。
针对多目标优化问题,传统的单目标优化算法效果不佳,因此需要开发新的算法来解决这一问题。
本文将基于群体智能的优化算法——蛙跳算法,进行改进,以提高其在多目标优化问题上的性能。
1.蛙跳算法的原理及不足
蛙跳算法是一种基于仿生学的启发式优化算法,模拟了青蛙在寻找食物过程中的行为。
其基本思想是通过模拟蛙类的跳跃行为来搜索最优解。
每个蛙个体都含有一组决策变量,通过不断迭代调整这些变量,以达到最优解。
然而,传统的FLA在多目标优化问题中存在一些问题:(1)易陷入局部最优解,过早收敛;(2)缺乏全局搜索能力。
2.改进的混合蛙跳算法(IHFLA)
为了克服传统FLA中的问题,本文提出了一种改进的混合蛙跳算法(IHFLA)。
该算法在传统FLA的基础上引入了局部搜索
和全局搜索的策略,以提高其多目标优化问题的能力。
具体步骤如下:
(1)初始化种群:根据问题的约束条件,随机生成一定
数量的蛙个体作为初始种群。
(2)目标函数计算:计算种群中每个蛙个体的目标函数值。
(3)更新个体位置:根据当前种群中每个蛙个体的目标
函数值,更新其位置。
(4)局部搜索:对每个个体进行局部搜索,以增加探索
空间。
(5)全局搜索:通过引入全局搜索策略,使蛙个体具有
更好的全局搜索能力。
(6)更新个体适应度:根据个体优劣程度,更新其适应度。
(7)种群更新:根据适应度值,对种群进行更新。
(8)终止条件判断:设置终止条件,如达到最大迭代次
数或收敛精度。
3.多目标优化问题的实验结果
为了验证IHFLA在多目标优化问题上的应用效果,本文选取了三个典型的多目标优化问题进行实验。
分别是XXX问题、YYY
问题和ZZZ问题。
实验结果表明,与传统FLA相比,IHFLA在
多目标优化问题上具有更好的性能。
其非劣解集更加分散、覆盖问题空间更全面,并且能够更好地平衡多个目标之间的关系。
结论:本文在FLA的基础上,提出了一种改进的混合蛙跳算法(IHFLA),并在多目标优化问题上进行了应用研究。
实
验结果表明,IHFLA在多目标优化问题上具有较好的性能,能
够更全面地搜索问题空间,得到更优的非劣解集。
该算法在多
目标优化问题的研究和应用中具有一定的实用价值。
关键词:蛙跳算法,改进,多目标优化,IHFLA,实验结
本文提出了一种改进的混合蛙跳算法(IHFLA)应用于多目标优化问题。
通过引入局部搜索和全局搜索策略,IHFLA能够更好地探索搜索空间,提高算法的性能。
实验结果表明,与传统FLA相比,IHFLA在多目标优化问题上具有更好的性能。
它能够生成更加分散、覆盖问题空间更全面的非劣解集,并能够更好地平衡多个目标之间的关系。
因此,IHFLA在多目标优化问题的研究和应用中具有一定的实用价值。
蛙跳算法的改进及应用
◎叶晶晶 郭 承 军 冯 国明 ( 广 东 工 业 大 学应 用数 学 学 院 , 广东 广州 5 1 0 5 2 0 )
算 法, 并将新 算 法结合 实 际 问题 进行 应 用 , 并 取 得 了好 的
效 果.
【 关键词 】 结合 ; 实际
蛙 跳 算 法 内容 蛙 跳算 法作 为 新 式 的 模 仿 生 物 结 构 以 及 功 能 原 理 而 形 成 的现 代 启 发 式 算 法 , 蛙 跳 算 法 是 一 种 崭 新 的 后 启 发 式 群 体 演化 算 法 , 它 的 计 算 能 力 以 及 搜 寻 能 力 都 非 常 的强 . 蛙 跳算 法 是 为 了 用来 解 决 组 合 优 化 而产 生 的 一 种 智 能 算法. 蛙 跳 算 法 综 合 了智 能 算 法 : 模 因演 算 法 和 粒 子 群 算 法 的优 点. 蛙跳算法 的优点 有 : 内容 简 单 易 了解 , 所 需 要 的 算 法 参 数 较少 , 搜 索 能力 、 计算能力强, 实现轻松. 用 比较形象 、 易 懂 的语 言 解 释 蛙 跳 算 法 如 下 : 在 一 片 潮 湿 的土地中分散有很 多石 头 , 一 群 青 蛙 需 要 分 别 找 到 不 同 的石 头以使 能够跳 到有食 物 的地方. 假使 青蛙 之 间是借 助
( 2 ) 研究不够深入. 蛙跳 算法 的特性 包含 有有效 性 、 分 布性 、 多样性 、 收敛性 , 有效性 已经得到证 明 , 但 是 其 他 的 特
性 却 没 有 得 到 很 好 的 证 明. 通 过 查 阅 一 些 资 料 可 以 知 道 收
每 一 个 城 市 的游 玩 顺 序 为 P: P={ P , P , P - - , P } , 当 游 玩 过 一 个 城 市后 该 城 市 就 需 要 从 上 删 去 , 所 以第 i 个 游 玩 的城 市 在 未 游 玩 的 列 表 U一{ t , , t , …, t } 内 的 相 应 位 置 序 列号 g i 就 能 够 代 表 游 玩 哪个 城 市 , 当 中 的 城 市 全 被 游 玩 之后结束. 所 以 G=( g 。 , g , …, g ) 就表示这个游玩 的回路. 利 用 改进 后 的 蛙 跳 算 法 应 用 在 这 个 问题 上 , 首 先 在 这 些 城 市 中 找 出最 好 的 中任 意 挑 出 两 个 维 度 , 并 把 在 这 维 度 里 的城 市 记 下 . 然 后 找 出 最 差 的 , 同样选维度再记下在此 内 的城 市 , 下面使用 I S F L 、 G A、 S F L A算法 进行 比较. 这 几 个 算
混合型蛙跳算法及其应用研究
混合型蛙跳算法及其应用研究许金元【期刊名称】《计算机应用研究》【年(卷),期】2011(28)8【摘要】To improve the ability of frog-leaping algorithm to solve function optimization problems, proposed a novel efficiently shuffled frog-leaping algorithm. In order to test and verify the ability of proposed algorithm for solving the function optimization problems, compared the performanfce of proposed algorithm with simple frog-leaping algorithm. The experimental results show that calculation result and the convergence speed of proposed algorithm of ESFLA ares superior to simple frog-leaping algorithm, so the proposed algorithm is more suitable for solving complex unconstrained optimization problems.%为了提高蛙跳算法求解无约束连续优化问题的能力,提出了一种改进型混合蛙跳算法.为验证该算法求解函数优化问题的高效性,将其与基本蛙跳算法进行比较实验,结果表明该算法的解精度及收敛速度均优于基本蛙跳算法,更适用于求解复杂的无约束连续优化问题.【总页数】3页(P2835-2837)【作者】许金元【作者单位】湖南机电职业技术学院,长沙410151【正文语种】中文【中图分类】TP18【相关文献】1.混合型蚁群算法及其应用研究 [J], 许梁海;倪志伟;赖大荣2.和声蛙跳算法在复杂优化问题中的应用研究 [J], 肖文显;王俊阁;马孝琴3.混合型神经网络模型算法和应用研究 [J], 周金荣;黄道4.基于混合蛙跳算法的灌溉制度寻优应用研究 [J], 康立军;张仁陟;吴丽丽5.基于蚁群算法和蛙跳算法的云计算资源调度算法 [J], 郭琪瑶;朱范德因版权原因,仅展示原文概要,查看原文内容请购买。
求解TSP问题的改进混合蛙跳算法
3.4
子种群划分方法
将当前种群个体按照适应度升序排列, 然后循
环划分。假如青蛙种群的数目为 N, 整个青蛙种群被 分为 t 个子群体。在子群体划分时, 第 1 只青蛙进入
张敬敏, 马 丽, 李媛媛: 求解 TSP 问题的改进混合蛙跳算法
2012, 48 (11)
49
步骤 11 i = i + 1 ; 如果 i < G , 则转步骤 12; 否则 转步骤 13。 步骤 12 将子种群混合, 重新按照个体适应度值 升序排序, 然后按照 3.4 节方法重新划分子种群。更 新全局最优解 bestindividual 的值。然后转步骤 3。 步骤 13 算法结束, 输出最优解 bestindividual。
temp。 步骤 5 k=1。 步骤 6 产生随机整数 C( , 表示 x 0<Cx< 城市个数) 个体 individualtemp 编码进行翻转的位置编号 1; 产生 随机小数 Px, 如果 Px<P1, 则在 bestindividual 中, 查找 Cx 的下一个城市编号, 赋值给 Cy, Cy 表示个体 individualtemp 编码进行翻转的位置编号 2; 如果 Px ⩾ P1, 则 解中, 查找 Cx 的下一个城市编号, 赋值给 Cy ; 如果 的下一个城市编号, 赋值给 Cy。
[2]
基金项目: 国家自然科学基金 (No.40772196) ; 河北省科技计划项目 (No.11213525D, No.09213547) 。 作者简介: 张敬敏 (1974—) , 女, 副教授, 主要研究方向为智能优化计算、 算法设计和数据库等; 马丽 (1977—) , 女, 讲师; 李媛媛 (1981—) , 女, 讲师。E-mail: zhangjingmin5254@ 收稿日期: 2011-12-08 修回日期: 2012-01-27 DOI: 10.3778/j.issn.1002-8331.2012.11.011
改进的混合蛙跳算法
I p o e hu e r g la i g a g r t m r v d s f d f o e p n l o ihm l
GE Y . W ANG Xu .ig . L AN Jn u epn I G ig
( .Clg u d m na dct n i u nN r a nvrt hn d i un60 6 ,C ia 1 oeeo n a e tl uai ,Sc a om l i sy l fF E o h U e i,C eg uSc a 10 8 hn ; h Nhomakorabea摘
要: 为提 高混合蛙跳 算法在优化 问题 求解 中的性 能, 出了一种 改进混合蛙 跳算 法。改进 算 法在 原算 法基 提
础上加入 了变异算子 , 并根据算 法进化过程的 不 同阶段和 进化过 程 中候 选解分布情 况 , 用模糊控 制 器对 变异算 子 利 的变异尺度进行调整 , 实现 了变异算子在解 空间中搜 索范 围的动 态调整 。通 过对优化 问题 中4个典 型测试 函数 的仿 真 实验表明 , 与基本蛙跳算 法和 已有改进算 法相 比, 改进 算法在 寻优 精度 、 收敛速度和 求解成功 率上均有一倍 以上的 提高 , 尤其在 高维复 杂优化 问题求解 中体现 出较 强的寻优能力 。 关键词 : 模糊控制 器; 混合蛙跳算法 ; 变异算子 ; 变异尺度 中图分类号 : P 8 T 1 文献标志码 : A
J u n lo o u e p ia in o r a fC mp trAp l t s c o
1S 1 S N 001 9 1 — 08
201 — — 2 01 01
计算机应用,0 23 () 24— 3 2 1 ,2 1 :3 2 7
文 章 编 号 :0 1 9 8 (0 2 0 — 24— 4 10 — 0 1 2 1 ) 1 0 3 0
一种新的改进的混合蛙跳算法
最早是由E s 和 Lne于 20 年提出 , uu f as y 00 源于对青蛙觅食行为 的研究 , 具有概念简单 , 参数少 , 计算速度 决, 全局寻优能力强 , 易于实现等特点 , 并且简单易用 , 已在多个领域取得了成功n。 然而 , 和其他 智能优化 算法一样 ,F A同样 存在易收 敛到局 SL 部最优 , 在求解 部分函数优化 问题 时效果不够理想 的缺陷 。 对立策 略是提 高算法优化 性能的一种新方法 文献[ 将 , 6 】 其 应 用于 差分 进化 ( ie n a E o t nD ) 法 中 , Df r tl v li , E 算 e i uo 数值 结 果验 明了其有效性 。文献 【 将 其引入进化 计算 , 出一种 7 ] 提 基 于对 立策 略的种群初 始化方 法 , 即用种群 对立产 生方式 来 取代传统的种群 随机生成方式 。在进 化过程 中同时考虑 随机 点和其对 立点 , 比单纯地使 用随机方 法更有效 。D 算 法[ E 6 1 最 初 由 Soe Pi 于 19 年提 出 , tr 和 r e 9 5 c 该算法 通过变 异 、 交 、 杂 选 择操 作来 更新 随机 产生 的初 始种群 , 经过 逐步 迭代 , 断进 不 化 , 实现全局最优解 的搜索 。 可 SL F A和 DE 法都是 基于群体 智能和 随机策 略 、 依据 算 并
摘 要: 针对混合蛙跳 算法在优化 过程 中受初始值影响较 大且容 易陷入局部最优 的缺 陷, 出了一个改进的混合蛙跳算 法, 提 该算 法利用基于对 立学 习的策略产生初 始种 群 , 高 了产生解的质量 ; 提 在进化过程 中, 差分 进化 有机地嵌入其 中, 将 维持 了种群的 多 样性。数值结果表 明, 改进的混合蛙跳算法对复杂 函数优化 问题具有较 强的求解 能力。
混合蛙跳算法的改进及在旋转机械故障诊断中的应用研究
混合蛙跳算法的改进及在旋转机械故障诊断中的应用研究机械故障诊断学是识别机器或机组运行状态的科学,其核心是有效地获取、传递、处理、再生和利用诊断信息,从而具备对给定环境下诊断对象进行准确的状态识别和诊断决策的能力,对于保障设备安全运行意义重大。
目前,随着机械设备工作状况的复杂性、结构大型化以及功能的集成化和自动化的发展,如何从这些设备中提取有效信息,判定设备的运行状态并对所发生的故障进行准确诊断,对于现有的故障诊断方法提出了新的考验。
本论文针对目前在机械设备故障诊断中的一些难题,将新型的群智能算法—混合蛙跳算法与改进算法的相关理论应用于机械故障诊断中,从“智能优化”处理的角度,完成了对诊断系统中传感器优化布置、神经网络模型的参数优化及无监督类机器学习中代价函数和聚类数的智能求解。
论文主要工作如下:(1)在分析混合蛙跳算法相关概念和数学模型的基础上,通过简化的青蛙个体更新模型,以z变换为数学工具对最差青蛙的动态行为进行分析,理论上证明了其局部收敛性和全局收敛性;结合Markov模型以及算法期望收敛时间的相关概念,完成了对混合蛙跳算法的收敛速度理论分析以及算法本身的复杂度分析,完善了混合蛙跳算法的部分理论;以单因素方差分析法为数学工具,首次全面分析了算法中的5个基本参数与算法性能之间的联系,以及其参数的效能问题,结合实验数据,得到SFLA参数设置对算法的影响规律;(2)提出了一种基于交叉和变异运算的离散型混合蛙跳算法,该算法在最差青蛙进行更新时,通过交叉运算得到平均最优青蛙,将其与最差青蛙的汉明距离的大小作为其是否变异运算的依据,仿真试验证明,该算法可有效地解决了标准混合蛙跳算法在求解0-1变量类型的函数时的不足;通过建立基于系统测试可靠性的和故障-传感器因果矩阵的传感器网络优化的数学模型,解决了针对齿轮箱故障诊断时传感器的测点位置和数量的智能优化选择,计算结果不仅表明了新算法的优越性,也可为其它NP难问题提供技术支持;(3)提出了一种基于混沌思想和收敛因于的连续型混合蛙跳算法。
求解多目标优化问题的自适应混沌混合蛙跳算法
求解多目标优化问题的自适应混沌混合蛙跳算法田祎【期刊名称】《计算机应用与软件》【年(卷),期】2015(32)6【摘要】针对多目标优化问题提出一种自适应混沌混合蛙跳算法 MACSFLA (Adaptive chaos shuffled frog leaping algorithm for mul-tiobjective optimization)。
使用动态权重因子策略以提高混合蛙跳算法 SFLA(Shuffled Frog Leaping Algorithm)收敛效率,引入基于 Pa-reto 支配能力的 SFLA 子族群划分策略,使得 SFLA 能够应用于多目标优化问题。
在此基础上,MACSFLA 首先利用 SFLA 快速寻优能力接近理论 Pareto 最优解,然后采用自适应网格密度机制动态维护外部存储器 Pareto 最优解规模,并使用自适应混沌优化技术改善Pareto 最优解集样本多样性,最后利用 Pareto 最优解选择策略为青蛙种群选择最优更新粒子。
多目标函数测试实验结果表明,与MOPSO 和 NSGA-Ⅱ相比,MACSFLA 在 Pareto 最优解集均匀性和多样性上有明显优势。
%We propose an adaptive chaos shuffled frog leaping algorithm (MACSFLA)for multi-objective optimisation problem.It uses dy-namic weighting factor strategy to improve the convergence efficiency of shuffled frog leaping algorithm (SFLA),and introduces Pareto control capability-based SFLA sub-ethnic partition strategy to make SFLA be able to apply to multi-objective optimisation.On this basis,MACSFLA first employs fast search ability of SFLA to approach the optimal solutions of theoretical Pareto,and then uses adaptive grid density mechanism to dynamically maintain the scale ofoptimal Pareto solution of external memoriser,and uses adaptive chaos optimisation technology to improve the sample diversity of optimal Pareto solution.Finally,it uses optimal Pareto solution selection strategy to select more update particles for frog populations.Results of multi-objective function test experiment show that,compared with MOPSO and NSGA-Ⅱ,MACSFLA has evident ad-vantages in uniformity and diversity of optimal Pareto solution set.【总页数】4页(P252-255)【作者】田祎【作者单位】商洛学院陕西商洛 726000【正文语种】中文【中图分类】TP18【相关文献】1.变异自适应混沌粒子群算法求解线性超定方程 [J], 张成兴2.机器人逆运动学差分自适应混沌粒子群求解 [J], 谢宏;向启均;陈海滨;张小刚;杨鹏;张爱林;李云峰3.求解多目标优化问题的自适应粒子群算法 [J], 文瑛;廖伟志;闭应洲4.一种新的基于logistic混沌映像的自适应混沌蚁群优化算法求解动态车辆路径问题 [J], 徐洪丽;钱旭;岳训;马长安;刘康5.求解约束优化问题的自适应免疫混合蛙跳算法 [J], 潘学因版权原因,仅展示原文概要,查看原文内容请购买。
蛙跳算法
(三)混洗蛙跳算法研究许多研究人员致力于研究模拟生物群体活动,并且取得很多研究成果。如鸟群算法、鱼群算法都是模拟生物在群体活动中表现出的行为。在寻找食物过程中,群体中个体可以从其他个体上获得经验;但是在资源难以预测分布时,这种群体行为就具有决定性意义。正是基于种群间信息互享这一思想,使混洗蛙跳算法具有理论基础。这一理论的发展方向主要有:(1)个体研究小组采用不同的方法解决相同问题;(2)一些研究人员提出新的方法,并且与其他的方法进行对比;(3)大型的团队可能改变一些规范标准。但是这些研究人员有共同的研究特点都是从其他的设计中获得更好信息,反复逐步提高技术。
2.模因与基因的比较。Meme和Gene之间也具有很有相似的特点,如建立可能解,通过某种策略选择可能解,与其他的解相结合产生后代等。Meme和Gene的最根本的区别是在群体中采用不同的传播机制。在种群中通过选择Meme增强种群间的交流能力(如混合蛙跳算法中的青蛙个体)。而选择gene是为了繁殖后代。(1)Meme进化更具有灵活性,能在种群中任意个体之间进行传播策略;Gene仅可以在具有亲缘关系的个体之间进行信息传递。(2)进化速度不同。由于Gene在N代中传递,所以需要更多的时间进行传播。而meme仅需要分级速度传播。(3)变异率不同。在神经网络系统中,Meme更容易产生变异。而以双螺旋稳定结构为基础的染色体中,Gene的变异率会很低。综合以上的分析,得出结论是以Meme为传播单元比以Gene的传播速度快。
蛙跳步长更新:Si=rand()×(Pb-Pw)(1)位置更新:Pw(k+1)=Pw(k)+Si(2)Smax≥Si≥-Smax,其中rand()∈[0,1](k=1,2,?,n),S是最大步长。如果计算后新的解较优,则用其替代最差个体。并且通过求全局最优解Pg。如果得到的解没有改进,那么随机生成新解取代所求个体的解,算法继续迭代直至迭代次数完毕。混洗蛙跳算法的参数:青蛙群体数P,族群数m,混合操作前族群内更新代数和混合迭代次数。3.算法流程随机产生P solutions(individuals);For each individuali E P:Sort the whole population P in descending order of theirfitness;根据每个个体的适应度按降序排列Divide the population P into m memeplexes;For each memeplex;Determine the best and worst individuals;Improve the worst individual position using Eqs.1 and2;Repeat for a specific number of iterations;End;Combine the evolved memeplexes;Sort the population P in descending order of theirfitness;Check if termination=true;End;
一种改进的蛙跳算法的研究
收稿日期: 2017-08-03 作者简介: 周林锦( 1982-) ,女,讲师,硕士,研究方向为算法优化。
第7期
周林锦. 一种改进的蛙跳算法的研究
179
个体,仿真结果说明改进的蛙跳算法的全局寻优能 力明显优于基本的混合蛙跳算法; 文献[7]提出一 种新的种群分割方法。该方法将代表潜在最优区域 的非支配个体集合通过聚类的方式划分族群,目的 是使不同族群在不同区域进行局部搜索,避免算法 早熟; 文献[8]提出一种改进的混合蛙跳算法,首先 借鉴分子动力学模拟思想,将正态云模型云滴的随 机性和稳定倾向性特点应用于比例积分微分( PID) 控制器的参数整定中,最后利用 Velocity。Verlet 算 法和正态云发生器代替 SFLA 的更新策略,平衡了 搜索的高效性和种群的多样性; 文献[9]提出一种 改进算法。该算法利用变公比数列分析更新轨迹的 收敛性,并引入离散度和适应度方差作为指标,自适 应地调节数列公比取值范围,以平衡收敛精度和收 敛速度; 文献[10]提出了一种改进混合蛙跳算法, 其思想是改进算法在原算法基础上加入了变异算 子,利用模糊控制器对变异算子的变异尺度进行调 整,实现了 变 异 算 子 在 解 空 间 中 搜 索 范 围 的 动 态 调整。
第 34 卷 第 7 期 2018 年 7 月
科技通报
BULLETIN OF SCIENCE AND TECHNOLOGY
Vol.34 No.7 Jul. 2018
一种改进的蛙跳算法的研究
周林锦
( 衡水学院,湖北 衡水 053000)
摘 要: 蛙跳算法是一种启发式的智能算法,在优化问题中具有广泛的应用,针对该算法求解精度低,收敛速度慢, 容易陷入局部的缺点,从 4 个方面提出了改进: ( 1) 引入 Tent 混沌来改进蛙跳的种群初始化; ( 2) 通过最大化搜索 策略提高局部搜索; ( 3) 最差个体中引入柯西因子进行优化; ( 4) 采用模式搜索来优化最优个体.通过 5 个测试函数 说明本文的算法能够有效的提高算法的性能. 关键词: 蛙跳算法; 种群初始化; 局部搜索; 最差个体; 最优个体
一种改进的混合蛙跳算法
一种改进的混合蛙跳算法赵红星;常小刚【摘要】针对混合蛙跳算法后期收敛速度慢、精度低并易陷入局部最优的问题,提出一种改进的混合蛙跳算法.在改进的混合蛙跳算法中,对青蛙的觅食机制和进化迭代公式重新定义,青蛙的第一跳向模因组其它青蛙单维搜索,第二跳向模因组内最优青蛙单维搜索,第三跳向全局最优青蛙单维搜索,通过青蛙的三跳协同搜索,能够使算法的全局搜索能力和局部搜索能力得到显著改善.通过7个测试函数与ABC算法和标准混合蛙跳算法实验对比,实验结果表明改进的混合蛙跳算法具有比ABC算法和混合蛙跳算法更优秀的搜索性能,在收敛速度和收敛精度方面具有明显的优势.%To solve the problem of slow convergence speed,low precision and easy to fall into local optimum of SFLA algorithm,an improved shuffled frog leaping algorithm (BCSFLA) is proposed.The searching mechanism and the evolutionary iteration formula of frogs are redefined.In the frog's first and second jump search,it's learning toward the other frogs and the optimal frog in the model group,and in the frog's third jump search,it's learning toward the global optimal frog.Through the cooperation of the three jump search,the global search ability and local search ability of the algorithm are improved significantly.Experiments are conducted on a set of 7 benchmark functions and compared with ABC algorithm and SFLAalgorithm.Finally,the result demonstrates a good performance of BCSFLA algorithm.【期刊名称】《兰州交通大学学报》【年(卷),期】2017(036)001【总页数】6页(P51-56)【关键词】混合蛙跳算法;人工蜂群算法;全局搜索;函数优化【作者】赵红星;常小刚【作者单位】兰州交通大学交通运输学院,甘肃兰州 730070;兰州交通大学现代信息技术与教育中心,甘肃兰州 730070;兰州交通大学现代信息技术与教育中心,甘肃兰州 730070【正文语种】中文【中图分类】TP301.6混合蛙跳算法(shuffled frog leaping algorithm,SFLA)[1]是Eusuff和Lansty依据群智能思想于2000年提出的一种亚启发式算法,该算法结合了模因算法(MA)[2]和粒子群算法(particle swarm optimization,PSO)[3]的优点,通过模拟青蛙群体的觅食过程,以局部搜索和全局信息交流的方式,在搜索范围内寻找最优解.SFLA因算法简单、易于理解、控制参数少且具有相对较优的搜索能力而得到了学者的广泛关注.文献[4]建立了SFLA的Markov链数学分析模型.文献[5]将人工鱼群算法(artificial bee colony algorithm,ABC)与SFLA结合提出了混合算法CSFLA(composite shuffled frog leaping algorithm).文献[6] 改进了SFLA的进化计算公式,使进化计算受到模因组内的最优个体、全局最优个体和干扰因子三者共同的影响,并成功解决了无线传感网的定位问题.文献[7]提出了基于惯性因子的SFLA.文献[8]将自适应粒子群(SAPSO)算法与SFLA相互结合,成功解决了配电网的重构问题.文献[9]将幂律极值动力学优化与SFLA融合,分析了容量约束车辆路径问题,并通过实例证明了算法的有效性.文献[10]引入模拟退火(SA)、免疫接种(IV)、高斯变异和混沌扰动算子以提高SFLA算法的深度搜索能力和广度搜索能力,改进后的SFLA算法成功优化了支持向量机(SVM)的参数.针对SFLA的全局收搜索能力和深度搜索能力的不足之处,提出了一种改进的混合蛙跳算法(bee colony shuffled frog leaping algorithm,BCSFLA),在BCSFLA的寻优过程中,结合了人工蜂群算法的单维搜索机制,并且根据模因组的最坏青蛙进化情况决定是否由模因组的最优青蛙进行精细化搜索,通过对青蛙觅食过程的重新定义,使BCSFLA的全局搜索能力和精度搜索能力同时得到提高.利用7个60维的测试函数,进行了BCSFLA、ABC、SFLA的计算试验对比,结果表明BCSFLA在函数优化方面具有比ABC和SFLA更明显的优势.SFLA是模拟青蛙觅食过程中的信息交流特点在SFLA中,每个模因组的局部搜索首先是由该模因组的最坏青蛙在该模因组的最优青蛙或者全局最优青蛙的启发下计算进化,如果产生的新个体优于该模因组的最坏青蛙,则利用新个体代替该模因组的最坏青蛙,在下一次计算时,新的最坏青蛙必然优于之前的最坏青蛙,经过多次计算,从而使整个模因组实现进化.如果该模因组的最坏青蛙在进化计算时产生的新个体不优于当前的最坏青蛙,则在搜索范围内随机产生新个体代替当前的最坏青蛙,从而拓展了算法的全局搜索能力.在标准的SFLA算法中,青蛙的第一跳和第二跳是由模因组最坏青蛙向该模因组最优青蛙或者全局最优青蛙方向搜索,在算法的后期,如果部分较优秀的青蛙始终保持不变,将导致整个群体只向少部分较为优秀的青蛙方向搜索,从而使算法的广度搜索能力有所减弱.同时,随着算法的不断进化,模因组的最坏青蛙本身也携带了较为优秀的信息,此时模因组内的最坏青蛙很难通过前两跳得到改善,那么青蛙的第三跳将对模因组最坏青蛙随机处理,便不可避免地使最坏青蛙出现退化现象,影响了算法的搜索速度和搜索深度.为了提高蛙群的全局搜索能力,青蛙在第一跳的时候可以利用模因组内其它青蛙的启发信息,使模因组最坏青蛙可以朝着多个方向搜索.同时,为了使蛙群的整体质量得到快速提高,可以规定青蛙的第二跳向所在模因组内的最优青蛙学习,通过最坏青蛙的不断改善,将使模因组内的所有青蛙质量得到快速提高.在标准的SFLA 中,所有的搜索都是由模因组最坏青蛙完成的,缺乏对优秀个体周围充分的精细化搜索,使后期收敛速度慢. 故此,青蛙的第三跳可以由模因组最优个体进行精细化搜索,使算法的深度搜索能力得到提高.同时,为了避免BCSFLA在搜索时由于迭代空间过大,降低搜索性能,特借鉴了ABC的单维度计算方法,使BCSFLA以较小的搜索范围进行寻优迭代,进一步保证了算法的精细化搜索能力.BCSFLA的详细流程如图2所示.在BCSFLA算法的蛙群寻优过程中,青蛙的第一跳操作如果可以改善当前最坏青蛙,则算法直接进行下一次局部搜索判断,如果通过青蛙的第一跳操作没有使最坏青蛙得到改善,说明此时倾向广度搜索操作难以找到更加优秀的个体,则此时由最坏青蛙向模因组的最优青蛙方向搜索,以达到快速提高群体的整体质量的目的,如果此时最坏青蛙得到了改善,则进入下一次的局部搜索判断,否则青蛙进入第三跳操作,在第三跳的操作过程中,说明当前模因组的整体质量很难由最坏青蛙的搜索而得到改善,则此时应该由当前模因组内的最优青蛙进行精细化搜索,从而提高算法的搜索深度.在以上蛙群搜索过程中,青蛙的第一跳操作可以保证算法有较强的全局搜索能力,而第二跳操作可以快速改善蛙群的整体质量,使得第三跳精细化搜索更加高效.BCSFLA是通过分析SFLA的寻优进程,在SFLA算法框架基础之上结合人工蜂群算法的寻优机制,从而对SFLA的进化计算公式进行了重新定义.SFLA算法时间和空间复杂度分别为O(M×N×D×G)和O(M×N×D),其中:M为模因组个数;N 为每个模因组个体数;D为优化问题维度;G为算法全局迭代次数.BCSFLA相对只是更改了SFLA算法的进化计算公式,由原来的D维变成了单维计算,并且在单维计算中只是参照了人工蜂群算法的进化策略,并未影响SFLA算法的时间复杂度和空间复杂度.因此,BCSFLA算法基本未增加运算时间和空间开销.为了测试BCSFLA的收敛性能,本文选用文献[11-13]中的7个60维的测试函数进行实验分析.各函数的表达式、搜索范围以及理论最优值如表1所列.同时,为了验证BCSFLA的性能优势,选择具有比遗传算法(genetic algorithm,GA)、PSO、差分算法(differential evolution algorithm, DE)更具优势的ABC[13-14],以及标准SFLA算法进行性能对比,各算法的参数设置如下:BCSFLA:蛙群大小SN=100,模因组个数M=10,每个模因组包含青蛙个数N=10,模因组的局部搜索次数l=10;ABC算法:蜂群大小SN=100,参照文献[15]设置lim it=0.3×SN×D,D为具体问题的搜索维度;SFLA:蛙群大小SN=100,模因组个数M=10,每个模因组包含青蛙个数N=10,模因组的局部搜索次数l=10.三种算法搜索的终止条件为全局迭代次数G=3 000,所有实验均在内存为4 Gbyte,处理器Intel(R)Core i5-3750 3.40 GHz计算机上,采用VC++6.0实现. 为了使实验结果更加客观,使所有实验独立运行30次,统计30次实验结果的平均值和方差如表2所列.从表2的实验结果可以看出,在优化函数f3和f5时,BCSFLA和ABC同时获得了全局最优解,而在其它函数优化实验中,BCSFLA具有比ABC和SFLA更优秀的结果,而且优势较为明显.这是由于在进化计算时,青蛙的第一跳搜索侧重于广度搜索,能够增强算法的全局搜索能力,青蛙的第二跳搜索能够使模因组内的所有青蛙得到快速改善,从而改善了群体的整体质量,青蛙的第三跳则使蛙群具有了精细化搜索能力,通过模因组内的最优青蛙向全局最优青蛙的学习,使算法的收敛精度得到了有效提高.同时,从实验结果可以看出,ABC比SFLA更具优势,ABC算法通过雇佣蜂和侦察蜂的搜索提升了算法的全局搜索能力,而观察蜂更加倾向于选择优秀个体进化,提高了算法的深度搜索能力.在SFLA中,算法的搜索总是由模因组内的最坏青蛙向模因组内最优青蛙和全局最优青蛙学习,或者进行随机搜索,导致了算法的搜索性能低下.为了比较三种算法对各函数随迭代次数的收敛速度,三种算法对各函数30次收敛的平均过程如图3所示.从三种算法对各函数30次收敛的平均过程可以看出,BCSFLA随迭代次数的变化,总能够以较快的速度发现比ABC算法和SFLA更好的解,这是因为BCSFLA通过青蛙的三跳操作,有效地均衡了算法的全局搜索和深度搜索机会,在提升算法的搜索覆盖范围的同时,能够开发部分优秀青蛙的领域,减少了青蛙学习的方向的盲目性,借鉴ABC算法的进化计算公式,提高了青蛙能够以更高的效率向其它优秀青蛙进行学习.针对SFLA全局搜索能力和深度搜索能力的不足,提出了BCSFLA,重新定义了青蛙的三跳寻优机制,通过青蛙三跳搜索的互相协作,均衡了算法的全局搜索和深度搜索机会.通过常用的7个60维测试函数的试验对比分析表明:BCSFLA在函数优化方面具有比ABC和SFLA更好的收敛性能.。
