一种错位裂变算法制造技术

技术编号:15188347 阅读:82 留言:0更新日期:2017-04-19 13:32
本发明专利技术实施例公开了一种错位裂变算法,用于解决现有的智能优化算法中搜索盲点多,容易陷入局部最优的僵局,容易产生早熟收敛并且收敛速度慢,执行时间长的技术问题。本发明专利技术实施例方法包括:步骤一:从种群中竞选出多维最优粒子与多维次优粒子;步骤二:对所述多维最优粒子与所述多维次优粒子的一个维值进行错位或裂变,分别使得所述多维最优粒子与所述多维次优粒子之间相互学习或者所述多维最优粒子与所述多维次优粒子局部最优的维脱离出;步骤三:对一个维值进行错位或裂变的所述多维最优粒子和所述多维次优粒子进行迭代和更新;步骤四:判断迭代和更新后的所述多维最优粒子和所述多维次优粒子是否达到预设的终止条件,若是,则算法结束,若否,则转入步骤一。

【技术实现步骤摘要】

本专利技术涉及智能优化算法领域,尤其涉及一种错位裂变算法。
技术介绍
优化是科学研究,工程技术和经济管理领域的重要研究对象。例如,工程设计中,在满足一定的约束条件下,怎样选择参数,使设计方案既满足要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既满足各方面的基本要求,又能获得好的经济效益;在人类活动的各个领域中,诸如此类,不胜枚举。优化算法,是一种以数学为基础,用于求解各种工程问题优化解的应用技术。在系统控制,人工智能,模式识别,生产调试,VLSI技术和计算机工程等工程领域得到迅速推广和应用。20世纪80年代以来,一些新颖的优化算法(智能算法)通过模拟揭示某些自然现象或过程。这些算法独特的优点和机制,引起国内外学者的重视与研究。以自然界生物群体所表现出的智能现象为基础而设计的智能算法,这些算法虽然不能够保证一定能得到问题的最优解,但这些算法的特点是,算法机理简单,易于理解,而且算法设计简洁,对目标函数没有特殊的要求,易于编程计算,能在可接受的时间范围内给出问题的一个满意的解;因此对智能优化算法的研究是当今的热点。现代智能优化算法中与本专利技术最相近似的实现方法是粒子群算法和模拟退火算法。粒子群算法是近年来由J.Kennedy和R.C.Eberhart等开发的一种新的进化算法。PSO算法属于进化算法的一种,它是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质。PSO最主要的缺点是它容易产生早熟收敛(尤其是在处理复杂的多峰搜索问题中)。模拟退火算法与粒子群算法相似,它也是从随机解出发,是基于MonteCarlo迭代求解策略的一种随机寻优算法,收敛速度慢,执行时间长。
技术实现思路
本专利技术实施例提供了一种错位裂变算法,解决了现有的智能优化算法中搜索盲点多,容易陷入局部最优的僵局,容易产生早熟收敛并且收敛速度慢,执行时间长的技术问题。本专利技术实施例提供的一种错位裂变算法,包括:步骤一:从种群中竞选出多维最优粒子与多维次优粒子;步骤二:对所述多维最优粒子与所述多维次优粒子的一个维值进行错位或裂变,分别使得所述多维最优粒子与所述多维次优粒子之间相互学习或者所述多维最优粒子与所述多维次优粒子局部最优的维脱离出;步骤三:对一个维值进行错位或裂变的所述多维最优粒子和所述多维次优粒子进行迭代和更新;步骤四:判断迭代和更新后的所述多维最优粒子和所述多维次优粒子是否达到预设的终止条件,若是,则算法结束,若否,则转入步骤一。优选地,所述步骤一之前还包括:接收预先设定的m个种群,进行m个所述种群的解空间d维,获取所述解空间的上限field1=[a1,a2,a3,...ad],所述解空间的下限field2=[A1,A2,A3,...,Ad];根据所述解空间的上限和所述解空间的下限,并结合初始化公式xij=aj+rand(1)×(Aj-aj)进行种群初始化处理;其中,j是维数,0<j<d,j为整数,rand(1)是[0,1]的随机数,xij是粒子Xi的第j维的值。优选地,所述步骤一具体包括:分别计算初始化后的m个粒子的适应度,选出适应度最好的粒子即多维最优粒子KG=[kG1,kG2,kG3,...kGd]和适应度仅次于粒子KG或等于KG的适应度的粒子即多维次优粒子Kg=[kg1,kg2,kg3,...kgd]。优选地,所述步骤二具体包括:生成一个在区间[0,1]里的随机数rand(1);当所述随机数rand(1)小于预先设定的概率p1时,所述多维最优粒子KG与所述多维次优粒子Kg的同一维值进行交换,生成子代粒子Xi和Xi+1的对应的第j维值xij和x(i+1)j即xij=kgj,x(i+1)j=kGj;当所述随机数rand(1)不小于预先设定的概率p1时,继续判断所述随机数rand(1)是否小于预先设定的概率p2;若所述随机数rand(1)小于预先设定的概率p2,且rand(1)<0.5,则所述多维最优粒子KG与所述多维次优粒子Kg的一个维值进行随机裂变,生成子代粒子Xi和Xi+1的对应的第j维值xij和x(i+1)j:xij=aj+rand(1)×(Aj-aj),x(i+1)j=aj+rand(1)×(Aj-aj);若所述随机数rand(1)小于预先设定的概率p2,且rand(1)≥0.5,接收预设的区间半径R值,优化迭代总代数N,当前的优化代数n,多维最优粒子KG的第j维值kGj为中心的信息,在区间[kGj-r,kGj+r]内生成子代粒子Xi和Xi+1的对应的第j维值xij和x(i+1)j,即xij=(kGj-r)+2×rand(1)×r,其中当kGj-r<kgj时,定向裂变区间下限为kgj,当kGj-r>kgj时,定向裂变区间上限为kGj,当n<N/2时,接收r=R;当n>N/2时,接收其中N、n为整数;若所述随机数rand(1)不小于预先设定的概率p2,则两个父代粒子的该维保持不变。优选地,所述步骤三具体包括:对父代多维最优粒子KG与多维次优粒子Kg进行一个维值错位或裂变,生成两个子代粒子Xi和Xi+1对应的维值后,迭代生成子代粒子Xi和Xi+1,比较包括两个父代粒子KG与Kg的m+2个粒子的适应度,适应度最好的粒子记为KG,适应度次优的粒子记为Kg。优选地,所述步骤四具体包括:迭代和更新后的所述多维最优粒子和所述多维次优粒子如果达到预设的最大迭代次数或者目标函数小于预设的最小偏差,则输出目标函数的最优解KG,否则转步骤一。本专利技术实施例还提供了一种错位裂变算法的装置,包括:竞选单元,用于从种群中竞选出多维最优粒子与多维次优粒子;错位裂变单元,用于对多维最优粒子与多维次优粒子的一个维值进行错位或裂变,分别使得所述多维最优粒子与所述多维次优粒子之间相互学习或者所述多维最优粒子与所述多维次优粒子局部最优的维有机会摆脱出来;迭代更新单元,用于对一个维值进行错位或裂变的所述多维最优粒子和所述多维次优粒子进行迭代和更新;判断单元,用于判断迭代和更新后的所述多维最优粒子和所述多维次优粒子是否达到预设的终止条件,若是,则算法结束,若否,则继续从种群中竞选出多维最优粒子与多维次优粒子。优选地,还包括:初始化单元,用于接收预先设定的种群规模m个,解空间d维,解空间的上限field1=[a1,a2,a3,...ad],解空间的下限field2=[A1,A2,A3,...,Ad],初始化公式xij=aj+rand(1)×(Aj-aj)进行种群初始化;其中,j是维数,0<j<d,j为整数,rand(1)是[0,1]的随机数,xij是粒子Xi的第j维的值。优选地,所述竞选单元,具体用于分别计算初始化后的m个粒子的适应度,选出适应度最好的粒子即多维最优粒子KG=[kG1,kG2,kG3,...kGd]和适应度仅次于粒子KG或等于KG的适应度的粒子即多维次优粒子Kg=[kg1,kg2,kg3,...kgd]。优选地,所述错位裂变单元具体包括:生成子单元,用于生成一个在区间[0,1]里的随机数rand(1);第一判断子单元,用于判断所述随机数rand(1)是否小于预先设定的概率p1;错位子单元,用于当所述随机数rand(1)小于预先设定的概率p1时,所述多维最优粒子KG与所本文档来自技高网
...
一种错位裂变算法

