控制参数自适应和策略自适应的差分进化算法的制作方法

文档序号:12124417阅读:327来源:国知局
本发明涉及控制算法领域,尤其涉及一种控制参数自适应和策略自适应的差分进化算法。
背景技术
:自从差分进化算法由Storn和Price提出后,相比于其他智能优化算法来讲,由于其具有更加良好的寻优性能和较快的收敛速度,因此,迅速得到了众多学者的关注和研究[2,3,4,5],并且对该算法的控制参数(变异因子F和交叉概率CR)、策略等方面进行了大量的研究工作,于此同时,还将其应用于各种实际的复杂优化问题,取得了令人满意的优化效果。虽然差分进化算法有着令人满意的优化效果,但是面对越来越复杂的优化问题,其固定的控制参数设定和变异策略都难以适应算法进化的需要,因此,其存在的算法缺陷不可忽视。技术实现要素:本发明的目的就在于为了解决上述问题而提供一种控制参数自适应和策略自适应的差分进化算法。本发明通过以下技术方案来实现上述目的:本发明对于优化问题其中,f(x)为优化的目标函数,x为D维优化矢量,和分别为第j个变量xj的下限和上限;具体包括以下步骤:(1)初始化:在各自的可行域内,生成原始种群与控制参数种群设置最大的迭代次数Gm和种群的规模NP,同时,使Nchoice=0,Fstrategy1=0,Fstrategy2=0;(2)原始种群S1的进化:每一个原始个体采用各自的作为控制参数,实现差分进化操作,生成新个体选择NP/2+Nchoice个个体进行式(2)的个体变异操作其中,istrategy1=1,2,···,NP/2+Nchoice选择剩下的NP/2-Nchoice个个体按照rand>0.4的原则来分别进行式(3)和(4)的个体变异操作,如果是则利用式(3)进行变异操作,如果否,则利用式(4)进行变异操作;其中,istrategy2=NP/2+Nchoice+1,NP/2+Nchoice+1,···,NP,且istrategy1+istrategy2=NP;个体的边界处理:若或那么从可行域内随机选取;个体交叉操作:其中是新个体的第j个基因;策略的自适应的操作:求得的平均值,同时使求得的平均值,同时使如果Fstrategy1≤Fstrategy2,那么Nchoice=Nchoice+1,否则Nchoice=Nchoice-1;同时,对Nchoice的边界进行处理,如果Nchoice>NP/2,那么Nchoice=NP/2-1,如果Nchoice<-NP/2,那么Nchoice=-NP/2+1;个体的选择:(3)控制参数种群的进化:FiG+1=N(0.5,σ),(7)其中,σ=1.2-G/Gm;控制参数边界的设定:如果FiG+1>1或FiG+1<0,那么FiG+1=1或FiG+1=0.如果或那么or(4)重复第2~第3步,直到进化代数超过最大进化代数Gm。本发明的有益效果在于:本发明是一种控制参数自适应和策略自适应的差分进化算法,与现有技术相比,本发明通过13个100维标准测试函数的仿真测试和在实际优化问题的应用均表明,该算法具有较强的全局搜优性能和较快的收敛速率,并能较好的避免很多传统的智能优化算法存在的“早熟“现象。不仅实现了控制参数的自适应,而且对变异策略的选择也实现自适应。测试仿真结果表明,DE-CPASA算法具有更高的求解精度和较快的收敛速度。最后,将DE-CPASA算法应用于Hg氧化动力学参数估计,得到了较好的优化结果。具体实施方式下面对本发明作进一步说明:对于优化问题其中,f(x)为优化的目标函数,x为D维优化矢量,和分别为第j个变量xj的下限和上限;在DE-CPASA算法中,个体的构造和策略的使用见表0所示,对于个体的构造,采用的是控制参数和个体一起编码的方式,即每个个体都有一个与其对应的控制参数,从而能够实现算法在种群进化的同时,控制参数在个体水平上实现动态的变化,改变了传统DE算法中控制参数固定的方式;对于策略的使用,算法在初始阶段时,使Nchoice=0,即,在算法迭代开始时,把种群分为两个个体数量为NP/2的子种群,然后利用DE/rand/1、DE/rand-to-best/1和DE/rand/2等变异策略来对个体进行变异操作,并对它们进行评价,最后利用Nchoice的变化来实现策略的自适应,从而提高算法整体的优化性能。表0.原始种群控制参数种群和变异策略Fig.1.Primarypopulationthepopulationofcontrolparametersandmutationstrategy具体包括以下步骤:(1)初始化:在各自的可行域内,生成原始种群与控制参数种群设置最大的迭代次数Gm和种群的规模NP,同时,使Nchoice=0,Fstrategy1=0,Fstrategy2=0;(2)原始种群S1的进化:每一个原始个体采用各自的作为控制参数,实现差分进化操作,生成新个体选择NP/2+Nchoice个个体进行式(2)的个体变异操作其中,istrategy1=1,2,···,NP/2+Nchoice选择剩下的NP/2-Nchoice个个体按照rand>0.4的原则来分别进行式(3)和(4)的个体变异操作,如果是则利用式(3)进行变异操作,如果否,则利用式(4)进行变异操作;其中,istrategy2=NP/2+Nchoice+1,NP/2+Nchoice+1,…,NP,且istrategy1+istrategy2=NP;个体的边界处理:若或那么从可行域内随机选取;个体交叉操作:其中是新个体的第j个基因;策略的自适应的操作:求得的平均值,同时使求得的平均值,同时使如果Fstrategy1≤Fstrategy2,那么Nchoice=Nchoice+1,否则Nchoice=Nchoice-1;同时,对Nchoice的边界进行处理,如果Nchoice>NP/2,那么Nchoice=NP/2-1,如果Nchoice<-NP/2,那么Nchoice=-NP/2+1;个体的选择:(3)控制参数种群的进化:FiG+1=N(0.5,σ),(7)其中,σ=1.2-G/Gm;控制参数边界的设定:如果FiG+1>1或FiG+1<0,那么FiG+1=1或FiG+1=0.如果或那么or(4)重复第2~第3步,直到进化代数超过最大进化代数Gm。仿真测试为了说明DE-CPASA算法(控制参数自适应和策略自适应的差分进化算法)性能的优劣,本文将通过对13个100维的标准测试函数的测试来验证算法的性能,并且将其优化的结果跟知名算法JADE[6]及一种传统差分进化算法DE/rand/1进行比较。为了能够体现比较的公平性,DE-CPASA算法中NP=400,但是在最大迭代代数的设置上,DE-CPASA算法采取了不同的参数设置,见表1。其中,传统差分进化算法的控制参数设置采用Price和Storn[7]推荐的参数:F=0.5和CR=0.9。对于每个100维的标准测试函数,DE-CPASA算法、JADE算法和传统差分进化算法都分别独立运行50次,然后分别求得每个测试函数的平均值和标准方差。从表2中可以看出,对于Penalized1和Penalized2这两个测试,DE-CPASA的优化效果要比JADE的优化结果差点,尤其是Penalized2这个测试函数,跟JADE算法存在着一点差距,但是要好于传统差分进化算法的优化结果;而对于Rosenbrock这个测试函数,可以发现,当迭代代数为6000时,DE-CPASA的优化结果并没有JADE的好,而当代数达到20000代时,优化的结果远远超过了JADE的优化结果,并且从JADE优化的结果来看,算法都出现了过早的收敛,而DE-CPASA算法并没有出现这种情况,同时,DE-CPASA的优化结果都要好于传统差分进化算法;再来比较一下Step这个函数,DE-CPASA的优化结果要好于JADE和传统差分进化算法,除了JADEwitharchive在代数为1500的时候,但是差距并不是很大;对于其他剩余的测试函数来讲,DE-CPASA算法的优化结果不仅要好于文献报道的优化结果,而且最大的迭代代数明显要比文献小的多,由此可以看出,对于高维测试函数来讲,DE-CPASA的搜优性能在总体上都超过了JADE和传统的差分进化算法,显示了DE-CPASA在高维复杂的测试函数中的优秀表现。表1标准测试函数及参数设定Table1.benchmarkfunctionsandparameterssetting表2:DE-CPASA与文献的优化结果比较Table2compriseoftheDE-CPASAandthereportsforoptimizationresultsDE-CPASA算法在Hg氧化动力学参数估计中的应用汞会直接对生态环境造成巨大的破坏和严重的污染,因此,对于烟气中汞元素的捕获至关重要。研究表明,把汞被氧化成Hg2+后,再来捕获汞元素,是一个很有效的方法,为此,Agarwal[8]等人对水银氧化机理作了深入的研究,同时,提出以下的水银氧化进程的动力学模型:其中,[Hg]:元素汞的浓度[Cl2]:氯气的浓度[HgCl2]:氯化汞的浓度[H2O]:水的浓度[HCl]:盐酸的浓度[O2]:氧气的浓度[SO2]:二氧化硫的浓度[NO]:一氧化氮的浓度ri:反应速率,i=1,2,3,4,5Ai:前项因子,i=1,2,3,4,5Ei:活化能,i=1,2,3,4,5R:气体常数T:绝对温度式中,Ai和Ei(i=1,2,3,4,5)是十个未知的参数,优化这十个未知参数的目标是使由式14计算得到的氧化汞的转化率与测量值的差值最小。那么,目标函数表示为:其中,表示通过动力学方程拟合得到的Hg转化率;ci表示实验测量得到的Hg转化率;EQS表示Hg转化率拟合的误差平方和;m表示实验点个数。DE-CPASA的参数设置与文献[5]相同,即NP=50,Gm=1000,同时,实验所用数据均来自文献[9]。从表3中可以看出,DE-CPASA算法所得到的优化结果要好于Agarwal等人和胡春平等人所得到的优化结果,这也充分表明了DE-CPASA算法在实际的应用中,也能取得很好的优化效果。表3:DE-CPASA与文献报道的优化结果比较Table3compriseoftheDE-CPASAandreporteddata(Agarwaletal.2007b,ChunpingHuetal.2009)fortheresultsofoptimizationA1A2A3A4A5E1E2E3E4E5EQSAgarwaletal.62.2710.3768898.682138.8536.1138.86680.08933723.50917.63815.10888.134ISDE3.60240.4428877.068.326110.8663.99940.2754417.44213.13413.23373.746DE-CPASA1.66010.4639960.2913.856995.15843.00010.3453217.001714.021717.826270.147控制参数自适应和策略自适应的差分进化算法,在算法实现上,不仅使控制参数参与算法进化过程中的动态演变,而且其变异策略也在随着种群的进化而进行自主的选择,从而使DE-CPASA算法在面对各种复杂的优化状况下,能够自动的调整其控制参数和变异策略来达到更好的优化效果,减少了传统差分进化算法中固定的设置对不同优化问题所带来的影响。在对13个100维的测试函数的测试中,可以看出,DE-CPASA算法有较强的搜索能力,并且在复杂的优化问题面前,可以较好的避免“早熟“的情况,同时,体现了DE-CPASA算法较好的自适应能力。最后,将DE-CPASA算法应用于Hg氧化动力学参数估计,从实验的优化结果来看,本算法得到了更好的优化结果,这说明,此算法在实际的应用中,也同样具有很强的竞争力和较好的寻优能力。以上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1