一种改进的自适应差分演化算法_鄢靖丰
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第33卷第2期许昌学院学报
Vol.33.No.22014年3月JOURNAL OF XUCHANG UNIVERSITY Mar.2014
收稿日期:2013-08-15
基金项目:河南省重点科技攻关项目(122102210488);许昌学院科研项目资助计划(2012069);许昌学院优秀青年骨干教师资助计划作者简介:鄢靖丰(1982—),男,湖北天门人,讲师,硕士,研究方向:智能算法、网络通信.
文章编号:1671-9824(2014)02-0074-04
一种改进的自适应差分演化算法
鄢靖丰
(许昌学院信息工程学院,河南许昌461000)
摘
要:差分演化是一种简单、有效的全局数值优化算法,相关研究表明,参数的自适应能够
有效提高算法的性能.提出了一种集成的混合参数自适应差分演化算法,并巧妙利用一种自适应
选择机制来选择算法池中的算法,通过对25个国际标准测试函数进行测试,实验结果表明,该方法在最优解质量、稳定性、收敛速度优于其它被比较的算法.
关键词:差分演化算法;参数自适应;数字优化
中图分类号:TP391文献标识码:A
差分演化算法(Differential Evolution ,DE )是由Storn 和Price 在1995年提出的一种新的简单、高效的全局优化算
法[1]
.该算法与其它算法的最大区别在于其差分变异算子的使用,该算子具有搜索方向和搜索步长自适应的特点.目前,该
算法已经广泛应用在多个实际工程应用领域,如数据挖掘、滤波器设计、神经网络、模式识别、电路优化设计[2-4]
等.
经典的DE 算法里面涉及到三个基本参数:种群规模NP ;杂交概率CR;缩放因子F.参考文献[5,6]
表明,参数的合理设置与选取是算法成功的关键.传统的参数设置一般是根据经验进行设置,对CR和F 设置为常量,这样算法效率不高,演化
后期容易陷入局部最优,
为了弥补这个缺点,一些研究人员提出了参数自适应技术来改善算法的性能,jDE [7]、JADE [8]等是具有代表性参数自适应算法,本文算法主要思想:提出了一个集成算法的算法池(JADE 和gDE ),通过一种自适应选择技术
来选取合适的算法来求解特定问题,本文方法通过国际通用25个标准测试函数[9]
验证其算法性能.
1相关工作
不失一般性,以最小化函数优化问题为例,如公式(1)所示,其中S RD
,
D 称为搜索空间,D 是变量的维数,f (x )称为目标函数,X 是一个n 维解向量X =[x 1,x 2,…,x n ]T ,每个自变量x i 满足一定的约束条件,如公式(2)所示.Minimize f (X ).
X =(x 1,x 2,…,x n )∈Rn ,(1)L i ≤x i ≤U i ,i =1,2,…,n .(2)
1.1参数自适应DE
DE 算法的性能相对于控制参数的设置是敏感的,对不同问题需要进行不同的设置.而不合理的参数设置有可能会导
致过早收敛或算法停滞.为了弥补差分演化算法对参数设置敏感的不足,
很多学者提出了动态或自适应参数控制差分演化算法.brest [7]
等提出了自适应控制参数环境(jDE ),
把缩放因子F 和交叉概率CR当成个体的一部分,利用自适应机制来更新个体,
Zhang 和Sanderson 提出了一种新的自适应差分演化算法JADE ,F 和CR分别根据它们以前成功经验进行动态调整.jDE 和JADE 在标准函数测试集上均取得了很好的优化结果.1.2jDE 算法
jDE 是一种参数自适应差分演化算法.jDE 算法中群体大小(NP )是固定的,演化过程中不发生改变,交叉概率CR和缩
放因子F 直接编码到个体中.缩放因子F 和交叉概率CR分别按照公式(3)、公式(4)进行更新.其中,
rndreal [a ,b ]是在[a ,b ]区间里产生的均匀随机数,τ1=0.1和τ2=0.1用来控制参数CRi 和F i 的选择概率.种群中每个个体的控制参数在变异
和杂交操作之间进行更新替换,
所以,它们的最新值直接影响随后的变异、杂交、选择等操作.通过一些标准函数进行测试并与其它算法进行比较,作者验证了该方法的高效性.
第33卷第2期鄢靖丰:一种改进的自适应差分演化算法
F i =
rndreal
i
[0.1,1],rndreal[0,1]<τ
1
,
F
i
否
{
.
(3)
CR
i =
rndreal
i
[0.1,1],rndreal[0,1]<τ
2
,
CR
i
否
{
.
(4)
1.3JADE算法
Zhang和Sanderson提出了一种新的自适应差分演化算法[8],JADE算法中实现了两种新的变异策略即归档的和不归档的变异策略[8],每种变异策略又采用了两种不同的变异算子(DE/current-to-pbest/1和DE/rand-to-pbest).在每一代,对于每一个目标个体X i其交叉概率按如下公式(5)和公式(6)等规则独立产生.
CR
i =rndn
i
(μ
CR
,0.1),(5)
μCR=(1-c)*μCR+c*mean A(S CR).(6)当CRi的值不在[0,1]范围之内时,则采用截断的方法使其在[0,1]之间.mean A是常用的求算术平均值,SCR是第g代所有成功产生子个体的CRi值的集合,c是[0,1]的一个常数.
为了增强群体的多样性,在JADE算法中,对于每一个目标个体X i其缩放因子按如公式(7)和公式(8)规则独立产生.
F i =rndc
i
(μ
F
,0.1),(7)
μF=(1-c)*μF+c*mean L(S F).(8)当F i的值不在[0,1]范围之内时,则采用截断的方法使其在[0,1]之间.rndci(μF,0.1)表示按照定位参数(μF)和缩放参数0.1产生的Cauchy(柯西)随机数,S F是第g代所有成功产生子个体的F i值的集合,meanL(S F)按照如下公式(9)进行计算:
mean
L (S
F
)=∑SF
i=1
(F
i
)2//∑SF
i=1
F
i
.(9)
2混合参数自适应技术(gDE)
正如前面分析所得,不同参数自适应技术均能提高差分演化算法的性能,具有不同的理由,而且表现出不同的性能.在很多自适应技术中,有两种自适应技术(jDE和JADE)获取较好竞争性结果.受两种算法成功的启发,本文提出基于上面两种算法的一个混合参数自适应差分演化算法简称(gDE),它可以被视为jDA和JADE优势技术的结合.下面详细描述,参数CR
i
和F i按照jDA算法里面的方法,把交叉概率和缩放因子编码到个体里面,如公式(10)所示.
X i ={X
i
,CR
i
,F
i
}={x
i,D
…x
i,D
,CR
i
,F
i
}.(10)
每一代的CRi和F i按照如下的公式(11)和公式(12)进行更新.
CR
i =
rndreal
i
[μ
CR
,0.1],rndreal[0,1]<τ
1
,
CR
i
否
{
.
(11)
F i =
rndreal
i
[μ
F
,0.1],rndreal[0,1]<τ
2
,
F
i
否
{
.
(12)
在公式(11)和(12)中,参数μCR和μF分别按照JADE里面的公式(7)和(8)更新.CRi和F i按照jDE算法中指定的概率τ1和τ2控制进行更新.
3集成参数自适应差分演化算法(gDE-PA)
相关研究表明,在演化算法中,集成多种算法构造算法池,能够有效提高算法的性能,如集成约束处理方法[10],受上面算法成功的启发,本文提出了一个整体优化集成方法,基于上面提到的两种不同的参数自适应技术(jDE和JADE)和两种不同JADE变异算子相结合,此外,针对特定的问题,本文提出了一种自适应选择技术来有效选择算法池中的算法.本文方法简称(gDE-PA).
3.1集成参数自适应DE
本文方法选择上面2种参数自适应方法作为选择池(gDE和JADE),提出了一种自适应选择技术,为每个目标向量X i,我们使用策略参数ηi控制两个算子的选择:ηi∈(0,1),如公式(13)所示,每一代中策略参数ηi,按照如下公式(14)方式进行更新.
PA
i =
gDE_PA,η
i
<0.5,
JADE_PA,η
i
>0.5
{
.
(13)
57