当前位置: 首页 > 专利查询>福州大学专利>正文

一种基于加权聚合的最小中心粒子群优化方法技术

技术编号:15640657 阅读:140 留言:0更新日期:2017-06-16 07:18
本发明专利技术涉及一种基于加权聚合的最小中心粒子群优化方法,基于加权聚合的最小中心粒子群算法,在求解过程中为每一个目标函数赋予一定的动态权重,因此将多目标问题转化为单目标优化问题,接着再通过最小中心法对全局求优。针对当前粒子的位置算出一个最小中心,在这个中心上每个函数取值最小。然后算出每个粒子离这个中心的距离,则离中心最近的点即为全局最优位置,再根据粒子群算法的公式进行迭代。本发明专利技术避免了早熟收敛,增强全局搜索能力,同时提高非劣最优解的精度。

【技术实现步骤摘要】
一种基于加权聚合的最小中心粒子群优化方法
本专利技术涉及粒子群优化算法领域,特别是涉及一种基于加权聚合的最小中心粒子群优化方法。
技术介绍
粒子群优化(PSO)求解优化问题时,问题的解对应于搜索空间中某一粒子的位置,称为“粒子”(particle)或“主体”(agent)。每个粒子都有自己的位置和速度,还有一个由被优化函数决定的适应值。各个粒子记忆、追随当前的最优粒子,在解空间中搜索。每次迭代的过程不是完全随机的,如果找到较好解,将会以此为依据来寻找下一个解。令PSO初始化为一群随机粒子(随机解),在每一次迭代中,粒子通过跟踪两个“极值”来更新自己:第一次就是粒子本身所找到的最好解,叫做体极值点(用Pbest表示其位置),全局版PSO中的另一个极值点是整个种群目前找到的最好解,称为全局极值点(用gbest表示其位置),而局部版PSO不用整个种群而是用其中一部分作为粒子的邻居,所有的邻居中的最好解就是局部极值点(用lbest表示其位置)。在找到这两个最好解后,粒子根据如下公式(1)和(2)来更新自己的速度和位置。粒子i的信息可以用D维向量表示,位置表示为Xi=(xi1,xi2,......xiD)T,其他向量类似。则速度和位置更新方程为:vi(d+1)=vi(d)+c1r1(pi(d)-xi(d))+c2r2(pg(d)-xi(d))(式1)xi(d+1)=xi(d)+vi(d+1)(式2)步骤一:初始化初始搜索点的位置及其速度通常是在允许的范围内随机产生的,每个粒子pbest坐标设置为其当前位置,且计算出其相应的个体极值(即个体极值点的适应度值),而全局极值(即全局极值点的适应度值)就是个体极值中最好的,记录该最好值的粒子序号,并将gbest设置为该最好粒子的当前位置。步骤二:评价每一个粒子计算粒子的适应度值,如果好于该粒子当前的个体极值,则将pbest设置为该粒子的位置,且更新个体极值。如果所有粒子的个体极值中最好的好于当前的全局极值,则将gbest设置为该粒子的位置,记录该粒子的序号,且更新全局极值。步骤三:粒子的更新用式(1)和式(2)对每一个粒子的速度和位置进行更新。步骤四:检验是否符合结束条件如果当前的迭代次数达到了预先设定的最大次数(或达到最小错误要求),则停止迭代,输出最优解,否则转到步骤二。在PSO的算法中,根据最好的粒子得出信息,它的表现是其他个体会会快速的向最好粒子的一点收敛,因此,运用PSO算法处理多目标优化问题,结果容易收敛在非劣最优域的局部。PSO算法在迭代次数一般多比较麻烦,运行的时间也相对较长。
技术实现思路
有鉴于此,本专利技术的目的是提供一种基于加权聚合的最小中心粒子群优化方法,避免了早熟收敛,增强全局搜索能力,同时提高非劣最优解的精度。本专利技术采用以下方案实现:一种基于加权聚合的最小中心粒子群优化方法,包括以下步骤:步骤S1:初始化:对粒子群算法进行初始化,选取0.1%≤c1≤1.5%,0.5%≤c2≤2.5%,且c1<c2,作为参数的取值范围;并将粒子数设置为100,迭代次数为500;步骤S2:域约束:在给定的范围内求最优解,域约束表示如下:粒子的取值上限为b=[1.5;2.5];粒子的取值下限为a=[0.1;0.5];并设置权重的变化频率F=100;步骤S3:设置粒子的位置和速度;步骤S4:进入主程序粒子群优化:针对当前粒子的位置算出一个最小中心,在这个中心上每个函数取值最小,然后算出每个粒子离这个中心的距离,则离中心最近的点即为全局最优位置,再根据粒子群算法的公式进行迭代。进一步地,所述步骤S4具体为:步骤S41:首先初始化粒子群,种群的大小为N,随机初始化每个粒子的xi,vi;步骤S42:分别计算各个子目标的函数值;步骤S43:目标函数中加入惩罚函数后,计算粒子的适应度;步骤S44:计算粒子个体以及全局历史最佳的Pi和Pg;步骤S45:运用足够大(小)的适应度函数值来进行对比,选择新的最佳;步骤S46:按照下述公式更新粒子位置和速度:vi(d+1)=wvi(d)+c1r1(pi(d)-xi(d))+c2r2(pg(d)-xi(d))xi(d+1)=xi(d)+vi(d+1);如果粒子某一维超过边界,那么就需要重新随机初始化这一维数据;步骤S47:对当前粒子群中的非劣解进行筛选,并把其加入到精英集,并且去除精英集合中存在的劣解;步骤S48:验证是否满足终止条件,如果满足就退出,否则就返回步骤S42。与现有技术相比,本专利技术对算法做了如下改进,避免了早熟收敛,增强全局搜索能力,同时提高非劣最优解的精度:(1)针对多目标优化问题的非劣最优解集的搜索,提出了一种基于最小中心方法的粒子群优化算法(简称PSMCO),这种方法在每次迭代选全局最优位置的时候,针对当前粒子的位置算出一个最小中心,在这个中心上每个函数取值最小。然后算出每个粒子离这个中心的距离,则离中心最近的点即为全局最优位置,再根据粒子群算法的公式进行迭代。(2)在解决多目标优化问题上,传统的方法是通过加权求和,将多目标问题转化为单目标问题来解决,这种方法称为加权聚合粒子群算法(WAPSO)。这种方法要求对问题本身有很强的先验认识,本专利技术将其与粒子群最小中心优化算法进行结合,形成基于加权聚合的最小中心粒子群算法(WAPSMCO),即在求解过程中为每一个目标函数赋予一定的动态权重,因此将多目标问题转化为单目标优化问题,接着再通过最小中心法对全局求优。附图说明图1是本专利技术实施例中函数一非劣最优解集图。图2是本专利技术实施例中函数二非劣最优解集图。图3是本专利技术实施例中函数一的3种算法的优化值比较示意图。图4是本专利技术实施例中函数一的3种算法的运行时间比较示意图。图5是本专利技术实施例中函数二的3种算法优化值比较示意图。图6是本专利技术实施例中函数二的3种算法的运行时间比较示意图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。本实施例提供一种基于加权聚合的最小中心粒子群优化方法,粒子群最小中心优化算法是在决策变量空间初始化一个粒子群的位置周围的最小空间,在该过程中多目标优化问题中的各个目标函数能共同影响粒子在决策变量空间中的飞行,并使其能在最终位于非劣最优解集中,也就是说,在目标函数空间,粒子将会落入非劣最有目标域。具体的算法过程如下:(1)在第t步迭代的时候,先确定PSO算法中每个粒子i个体最优位置pbest[t,i]:将粒子当前位置pposition与pbest[t-1,i]作比较,检测pposition是否对pbest[t-1,i]占优(dominate),若占优,则更新pbest[t,i]为pposition[i];否则,保留pbest[t,i]为pbest[t-1,i]。称一个位置A对另一个位置B占优,说的是,对于所有的函数fj,j<=n(n是函数总个数),都有fj在fj(A)>=fj(B),并且存在一个函数fk使得fk(A)>fk(B)。若一个解是pareto最优的,则它一定不可能被其他位置占优,所以这个检测条件保证了每步都向pareto最优解逼近。(2)在确定全局最优位置gbest的时候,先根据粒子当前位置各个函数的最优值,即对每个函数fj,找到一个粒子mj,使其达到最小值,即mj=ar本文档来自技高网
...
一种基于加权聚合的最小中心粒子群优化方法

【技术保护点】
一种基于加权聚合的最小中心粒子群优化方法,其特征在于:包括以下步骤:步骤S1:初始化:对粒子群算法进行初始化,选取0.1%≤c

【技术特征摘要】
1.一种基于加权聚合的最小中心粒子群优化方法,其特征在于:包括以下步骤:步骤S1:初始化:对粒子群算法进行初始化,选取0.1%≤c1≤1.5%,0.5%≤c2≤2.5%,且c1<c2,作为参数的取值范围;并将粒子数设置为100,迭代次数为500;步骤S2:域约束:在给定的范围内求最优解,域约束表示如下:粒子的取值上限为b=[1.5;2.5];粒子的取值下限为a=[0.1;0.5];并设置权重的变化频率F=100;步骤S3:设置粒子的位置和速度;步骤S4:进入主程序粒子群优化:针对当前粒子的位置算出一个最小中心,在这个中心上每个函数取值最小,然后算出每个粒子离这个中心的距离,则离中心最近的点即为全局最优位置,再根据粒子群算法的公式进行迭代。2.根据权利要求1所述的一种基于加权聚合的最小中心粒子群优化方法,其特...

【专利技术属性】
技术研发人员:黄萍段在鹏李兵磊
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

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

1