一种新的改进的混合蛙跳算法
蛙跳算法的改进及应用

◎叶晶晶 郭 承 军 冯 国明 ( 广 东 工 业 大 学应 用数 学 学 院 , 广东 广州 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算法 进行 比较. 这 几 个 算
一种保持种群多样性的改进混洗蛙跳算法

( 1 .S c h o o l o f Co mp u t e r a n d I n f o r ma t i o n Te c h n o l o g y,No r t h e a s t Pe t r o l e u m Un i v e r s i t y ,Da q i n g 1 6 3 3 1 8 )
p r o v e d b y d e n s i t y d i v e r s i t y o f t h e o p i t ma l v a l u e s o f a l l 【 g r o u p s wh i c h a r e c a l c u l a t e d t h r o u g h d y n a mi c c h a n g e t h e mu l i t p l i c i t y r a i t o .Th , e s i mu l a t i o n r e s u l t s s h o w t h a t t h e p r o p o s e d a l g o r i t h m h a s i f n e c a p a b i l i t y o f i t mi n g g l o b a l o p t i mU l T L K e y Wo r d s s h u f l f e d lo f g l e a p i n g a l g o r i t h m ,o p p o s i t i o n - b a s e d l e a r n i n g,d i v e r s i t y ,o p t i mi z a t i o n
大庆 1 6 3 3 1 8 ) ( 1 . 东北 石 油 大 学 计算 机 与 信 息 技 术 学 院
求解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
一种改进的混合蛙跳和K均值结合的聚类算法

一种改进的混合蛙跳和K均值结合的聚类算法喻金平;张勇;廖列法;梅宏标【期刊名称】《计算机工程与科学》【年(卷),期】2016(038)002【摘要】传统K均值聚类(KMC)算法过分依赖初始值的设置,容易陷入局部最优;混合蛙跳算法(SFLA)存在收敛速度和搜索速度较慢、局部和全局信息交流不全面等缺点.针对以上缺点,首先提出一种改进的混合蛙跳算法(MSFLA).该算法根据粒子群优化和差分进化思想,在青蛙个体变异时,引入上一次移动距离的权重惯性系数和缩放因子,从种群中的最优位置和历史最优位置之间的随机点出发,以子群内的青蛙的平均值和最差位置差值为步长进行青蛙个体的更新操作.再将MSFLA与KMC算法结合提出MSFLA-KMC算法,有效地克服了KMC算法过分依赖初始值设置问题,同时降低了KMC算法陷入局部最优的可能性.实验结果表明,MSFLA具有较强的寻优能力,MSFLA-KMC算法则具有更好的聚类性能.【总页数】7页(P356-362)【作者】喻金平;张勇;廖列法;梅宏标【作者单位】江西理工大学工程研究院,江西赣州341000;江西理工大学信息工程学院,江西赣州341000;江西理工大学信息工程学院,江西赣州341000;江西理工大学应用科学学院,江西赣州341000【正文语种】中文【中图分类】TP301.6【相关文献】1.一种改进的粒子群和K均值混合聚类算法 [J], 陶新民;徐晶;杨立标;刘玉2.基于改进混合蛙跳-K均值聚类算法的无功电压控制分区 [J], 王联国;韩晓慧;宋磊3.一种基于改进混合蛙跳的聚类算法 [J], 韩晓慧;王联国4.一种改进的混合蛙跳和K均值结合的聚类算法 [J], 许方;张桂珠5.改进混合蛙跳算法和K-Means的新型聚类算法 [J], 卞艺杰;吴慧;邹银马;马瑞敏因版权原因,仅展示原文概要,查看原文内容请购买。
一种新的改进的混合蛙跳算法

最早是由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 法都是 基于群体 智能和 随机策 略 、 依据 算 并
摘 要: 针对混合蛙跳 算法在优化 过程 中受初始值影响较 大且容 易陷入局部最优 的缺 陷, 出了一个改进的混合蛙跳算 法, 提 该算 法利用基于对 立学 习的策略产生初 始种 群 , 高 了产生解的质量 ; 提 在进化过程 中, 差分 进化 有机地嵌入其 中, 将 维持 了种群的 多 样性。数值结果表 明, 改进的混合蛙跳算法对复杂 函数优化 问题具有较 强的求解 能力。
求解复杂函数优化问题的混合蛙跳算法

收稿日期:2008210206;修回日期:2008212224 基金项目:国家自然科学基金资助项目(60674108,60574075) 作者简介:赵鹏军(19792),男,陕西渭南人,硕士,主要研究方向为最优化理论与方法、智能计算及其应用等(pengjunzhao @t );刘三阳(19592),男,陕西西安人,教授,博导,博士,主要研究方向为最优化理论及其应用、信息网络的算法与性能优化、非光滑/非线性分析等.求解复杂函数优化问题的混合蛙跳算法3赵鹏军1,2,刘三阳2(1.商洛学院数学与计算科学系,陕西商洛726000;2.西安电子科技大学理学院,西安710071)摘 要:针对基本混合蛙跳算法在处理复杂函数优化问题时容易陷入局部最优、收敛速度慢的缺点,提出了一种改进的混合蛙跳算法。
该算法把生物学中的吸引排斥思想引入到混合蛙跳算法中,修正了其更新策略,从而维持了子群的多样性。
实验仿真结果表明,改进的混合蛙跳算法提高了算法的收敛速度,有效地避免了SF LA 的早熟收敛问题,从而改善了对复杂问题的搜索效率,数值实验结果验证了算法的有效性和鲁棒性。
关键词:混合蛙跳算法;智能优化;复杂函数中图分类号:TP301.6 文献标志码:A 文章编号:100123695(2009)0722435203doi:10.3969/j .issn .100123695.2009.07.009Shuffled fr og leap ing algorith m for s olving comp lex functi onsZ HAO Peng 2jun1,2,L I U San 2yang2(1.D ept .of M athe m atics &Co m putational Science,Shangluo U niversity,Shangluo Shannxi 726000,China;2.School of Science,X idian U ni 2versity,X i ’an 710071,China )Abstract:Basic shuffled fr og leap ing algorith m (SF LA )easily trapped int o l ocal op ti m a and had a sl ow convergence s peedwhen it was used t o address comp lex functi ons,in order t o overcome the shortcom ings,this paper p r oposed an i m p r oved SF 2LA.The p r oposed algorithm integrated the attracti on 2repulsi on mechanis m in the field of bi ol ogy int o SF LA and modified upda 2ting strategy,and thusmaintains the subpopulati on diversity .Experi m ental results show that the p r oposed SF LA enhances con 2vergence vel ocity and avoids p re mature convergence effectively,i m p r oving the efficiency of search for comp lex functi ons .A l 2s o,nu merical results de monstrate the effectiveness and r obustness of the i m p r oved SF LA.Key words:shuffled fr og leap ing algorith m (SF LA );intelligent op ti m izati on;comp lex functi ons 在大自然中,某些物种在它们漫长的进化过程中所形成的生存方式和觅食行为为人类解决某些问题带来了新的启发。
改进的混合蛙跳算法
改进的混合蛙跳算法葛宇;王学平;梁静【摘要】为提高混合蛙跳算法在优化问题求解中的性能,提出了一种改进混合蛙跳算法.改进算法在原算法基础上加入了变异算子,并根据算法进化过程的不同阶段和进化过程中候选解分布情况,利用模糊控制器对变异算子的变异尺度进行调整,实现了变异算子在解空间中搜索范围的动态调整.通过对优化问题中4个典型测试函数的仿真实验表明,与基本蛙跳算法和已有改进算法相比,改进算法在寻优精度、收敛速度和求解成功率上均有一倍以上的提高,尤其在高维复杂优化问题求解中体现出较强的寻优能力.%To enhance the performance of Shuffled Frog Leaping Algorithm (SFLA) in solving optimization problems, this paper proposed an improved shuffled frog leaping algorithm. By adding mutation operator to the original algorithm, the improved algorithm regulated the scale of mutation operator via fuzzy controller, made a dynamic adjustment of mutation operator in the searching range of solution space with different phase and candidate solution distribution of evolution process. The simulation results of four typical functions of optimization problems show that the proposed algorithm can attain above twice improvement on accuracy, convergent speed and success rate, and it demonstrates a better optimization capability especially in solving the high dimensional complex optimization problem, in comparison with the basic shuffled frog leaping algorithm and the known improved algorithm.【期刊名称】《计算机应用》【年(卷),期】2012(032)001【总页数】4页(P234-237)【关键词】模糊控制器;混合蛙跳算法;变异算子;变异尺度【作者】葛宇;王学平;梁静【作者单位】四川师范大学基础教学学院,成都610068;四川师范大学数学与软件科学学院,成都610068;成都电子机械高等专科学校网络中心,成都610031【正文语种】中文【中图分类】TP180 引言混合蛙跳算法[1](Shuffled Frog Leaping Algorithm,SFLA)是由Eusuff等于2003年提出的一种结合了模因算法(Memetic Algorithm,MA)和粒子群优化算法(Particle Swarm Optimization,PSO)的全新进化算法。
混合蛙跳算法改进及其对旅行商问题的求解
混合蛙跳算法改进及其对旅行商问题的求解作者:李俊来源:《软件导刊》2016年第10期摘要:针对混合蛙跳算法在进化过程中容易陷入局部最优的问题,使用群体适应度值判断算法在进化过程中是否陷入局部最优,如果陷入局部最优,则对整个种群的当前最优解Gb进行贪婪倒位变异,如果变异后的Gb(新)要优于Gb(旧),则使用Gb (新);否则,使用模拟退火算法判断是否接受Gb (旧)。
通过实验,将改进前后的混合蛙跳算法用于对旅行商问题的求解,并通过对比,验证了改进后的算法较未改进的算法更有效。
关键词:混合蛙跳算法;旅行商问题;组合优化问题DOIDOI:10.11907/rjdk.161741中图分类号:TP312文献标识码:A文章编号:16727800(2016)0100041020引言混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)由Eusuff和Lansey在2003年第一次提出,是一种全新的启发式群体智能进化算法,最初用于解决管道网络扩充中管道尺寸的最小化问题[1]。
随后,混合蛙跳算法以自身参数设置少、全局搜索寻优能力强、计算强度小、简单易于实现等优势被国内外学者所关注。
目前主要用于解决组合优化问题,如水资源分布安排[2]、电力系统的调度[3]、云计算环境下资源分配问题[4]等。
组合优化问题是从组合问题的可行解中求出最优解。
旅行商问题属于一种典型的组合优化问题,是NP难题。
旅行商问题的具体描述是:以一个城市为出发点,在N个城市各经历一次,最后回到出发点,使得所经过的路程达到最短。
如果不考虑方向性和周期性,则总共存在的闭合路径数目是(N-1)!2。
当N选取的数目很大时,计算量将特别大,在求解最优路径时很困难,因为该问题算法在运行过程中,需要很长的运行时间和很大的存储空间,以至于根本不可能在计算机中得到实现,产生了所谓的“组合爆炸”问题。
如果采用传统算法(如穷举搜索算法、贪心算法和动态规划算法等),就会遇到上述问题。
一种基于改进混合蛙跳的KFCM算法赵小强
2013, 49 (4)
141
一种基于改进混合蛙跳的 KFCM 算法
2 赵小强 1, , 刘悦婷 1
2 ZHAO Xiaoqiang1, , LIU Yueting1
1.兰州理工大学 电气工程与信息工程学院, 兰州 730050 2.甘肃省工业过程先进控制重点实验室, 兰州 730050 1.College of Electrical and Information Engineering, Lanzhou University of Technology, Lanzhou 730050, China 2.Key Laboratory of Gansu Advanced Control for Industrial Processes, Lanzhou 730050, China ZHAO Xiaoqiang, LIU Yueting. Kernel fuzzy C-means clustering based on improved shuffled frog leaping algorithm. Computer Engineering and Applications, 2013, 49 (4) : 141-145. Abstract:Because of the problems of Kernel Fuzzy C-means Clustering algorithm (KFCM) easy falling into local optimality and the sensitivity to initial value, a kernel fuzzy C-means clustering based on Shuffled Frog Leaping Algorithm (SFLA)is presented. But its effect is not satisfactory for the data with larger clusters number and higher dimensions. So adaptive inertia weight is used to update the strategy of SFLA. Then the obtained optimal solution by improved shuffled frog leaping algorithm (ISFLA)is taken as initial clustering centers of KFCM algorithm to optimize initial clustering centers, so as to get the global optimum and overcome the shortcoming of the KFCM algorithm. The results of experiments on the artificial and real data show that compared with the KFCM and FCM clustering algorithm, the new algorithm optimization ability would be stronger, the number of iterations less, and the clustering effect better. Key words: Kernel Fuzzy C-means Clustering (KFCM) ; improved shuffled frog-leaping algorithm; cluster analysis; data mining 摘 要: 针对核模糊 C- 均值 (KFCM) 聚类算法存在易陷入局部极小值, 对初始值敏感的缺点。将混合蛙跳算法 (shuffled
一种基于改进混合蛙跳的KFCM算法
一种基于改进混合蛙跳的KFCM算法赵小强;刘悦婷【期刊名称】《计算机工程与应用》【年(卷),期】2013(049)004【摘要】针对核模糊C-均值(KFCM)聚类算法存在易陷入局部极小值,对初始值敏感的缺点.将混合蛙跳算法(shuffled frog leaping algorithm,SFLA)用于KFCM中,但在聚类数较大和维数较高时,聚类效果不理想,为此提出将自适应惯性权重引入混合蛙跳算法的更新策略中,再用改进后的混合蛙跳算法求得最优解作为KFCM算法的初始聚类中心,利用KFCM算法优化初始聚类中心,求得全局最优解,从而有效克服了KFCM算法的缺点.人造数据和经典数据集的实验结果表明,新算法与KFCM 和FCM聚类算法相比,寻优能力更强,迭代次数更少,聚类效果更好.%Because of the problems of Kernel Fuzzy C-means Clustering algorithm (KFCM) easy falling into local optimality and the sensitivity to initial value, a kernel fuzzy C-means clustering based on Shuffled Frog Leaping Algorithm (SFLA) is presented. But its effect is not satisfactory for the data with larger clusters number and higher dimensions. So adaptive inertia weight is used to update the strategy of SFLA. Then the obtained optimal solution by improved shuffled frog leaping algorithm (ISFLA) is taken as initial clustering centers of KFCM algorithm to optimize initial clustering centers, so as to get the global optimum and overcome the shortcoming of the KFCM algorithm. The results of experiments on the artificial and real data show that compared with the KFCM and FCM clustering algorithm, thenew algorithm optimization ability would be stronger, the number of iterations less, and the clustering effect better.【总页数】5页(P141-145)【作者】赵小强;刘悦婷【作者单位】兰州理工大学电气工程与信息工程学院,兰州730050;甘肃省工业过程先进控制重点实验室,兰州730050;兰州理工大学电气工程与信息工程学院,兰州730050【正文语种】中文【中图分类】TP301.6【相关文献】1.一种基于改进混合蛙跳的聚类算法 [J], 韩晓慧;王联国2.一种基于阈值选择策略的改进混合蛙跳算法 [J], 李英海;周建中;杨俊杰;刘力3.基于改进混合蛙跳算法的图像阈值分割算法 [J], 刘立群;火久元;王联国4.一种基于混合蛙跳和粒子群融合的改进优化新算法 [J], 周林; 陶冠宏; 王佩5.一种基于二分法查找的改进混合蛙跳算法 [J], 王晓彬;邹海荣因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011-1-12收稿日期:2010-10-20基金项目:国家自然科学基金资助项目(the National Natural Science Foundation of China under Grant No.60974082);商洛学院科研基金项目(ScientificResearch Foundation of Shangluo University under Grant No. 09SKY011,10SKY024)作者简介:赵鹏军 (1979-),男,陕西渭南人,硕士,讲师,主要研究方向:最优化理论与方法,智能计算及其应用;邵泽军 (1981-),男,山东临沂人,硕士,助教,主要研究方向:智能交通管理.一种新的改进的混合蛙跳算法赵鹏军1,邵泽军21.商洛学院 数学与计算科学系,商洛 7260002.北京化工大学北方学院 三河 0652011.Department of Mathematics and Computational Science, Shangluo University, Shangluo 726000, China2.North College of Beijing University of Chemical Technology, Sanhe 065201,ChinaZHAO Peng-Jun 1, SHAO Ze-Jun 2. Novel Improved Shuffled Frog Leaping AlgorithmAbstract: To overcome the drawbacks of local optima and instability involved in Shuffled Frog Leaping Algorithm (SFLA), an improved SFLA is proposed. The proposed algorithm employs opposition based learning (OBL) to generate the initial population, which can obtain fitter initial candidate solutions. During the course of evolvement, the differential evolution (DE) is embedded in SFLA organically to maintain the population diversity, Numerical results show that the proposed SFLA has a better capability to solve complex functions than other algorithms. Keywords: shuffled frog leaping algorithm(SFLA); opposition; differential evolution(DE)摘 要: 针对混合蛙跳算法在优化过程中受初始值影响较大且容易陷入局部最优的缺陷,提出了一个改进的混合蛙跳算法,该算法利用基于对立学习的策略产生初始种群,提高了产生解的质量;在进化过程中,将差分进化有机地嵌入其中,维持了种群的多样性。
数值结果表明,改进的混合蛙跳算法对复杂函数优化问题具有较强的求解能力。
关键词:混合蛙跳算法;对立策略;差分进化 中图法分类号:TP18 文献标识码:A1 引言混合蛙跳算法[1] (Shuffled Frog Leaping Algorithm, SFLA)最早是由Eusuff 和Lansey 于2000年提出,源于对青蛙觅食行为的研究,具有概念简单,参数少,计算速度快,全局寻优能力强,易于实现等特点,并且简单易用,已在多个领域取得了成功[1-4]。
然而,和其他智能优化算法一样,SFLA 同样存在易收敛到局部最优,在求解部分函数优化问题时效果不够理想的缺陷。
对立策略是提高算法优化性能的一种新方法[5],文献[6]将其应用于差分进化(Differential Evolution, DE)算法中,数值结果验明了其有效性。
文献[7]将其引入进化计算,提出一种基于对立策略的种群初始化方法,即用种群对立产生方式来取代传统的种群随机生成方式。
在进化过程中同时考虑随机点和其对立点,比单纯地使用随机方法更有效。
DE 算法[6]最初由Store 和Price 于1995年提出,该算法通过变异、杂交、选择操作来更新随机产生的初始种群,经过逐步迭代,不断进化,可实现全局最优解的搜索。
SFLA 和DE 算法都是基于群体智能和随机策略、并依据各自的搜索机制进行寻优。
为提高SFLA 的性能,本文利用对立策略和DE ,提出了一种基于对立策略和差分进化的混合蛙跳算法(记为ODSFLA ),可有效改善SFLA 的求解效率,为求解优化问题提供一种新的优化工具。
2 混合蛙跳算法SFLA 是通过个体间的协作与竞争来实现在多维空间中对最优解的搜索。
下面以函数最小化为例,说明SFLA 的基本步骤。
设青蛙种群规模为P ,其中第i 个个体在n 维空间中的坐标为12(,,,)i i i ni x x x x ,计算个体的适应度()i f x ,根据适应度将其按递减顺序排列。
然后将整个种群划分为S 个子群,每个子群中包含N 个个体,即满足关系P S N ,在进化过程中,第一个解放入第一个子群,第二个解放入第二个子群,一直分配下去,直到第S 个解放入第S 个子群。
然后,第1S 个解又放入到第一个子群,第2S 个解放入到第二个子群,这样循环分配下去,直到所有解分配完毕。
在每一个子群中,适应度最优和最差的解分别记为12(,,,)b b b nb x x x x 和12(,,,)w w w nw x x x x ;种群中适应度最优的解记为12(,,,)g g g ng x x x x 。
在每次进化中,对w x 进行更新操作,其更新策略为:()j b w D r x x ! (1)'w w j x x D (max max j D D D !∀∀) (2)其中r 为[0,1]之间的均匀随机数,1,2,,j S ,max D 为最大移动步长。
如果'w x 的适应度优于w x 的适应度,则用'w x 代替w x ;如果没有改进,则用gx 替换bx 重复执行式(1)、(2);如果仍没有改进,则从搜索空间中随机产生一个新解取代原来的w x ,在指定迭代次数It 内继续执行以上操作,这样也就完成了SFLA 的一次进化。
3 改进的混合蛙跳算法 3.1 对立策略对立策略同时考虑当前点和其对立点,从中选择较优点。
文献[6]已经证明了利用对立点的信息比利用随机信息能更快找到最优解,同时实验也表明对立搜索可比随机搜索更有效。
对立点定义[5]如下:设12(,,)n P x x x ,[,]i i i x l u #,1,2,,i n ,为n 维搜索空间中的一个点,,i i l u 分别为i x 的下界和上界,其对立点可表示为12(,,)n P x x x ∃∃∃∃ ,其中 网络出版时间:2011-5-19 14:35网络出版地址:/kcms/detail/11.2127.tp.20110519.1435.001.htmli i i i x l u x ∃ !,1,2,,i n (3)3.2 改进的混合蛙跳算法ODSFLA 算法的主要思想如下:为提高初始种群的质量,用对立策略初始化种群,即随机生成P 个初始解,按式(3)对每个初始解求其对立解,比较该初始解和其对立解的适应度,从2P 个解中选取适应度较好的P 个解作为初始种群;为提高群体的多样性,将DE 有机地嵌入SFLA 中,充分利用了SFLA 和DE 搜索机制的互补性,增加搜索过程发现新解的概率,进而能有效避免搜索陷入局部最优。
在这里选取基本的DE 算法(DE/rand /1/bin ),其详细步骤见文献[6],由于SFLA 在搜素过程中存在子群内更新和子群外的混合迭代两种形式,式。
本文提出的两种算法1 (记为子群数S For i = 1 : max N If mod 用SFLA Else用基本的End End算法2 (记为子群数S For i = 1 : max N For j = 1 :If mod 用ElseEnd End其中mod ( )为取余函数,R 为控制参数,从以上过程可以看出,在进化初期,由于提高了初始种群的质量,因此有利于算法快速定位于较好搜索区域;而随着进化的进行,SFLA 和DE 的交替搜索在一定程度上维持了种群的多样性,使各子群中保留更多有利信息,有利于算法的持续寻优。
4 仿真实验为验证ODSFLA 的性能,实验选取Sphere, Rosenbrock, Rastrigin, Griewank, Ackley 和Schaffer’s f7六个典型函数作为测试对象,文中对SFLA 、DE 、ODSFLA1和ODSFLA2分别进行测试,为增强可比性,以下所有测试的公共参数设置均相同。
200P ,20S ,10It ,5R ,4个算法分别运行30次,其他参数见表1。
表1 参数设置函数n 搜索空间 max N Sphere 20 [-5.12 5.12]n 500Rosenbrock 20 [-30 30]n 500Rastrigin 20 [-5.12 5.12]n500 Griewank 20 [-600 600]n 500 Ackley 20 [-32 32]n 500Schaffer’s f7 20 [-100 100]n500表2列出了以上4种算法求解优化问题的测试结果,由表2可知,本文的两种算法由于采用了对立策略进行初始化种群,提高了产生解的质量;而在进化过程中SFLA 和DE 的交替操作有效地维持了种群的多样性,对上述6个典型测试函数的优化结果优于SFLA ,也基本上优于DE ,且ODSFLA2的寻优效果优于ODSFLA1。
与文献[3]中的数据相比,由于文献中使用随机判别条件对不同维数上的分量进行更新,因而本文算ODSFLA2 1.5853e-4 4.2555e-4 2.2199e-4 Schaffer’s f7 SFLA DE ODSFLA1 ODSFLA2 2.6773e-1 8.1243e+0 5.5428e-1 2.2405e-1 6.4839e+0 1.0434e+1 4.6010e+0 4.7082e+0 4.5383e+09.8752e-1 2.7987e+02.6177e+0图1~ 6是上述6个函数采用4种算法运行30次后求得的平均最优适应度进化曲线。