一种基于动态小生境半径差分进化的多模态优化方法,首先,将小生境半径设置为一个较大的值,以期在可行域空间中探测到尽可能多的模态;然后,随着算法的进行,根据退火路径将小生境半径逐渐减小至某一阈值,使得算法从全局探测转为局部增强过程;其次,引入对种子个体的邻近个体扰动,并自适应调整交叉概率和增益常数,以产生一系列高质量的新个体,有效提升了种群的多样性;最后,根据再根据动态小生境半径来指导种群更新。
【技术实现步骤摘要】
【专利摘要】,首先,将小生境半径设置为一个较大的值,以期在可行域空间中探测到尽可能多的模态;然后,随着算法的进行,根据退火路径将小生境半径逐渐减小至某一阈值,使得算法从全局探测转为局部增强过程;其次,引入对种子个体的邻近个体扰动,并自适应调整交叉概率和增益常数,以产生一系列高质量的新个体,有效提升了种群的多样性;最后,根据再根据动态小生境半径来指导种群更新。【专利说明】
本专利技术涉及一种智能优化、计算机应用领域,尤其涉及的是,一种基于动态小生境 半径差分进化的多模态优化方法。
技术介绍
在实际应用中存在着许多多模态优化问题,这些问题不仅需要求得一个全局最优 解,还需要得到其它全局最优解和一些质量较高的局部极值解。基本进化算法虽然在某些 情况下能够求解得到某一个全局最优解,但是由于选择压力的存在,使其无法得到其它全 局最优解和一些质量较高的局部最优解。小生境的概念借鉴了自然界中种群的思想,在自 然生态系统中,不同的生境往往生活着不同的物种,他们的生活习性和生物特征也有较大 的区别,将小生境这一概念应用于进化算法,就产生了小生境策略。其中,比较有代表性的 有排挤策略、适应度共享策略、退火策略、限制的联赛选择策略、聚类分析策略、清洗策略及 物种策略。 差分进化算法(DE)作为一种随机性算法,已经被证明是进化算法中简单而最高 效的算法,在很多领域得到了广泛应用。DE算法通过群体内个体间的合作与竞争产生的群 体智能指导优化搜索,具有算法通用,不依赖于问题信息,原理简单,易于实现,记忆个体最 优解和种群内信息共享以及较强的全局收敛能力等特点。然而,对于多模态优化问题,DE 算法却显得力不从心。针对此问题,国内外学者相继提出一些基于小生境策略的改进差分 进化算法,使其用于多模态优化问题。参照文献I :R. Thomsen, Multimodal optimization using crowding-based differential evolution, IEEE Congress on Evolutionary Computation, 2004, 1382-1389,即R. Thomsen,基于排挤策略的多模态差分进化算法,IEEE 进化计算会议,2004,1382-1389,Thomsen提出一种适应度共享差分进化算法(Sharing DE),SharingDE算法虽然已被证明是一种有效的多模态优化算法,但是共享半径的大小往 往很难石角定。参照文献 2 :X. Li, Efficient differential evolution using speciation for multimodal function optimization, Genetic and evolutionary computation Conference, 2005, 873-880,即X. Li,用于多模态函数优化的高效物种形成差分进化算法, 遗传和进化计算会议,2005,873-880, Li提出一种基于物种形成的差分进化算法(SDE),通 过将整个种群划分成很多亚种群(或者物种),然后在各亚种群中执行DE算法,然而,物种 半径的选择也是一个极其困难的工作。 因此,现有的小生境多模态优化方法在参数选择方面存在着缺陷,需要改进。
技术实现思路
为了克服现有的小生境多模态优化方法的参数选择难、解的质量较低、优化结果 较差的不足,本专利技术提出一种通过设计两阶段退货策略来动态调整小生境半径、优化结果 良好的基于动态小生境半径差分进化的多模态优化方法。 本专利技术解决其技术问题所采用的技术方案是: -种基于动态小生境半径差分进化的多模态优化方法,所述方法包括以下步骤: 1)初始化:设置种群规模NP,小生境半径阀值deut,函数评价次数阀值e eut,种子个 体附近个体的数目m,扰动生成新个体的数目n,学习次数Ln,均值Csm; 2)随机生成初始种群广= 3)计算出各个体的目标函数值,按目标函数值从小到大排序; 4)将当前种群中目标函数值最小的个体设置为种子个体X^d,且将其它个体设置 为自由个体,即未标记为种子的个体; 5)扰动生成η个新个体: 5. 1)计算出种群中各个体与种子个体的距离,并选取离种子最近的m个个体; 5. 2)从这m个个体中任意选取3个个体{xa, xb, Xc I a, b, c e {1,2, · · ·,Np},a辛b辛 c辛s},其中s为种子个体的下标; 5. 3)根据公式(1)进行变异: Vj=Xa^F-(Xbj-Xcj) (1) 其中,F表示增益常数,F = N(0. 5,0. 3),N(0. 5,0. 3)表示产生均值为0. 5,标准偏 差为0. 3的正态分布随机数; 5. 4)根据公式(2)进行交叉生成新个体trial1 【权利要求】1. ,其特征在于:所述优化方法 包括以下步骤: 1)初始化:设置种群规模Np,小生境半径阀值Clrat,函数评价次数阀值^ut,种子个体附 近个体的数目m,每次扰动生成新个体的数目n,学习次数Ln,均值Csm; 2) 随机生成初始种群P= ; 3) 计算出各个体的目标函数值,按目标函数值从小到大排序; 4) 将当前种群中目标函数值最小的个体设置为种子个体xSMd,且将其它个体设置为自 由个体,即未标记为种子的个体; 5) 扰动生成η个新个体: 5. 1)计算出种群中各个体与种子个体的距离,并选取离种子最近的m个个体; 5. 2)从这m个个体中任意选取3个个体{xa,xb,xeIa,b,ce{1,2, . . .,Np},a辛b辛c 辛s},其中s为种子个体的下标; 5. 3)根据公式(1)进行变异: Vj = X-.+F-(Xbj-X]) (1) 其中,F为增益常数,F=N(0. 5,0. 3),N(0. 5,0. 3)表示产生均值为0.5,标准偏差为 0. 3的正态分布随机数; 5. 4)根据公式(2)进行交叉生成新个体trial1其中,randb(0, 1)表示为产生0到1之间的随机小数,N为问题维数,rnbr(j)表示随 机产生1到N之间的整数,表示种子个体第j维的值,Ck表示交叉概率,Cκ可根据公式 (3)和(4)求得;其中,0. 1)表示生成均值为CKm,标准偏差为0. 1的正态分布随机数,队表示生成 的新个体成功进入下一代的数目,Ln为学习次数,C^表示第i个新个体成功进入下一代的 交叉概率值; 6) 对每个新个体进行种群更新: 6. 1)根据公式(5)计算初始半径值dinitial;6. 2)根据公式(6)计算退火策略值as;6. 3)根据公式(7)计算半径值rd,其中FEs为函数评价次数; rd=dinitial ·asFEs (7) 6. 4)根据公式(8)确定当前小生境半径值r;6.5)根据公式(9)计算出当前种群中各个体与新个体trial的距离,并找出与其最近 的个体 Xnearest?6. 6)如果trial与Xnearast的距离dnemest小于当前小生境半径r,且trial的目标函数 值小于Xnem本文档来自技高网...
【技术保护点】
一种基于动态小生境半径差分进化的多模态优化方法,其特征在于:所述优化方法包括以下步骤:1)初始化:设置种群规模NP,小生境半径阀值dcut,函数评价次数阀值ecut,种子个体附近个体的数目m,每次扰动生成新个体的数目n,学习次数LN,均值CRm;2)随机生成初始种群3)计算出各个体的目标函数值,按目标函数值从小到大排序;4)将当前种群中目标函数值最小的个体设置为种子个体xseed,且将其它个体设置为自由个体,即未标记为种子的个体;5)扰动生成n个新个体:5.1)计算出种群中各个体与种子个体的距离,并选取离种子最近的m个个体;5.2)从这m个个体中任意选取3个个体{xa,xb,xc|a,b,c∈{1,2,...,Np},a≠b≠c≠s},其中s为种子个体的下标;5.3)根据公式(1)进行变异:vji=xja+F·(xjb-xjc)---(1)]]>其中,F为增益常数,F=N(0.5,0.3),N(0.5,0.3)表示产生均值为0.5,标准偏差为0.3的正态分布随机数;5.4)根据公式(2)进行交叉生成新个体trialitrialjivjiif(randb(0,1)≤CRorj=rnbr(j)xjseedif(randb(0,1)>CRorj≠rnbr(j)j=1,2,...,N---(2)]]>其中,randb(0,1)表示为产生0到1之间的随机小数,N为问题维数,rnbr(j)表示随机产生1到N之间的整数,表示种子个体第j维的值,CR表示交叉概率,CR可根据公式(3)和(4)求得;CR=N(CRm,0.1) (3)CRm=Σi=Ns-LNNsCRiLN,(Ns>LN)---(4)]]>其中,N(CRm,0.1)表示生成均值为CRm,标准偏差为0.1的正态分布随机数,NS表示生成的新个体成功进入下一代的数目,LN为学习次数,CRi表示第i个新个体成功进入下一代的交叉概率值;6)对每个新个体进行种群更新:6.1)根据公式(5)计算初始半径值dinitial;dinitial=(Σi=1NpΣk=i+1NPΣj=1N(xji-xjk)2)/(Np(Np-1)/2)---(5)]]>6.2)根据公式(6)计算退火策略值as;as=(dcutdinitial)1ecut---(6)]]>6.3)根据公式(7)计算半径值rd,其中FEs为函数评价次数;rd=dinitial·asFEs (7)6.4)根据公式(8)确定当前小生境半径值r;r=rdif(rd>dcut)dcutif(rd≤dcut)---(8)]]>6.5)根据公式(9)计算出当前种群中各个体与新个体trial的距离,并找出与其最近的个体xnearest;di=Σj=1N(xji-trialj)2---(9)]]>6.6)如果trial与xnearest的距离dnearest小于当前小生境半径r,且trial的目标函数值小于xnearest的目标函数值,则trial替换dnearest,且记录交叉概率CR;6.7)如果trial与xnearest的距离dnearest大于当前小生境半径r,则找出当前种群中目标函数值最大的个体xworst,且trial的目标函数值小于xworst的目标函数值,则trial替换xworst,且记录交叉概率CR;7)选取新种子:7.1)计算出当前种群中各自由个体与当前种子xseed的距离之和,然后取平均值dave,如公式(10)所示,其中,NF表示自由个体的数目;dave=Σi=1NFΣj=1N(xji-xjseed)2/NF---(10)]]>7.2)如果某自由个体与当前种子的距离d大于dave,则将其标记为新种子;8)判断是否满足终止条件,如果满足,则保存结果并退出;9)如果当前种群中的所有个体都为种子个体,则为一代结束,并返回步骤3)。...
【技术特征摘要】
【专利技术属性】
技术研发人员:张贵军,周晓根,郝小虎,梅珊,陈凯,俞旭锋,李章维,
申请(专利权)人:浙江工业大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。