APP下载

自适应权重差分进化算法

2012-02-19王建芹高兴宝

陕西科技大学学报 2012年4期

王建芹, 高兴宝

(陕西师范大学 数学与信息科学学院,陕西 西安 710062)

0 引言

差分进化(Differential Evolution,DE)算法[1]是一种新兴的智能计算技术,现已成功应用于模式识别、信息处理、人工神经网络等多个领域[1,2].与遗传算法、粒子群算法类似,DE算法也是一种基于种群的启发式搜索技术,由于它采用实数编码,具有受控参数少,鲁棒性强等特点,该算法引起了广泛的关注,并已提出多种改进的算法.这些改进大多是通过改变中间向量遗传策略(学习策略)来提高算法的性能[3-6].文献[7]根据种群进化过程中已有的学习经验对中间向量遗传策略和控制参数进行适应性改变,提出自适应差分进化算法(SaDE).文献[8]将3种中间向量遗传策略和3组参数设置随机组合,提出了混合差分进化算法(CoDE).受这些启发,本文提出一种新的改进差分进化算法,称之为自适应权重差分进化算法(AWDE).该算法对已存在的两种具有不同优点的中间向量遗传策略(“rand/1/bin”和“current-to-best/1/bin”)引入自适应权重,由此设计一个新的中间向量遗传策略.通过对基准函数进行性能测试,并且在相同的参数设置下与分别使用上述两个学习策略的对比算法进行比较,说明了本文所提算法的有效性.

1 差分进化算法

(1)变异:在每一代中,对种群中的每个个体xi(目标向量)利用中间向量遗传策略(学习策略)产生变异向量vi=(vi,1,vi,2,…,vi,D) ,这里列举5种常用的中间向量遗传策略:

“rand/1/bin” :

vi,G=xr1,G+F·(xr2,G-xr3,G) (1)

“best/1/bin”:

vi,G=xbest,G+F·(xr2,G-xr3,G) (2)

“current-to-best/1/bin”:

vi,G=xi,G+F·(xbest,G-xi,G)+F·(xr1,G-xr2,G)

(3)

“Best/2/bin”:

vi,G=xbest,G+F·(xr1,G-xr2,G)+F·(xr3,G-xr4,G)

(4)

“rand/2/bin”:

vi,G=xi,G+F·(xr1,G-xr2,G)+F·(xr3,G-xr4,G)

(5)

其中,r1,r2,r3,r4,r5从1,2,…,NP中随机选取,且r1≠r2≠r3≠r4≠r5≠i.F为缩放比例因子,G为当前迭代步数,xbest,G为当前种群中的最优个体.

(2)交……

登录APP查看全文