2011-1-12收稿日期:2010-10-20基金项目:国家自然科学基金资助项目(theNationalNaturalScienceFoundationofChinaunderGrantNo.60974082;商洛学院科研基金项目(ScientificResearchFoundationofShangluoUniversityunderGrantNo.09SKY011,10SKY024作者简介:赵鹏军(1979-,男,陕西渭南人,硕士,讲师,主要研究方向:最优化理论与方法,智能计算及其应用;邵泽军(1981-,男,山东临沂人,硕士,助教,主要研究方向:智能交通管理.一种新的改进的混合蛙跳算法赵鹏军1,邵泽军21.商洛学院数学与计算科学系,商洛7260002.北京化工大学北方学院三河0652011.DepartmentofMathematicsandComputationalScience,ShangluoUniversity,Shangluo726000,China2.NorthCollegeofBeijingUniversityofChemicalTechnology,Sanhe065201,ChinaZHAOPeng-Jun1,SHAOZe-Jun2.NovelImprovedShuffledFrogLeapingAlgorithmAbstract:ToovercomethedrawbacksoflocaloptimaandinstabilityinvolvedinShuffledFrogLeapingAlgorithm(SFLA,animprovedSFLAisproposed.Theproposedalgorithmemploysoppositionbasedlearning(OBLtogeneratetheinitialpopulation,whichcanobtainfitterinitialcandidatesolutions.Duringthecourseofevolvement,thedifferentialevolution(DEisembeddedinSFLAorganicallytomaintainthepopulationdiversity,NumericalresultsshowthattheproposedSFLAhasabettercapabilitytosolvecomplexfunctionsthanotheralgorithms.Keywords:shuffledfrogleapingalgorithm(SFLA;opposition;differentialevolution(DE摘要:针对混合蛙跳算法在优化过程中受初始值影响较大且容易陷入局部最优的缺陷,提出了一个改进的混合蛙跳算法,该算法利用基于对立学习的策略产生初始种群,提高了产生解的质量;在进化过程中,将差分进化有机地嵌入其中,维持了种群的多样性。数值结果表明,改进的混合蛙跳算法对复杂函数优化问题具有较强的求解能力。关键词:混合蛙跳算法;对立策略;差分进化中图法分类号:TP18文献标识码:A1引言混合蛙跳算法[1](ShuffledFrogLeapingAlgorithm,SFLA最早是由Eusuff和Lansey于2000年提出,源于对青蛙觅食行为的研究,具有概念简单,参数少,计算速度快,全局寻优能力强,易于实现等特点,并且简单易用,已在多个领域取得了成功[1-4]。然而,和其他智能优化算法一样,SFLA同样存在易收敛到局部最优,在求解部分函数优化问题时效果不够理想的缺陷。对立策略是提高算法优化性能的一种新方法[5],文献[6]将其应用于差分进化(DifferentialEvolution,DE算法中,数值结果验明了其有效性。文献[7]将其引入进化计算,提出一种基于对立策略的种群初始化方法,即用种群对立产生方式来取代传统的种群随机生成方式。在进化过程中同时考虑随机点和其对立点,比单纯地使用随机方法更有效。DE算法[6]最初由Store和Price于1995年提出,该算法通过变异、杂交、选择操作来更新随机产生的初始种群,经过逐步迭代,不断进化,可实现全局最优解的搜索。SFLA和DE算法都是基于群体智能和随机策略、并依据各自的搜索机制进行寻优。为提高SFLA的性能,本文利用对立策略和DE,提出了一种基于对立策略和差分进化的混合蛙跳算法(记为ODSFLA,可有效改善SFLA的求解效率,为求解优化问题提供一种新的优化工具。2混合蛙跳算法SFLA是通过个体间的协作与竞争来实现在多维空间中对最优解的搜索。下面以函数最小化为例,说明SFLA的基本步骤。设青蛙种群规模为P,其中第i个个体在n维空间中的坐标为12(,,,iiinixxxx,计算个体的适应度(ifx,根据适应度将其按递减顺序排列。然后将整个种群划分为S个子群,每个子群中包含N个个体,即满足关系PSN,在进化过程中,第一个解放入第一个子群,第二个解放入第二个子群,一直分配下去,直到第S个解放入第S个子群。然后,第1S个解又放入到第一个子群,第2S个解放入到第二个子群,这样循环分配下去,直到所有解分配完毕。在每一个子群中,适应度最优和最差的解分别记为12(,,,bbbnbxxxx和12(,,,wwwnwxxxx;种群中适应度最优的解记为12(,,,gggngxxxx。在每次进化中,对wx进行更新操作,其更新策略为:(jbwDrxx!(1'wwjxxD(maxmaxjDDD!(2∀∀其中r为[0,1]之间的均匀随机数,1,2,,...