粒子群算法课件_第1页
粒子群算法课件_第2页
粒子群算法课件_第3页
粒子群算法课件_第4页
粒子群算法课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

粒子群算法粒子群算法1223Reynolds,Heppner,Grenader等发现,鸟群在行进过程中会突然同步地改变方向,散开或聚集。一定有种潜在的规则在起作用,据此他们提出了对鸟群行为的模拟。在他们的早期模型中,仅仅依赖个体间距的操作,即群体的同步是个体之间努力保持最优距离的结果。3Reynolds,Heppner,Grenader等发现,41987年Reynolds对鸟群社会系统的仿真研究,一群鸟在空中飞行,每个鸟遵守以下三条规则:1)避免与相邻的鸟发生碰撞冲突;2)尽量与自己周围的鸟在速度上保持协调和一致;3)尽量试图向自己所认为的群体中靠近。仅通过使用这三条规则,系统就出现非常逼真的群体聚集行为,鸟成群地在空中飞行,当遇到障碍时它们会分开绕行而过,随后又会重新形成群体。作为CAS实例41987年Reynolds对鸟群社会系统的仿真研究,一群鸟5Kennedy和Eberhart在CAS中加入了一个特定点,定义为食物,鸟根据周围鸟的觅食行为来寻找食物。他们的初衷是希望通过这种模型来模拟鸟群寻找食源的现象,然而实验结果却揭示这个仿真模型中蕴涵着很强的优化能力,尤其是在多维空间寻优中。5Kennedy和Eberhart在CAS中加入了一个特定点6鸟群觅食行为FoodGlobalBestSolutionPastBestSolution6鸟群觅食行为FoodGlobalBestSolutio7算法介绍PSO算法是一种进化计算技术(evolutionarycomputation),由Eberhart博士和Kennedy博士于1995年提出(KennedyJ,EberhartR.Particleswarmoptimization.ProceedingsofIEEEInternationalConferenceonNeuralNetworks.1995,1942~1948).其基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。7算法介绍PSO算法是一种进化计算技术(evolution基本PSO算法每个粒子在n维空间中,位置表示为矢量飞行速度表示为矢量

基本PSO算法每个粒子在n维空间中,位置表示为矢量

89基本PSO算法PSO初始化为一群随机粒子(随机解)。然后通过迭代寻找最优解。每次迭代中,粒子通过跟踪两个极值(pbest:某个粒子到现在为止发现的最好位置。gbest:整个群体到目前为止发现的最好位置)来更新自己。更新的公式如下:(1)速度更新:

(2)位置更新:

其中c1和c2是学习因子(加速因子),通常取c1=c2=2,rand()为[0,1]之间的随机数;在每一维,粒子都有一个最大限制速度Vmax。应将Vi限制在[-Vmax,Vmax]之间。

9基本PSO算法PSO初始化为一群随机粒子(随机解)。然后通10基本PSO算法

10基本PSO算法

11

11

12标准PSO算法流程:1、初始化一群微粒(规模为m),包括随机位置和速度。2、评价每个微粒的适应度3、寻找每个微粒的pbest4、寻找到目前为止的gbest5、调整(更新)各微粒的速度和位置6、未达到结束条件则转到2迭代终止条件一般选为最大迭代次数或(和)误差满足预定阈值。群体规模m一般取20~40,对较难或特定类别的问题可取到100~20012标准PSO算法流程:1、初始化一群微粒(规模为m),包13其中,C1,C2为正常数,称为加速因子;rand()为[0,1]之间的随机数;w称惯性因子,w较大适于对解空间进行大范围探查(exploration),w较小适于进行小范围开挖(exploitation)。w大则全局寻优能力强,局部寻优能力弱。w小则反之。实验发现,动态改变w效果可能更好。惯性系数

13其中,C1,C2为正常数,称为加速因子;rand()14目前采用较多的是线性递减权值(linearlydecreasingweight,LDW)策略:

w(t)=(wini-wend)(Gk-t)/Gk+wend

Gk为最大进化代数,wini为初始惯性权值,wend为迭代至最大代数时惯性权值。典型取值为:wini=0.9,wend=0.4.

t是当前代数。

惯性系数14目前采用较多的是线性递减权值(linearlydecr15PSO算法的特点(1)PSO算法搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,具有本质的并行性;(2)PSO算法采用实数进行编码,直接在问题域上进行处理,无需转换,因此算法简单,易于实现;(3)PSO算法的各粒子的移动具有随机性,可搜索不确定的复杂区域(4)PSO算法具备有效的全局/局部搜索的平衡能力,避免早熟;(5)PSO算法在优化过程中,每个粒子通过自身经验与群体经验进行更新,具有学习能力;(6)PSO算法得到的解的质量不依赖初始点的选取,保证收敛性;(7)PSO算法可求解带离散变量的优化问题,但是对离散变量的取整可能导致较大的误差15PSO算法的特点(1)PSO算法搜索过程是从一组解迭代到粒子群算法ppt课件1617标准PSO算法流程:1、初始化一群微粒(规模为m),包括随机位置和速度。2、评价每个微粒的适应度3、寻找每个微粒的pbest4、寻找到目前为止的gbest5、调整(更新)各微粒的速度和位置6、未达到结束条件则转到2迭代终止条件一般选为最大迭代次数或(和)误差满足预定阈值。群体规模m一般取20~40,对较难或特定类别的问题可取到100~20017标准PSO算法流程:1、初始化一群微粒(规模为m),包c1=1.49445;c2=1.49445;maxgen=300;%进化次数sizepop=20;%种群规模Vmax=0.5;Vmin=-0.5;popmax=2;popmin=-2;fori=1:sizepop

pop(i,:)=2*rands(1,2);%初始种群V(i,:)=0.5*rands(1,2);%初始化速度

%计算适应度

fitness(i)=fun(pop(i,:));%染色体的适应度endc1=1.49445;18%%个体极值和群体极值[bestfitnessbestindex]=max(fitness);zbest=pop(bestindex,:);%全局最佳gbest=pop;%个体最佳fitnessgbest=fitness;%个体最佳适应度值fitnesszbest=bestfitness;%全局最佳适应度值%%个体极值和群体极值19%%迭代寻优fori=1:maxgenforj=1:sizepop

%速度更新

V(j,:)=V(j,:)+c1*rand*(gbest(j,:)-pop(j,:))+c2*rand*(zbest-pop(j,:));V(j,find(V(j,:)>Vmax))=Vmax;V(j,find(V(j,:)<Vmin))=Vmin;

%种群更新

pop(j,:)=pop(j,:)+V(j,:);pop(j,find(pop(j,:)>popmax))=popmax;pop(j,find(pop(j,:)<popmin))=popmin;%适应度值

fitness(j)=fun(pop(j,:));end%%迭代寻优20

forj=1:sizepop

%个体最优更新

iffitness(j)>fitnessgbest(j)gbest(j,:)=pop(j,:);fitnessgbest(j)=fitness(j);

end

%群体最优更新

iffitness(j)>fitnesszbestzbest=pop(j,:);fitnesszbest=fitness(j);end

endyy(i)=fitnesszbest;forj=1:sizepop2122目前,常用的粒子群算法将全体粒子群(Global)分成若干个有部分粒子重叠的相邻子群,每个粒子根据子群(Local)内历史最优Pl调整位置子群22子群23Note合理解目前最優解區域最佳解全域區域23Note合理解目前最優解區域最佳解全域區域24鸟群觅食行为FoodGlobalBestSolutionPastBestSolution24鸟群觅食行为FoodGlobalBestSoluti25

25

26标准PSO算法流程:1、初始化一群微粒(规模为m),包括随机位置和速度。2、评价每个微粒的适应度3、寻找每个微粒的pbest4、寻找到目前为止的gbest5、调整(更新)各微粒的速度和位置6、未达到结束条件则转到2迭代终止条件一般选为最大迭代次数或(和)误差满足预定阈值。群体规模m一般取20~40,对较难或特定类别的问题可取到100~20026标准PSO算法流程:1、初始化一群微粒(规模为m),包27其中,C1,C2为正常数,称为加速因子;rand()为[0,1]之间的随机数;w称惯性因子,w较大适于对解空间进行大范围探查(exploration),w较小适于进行小范围开挖(exploitation)。w大则全局寻优能力强,局部寻优能力弱。w小则反之。实验发现,动态改变w效果可能更好。惯性系数

27其中,C1,C2为正常数,称为加速因子;rand()28目前采用较多的是线性递减权值(linearlydecreasingweight,LDW)策略:

w(t)=(wini-wend)(Gk-t)/Gk+wend

Gk为最大进化代数,wini为初始惯性权值,wend为迭代至最大代数时惯性权值。典型取值为:wini=0.9,wend=0.4.

t是当前代数。

惯性系数28目前采用较多的是线性递减权值(linearlydecr29车辆路径问题

车辆路径问题(VehicleRoutingProblem,VRP)由Dantzig和Ramser于1959年首次提出的,它是指对一系列发货点(或收货点),组成适当的行车路径,使车辆有序地通过它们,在满足一定约束条件的情况下,达到一定的目标(诸如路程最短、费用最小,耗费时间尽量少等),属于NP完全问题,在运筹、计算机、物流、管理等学科均有重要意义。29车辆路径问题车辆路径问题(VehicleRout30车辆路径问题

如何找到一个合适的表达(部分)解的方法,使粒子与解对应,是实现算法的关键难点之一。30车辆路径问题如何找到一个合适的表达(部分)解的方法,31车辆路径问题构造一个2L维的空间对应有L个发货点任务的VRP问题,每个发货点任务对应两维:完成该任务车辆的编号k,该任务在k车行驶路径中的次序r为表达和计算方便,将每个粒子对应的2L维向量X分成两个L维向量:Xv

(表示各任务对应的车辆)和Xr(表示各任务在对应的车辆路径中的执行次序)。31车辆路径问题构造一个2L维的空间对应有L个发货点任务的V32例如,设VRP问题中发货点任务数为7,车辆数为3,若某粒子的位置向量X为:发货点任务号:1234567

Xv

:1222233

Xr:1431221则该粒子对应解路径为:车1:0

1

0车2:0

4

5

3

2

0车3:0

7

6

0粒子速度向量V与之对应表示为Vv和Vr。32例如,设VRP问题中发货点任务数为7,车辆数为3,若某粒33

该表示方法的最大优点是使每个发货点都得到车辆的配送服务,并限制每个发货点的需求仅能由某一车辆来完成,使解的可行化过程计算大大减少。虽然该表示方法的维数较高,但由于PSO算法在多维寻优问题有着非常好的特性,维数的增加并未增加计算的复杂性,这一点在实验结果中可以看到。33该表示方法的最大优点是使每个发货点都得到车辆的配送34VRP问题为整数规划问题,因此在算法实现过程中要做相应修改。具体实现步骤如下:Step1:初始化粒子群。

1.1粒子群划分成若干个两两相互重叠的相邻子群;

1.2每个粒子位置向量Xv的每一维随机取1~K(车辆数)之间的整数,Xr的每一维随机取1~L(发货点任务数)之间的实数;

1.3每个速度向量Vv的每一维随机取-(K-1)~(K-1)(车辆数)之间的整数,Vr的每一维随机取-(L-1)~(L-1)之间的实数;

1.4用评价函数Eval评价所有粒子;

1.5将初始评价值作为个体历史最优解Pi,并寻找各子群内的最优解Pl和总群体内最优解Pg。34VRP问题为整数规划问题,因此在算法实现过程中要做相应修35Step2:重复执行以下步骤,直到满足终止条件或达到最大迭代次数。

2.1对每一个粒子,按式(1)计算Vv、Vr;按照式(2)计算Xv、Xr,其中Xv向上取整;当V、X超过其范围时按边界取值;

2.2用评价函数Eval评价所有粒子;

2.3若某个粒子的当前评价值优于其历史最优评价值,则记当前评价值为该历史最优评价值,同时将当前位置向量记为该粒子历史最优位置Pi;2.4寻找当前各相邻子群内最优和总群体内最优解,若优于历史最优解则更新Pl

、Pg。对于子群内有多个体同为最优值的情况,则随机取其中一个为子群内当前最优解。3536其中,评价函数Eval完成以下任务:1、根据公式计算该粒子所代表路径方案的行驶成本Z,在计算中发货点任务的执行次序要根据对应Xr值的大小顺序,由小到大执行。2、将Xr按执行顺序进行重新整数序规范。例如,某粒子迭代一次后结果如下:

Xv

:1222233

Xr:53.26.21.22.5

0.54.2评价后重新规范的Xr是:1341212说明:对于整数序规范的理解请观察对车辆2的排序和整理结果。36其中,评价函数Eval完成以下任务:37实验:问题为一个有7个发货点任务的车辆路径问题,各任务点的坐标及货运量见下表:表1各发货点坐标及货运量序号01234567坐标(18,54)(22,60)(58,69)(71,71)(83,46)(91,38)(24,42)(18,40)货运量(gi)0.890.140.280.330.210.410.57注:序号0表示中心仓库,设车辆容量皆为q=1.0,由3辆车完成所有任务。(最优路径距离为217.81)37实验:问题为一个有7个发货点任务的车辆路径问题,各任务点38GA参数:群体规模n=40;交叉概率Pc=0.6;变异概率Pm=0.2;轮盘赌法选择子代,最大代数200。PSO参数:粒子数n=40;分为2个子群,子群规模为22,子群间重叠的粒子数为2个(子群规模的1/10);w=0.729;c1=c2=1.49445;最大代数200。两种方法各运行50次,结果如下表所示。

实验1GA、PSO方法结果对比方法达到最优路径次数未达最优路径次数达到最优路径平均代数达到最优路径的平均时间(s)GA321853.932.3PSO50028.363.0438GA参数:群体规模n=40;交叉概率Pc=0.6;变异概39带时间窗车辆路径问题

带时间窗的车辆路径问题(VehicleRoutingProblemWithTimeWindows,VRPTW)是在VRP问题上加了客户要求访问的时间窗口(时间段)。由于在现实生活中许多问题都可以归结为VRPTW问题来处理(如邮政投递、火车及公共汽车的调度等),其处理的好坏将直接影响到企业的服务质量,所以对它的研究越来越受到人们的重视。先后出现了一般启发式算法和神经网络、遗传算法、禁忌搜索和模拟退火等智能化启发式算法,也取得了一些较好的效果。39带时间窗车辆路径问题带时间窗的车辆路径问题(Vehi40带时间窗车辆路径问题时间窗车辆路径问题一般描述为:有一个中心仓库,拥有车K辆,容量分别为qk

(k=1,..,K);现有L个发货点运输任务需要完成,以1,…,L表示。第i个发货点的货运量为gi(i=1,…,L),(max(gi)≤max(qi)),完成发货点i任务需要的时间(装贷或卸货)表示为Ti,且任务i且必须在时间窗口[ETi,LTi]完成,其中ETi为任务i的允许最早开始时间,LTi为任务i的允许最迟开始时间。如果车辆到达发货点i的时间早于ETi,则车辆需在i处等待;如果车辆到达时间晚于LTi,任务i将被延迟进行。pE为在某地点等待的单位时间成本,pL为在某地点未完成任务的罚金。求满足货运要求的运行费用最少的车辆行驶线路。40带时间窗车辆路径问题时间窗车辆路径问题一般描述为:有一个41容量约束为地点i运货的卡车只能有一辆如果kj为1,有且仅有1个i去往j卡车k从i驶向j如果ki为1,从i出发的弧段有一个为141容量约束为地点i运货的卡车只能有一辆如果kj为1,有且cij表示地点i和j之间路径上的行驶代价,xijk表示为卡车k从i驶向j,yki表示表示编号为k的车为地点i发货,si表示第i个地点的开始卸货的时间,pE表示管理者认为由于提前到达某个地点而未完成任务所导致的损失大小,pL表示管理者认为由于晚到某个地点而未完成任务所带来的损失大小,其中(2)号约束表示每辆车k的运货总量gi*yki应该小于该车的容量qk。(3)和(8)决定为地点i运货的卡车只能有一辆(4)表示:如果卡车k为地点j送货,那么它只能从{1..L}中的1个且仅1个地点出发驶向j。(5)表示如果卡车k为地点i运货,那么卡车k应该离开地点i。cij表示地点i和j之间路径上的行驶代价,xijk表示为卡车4243

实验2,采用VRPTW的例子,该问题有8项货物运输任务,货物点位置及时间窗略。实验结果如下:实验2GA、PSO方法结果对比搜索成功率平均行驶成本平均成功搜索时间GA24%993.618.41sPSO46%940.58.53s43实验2,采用VRPTW的例子,该问题有8项货物运输44ParticleSwarm研究热点IEEETRANSACTIONONEVOLUTIONARYCOMPUTION于2004年出版了第3卷:SPECIALISSUEONPSO。RussellC.Eberhart,YuhuiShi在卷首语中指出了当前PSO研究的几个主要方向及热点:1

算法分析;2粒子群拓扑结构;3参数选择与优化;4与其他演化计算的融合;5应用。44ParticleSwarm研究热点IEEETR动态拓扑的粒子群优化动态计算差异度,并断开差异度小的边动态拓扑的粒子群优化动态计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论