pso粒子群算法.ppt

上传人:b****1 文档编号:1388245 上传时间:2022-10-21 格式:PPT 页数:28 大小:1.13MB
下载 相关 举报
pso粒子群算法.ppt_第1页
第1页 / 共28页
pso粒子群算法.ppt_第2页
第2页 / 共28页
pso粒子群算法.ppt_第3页
第3页 / 共28页
pso粒子群算法.ppt_第4页
第4页 / 共28页
pso粒子群算法.ppt_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

pso粒子群算法.ppt

《pso粒子群算法.ppt》由会员分享,可在线阅读,更多相关《pso粒子群算法.ppt(28页珍藏版)》请在冰豆网上搜索。

pso粒子群算法.ppt

粒子群优化算法PSO,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,粒子群优化算法(PSO)是一种进化计算技术(evolutionarycomputation),由Eberhart博士和kennedy博士于1995年提出(KennedyJ,EberhartRParticleswarmoptimizationProceedingsoftheIEEEInternationalConferenceonNeuralNetworks199519421948.)。

源于对鸟群捕食的行为研究。

粒子群优化算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解PSO的优势在于简单容易实现并且没有许多参数的调节。

目前已被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。

算法介绍,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,算法介绍,设想这样一个场景:

一群鸟在随机的搜索食物。

在这个区域里只有一块食物,所有的鸟都不知道食物在那。

但是它们知道自己当前的位置距离食物还有多远。

那么找到食物的最优策略是什么?

最简单有效的就是搜寻目前离食物最近的鸟的周围区域。

算法介绍,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,抽象:

鸟被抽象为没有质量和体积的微粒(点),并延伸到N维空间,粒子I在N维空间的位置表示为矢量Xi(x1,x2,xN),飞行速度表示为矢量Vi(v1,v2,vN)每个粒子都有一个由目标函数决定的适应值(fitnessvalue),并且知道自己到目前为止发现的最好位置(pbest)和现在的位置Xi这个可以看作是粒子自己的飞行经验除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(gbest)(gbest是pbest中的最好值)这个可以看作是粒子同伴的经验粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。

算法介绍,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(1)式,

(2)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,算法介绍,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,Vi是粒子的速度;pbest和gbest如前定义;rand()是介于(0、1)之间的随机数;Xi是粒子的当前位置。

c1和c2是学习因子,通常取c1c22在每一维,粒子都有一个最大限制速度Vmax,如果某一维的速度超过设定的Vmax,那么这一维的速度就被限定为Vmax。

(Vmax0)以上面两个公式为基础,形成了后来PSO的标准形式,算法介绍,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,算法介绍,从社会学的角度来看,公式

(1)的第一部分称为记忆项,表示上次速度大小和方向的影响;公式第二部分称为自身认知项,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分;公式的第三部分称为群体认知项,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和知识共享。

粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。

以上面两个公式为基础,形成了后来PSO的标准形式,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,算法介绍,1998年shi等人在进化计算的国际会议上发表了一篇论文Amodifiedparticleswarmoptimizer对前面的公式

(1)进行了修正。

引入惯性权重因子。

(3)式,非负,称为惯性因子。

公式

(2)和(3)被视为标准pso算法。

算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,算法介绍,标准PSO算法的流程:

Step1:

初始化一群微粒(群体规模为m),包括随机位置和速度;Step2:

评价每个微粒的适应度;Step3:

对每个微粒,将其适应值与其经过的最好位置pbest作比较,如果较好,则将其作为当前的最好位置pbest;Step4:

对每个微粒,将其适应值与其经过的最好位置gbest作比较,如果较好,则将其作为当前的最好位置gbest;Step5:

根据

(2)、(3)式调整微粒速度和位置;Step6:

未达到结束条件则转Step2。

算法介绍,迭代终止条件根据具体问题一般选为最大迭代次数Gk或(和)微粒群迄今为止搜索到的最优位置满足预定最小适应阈值。

PSO算法流程图和伪代码,应用举例,例6.1已知函数,其中,用粒子群优化算法求解y的最小值。

运行步骤,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,局部和全局最优算法,方程

(2)和(3)中pbest和gbest分别表示微粒群的局部和全局最优位置,当C10时,则粒子没有了认知能力,变为只有社会的模型(social-only):

被称为全局PSO算法.粒子有扩展搜索空间的能力,具有较快的收敛速度,但由于缺少局部搜索,对于复杂问题比标准PSO更易陷入局部最优。

算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,当C20时,则粒子之间没有社会信息,模型变为只有认知(cognition-only)模型:

被称为局部PSO算法。

由于个体之间没有信息的交流,整个群体相当于多个粒子进行盲目的随机搜索,收敛速度慢,因而得到最优解的可能性小。

局部和全局最优算法,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,参数分析,参数有:

群体规模m,惯性因子,学习因子c1和c2最大速度Vmax,迭代次数Gk。

群体规模m一般取2040,对较难或特定类别的问题可以取到100200。

最大速度Vmax决定当前位置与最好位置之间的区域的分辨率(或精度)。

如果太快,则粒子有可能越过极小点;如果太慢,则粒子不能在局部极小点之外进行足够的探索,会陷入到局部极值区域内。

这种限制可以达到防止计算溢出、决定问题空间搜索的粒度的目的。

算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,权重因子包括惯性因子和学习因子c1和c2。

使粒子保持着运动惯性,使其具有扩展搜索空间的趋势,有能力探索新的区域。

C1和c2代表将每个粒子推向Pbest和gbest位置的统计加速项的权值。

较低的值允许粒子在被拉回之前可以在目标区域外徘徊,较高的值导致粒子突然地冲向或越过目标区域。

参数分析,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,参数分析,参数设置:

如果令c1c20,粒子将一直以当前速度的飞行,直到边界。

很难找到最优解。

如果0,则速度只取决于当前位置和历史最好位置,速度本身没有记忆性。

假设一个粒子处在全局最好位置,它将保持静止,其他粒子则飞向它的最好位置和全局最好位置的加权中心。

粒子将收缩到当前全局最好位置。

在加上第一部分后,粒子有扩展搜索空间的趋势,这也使得w的作用表现为针对不同的搜索问题,调整算法的全局和局部搜索能力的平衡。

较大时,具有较强的全局搜索能力;较小时,具有较强的局部搜索能力。

算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,参数分析,通常设c1c22。

Suganthan的实验表明:

c1和c2为常数时可以得到较好的解,但不一定必须等于2。

Clerc引入收敛因子(constrictionfactor)K来保证收敛性。

其中,算法介绍,PSO初始化为一群随机粒子(随机解)。

然后通过迭代找到最优解。

在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

(2)式,

(1)式,在式

(1)、

(2)中,i1,2,M,M是该群体中粒子的总数,参数分析,通常取为4.1,则K0.729.实验表明,与使用惯性权重的PSO算法相比,使用收敛因子的PSO有更快的收敛速度。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1