一种自适应差分演化算法
- 格式:pdf
- 大小:220.16 KB
- 文档页数:3
自适应调整差分进化算法在优化问题中的应用肖文显;王俊阁;马孝琴【摘要】差分进化算法在求解优化问题时,进化后期由于种群多样性急剧下降,算法全局搜索能力被削弱,极易陷入局部最优解而“早熟”收敛.针对该问题定义了算法停滞系数和个体相似系数.根据算法停滞系数自适应调整算法的缩放系数.同时,根据个体相似系数判定种群普通个体与最优个体的相似性,并以此为基础对相似个体实施基因重构操作,从而避免种群个体严重趋同造成的种群多样性下降问题.将改进算法应用于标准测试函数和车辆路径问题的优化.模拟计算结果表明:改进算法的优化结果优于标准差分进化算法,改进的差分进化算法具有更强的全局寻优能力,适于求解复杂优化问题.【期刊名称】《哈尔滨理工大学学报》【年(卷),期】2015(020)001【总页数】4页(P71-74)【关键词】优化问题;差分进化;自适应调整;基因重构【作者】肖文显;王俊阁;马孝琴【作者单位】河南科技学院网络信息中心,河南新乡453003;河南科技学院网络信息中心,河南新乡453003;河南科技学院网络信息中心,河南新乡453003【正文语种】中文【中图分类】TP301.6差分进化算法[1](Differential Evolution,DE)是一种基于群体智能的优化方法,算法利用群体中个体之间的差异信息引导算法进行搜索,通过变异、交叉、选择三步操作实现种群的进化和优化搜索.算法具有控制参数少、鲁棒性等特点,应用较为广泛[2-6].但是,差分进化算法在求解优化问题时,进化后期由于种群多样性急剧下降,算法全局搜索能力被削弱,尤其是随着问题复杂程度的上升,算法极易陷入局部最优解而“早熟”收敛.研究表明控制参数的取值影响着DE算法的计算性能,但两者之间并非简单的线性关系,其作用机理仍需进一步探索研究[7-10].本文定义了算法停滞系数和个体相似系数.通过算法停滞系数来自适应调整算法进化过程中缩放系数的变化.同时,为降低线性调整缩放因子带来的不利影响,根据个体相似系数判定种群普通个体与最优个体的相似性,并以此为基础对相似个体实施基因重构操作,更新趋同个体的基因信息,从而避免种群个体严重趋同造成的种群多样性下降问题.差分进化算法是一种基于群体智能的启发式随机搜索算法,算法利用种群中个体的差异性,模拟自然界个体之间的竞争与合作,从而实现对问题解空间的搜索寻优.算法的进化策略有变异、交叉和选择三个.假定待求解问题维数为D,算法种群规模为NP,差分进化算法的基本进化过程如下:首先,种群初始化,即在待求解问题的解空间中随机生成规模为NP的初始种群其中,每个个体代表待求解问题的一种可行解.其次,变异操作.对于第g代群体,个体按照式(1)进行变异操作,得到新的变异个体其中为父代基向量为父代差分向量;F为缩放因子;g为迭代代数.第三,对得到的变异个体按式(2)进行交叉操作,得到待选择个体的第j维分量计算方式如下:其中,CR为交叉概率,取值范围为(0,1);rand()为随机数,取值范围为(0,1);jrand为{1,2,…,D}之间随机选取的随机量.最后,以贪婪选择的策略进行对比优选,对于最小化问题而言,选择适应值较小的个体作为子代个体继续进行进化,即比较待选择个体和原个体按式(3)进行优选:其中f(·)为适应度函数.2.1 参数定义1)算法停滞系数.为衡量算法的进化能力,判定算法是否陷入停滞,定义算法停滞系数ψ为式中,n为种群最优个体的适应值连续不变的代数,即若连续n代最优个体的适应值f1=f2=…=fn,则种群停滞系数就为n.2)个体相似参数.为衡量进化过程中,种群中其他个体与种群最优个体之间基因信息的相似性,定义个体相似参数为式中,Si为个体与种群最优个体之间的相似系数;xbest,k为种群中最优个体的第k 维的基因信息;xi,k为种群中第i个体的第k维基因信息;D为基因链长度,即问题的维度.2.2 缩放因子自适应调整缩放因子F用于调整变异操作中差分向量的权重,控制算法搜索的步长.如果F取值较大,可以扩大算法的搜索空间,提高算法跳出局部最优解的可能性,但是过大的F 会降低算法收敛速度;如果F取值较小,可以加速算法的收敛,但是过小的F会使算法陷入局部收敛[11].本文依据缩放因子的作用机理,通过算法停滞系数ψ对缩放因子进行动态调整.当算法进化能力下降,趋于停滞甚至局部收敛时,ψ随之变大,缩放因子F按式(6)调大.调整后,若算法适应值变优,则ψ归零,F重新恢复至F0;若适应值未变优,则按式(6)继续提高F.式中,F0为初始缩放系数;ω为调整系数.可根据待求解问题的特性在50~200之间取值.由此,算法变异操作修改为2.3 相似个体基因重构差分进化算法陷入局部最优解的主要原因是算法进化过程中种群多样性的下降,种群中出现个别优势个体甚至超级个体并对进化方向起绝对的主导作用,算法丧失了全局搜索能力.为解决该问题,本文在对种群中个体相似性判定的基础上,对趋同个体进行基因重构,从而完成基因信息的更新.该策略的主要思路是:当算法停滞系数ψ超过阈值ψmax后,选出种群中适应值最优的个体,并按式(5)依次计算其余个体与该最优个体之间的相似参数,将与最优个体相似参数最高的m个个体进行基因重构.m根据种群规模预先设定,基因重构为式中,xi,j为第i个个体基因重构后的第j维基因信息;xmin,j、xmax,j分别为待求解问题第j维基因的取值下限和上限;rand()为0~1之间的随机数.2.4 改进差分进化算法的实施步骤改进的差分进化算法的计算流程如图1所示.为验证本文提出的改进算法的有效性,将改进算法应用于标准测试函数的优化问题和车辆路径问题.3.1 标准测试函数1)Sphere函数:2)Rosenbrock函数:3)Rastrigrin函数:4)Griewank函数:5)Ackley函数:分别采用差分进化算法和改进算法对上述5个标准测试函数进行优化计算,算法参数设置如下:种群规模NP取200,初始缩放因子F0取0.70,交叉概率CR取0.60,算法最大迭代次数取为1 000,算法停滞阈值ψmax取为20,基因重构数量m取为10.问题维度分别取10、20、50、100、200等5种情况,采用上述两种算法对5个标准测试函数在每种维度下分别进行50次计算,取其平均结果进行对比.在此仅列出50维度时的计算成果,求解结果如表1所示.对比表1中DE和改进DE算法得到的平均值和最优解可见,改进DE算法优化结果明显优于标准DE算.对比两种算法多次优化结果的标准差可见,改进DE算法的优化结果变化幅度小于DE算法.这说明改进DE算法具有更强的全局优化能力,更能够搜索到优秀的结果.3.2 车辆路径问题车辆路径问题(Vehicle Routing Problem,VRP)是在满足车辆最大负载和客户需求的前提下,优化车辆的行驶路径使得运输成本最低、时间最短等目标得以实现.VRP问题的相关概念和数学模型可见文[12-13],本文在此不再赘述.假定有8个分库和1个总库,总库有2辆车辆用于配送货物,每辆车的最大容量均为8t.要求合理安排车辆的配送路线,使得总的运输距离最短.各分库对总库的货物需求量以及各库之间的距离如表2所示(其中0表示总库).按3.1节相同的参数设置,分别采用DE和改进DE算法对上述车辆路径问题进行20次优化,取各算法优化结果的平均值作对比,优化结果如表3所示.对比两种算法的平均优化结果可见,改进DE算法的优化结果明显优于DE.在最优值方面,改进DE算法也优于DE.这说明,在车辆路径问题的优化方面,改进DE可以更大程度的提高算法的全局搜寻能力,避免算法陷入局部最优.两种算法20次的寻优结果分布如图2所示.由图2可见,改进DE算法多次搜索得到的优化结果普遍优于DE.结合表3中两种算法多次寻优结果的标准差进行分析可知,改进DE算法能够更好的进行全局搜索.本文针对差分进化算法进化后期种群多样性下降导致算法全局搜索能力下降而“早熟收敛”问题,定义了算法停滞系数和个体相似系数.在进化过程中,通过算法停滞系数动态调整缩放因子,并以个体相似系数为判定指标动态更新种群中趋同个体的基因信息,从而改善算法的种群多样性状况.将改进算法应用于标准测试函数和车辆路径问题的优化,模拟计算结果表明:改进算法的优化结果优于标准差分进化算法,并且具有更强的全局寻优能力,适于求解复杂优化问题.【相关文献】[1] RAINER Storn,Kenneth Price. Differential Evolution—A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces[J]. Journal of GlobalOptimization,1997(11):341-359.[2] 方强,陈德钊,俞欢军,等.基于优进策略的差分进化算法及其化工应用[J].化工学报,2004,5(4):598-602.[3] 张吴明,钟约先.基于改进差分进化算法的相机标定研究[J].光学技术,2004,30(6):720-723.[4] 翟捷,王春峰,李光泉.基于差分进化方法的投资组合管理模型[J].天津大学学报,2002,5(3):304-308.[5] 郑慧涛,梅亚东,胡挺,等.双层交互混合差分进化算法在水库群优化调度中的应用[J].水力发电学报,2013,2(1):54-62.[6] 宁桂英,周永权.一种求解二重积分的差分进化算法[J].哈尔滨理工大学学报,2013,8(2):121-125.[7] 谢晓锋,张文俊,张国瑞,等.差异演化的实验研究[J].控制与决策,2004,19(1):49-52.[8] 袁俊刚,孙治国,曲广吉.差异演化算法的数值模拟研究[J].系统仿真学报,2007,19(20):4646-4649.[9] 高岳林,刘军民.差分进化算法的参数研究[J].黑龙江大学自然科学学报,2009,26(1):81-85.[10] 杨振宇,唐珂.差分进化算法参数控制与适应策略综述[J].智能系统学报,2011,6(5):415-423.[11] 蔡之华,龚文引. 差分演化算法及其应用[M]. 武汉:中国地质大学出版社,2010.[12] 吴斌. 物流配送车辆路径问题及其智能优化算法[M]. 北京:经济管理出版社,2013.[13] 范军涛,谢红兵,陈恩鹏. 车辆路径问题的改进遗传算法[J]. 哈尔滨理工大学学报,2004,9(5):118-120.。
自适应迁移预测的动态多目标差分演化算法万书振【摘要】针对动态多目标优化环境下寻找并跟踪变化的Pareto最优前沿和Pareto最优解集的难题,提出两个策略:自适应迁移策略和预测策略。
自适应迁移策略是根据环境的变化自适应地插入迁移个体来提高算法种群的多样性,从而提高算法对动态环境的适应能力。
预测策略是通过时间序列并加上一定的扰动来产生预测种群,来预测环境变化之后的Pareto最优解集,以达到对其快速跟踪的目的。
通过两个策略在多目标差分演化算法上的应用来解决动态多目标优化问题。
实验过程中,通过平均最优解集分布均匀度和平均决策空间世代距离等指标表明,基于自适应迁移策略和预测策略的多目标差分演化算法能够很好适应变化的环境,并能够快速找到Pareto最优解集。
%In order to solve the problem of searching and tracing the Pareto Optimal Front(POF)and Pareto Optimal Set (POS), two strategies are investigated. The adaptive immigration strategy is designed to improve the diversity of the popu-lation by adaptively inserting the immigrations according to the changed environments, thus can improve the adaptability to the environments. The prediction strategy is used to quickly trace POF by the prediction population which is estab-lished by the time series and some disturbances. The two strategies are introduced into differential evolution to solve the dynamic multi-objective problems. The experimental results show that the adaptive and prediction strategies based differ-ential evolution shows great ability to adapt to the changed environments and can find POS quickly.【期刊名称】《计算机工程与应用》【年(卷),期】2016(000)002【总页数】6页(P86-91)【关键词】动态多目标优化;自适应迁移策略;预测策略;差分演化算法【作者】万书振【作者单位】三峡大学计算机与信息学院,湖北宜昌 443002【正文语种】中文【中图分类】TP301WAN Shuzhen.Computer Engineering and Applications,2016,52(2):86-91.动态多目标优化问题[1]一般是指待优化的目标函数、问题的维度、目标函数个数和一些约束条件、系统参数等随着时间变化而变化。
差分演化算法
差分演化算法是一种全局优化算法,也是一种基于群体智能的优化算法之一。
它最早由Storn和Price于1995年提出,主要应用于连续优化问题中。
在差分演化算法中,个体的选择、交叉和变异都是通过向量运算来实现的,因此它可以处理高维、非线性、非凸、约束等各种复杂优化问题。
差分演化算法的基本思想是通过不断地对候选解进行差分变异、交叉操作,生成新的候选解并进行选择,最终找到全局最优解。
其中,差分变异操作是指通过对三个不同个体的向量差异进行加权和来产
生新的向量,交叉操作则是将两个向量中的部分基因进行交换,从而产生新的个体。
选择操作则是根据适应度函数的值,从当前种群中选择出一定数量的个体作为下一代种群。
差分演化算法具有较好的全局搜索性能和收敛性能,在实际应用中已被广泛应用于函数优化、工程设计、神经网络等领域。
但是,差分演化算法也存在一些问题,如收敛速度较慢、易陷入局部最优等缺点,在实际应用中需要根据具体问题和数据进行调整和改进。
- 1 -。
面向多目标优化问题的自适应差分进化算法刘红平;黎福海【摘要】针对多目标优化得到一个最优解集和解之间难以比较的问题,对单目标优化中的自适应策略进行了改进,提出一种面向多目标优化问题的自适应差分进化算法,在已有方法自适应改变交叉率的基础上,设定缩放因子有三种不同的分布模型,通过统计一定代数内个体的优劣来自适应选择合适的模型并生成相应取值,从而控制了搜索长度,防止新个体陷入在最优解集的部分区域.该算法还提出利用第三方解集和优胜累积量的概念来处理最优解之间的比较问题.通过5个标准优化问题的测试结果以及与其他几种算法的对比研究表明,所提出的改进算法性能更好,其在IGD指标上减小了0.0031 ~0.0669,在IH指标上最多减小了0.0821.【期刊名称】《计算机应用与软件》【年(卷),期】2015(032)012【总页数】5页(P249-252,269)【关键词】多目标优化;差分进化;自适应;缩放因子;优胜累积量【作者】刘红平;黎福海【作者单位】长沙师范学院电子信息工程系湖南长沙410100;湖南大学电气与信息工程学院湖南长沙410082【正文语种】中文【中图分类】TP391.41差分进化是进化计算方法的重要成员,具有算子形式简单、优化性能好和搜索效率高等优点,目前在优化和工程应用领域已经展现出优越的性能[1-3]。
在差分进化中,交叉率CR和缩放因子F是其主要参数,对算法的性能起着重要的作用[4-6]。
由于待优化对象的特性通常难以准确知晓,并且优化过程中对局部和全局搜索强度的要求也往往是变化的,所以预先指定参数取值的方法不利于算法性能提升,越来越多的学者提出了动态或自适应的参数调整方法[7]。
其中典型算法如Brest等人[8]提出的动态调整算法jDE,Qin等人[9]提出的自适应差分进化算法SaDE。
目前大多数自适应差分进化算法是针对单目标优化问题而设计的,在处理多目标优化问题时,只进行了简单的应用和推广。
自适应控制参数差分进化:比较研究数值基准问题亚内兹·布雷斯特,会员,IEEE,格雷纳苏海涵,的Borko博斯科维奇,马里安Mernik,会员,IEEE,IEEE会员,Viljem Zumer摘要:我们描述了一个高效的自适应控制技术相关的参数设置与差分进化(DE)。
对DE算法已被用在许多实际情况下,并具有表现出良好的收敛性。
它只有少数控制参数,这些参数在整个演化中保持固定的过程。
然而,这是不是一件容易的事,正确地设置控制在DE的参数。
我们提出了一个算法的新版本对DE算法获得自适应控制参数设置showgood性能数值基准的问题。
结果表明,我们的算法与自适应控制参数的设置优于或至少与,标准算法和进化算法文献中得到的解决方案时,考虑质量。
关键词:自适应参数控制,差分进化(DE),进化优化。
引言差分进化(DE)是一个简单而强大全局优化的进化算法(EA)介绍由价格和Storn [1]。
DE算法已逐渐变得越来越流行,并且已经用于许多实际情况中,主要是因为它已经表现出良好的收敛性能是主要容易理解的[2]。
EAS [3]是一个广泛的一类随机优化算法灵感来自生物学,特别是那些生物允许种群organizms的适应自己的过程周边环境:遗传和生存优胜劣汰。
中介公司有一个突出的优势超过其他类型的数值计算方法。
他们只需要客观的信息函数本身,它可以是明确的或隐含的。
其他配件性能,如可微性或连续性是没有必要的。
因此,他们更灵活处理广泛的问题。
当使用一个有效地址(EA),它也是必要指定候选解决方案将被改变,以产生新的解决方案[4]。
EA可能有参数,例如,突变的概率,比赛的大小选择,或人口规模。
手稿收到2005年6月14日,9月19日修订,2005年和2005年11月9日。
这项工作是由斯洛文尼亚的研究部分支持根据计划署P2-0041,计算机系统,方法,智能服务。
作者是计算机架构和语言实验室,计算机科学学院,电气工程学院,马里博尔大学,计算机科学,SI-2000,斯洛文尼亚马里博尔(电子邮箱:janez.brest @ UNI-mb.si的saso.greiner单向mb.si; borko.boskovic @单向mb.si; marjan.mernik @ UNI-mb.si zumer@uni-mb.si)。
Computer Engineering and Applications 计算机工程与应用2018,54(6)1引言差分进化算法[1](Differential Evolution ,DE )是一种简单而又有效的用于解决函数优化问题的智能算法,具有原理简单、控制参数少、鲁棒性强和易于实现等特点。
从1995年被Storn 和Price 提出至今,已在多个工程领域得到了成功应用,例如化工[2]、人工神经网络[3]和机器人[4]等。
DE 算法中提出了多种基本的变异策略,不同策略基于自适应变异算子的差分进化算法廖雄鹰1,2,李俊1,2,罗阳坤1,2,李波1,2LIAO Xiongying 1,2,LI Jun 1,2,LUO Yangkun 1,2,LI Bo 1,21.武汉科技大学计算机科学与技术学院,武汉4300652.智能信息处理与实时工业系统湖北省重点实验室,武汉4300651.College of Computer Science and Technology,Wuhan University of Science and Technology,Wuhan 430065,China2.Hubei Province Key Laboratory of Intelligent Information Processing and Real-time Industrial System,Wuhan 430065,China LIAO Xiongying,LI Jun,LUO Yangkun,et al.Differential evolution algorithm based on adaptive mutation puter Engineering and Applications,2018,54(6):128-134.Abstract :In order to solve the problem of differential evolution algorithm,such as premature convergence,slow conver-gence speed and low convergence precision,a differential evolution algorithm based on adaptive mutation operator is pro-posed.In this paper,the definition of individual vector particle and dimensional layer is presented.Based on the different dimension ’s selection strategy for weighted dimensional layer,the weighted different dimensional learning is introduced into differential evolution algorithm for the first time,which can effectively improve the diversity of the population.According to the degree of populational aggregation,and an adaptive mutation operator based on degree of populational aggregation is proposed.The operator can adaptively adjust the variation weight of DE/best/1mutation operator and the different dimensional learning mutation operator according to the degree of populational aggregation currently.It acceler-ates the convergence speed,improves the convergence precision of the algorithm.20typical test functions are tested,the results show that compared with the 7representative algorithms,the algorithm proposed in this paper has great advantages in solving accuracy and convergence speed,and it shows very good robustness.Key words :differential evolution;dimensional layer;weighted different dimensional learning;degree of populational aggregation;adaptive mutation operator摘要:针对差分演化算法易于早熟、收敛速度慢和收敛精度低等问题,提出一种基于自适应变异算子的差分进化算法。
基于多自适应算子的改进差分进化算法
徐王颖;于小兵
【期刊名称】《信息技术》
【年(卷),期】2024(48)2
【摘要】差分进化(DE)算法是一种原理简单且性能优良的智能算法。
因其涉及参数较少、计算结果精确性较高、鲁棒性较强,在实际应用中被广泛使用。
但DE算法容易陷入局部最优解,且种群变异速度与结果依赖于变异和交叉参数设置。
因此,文中提出一种自适应改进差分进化算法,通过控制初始化种群和自适应参数,有效提升了算法的寻优能力。
将该算法在十一个测试函数上进行测试,并与四种具有代表性的算法(CLPSO、DE、jDE、SDE)进行比对,结果表明,该算法在问题求解准确度上具有优势,并显示出了较好的鲁棒性。
【总页数】10页(P22-30)
【作者】徐王颖;于小兵
【作者单位】南京信息工程大学管理工程学院
【正文语种】中文
【中图分类】TP301.6
【相关文献】
1.基于插值算子自适应混合差分进化算法的八木天线优化设计
2.基于自适应变异算子的差分进化算法
3.带有自适应变异和指数递增交叉算子的差分进化算法
4.基于
互补变异算子的自适应差分进化算法5.约束尺度和算子自适应变化的差分进化算法
因版权原因,仅展示原文概要,查看原文内容请购买。
改进的自适应混沌差分进化算法王涛;王焕【摘要】为了提高差分进化算法的寻优速度、克服启发式算法常见的早熟收敛问题,提出一种基于帐篷映射(Tent)的自适应混沌嵌入式差分进化算法(CLSDE)。
算法采用 Tent 映射生成的混沌序列来取代基本 DE 算法选择操作中的随机数,充分利用了混沌运动的随机性、遍历性和规律性。
通过与混沌 PSO 算法与普通的 DE 算法比较,测试函数仿真结果表明,该算法具有良好的全局搜索能力,寻优精度较高,收敛速度快,鲁棒性好。
%In order to improve the differential evolution algorithm for optimum speed and overcome the heuristic algorithm common premature convergence problem is proposed based on a Tent mapping (Tent) of adaptive chaotic embedded differential evolution algorithm (CLSDE). Tent mapping algorithm using of the generation of chaotic sequence to replace basic DE algorithm to select the operation of the random, and make full use of the chaotic motions of the randomness, ergodicity and regularity, so it can smooth out the problem of local precocious and rapid speed up its global convergence speed. Through the and chaos PSO algorithm and the ordinary DE comparison algorithm, the simulation results show that the new algorithm in the solution precision, stability and convergence borrows and good performance.【期刊名称】《计算机系统应用》【年(卷),期】2013(000)002【总页数】4页(P138-141)【关键词】混沌;自适应;差分进化;帐篷映射;适应度函数【作者】王涛;王焕【作者单位】辽宁工程技术大学,电气与控制工程学院,葫芦岛 125105;辽宁工程技术大学,电气与控制工程学院,葫芦岛 125105【正文语种】中文差分进化算法(Differential Evolution, DE)是属于遗传算法的一个分支, 它是由Storn等人于1995年提出的, 最初的设想是用于解决切比雪夫多项式问题,后来发现 DE也是解决复杂优化问题的有效技术. 但是差分进化算法的优化性能受控制参数取值和差分进化类型的影响较大,算法容易早熟收敛的问题, 随迭代次数的增加种群多样性会快速的下降容易限入局部最优.许多研究者对基于混沌搜索的进化算法进行了研究, 文献[1]提出了一种混沌粒子群优化算法, 而在文献[2]中将混沌变量的搜索机制引入到遗传算法、粒子群算法、差分进化算法等等. 文献[3]中提出了一种自适应的差分进化算法(DE), 引入差分算法的交叉因子和变异因子对目标函数的自适应取值, 算法收敛度较高. 本文基于混沌映射的优点, 将帐篷映射嵌入到差分进化算法中, 提出了一种改进的嵌入混沌搜索的自适应差分进化. 克服了差分算法早熟陷入局部最优的问题, 加快了差分算法的寻优速度, 该算法能够有效跳出局部极小, 并且其搜索结果的好坏不依赖于初始点的选择, 而且经过仿真实验算法收敛度高.1 算法基本原理1.1 差分进化基本原理差分进化基本原理一般标准的DE算法的流程如下:Step1. 首先按照公式(1)随机生成初始种群.Step2. 变异操作. 产生变异中间个体公式如式(2)所示:其中, r1,r2,r3∈[l, 2, …, N]为正整数, 且满足r1≠r2≠r3≠i, 变异因子F∈[0, l]用来控制差分向量的幅度.Step3 交叉操作. 将中间变异个体和目标个体按(3)进行交叉, 生成规则如下:其中, rand是[0, 1]间均匀分布的随机数, Pc为交叉因子, 是[1, D]间的随机整数. Uij , 分别是第i目标个体, 变异个体和试验个体的第j维分量.Step4. 选择操作. 利用适应度函数检验交叉变异产生的新的实验个体 U ij然后根据式(4)决定是否在下一代中使用试验个体替换当前目标个体.Step5. 如果拼 gen或者满足系统误差要求, 则输出 bestg , 及其目标值并停止计算, 否则 1+=tt , 返回到步骤2.本文提到的基本的DE算法可表示为DE/rand/bin,即采用随机选取的基点向量, 拥有 1个差分向量, 并使用bin交叉方式的DE优化策略, 混沌DE算法都是采用这种方式. 同理根据不同变异操作策略也存在着多种的变异方式.2.1 混沌算法的基本原理帐篷映射的具体步骤和公式如下:首先在将混沌空间映射到优化问题的解空间中,表达式方程为:式中, μ为一个可以决定混沌变量 x稳定与否的控制参数.其次在利用帐篷映射的随机分布特性对优化问题解空间的搜索中, 其数学表达式为:其中, k为迭代步数, k=0,1,2...n.混沌局部搜索的步骤:1.将初始决策变量 Xjk 按照式(7)映射到 0~1 之间的混沌变量式中和分别为第 j 维变量的搜索上下界.2.根据式(6)计算得到下步迭代混沌变量,xk+1并将其按式(8)转化为新的决策变量j3.根据决策变量计算新解的适应度值.4.若新解达到混沌搜索最大步数 c m ax, 则将新解作为 CLS 的搜索结果, 否则返回步2.2 算法改进本文对文献[3]中提出的ACDE(anadaptive chaotie differential evolution algorithm)算法进行改进, 采用了[0,1]区间分布更为均匀的Tent映射, 改进了DE 算法中交叉因子及变异因子的产生过程, 下面将混沌自适应DE算法的步骤及流程给出:步骤1. 初始化 DE种群, 设初始进化代数 0=t ,最大迭代代数 maxT . 采用公式(1-1)随机生成初始种群.步骤2. 变异操作, 采用公式(2)生成变异中间个体.步骤3. 交叉操作, 采用公式(3)生成交叉试验个体.本文采用文献[3]中提出的自适应交叉因子策略,将交叉因子 cP与最大迭代代数以及当代代数 t相关,以增强种群的多样性. 自适应交叉因子 cP的表达式如下:式中, clP 是初始化交叉因子, 取值同样满足[0, l]间的概率约束.步骤4. 选择操作, 为进一步加快DE算法的全局收敛速度, 引入混沌随机序列, 在每代个体和当前最优个体之间的解空间内进行混沌搜索, 可以发现适应度值优于个体iX, 却不如最优个体的新个体 ir和 ic, 第i个目标个体的第j维新试验个体和并通过公式(10)、(11)产生.式中, jη为[0, l]间均匀分布的tent混沌映射, 由公式(5)求得.步骤4.1. 对经过交叉变异操作后产生的新的试验个体的适应度函数值进行计算比较, 如果, 则, 并转到步骤 5;如果, 则转入到步骤 4.2;若, 则转入到步骤4.4 继续.步骤 4.2. 计算新个体的值, 如果, 则令转到步骤5, 反之转到步骤4.3.步骤 4.3. 计算新个体的值, 如果f(ui (t+1))<f(ci (t )), 则令 x i ( t + 1 )=ci (t)转到步骤5 反之转到步骤4.4.步骤4.4. 令, 进入步骤5.步骤 5. 若终止准则满足, 则输出最优个体及其目标值并停止算法, 否则 t = t+1并转到步骤2继续.3 仿真实验为了测试基于帐篷映射的混沌差分进化算法(CLSDE)的有效性, 将其与常规的差分进化算法(DE)、混沌粒子群优化算法(PSO)进行比较下面将用三个标准测试函数来测试上述两个算法的性能, 这些标准函数如下:(1) Sphere函数是一个简单的单峰的、自变量之间相互独立的函数,(2) Rosenbrock函数是一个单峰的、自变量之间互相影响的函数, 比Sphere增加了寻有复杂度.(3) Rastrigrin函数是多峰的、自变量之间相互独立的函数, 且他的局部最优解随着正弦波动.这些标准函数理论最小值都是 m in f ( x)=0,在优化计算的过程中, 我们主要通过收敛速度, 收敛率, 平均值, 解的稳定性, 对优化算法的性能进行评价.实验的环境为 MATLABR2010a开发环境, 种群的个体总数设置为50, 最大迭代次数为1000, 最大的函数求值次数设置为 30000. 对优化算法DE/best/1/bin(简称为 DE)和文献[3]提出的混沌粒子群嵌入优化算法(ACEPSO)和 CLSDE进行比较, 其中缩放因子 F=0.5,交叉因子 P c =0.9,混沌搜索次数 M=30.以 25次实验的收敛速度, 收敛率, 解的平均值, 解的稳定性作为比较的评价标准,得到相关函数的寻优实验结果如下.实验结果及分析:由三图结果显示, 与普通的 DE算法和 ACEPSO相比, 基于帐篷映射的混沌差进化算法的最优解的精度最高, 收敛速度快, 而且稳定性也最好, 其次是ACEPSO算法, 再次是常规的DE算法收敛曲线:图1 sphere 迭代寻优曲线由以上三个函数迭代寻优曲线可以看出, CLSDE算法在寻优过程中在避免陷入局部最优的前体下, 能够迅速正确的搜索到最优解, 且具有较高的精确度,较快的收敛速度. 因此改进的基于帐篷映射的自适应差分进化算法在全局寻优能力, 收敛速度, 获得解的精度, 和解的稳定性等方面的综合结果比其他两种算法有明显优势.图2 Rosenbrock函数迭代寻优曲线:图3 Rastrigrin函数的迭代寻优曲线:5 结论差分进化算法作为遗传算法的分支, 它集中了遗传算法和粒子群算法的优点, 具有算法简单和较强的全局收敛能力和鲁棒性, 本文又结合了帐篷映射对其选择操作过程进行了改进, 由实验证明, 改进的算法确实增加了其收敛速度和稳定性.参考文献【相关文献】1 魏玉琴,戴永寿,等.基于 Tent映射的自适应混沌嵌入式粒子群算法.计算机工程与应用,2012.2 贾东立.改进的差分进化算法及其在通信信号处理中的应用研究.上海:上海大学.3 Lu YL, Zhou JZ, Qin H, et al. An adaptive chaotic differential evolution for the short-term hydrothermal generation scheduling problem. Energy Conversion and Management,2010, 51: 1481-1490.4 单梁,强浩,李军,王执锉.基于 Tent映射的混沌优化算法.控制与决策,2005,20(2):179-182.5 Noman N, Iba H. Accelerating Differential Evolution Using an Adaptive Local Search. IEEE Trans. on Evolutionary Computation, 2008,12(1):107-125.6 杨俊杰,周建中,喻菁,等.基于混沌搜索的粒子群优化算法.计算机工程与应用,2005,41(16):69-71.7 贺徽,周建中,等.基于帐篷映射的混沌自适应粒子群优化算法在同步发电机励磁控制中的应用.电网技术,2011,35(6):45-49.8 常俊林,李亚朋,等.基于改进差分进化算法的 PID 优化设计.控制工程,2010,17(6):807-810.9 谭跃,谭冠正,等.一种新的混沌差分进化算法.计算机工程,2009,35(11):216-220.10 银建霞,孟红云.具有混沌差分进化搜索的人工蜂群算法.计算机工程与应用,2011,47(29):27-30.11 Price K, Storn R, LamPinen J. Differential Evolution A Practical Approach to Global Optimization, Berlin:Springer, 2005.。
第25卷第12期 计算机应用与软件Vol125No.12
2008年12月 ComputerApplicationsandSoftwareDec.2008
一种自适应差分演化算法毛润宇1 王小平1 薛小平21(同济大学计算机科学与技术系 上海200092)
2(同济大学信息与通信工程系 上海200092)
收稿日期:2008-01-22。国家自然科学基金项目(60475019)。毛润宇,硕士生,主研领域:计算机网络。
摘 要 差分演化算法是一类基于种群的启发式全局搜索技术,对于实值参数的优化具有很强的鲁棒性。为了提高差分演化算法的寻优速度、克服启发式算法常见的早熟收敛问题,提出了一种自适应的方法来调整控制参数。实验表明,算法的收敛速度和寻优能力得到很大的提高。
关键词 差分演化 自适应 优化
ANADAPTIVEDIFFERENTIALEVOLUTIONALGORITHMMaoRunyu1 WangXiaoping1 XueXiaoping21(DepartmentofComputerScienceandTechnology,TongjiUniversity,Shanghai200092,China)
2(DepartmentofInformationandCommunicationEngineering,TongjiUniversity,Shanghai200092,China)
Abstract Differentialevolution(DE)isanewheuristicglobalsearchingtechniquebasedonpopulation,whichhasbeenfoundtobeveryrobustforrealparameter’soptimization.InordertoacceleratetheconvergencespeedofDEalgorithminoptimalsearchingandtoovercometheprematureconvergencewhichisfrequentlyexistedinheuristicalgorithms,inthispaperitproposedanadaptivedifferentialevolutionalgo2rithmtoadjustthescalefactorandthecrossoverprobabilityadaptively.Theexperimentindicatedthatthisalgorithmimprovesremarkablytheconvergencespeedandoptimalsearchingability.
Keywords Differentialevolution Adaptive Optimization
0 引 言差分进化DE(DifferentialEvolution)是一种基于群体差异的启发式随机搜索算法,该算法是RainerStorn和KennethPrice于1995年共同提出的,是一种采用实数矢量编码在连续空间中进行随机搜索的优化算法[1]。差分进化算法因原理简单、受控参数少、鲁棒性强等特点,引起了越来越多的学者关注[2,3]。但是DE算法也有它的不足之处,随着进化代数的增加,个体间的差异逐渐降低,特别是过早地收敛到局部极值附近时,会导致DE算法早熟。为了提高DE的寻优能力、加快收敛速度、克服启发式算法常见的早熟收敛问题,许多学者对DE算法进行了改进[4-6]。本文提出了一种用于复杂函数优化的自适应差分演化算法ADE(AdaptiveDifferentialEvolution)。该算法随着搜索过程的进行自适应地调整缩放因子和交叉概率,以减少算法控制参数的人为因素影响。1 标准差分演化算法DE进化流程与遗传算法相同,包括变异、交叉和选择的进化操作。DE算法的选择操作通常为贪心选择的过程,交叉操作方式与遗传算法大体相同,变异操作使用了一种差分策略,这种差分策略从当前种群中随机选择三个点,以其中一个点为基础、另两个点为参照做一个扰动,实现个体的变异。这种算法有效地利用了群体分布特性,提高了算法的搜索能力,避免了遗传算法中变异操作的不足[7]。对于优化问题:
minf(x1,x2,…,x
D)
s.t xmin≤xi≤xmax
i=1,2,…,D
(1)
式中,D为变量的个数,xmin和xmax分别表示第i个变量xi取值范围的上界和下界。DE算法包括以下几个方面:
(1)初始化
根据具体问题给定的变量初始寻优区间[x
min,xmax]
,利用
如下线性变换:
xij(0)=xmin+rand(0,1)·(xmax-xmin)(2)
式中,
x
ij(0)表示第0代的第i个个体的第j个变量。NP表示
种群大小,rand(0,1)为在[0,1]均匀随机数。(2)变异操作
选取g的3个互不相同的个体x
r1(g),xr2(g)和xr3(g)按
照以下的方法产生扰动向量v
i(g+1)
:
vi(g+1)=xr1(g)+F(xr2(g)-xr3(g))
i≠r1≠r2≠r3(3)
式中,F为缩放因子控制个体差值的幅值,
x
i(g)表示第g代种
群中第i个个体。
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
8 计算机应用与软件2008年
在进化过程中,为了保证解的有效性,必须判断个体中各变量是否满足边界条件,如果不满足边界条件,则变量用随机的方法重新生成。实际上,Price和Storn提出了十余种不同的差分策略来实现变异操作[8]。上述的变异方法是最常用的一种。(3)交叉操作
对第g代种群{x
i(g)}及其变异的中间体{vi(g+1)
}
进
行个体间的交叉操作:
uij(g+1)=
vij(g+1) rand(0,1)≤CRorj=j
rand
xij(g)
(4)
式中,CR为交叉概率,jrand为[1,2,…,D]的随机整数,用于确保vi(g+1)有至少一个变量遗传给ui(g+1)。(4)选择操作
DE采用贪婪算法来选择适应度高的个体进入下一代种群,
xi(g+1)=ui(g+1) f(ui(g+1))≤f(xi(g))xi(g)(5)
2 自适应差分演化算法差分演化算法的主要控制参数有种群规模NP、缩放因子F、交叉概率CR三个。通常做法是根据经验选取一组固定参数,种群规模NP∈[5D,10D],缩放因子F∈[0,1],交叉概率CR∈[0,1]。这种方法有一定局限性,在演化的不同阶段,由于个体在搜索空间所处的位置不同,个体的差异性亦不同,无法满足不同阶段算法的性能要求。国内外对于控制参数选取的研究已有很多,例如ChangCS和XuDY[9]提出一种线性变化策略;Mendes和Mohais提出了F和CR的随机选取原则[10,11]等等。本文提出一种自适应的控制参数选取方法。由于F和CR
的选择是影响差分演化算法行为和性能的关键所在,直接影响算法的收敛性,因此,应考虑F和CR能够随着适应度以及演化代数动态调整。2.1 缩放因子的自适应当种群内的个体适应度趋于一致或者收敛于局部最优解时,使F增加;而当群体适应度比较分散时,使F减小。同时对于适应度大于平均适应度的个体,对应大的F值,使该解被淘汰掉;相反对于适应度低于平均适应度的个体,越接近平均适应度的个体对应越大的F值确保多样性。因此,自适应的缩放因子能够提供相对于每个解的最佳F值。自适应差分演化算法在保持群体多样性的同时,保证差分演化算法的收敛性。F按式(6)进行自适应调整,
F=1-
favg-f′
favg-fbest
f′
avg
1,f′≥f
avg
(6)
式中,f′为待变异个体的适应度值;favg为群体的平均适应度值;fbest为群体中最大的适应度值。算法开始阶段favg和fbest差距很大,所以几乎不存在局部收敛的可能,则当f′越小,即F越小,良好的基因可能会保持下来。随着演化代数的增加favg和fbest差距减小,F有减小的趋势,
向最优解收敛的速度逐步加快。由于收敛速度是逐步加快的,
所以减少了局部收敛的危险。
2.2 交叉概率的自适应交叉概率用于表示待变异个体的基因选入新个体的概率。本文提出的CR自适应函数根据演化的代数动态改变CR的值。开始时CR比较小为CR
0,以较小的交叉概率保持群体的多样性,
随着演
化的进行,个体开始逐步收敛,此时增加CR的值,不仅提高变异个体基因选入新个体的概率,并且加快了收敛速度。当CR=CR
1,
不
再增加CR的值保持CR的稳定。CR按式(7)进行调整:
CR=G1000-G
+CR0 CR
CR1 CR≥CR1
(7)
式中,G为演化代数。经过多次实验确定CR
0=0.4,CR1=0.
9
。逐步增加CR
的值,既可以保持较快的收敛速度又可以防止局部收敛的发生。
3 计算结果分析本文选取了4个常用的多变量测试函数,如表1所示。验证ADE算法的性能,并与标准的差分演化算法进行比较。其中Sphere函数为单峰二次函数;Rosenbrock函数是一个非凸、病态函数,难以全局最小化求解;Generaltest函数在可行域内有210
个局部最优解,其全局最优值为278.3323;Rastrigin函数为多峰函数,在xi∈[-5.12,5.12]范围内大约存在10n个局部极小值。
表1 常用的多变量测试函数函数名称函数表达式
SphereF=∑Di=1x2i |xi|≤100 D=30
RosenbrockF=∑D-1i=1[100(xi+1-x2i)2+(xi-2)2]|xi|≤100 D=10GeneraltestF=1D∑Di=1(x4i-16x2i+5xi) |xi|≤100 D=10
RastriginF=∑Di=1(x2i-10cos(2πxi)+10) |xi|≤5.12 D=10提高算法的收敛速度是本文对于差分演化算法改进的一个重要目标。本文以适应度的最差值和最优值的差作为收敛界限,实验中将收敛界限设置为1E26,将NP设置为100,选取最大演化代数500作为停止条件。分别用DE和ADE两个算法测试4个函数,每次实验执行20次,统计平均最优解的收敛情况。计算结果如图1和表2所示。对于不同函数ADE算法的收敛性能基本都能维持在较高的水平,特别是对于一些DE算法需要长时间演化的函数,ADE算法也可以快速的收敛。从图1中可以看出ADE算法的收敛速度是随着演化代数的增加逐步加快的。如表3所示,ADE的最优解优于DE算法求解的值,并且达到或非常接近理论解。总体而言,ADE对于4个测试函数都能很快收敛到全局最优解,而且算法很稳定。