第38卷 、,0l_38 第5期 No.5 计算机工程
Computer Engineering 2012年3月
March 2012
・人工智能及识别技术・ 文章编号:1000 ̄3428(2012)05---0202---03 文献标识码:A 中圈分类号:TP301.6 自适应差分进化算法及其在参数估计中的应用 王海伦 ,余世明 ,郑秀莲 (1.衢州学院电气与信息工程学院,浙江衢州324000;2.浙江工业大学智能信息系统研究所,杭州310014) 摘要:为解决动力学参数估计的问题,提出一种控制参数自适应和策略自适应的差分进化算法(DE—CPASA)。在该算法中,采用差分进 化对优化问题进行寻优,控制参数以正态分布的方式实现自适应,通过对适应度函数值的评价,实现变异策略的自适应。测试仿真结果表 明,DE—CPASA算法具有较高的求解精度和较快的收敛速度。将DE—CPASA算法应用于Hg氧化动力学参数估计,可得到较好的优化结果。 关健词:差分进化算法;自适应;参数估计;水银氧化;策略自适应;变异因子
Adaptive Differential Evolution Algorithm and Its Application in Parameter Estimation
WANG Hai・lun ,YU Shi-ming ,ZHENG Xiu-lian (1.College of Electrical and Information Engineering,Quzhou University,Quzhou 324000,China; 2.Intelligence Information Systems Research Institute,Zhejiang University ofTechnology,Hanzhou 310014,China)
[Abstract]In order to solve problem of parameter estimation,an Differential Evolution algorithm with Control Parameter Adaptation and Strategy Adaptation(DE—CPASA)is introduced.In DE—CPASA,diferential evolution operator is used tO search the optimization results of problems,and Gaussian distribution is employed tO implement the adaptive control parameters The strategy adaptation is achieved by evaluation of value of fitness function.Simulation test results show that DE—CPASA can obtain a higher precision solution and has fast convergence.DE—CPASA is employed to estimate the kinetic parameters of Hg oxidation,and a good optimization result is obtained. [Key words!diferential evolution algorithm;adaptive;parameter estimation;Hg oxidation;strategy adaptation;mutation factor D0I:10.39690.issn.1000—3428.2012.05.062
1概述 自从差分进化算法…提出后,相比于其他智能优化算法 来讲,由于其具有更加良好的寻优性能和较快的收敛速度, 因此,迅速得到了众多学者的关注和研究 】,并且对该算法 的控制参数(变异因子F和交叉概率CR)、策略等方面进行了 大量的研究工作,将其应用于各种实际的复杂优化问题,取 得了令人满意的优化效果。 虽然差分进化算法有着令人满意的优化效果,但是面对 越来越复杂的优化问题,其固定的控制参数设定和变异策略 都难以适应算法进化的需要,因此,其存在的算法缺陷不可 忽视。为此,本文提出一种控制参数自适应和策略自适应的 差分进化算法(Diferential Evolution Algorithm with Control Parameter Adaptation and Strategy Adaptation,DE—CPASA)。 2控制参数自适应和策略自适应的差分进化算法 对于优化问题: minf(x1,X2,・・, D) ∈( ?, )J=1,2,・一,D (1)
其中,_厂( )为优化的目标函数;X为D维优化矢量, 和 分别为第 个变量xj的下限和上限。 在DE—CPASA算法中,个体的构造和策略的使用如图1 所示。对于个体的构造,采用的是控制参数和个体一起编码 的方式,即每个个体都有一个与其对应的控制参数,从而能 够实现算法在种群进化的同时,控制参数在个体水平上实现 动态的变化,改变了传统DE算法中控制参数固定的方式; 对于策略的使用,算法在初始阶段时,使,vc 。 =0,即在算 法迭代开始时,把种群分为2个个体数量为NP/2的子种群,
然后利用DE/rand/1、DE/rand—to—best/1和DE/rand/2等变异 策略对个体进行变异操作,并对它们进行评价。最后利用 Ⅳc 。的变化实现策略的自适应,从而提高算法整体的优化 性能。
Sj S2‘ 变异策略
lG ( 、CR1。)
2G (F2 .CR2。) DE/rand/l
,2+ ( _l、 ) ,2+ l ( 、CROpm +1) DE/rand—to—best/l、 DE/rand/2
(磁、CROp) 图l原始种群S- 、控剖参数种群S 和变异策略 基金项目:2010年度科技部国家重点新产品计划基金资助项目(201 0GRC201 13);衢州学院中青年骨干教师基金资助项目 作者倚介:王海伦(1979--),女,讲师、硕士,主研方向:智能优化, 无线传感器网络;余世明,教授、博士;郑秀莲,副教授、硕士 收稿It期:2011-08—25 E-mail:xiaohong1920@126.com 第38卷第5期 王海伦,余世明,郑秀莲:自适应差分进化算法及其在参数估计中的应用 203 DE—CPASA算法步骤如下: (1)初始化 在各自的可行域内,生成原始种群s 与控制参数种群
,设置最大的迭代次数G 和种群的规模NP,同时,使 Nch0ice=0,Fs”ldt gy1=0,Fstrat。gy2=0。 (2)原始种群 1的进化 每一个原始个体 。采用各自(Fi。、CRiG)作为控制参
数,实现差分进化操作,生成新个体 --G”,i=1,2…,^ 。 选择NPI2+Nchnic。个个体进行式(2)的个体变异操作: 量 = + ,( :一 :) ( )
其中,/。strategyI=1,2,…,NPI2+Nch0ice。 选择剩下的NP/2一 h。i 。个个体按照rand>O.4的原则分 别进行式(3)和式(4)的个体变异操作。如果是,则利用式(3) 进行变异操作;如果否,则利用式(4)进行变异操作。 = G+ ( :一 :)+ ’( :一 :) (3)
= + ’( £ 。一 )+ ’( 一 ) (4) 其中, /‘strategy2=NP/2+Nch0ice+1,NP/2+Nch。i 。+1,…,ⅣP, 且 strategy1+ strategy2:ⅣP。 个体的边界处理: 若 或筹 > ,那么 “从可行域内随机选取。
个体交叉操作:
- Gij :
P> (5)
^ 一1筹 otherwise
其中, 是新个体 的第 个基因。 策略的自适应的操作: 求得_厂( .)的平均值,同时使 嗍.=Mean(、f( ̄一TM
.));
求得,( )的平均值,同时使 …gy2=Mean(_厂(i ))。 如果 刚≤ v2,那么Nc 。=N 。, +1,否则 Nc 。 。=Nc 。一1。同时,对 。 的边界进行处理,如果 ^ t >NP/2,男B么Nch0, =NP/2-1;如果 h0.。 <-NP/2, 那么Ⅳchoi =一NP/2+I。 个体的选择:
叠 G+I= ㈣ (3)控制参数种群s 的进化: =N(0.5, ) (7) ( =N(0.9, ) (8) 其中, =1.2一G/Gm。 控制参数边界的设定: 如果 >l或F6+’<0,那么 ’=1或 =0。 如果CR?“>1或c “<0,那么c =1或CR7 :0。 (4)重复步骤(2)、步骤(3),直到进化代数超过最大进化代 数G 。
3仿真测试 为了说明DE—CPASA算法性能的优劣,通过对13个 100维的标准测试函数的测试验证算法的性能,并且将其优 化的结果跟知名算法JADE¨ 及一种传统差分进化算法 DE/rand/1进行比较。 为了能够体现比较的公平性,DE—CPASA算法采用了与 文献[7】相同的种群大小,即NP=400,但是在最大迭代代数 的设置上,DE—CPASA算法采取了不同的参数设置,如表1 所示。其中,传统差分进化算法的控制参数设置采用文献[8】 推荐的参数:F=0.5和CR=0.9。对于每个100维的标准测 试函数,DE—CPASA算法、JADE算法和传统差分进化算法 都分别独立运行50次,然后分别求得每个测试函数的平均值 和标准方差。 表1标准 试函数及参|l【设定 从表2可以看出,对于Penalizedl和Penalized2这2个 测试,DE—CPASA的优化效果要比JADE的优化结果差点, 尤其是Penalized2这个测试函数,跟JADE算法存在着一点 差距,但是要好于传统差分进化算法的优化结果;而对于 Rosenbrock这个测试函数,可以发现,当迭代代数为6 000 时,DE—CPASA的优化结果并没有JADE好,而当代数达到 20 000代时,优化的结果远远超过了JADE的优化结果,并 且从JADE优化的结果来看,算法都出现了过早的收敛,而 DE—CPASA算法并没有出现这种情况。同时,DE—CPASA的 优化结果都要好于传统差分进化算法;再比较Step这个函 数,DE—CPASA的优化结果要好于JADE和传统差分进化算 法,除了JADE with archive在代数为1 500的时候,但是差 距并不是很大;对于其他剩余的测试函数来讲,DE—CPASA 算法的优化结果不仅要好于文献报道的优化结果,而且最大 的迭代代数明显要比文献小得多。由此可以看出,对于高维 测试函数来讲,DE—CPASA的搜优性能在总体上都超过了 JADE和传统的差分进化算法,显示了DE—CPASA在高维复 杂的测试函数中的优秀表现。