【技术保护点】
一种错位裂变算法,其特征在于,包括:步骤一:从种群中竞选出多维最优粒子与多维次优粒子;步骤二:对所述多维最优粒子与所述多维次优粒子的一个维值进行错位或裂变,分别使得所述多维最优粒子与所述多维次优粒子之间相互学习或者所述多维最优粒子与所述多维次优粒子局部最优的维脱离出;步骤三:对一个维值进行错位或裂变的所述多维最优粒子和所述多维次优粒子进行迭代和更新;步骤四:判断迭代和更新后的所述多维最优粒子和所述多维次优粒子是否达到预设的终止条件,若是,则算法结束,若否,则转入步骤一。

【技术特征摘要】
1.一种错位裂变算法,其特征在于,包括:步骤一:从种群中竞选出多维最优粒子与多维次优粒子;步骤二:对所述多维最优粒子与所述多维次优粒子的一个维值进行错位或裂变,分别使得所述多维最优粒子与所述多维次优粒子之间相互学习或者所述多维最优粒子与所述多维次优粒子局部最优的维脱离出;步骤三:对一个维值进行错位或裂变的所述多维最优粒子和所述多维次优粒子进行迭代和更新;步骤四:判断迭代和更新后的所述多维最优粒子和所述多维次优粒子是否达到预设的终止条件,若是,则算法结束,若否,则转入步骤一。2.根据权利要求1所述的错位裂变算法,其特征在于,所述步骤一之前还包括:接收预先设定的m个种群,进行m个所述种群的解空间d维,获取所述解空间的上限field1=[a1,a2,a3,...ad],所述解空间的下限field2=[A1,A2,A3,...,Ad];根据所述解空间的上限和所述解空间的下限,并结合初始化公式xij=aj+rand(1)×(Aj-aj)进行种群初始化处理;其中,j是维数,0<j<d,j为整数,rand(1)是[0,1]的随机数,xij是粒子Xi的第j维的值。3.根据权利要求2所述的错位裂变算法,其特征在于,所述步骤一具体包括:分别计算初始化后的m个粒子的适应度,选出适应度最好的粒子即多维最优粒子KG=[kG1,kG2,kG3,...kGd]和适应度仅次于粒子KG或等于KG的适应度的粒子即多维次优粒子Kg=[kg1,kg2,kg3,...kgd]。4.根据权利要求3所述的错位裂变算法,其特征在于,所述步骤二具体包括:生成一个在区间[0,1]里的随机数rand(1);当所述随机数rand(1)小于预先设定的概率p1时,所述多维最优粒子KG与所述多维次优粒子Kg的同一维值进行交换,生成子代粒子Xi和Xi+1的对应的第j维值xij和x(i+1)j即xij=kgj,x(i+1)j=kGj;当所述随机数rand(1)不小于预先设定的概率p1时,继续判断所述随机数rand(1)是否小于预先设定的概率p2;若所述随机数rand(1)小于预先设定的概率p2,且rand(1)<0.5,则所述多维最优粒子KG与所述多维次优粒子Kg的一个维值进行随机裂变,生成子代粒子Xi和Xi+1的对应的第j维值xij和x(i+1)j:xij=aj+rand(1)×(Aj-aj),x(i+1)j=aj+rand(1)×(Aj-aj);若所述随机数rand(1)小于预先设定的概率p2,且rand(1)≥0.5,接收预设的区间半径R值,优化迭代总代数N,当前的优化代数n,多维最优粒子KG的第j维值kGj为中心的信息,在区间[kGj‐r,kGj+r]内生成子代粒子Xi和Xi+1的对应的第j维值xij和x(i+1)j,即xij=(kGj-r)+2×rand(1)×r,其中当kGj‐r<kgj时,定向裂变区间下限为kgj,当kGj‐r>kgj时,定向裂变区间上限为kGj,当n<N/2时,接收r=R,当n>N/2时,接收其中N、n为整数;若所述随机数rand(1)不小于预先设定的概率p2,则两个父代粒子的该维保持不变。5.根据权利要求4所述的错位裂变算法,其特征在于,所述步骤三具体包括:对父代多维最优粒子KG与多维次优粒子Kg进行一个维值错位或裂变,生成两个子代粒子Xi和Xi+1对应的维值后,迭代生成子代粒子Xi和Xi+1,比较包括两个父代粒子KG与Kg的m+2个粒子的适应度,适应度最好的粒子记为KG,适应度次优的粒子记为Kg。6.根据权利要求5所述的错位裂变算法,其特征在于,所述步骤四具体包括:迭代和更新后的所述多维最优粒子和所述多维次优粒子如果达到预设的最大迭代次数或者目标函数小于预设的最小偏差,则输出目标函数的最优解KG,否则转步骤一。7.一种错位裂变算法的装置,其特征在于,包括:竞选单元,用于从种群中竞选出多维最优粒子与多维次优粒子;错位裂变单元,用于对多维最优粒子与多维次优粒子的一...

【专利技术属性】
技术研发人员:陈云龙殷豪林艺城周亚武
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1