一种自适应差分演化算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第25卷第12期 计算机应用与软件

Vol 125No .12

2008年12月 Computer App licati ons and Soft w are Dec .2008

一种自适应差分演化算法

毛润宇1 王小平1 薛小平

2

1(同济大学计算机科学与技术系 上海200092)2

(同济大学信息与通信工程系 上海200092)

收稿日期:2008-01-22。国家自然科学基金项目(60475019)。毛润宇,硕士生,主研领域:计算机网络。

摘 要 差分演化算法是一类基于种群的启发式全局搜索技术,对于实值参数的优化具有很强的鲁棒性。为了提高差分演化算

法的寻优速度、克服启发式算法常见的早熟收敛问题,提出了一种自适应的方法来调整控制参数。实验表明,算法的收敛速度和寻优能力得到很大的提高。

关键词 差分演化 自适应 优化

AN ADAPT I VE D IFFERENT I AL EVOL UT I O N AL GO R I TH M

Mao Runyu 1 W ang Xiaop ing 1 Xue Xiaop ing

2

1

(D epart m ent of Co m puter Science and Technology,Tongji U niversity,Shanghai 200092,China )

2

(D epart m ent of Infor m ation and Co mm unication Engineering,Tongji U niversity,Shanghai 200092,China )

Abstract D ifferential evoluti on (DE )is a new heuristic gl obal searching technique based on populati on,which has been found t o be very r obust f or real parameter ’s op ti m izati on .I n order t o accelerate the convergence s peed of DE algorith m in op ti m al searching and t o overcome the p re mature convergence which is frequently existed in heuristic algorith m s,in this paper it p r oposed an adap tive differential evoluti on algo 2rith m t o adjust the scale fact or and the cr oss over p r obability adap tively .The experi m ent indicated that this algorith m i m p r oves re markably the convergence s peed and op ti m al searching ability .

Keywords D ifferential evoluti on Adap tive Op ti m izati on

0 引 言

差分进化DE (D ifferential Evoluti on )是一种基于群体差异的启发式随机搜索算法,该算法是Rainer St orn 和Kenneth Price 于1995年共同提出的,是一种采用实数矢量编码在连续空间中进行随机搜索的优化算法[1]。差分进化算法因原理简单、受控参数少、鲁棒性强等特点,引起了越来越多的学者关注[2,3]。但是DE 算法也有它的不足之处,随着进化代数的增加,个体间的差异逐渐降低,特别是过早地收敛到局部极值附近时,会导致DE 算法早熟。为了提高DE 的寻优能力、加快收敛速度、克服启发式算法常见的早熟收敛问题,许多学者对DE 算法进行了改进[4-6]。

本文提出了一种用于复杂函数优化的自适应差分演化算法ADE (Adap tive D ifferential Evoluti on )。该算法随着搜索过程的进行自适应地调整缩放因子和交叉概率,以减少算法控制参数的人为因素影响。

1 标准差分演化算法

DE 进化流程与遗传算法相同,包括变异、交叉和选择的进

化操作。DE 算法的选择操作通常为贪心选择的过程,交叉操作方式与遗传算法大体相同,变异操作使用了一种差分策略,这种差分策略从当前种群中随机选择三个点,以其中一个点为基础、

另两个点为参照做一个扰动,实现个体的变异。这种算法有效地利用了群体分布特性,提高了算法的搜索能力,避免了遗传算法中变异操作的不足[7]。

对于优化问题:

m in f (x 1,x 2,…,x D )

s .t x m in ≤x i ≤x max i =1,2,…,D

(1)

式中,D 为变量的个数,x m in 和x max 分别表示第i 个变量x i 取值范围的上界和下界。DE 算法包括以下几个方面:

(1)初始化

根据具体问题给定的变量初始寻优区间[x m in ,x max ],利用如下线性变换:

x ij (0)=x m in +rand (0,1)·(x max -x m in )

(2)

式中,x ij (0)表示第0代的第i 个个体的第j 个变量。NP 表示种群大小,rand (0,1)为在[0,1]均匀随机数。

(2)变异操作

选取g 的3个互不相同的个体x r 1(g ),x r 2(g )和x r 3(g )按照以下的方法产生扰动向量v i (g +1):

v i (g +1)=x r 1(g )+F (x r 2(g )-x r 3(g ))

i ≠r 1≠r 2≠r 3

(3)

式中,F 为缩放因子控制个体差值的幅值,x i (g )表示第g 代种群中第i 个个体。

相关文档
最新文档