粒子群算法ppt课件.pptx

上传人:牧羊曲112 文档编号:1396484 上传时间:2022-11-18 格式:PPTX 页数:60 大小:1.73MB
返回 下载 相关 举报
粒子群算法ppt课件.pptx_第1页
第1页 / 共60页
粒子群算法ppt课件.pptx_第2页
第2页 / 共60页
粒子群算法ppt课件.pptx_第3页
第3页 / 共60页
粒子群算法ppt课件.pptx_第4页
第4页 / 共60页
粒子群算法ppt课件.pptx_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《粒子群算法ppt课件.pptx》由会员分享,可在线阅读,更多相关《粒子群算法ppt课件.pptx(60页珍藏版)》请在三一办公上搜索。

1、粒子群算法,2,3,Reynolds,Heppner,Grenader等发现,鸟群在行进过程中会突然同步地改变方向,散开或聚集。一定有种潜在的规则在起作用,据此他们提出了对鸟群行为的模拟。在他们的早期模型中,仅仅依赖个体间距的操作,即群体的同步是个体之间努力保持最优距离的结果。,4,1987年Reynolds对鸟群社会系统的仿真研究,一群鸟在空中飞行,每个鸟遵守以下三条规则:1)避免与相邻的鸟发生碰撞冲突;2)尽量与自己周围的鸟在速度上保持协调和一致;3)尽量试图向自己所认为的群体中靠近。 仅通过使用这三条规则,系统就出现非常逼真的群体聚集行为,鸟成群地在空中飞行,当遇到障碍时它们会分开绕行而

2、过,随后又会重新形成群体。 作为CAS实例,5,Kennedy和Eberhart在CAS中加入了一个特定点,定义为食物,鸟根据周围鸟的觅食行为来寻找食物。他们的初衷是希望通过这种模型来模拟鸟群寻找食源的现象,然而实验结果却揭示这个仿真模型中蕴涵着很强的优化能力,尤其是在多维空间寻优中。,6,鸟群觅食行为,Food,Global Best Solution,Past Best Solution,7,算法介绍,PSO算法是一种进化计算技术(evolutionary computation),由Eberhart博士和Kennedy博士于1995年提出(Kennedy J, Eberhart R. P

3、article swarm optimization. Proceedings of IEEE International Conference on Neural Networks.1995,19421948).其基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。,基本PSO算法,每个粒子在n维空间中,位置表示为矢量飞行速度表示为矢量, =( 1 , 2 ,. , =( 1 , 2 ,. ,9,基本PSO算法,PSO初始化为一群随机粒子(随机解)。然后通过迭代寻找最优解。每次迭代中,粒子通过跟踪两个极值(pbest:某个粒子到现在为止发现的最好位置。 gbest:整个群体到目前为止发

4、现的最好位置)来更新自己。更新的公式如下:(1)速度更新: (2) 位置更新: 其中c1和c2是学习因子(加速因子),通常取c1=c2=2, rand( )为0,1之间的随机数;在每一维,粒子都有一个最大限制速度Vmax。应将Vi限制在-Vmax,Vmax之间。, = + , = +1()( )+2()( ,10,基本PSO算法, (+1)= ()+ (t+1), (+1)= ()+1()( ()+2()( (), =+1()( )+2()( , =+ ,11,1998年shi等人在进化计算的国际会议上发表了一篇论文a modified particle swarm optimizer对前面的

5、公式进行了修正,引入了惯性权重因子:非负,称惯性因子,较大适于对解空间进行大范围探查(exploration),w较小适于进行小范围开挖(exploitation)。, = +1()( )+2()( ,12,标准PSO算法流程:,1、初始化一群微粒(规模为m),包括随机位置和速度。2、评价每个微粒的适应度3、寻找每个微粒的pbest4、寻找到目前为止的gbest5、调整(更新)各微粒的速度和位置6、未达到结束条件则转到2迭代终止条件一般选为最大迭代次数或(和)误差满足预定阈值。群体规模m一般取2040,对较难或特定类别的问题可取到100200,13,其中,C1,C2为正常数,称为加速因子;ra

6、nd( )为0,1之间的随机数;w称惯性因子,w较大适于对解空间进行大范围探查(exploration),w较小适于进行小范围开挖(exploitation)。w大则全局寻优能力强,局部寻优能力弱。w小则反之。实验发现,动态改变w效果可能更好。,惯性系数, = +1()( )+2()( ,14,目前采用较多的是线性递减权值(linearly decreasing weight,LDW)策略: w(t) = (wini - wend)(Gk-t)/Gk + wendGk为最大进化代数,wini为初始惯性权值,wend为迭代至最大代数时惯性权值。典型取值为:wini= 0.9, wend = 0.

7、4. t是当前代数。,惯性系数,15,PSO算法的特点,(1)PSO算法搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,具有本质的并行性;(2)PSO算法采用实数进行编码,直接在问题域上进行处理,无需转换,因此算法简单,易于实现;(3)PSO算法的各粒子的移动具有随机性,可搜索不确定的复杂区域(4)PSO算法具备有效的全局/局部搜索的平衡能力,避免早熟;(5)PSO算法在优化过程中,每个粒子通过自身经验与群体经验进行更新,具有学习能力;(6)PSO算法得到的解的质量不依赖初始点的选取,保证收敛性;(7)PSO算法可求解带离散变量的优化问题,但是对离散变量的取整可能导致较大的

8、误差,17,标准PSO算法流程:,1、初始化一群微粒(规模为m),包括随机位置和速度。2、评价每个微粒的适应度3、寻找每个微粒的pbest4、寻找到目前为止的gbest5、调整(更新)各微粒的速度和位置6、未达到结束条件则转到2迭代终止条件一般选为最大迭代次数或(和)误差满足预定阈值。群体规模m一般取2040,对较难或特定类别的问题可取到100200,c1 = 1.49445;c2 = 1.49445;maxgen=300; % 进化次数 sizepop=20; %种群规模Vmax=0.5; Vmin=-0.5;popmax=2;popmin=-2;for i=1:sizepop pop(i,

9、:)=2*rands(1,2); %初始种群 V(i,:)=0.5*rands(1,2); %初始化速度 %计算适应度 fitness(i)=fun(pop(i,:); %染色体的适应度end,% 个体极值和群体极值bestfitness bestindex=max(fitness);zbest=pop(bestindex,:); %全局最佳gbest=pop; %个体最佳fitnessgbest=fitness; %个体最佳适应度值fitnesszbest=bestfitness; %全局最佳适应度值,% 迭代寻优for i=1:maxgen for j=1:sizepop %速度更新 V(

10、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,:)popmax)=popmax; pop(j,find(pop(j,:)popmin)=popmin; %适应度值 fitness(j)=fun(pop(j,:); end,for j=1:sizepop %个体最优更新 if fitness(j) fitnessgbest(j) gbest(j,:) = pop(j,:); fitnessgbest(j) = f

11、itness(j); end %群体最优更新 if fitness(j) fitnesszbest zbest = pop(j,:); fitnesszbest = fitness(j); end end yy(i)=fitnesszbest;,22,目前,常用的粒子群算法将全体粒子群(Global)分成若干个有部分粒子重叠的相邻子群,每个粒子根据子群(Local)内历史最优Pl调整位置,子群,23,Note,合理解,目前最優解,區域最佳解,全域,區域,24,鸟群觅食行为,Food,Global Best Solution,Past Best Solution,25,1998年shi等人在进化

12、计算的国际会议上发表了一篇论文a modified partilce swarm optimizer对前面的公式进行了修正,引入了惯性权重因子:非负,称惯性因子,较大适于对解空间进行大范围探查(exploration),w较小适于进行小范围开挖(exploitation)。, = +1()( )+2()( ,26,标准PSO算法流程:,1、初始化一群微粒(规模为m),包括随机位置和速度。2、评价每个微粒的适应度3、寻找每个微粒的pbest4、寻找到目前为止的gbest5、调整(更新)各微粒的速度和位置6、未达到结束条件则转到2迭代终止条件一般选为最大迭代次数或(和)误差满足预定阈值。群体规模m

13、一般取2040,对较难或特定类别的问题可取到100200,27,其中,C1,C2为正常数,称为加速因子;rand( )为0,1之间的随机数;w称惯性因子,w较大适于对解空间进行大范围探查(exploration),w较小适于进行小范围开挖(exploitation)。w大则全局寻优能力强,局部寻优能力弱。w小则反之。实验发现,动态改变w效果可能更好。,惯性系数, = +1()( )+2()( ,28,目前采用较多的是线性递减权值(linearly decreasing weight,LDW)策略: w(t) = (wini - wend)(Gk-t)/Gk + wendGk为最大进化代数,wi

14、ni为初始惯性权值,wend为迭代至最大代数时惯性权值。典型取值为:wini= 0.9, wend = 0.4. t是当前代数。,惯性系数,29,车辆路径问题,车辆路径问题(Vehicle Routing Problem,VRP)由Dantzig和Ramser于1959年首次提出的,它是指对一系列发货点(或收货点),组成适当的行车路径,使车辆有序地通过它们,在满足一定约束条件的情况下,达到一定的目标(诸如路程最短、费用最小,耗费时间尽量少等),属于NP完全问题,在运筹、计算机、物流、管理等学科均有重要意义。,30,车辆路径问题,如何找到一个合适的表达(部分)解的方法,使粒子与解对应,是实现算法

15、的关键难点之一。,31,车辆路径问题,构造一个2L维的空间对应有L个发货点任务的VRP问题,每个发货点任务对应两维:完成该任务车辆的编号k,该任务在k车行驶路径中的次序r为表达和计算方便,将每个粒子对应的2L维向量X分成两个L维向量:Xv (表示各任务对应的车辆)和Xr(表示各任务在对应的车辆路径中的执行次序)。,32,例如,设VRP问题中发货点任务数为7,车辆数为3,若某粒子的位置向量X为:发货点任务号: 1 2 3 4 5 6 7 Xv : 1 2 2 2 2 3 3 Xr : 1 4 3 1 2 2 1则该粒子对应解路径为:车1:0 1 0车2:0 4 5 3 2 0车3:0 7 6 0

16、粒子速度向量V与之对应表示为Vv和Vr。,33,该表示方法的最大优点是使每个发货点都得到车辆的配送服务,并限制每个发货点的需求仅能由某一车辆来完成,使解的可行化过程计算大大减少。虽然该表示方法的维数较高,但由于PSO算法在多维寻优问题有着非常好的特性,维数的增加并未增加计算的复杂性,这一点在实验结果中可以看到。,34,VRP问题为整数规划问题,因此在算法实现过程中要做相应修改。具体实现步骤如下:Step1:初始化粒子群。 1.1 粒子群划分成若干个两两相互重叠的相邻子群; 1.2 每个粒子位置向量Xv的每一维随机取1K(车辆数)之间的整数,Xr的每一维随机取1L(发货点任务数)之间的实数; 1

17、.3 每个速度向量Vv的每一维随机取-(K-1)(K-1)(车辆数)之间的整数,Vr的每一维随机取-(L-1)(L-1)之间的实数; 1.4 用评价函数Eval评价所有粒子; 1.5 将初始评价值作为个体历史最优解Pi,并寻找各子群内的最优解Pl和总群体内最优解Pg。,35,Step2:重复执行以下步骤,直到满足终止条件或达到最大迭代次数。2.1 对每一个粒子,按式(1)计算v、r;按照式(2)计算Xv、Xr,其中Xv向上取整;当、X超过其范围时按边界取值; 2.2 用评价函数Eval评价所有粒子; 2.3 若某个粒子的当前评价值优于其历史最优评价值,则记当前评价值为该历史最优评价值,同时将当

18、前位置向量记为该粒子历史最优位置Pi; 2.4 寻找当前各相邻子群内最优和总群体内最优解,若优于历史最优解则更新Pl 、Pg。对于子群内有多个体同为最优值的情况,则随机取其中一个为子群内当前最优解。,36,其中,评价函数Eval完成以下任务:1、根据公式计算该粒子所代表路径方案的行驶成本Z,在计算中发货点任务的执行次序要根据对应Xr值的大小顺序,由小到大执行。2、将Xr按执行顺序进行重新整数序规范。例如,某粒子迭代一次后结果如下: Xv :1 2 2 2 2 3 3 Xr :5 3.2 6.2 1.2 2.5 0.5 4.2评价后重新规范的Xr是:1 3 4 1 2 1 2 说明:对于整数序规

19、范的理解请观察对车辆2的排序和整理结果。,37,实验:问题为一个有7个发货点任务的车辆路径问题,各任务点的坐标及货运量见下表:,38,GA参数:群体规模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次,结果如下表所示。,39,带时间窗车辆路径问题,带时间窗的车辆路径问题(Vehicle Routing Problem With Time Windows, VRPTW)是在

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

21、需要的时间(装贷或卸货)表示为Ti,且任务i且必须在时间窗口ETi , LTi完成,其中ETi为任务i的允许最早开始时间,LTi为任务i的允许最迟开始时间。如果车辆到达发货点i的时间早于ETi,则车辆需在i处等待;如果车辆到达时间晚于LTi,任务i将被延迟进行。 pE为在某地点等待的单位时间成本,pL为在某地点未完成任务的罚金。求满足货运要求的运行费用最少的车辆行驶线路。,41,容量约束,为地点i运货的卡车只能有一辆,如果kj为1,有且仅有1个i去往j,卡车k从i驶向j,如果ki为1,从i出发的弧段有一个为1,cij表示地点i和j之间路径上的行驶代价,xijk表示为卡车k从i驶向j,yki表示

22、表示编号为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。,43,实验2,采用VRPTW的例子,该问题有8项货物运输任务,货物点位置及时间窗略。实验结果如下:,44,Particle Swar

23、m研究热点,IEEE TRANSACTION ON EVOLUTIONARY COMPUTION于2004年出版了第3卷:SPECIAL ISSUE ON PSO。Russell C.Eberhart, Yuhui Shi在卷首语中指出了当前PSO研究的几个主要方向及热点:1 算法分析;2 粒子群拓扑结构;3 参数选择与优化;4 与其他演化计算的融合;5 应用。,动态拓扑的粒子群优化,动态计算差异度,并断开差异度小的边,混合粒子群,选择运算,群体p(t),交叉运算,变异运算,群体p(t+1),更新粒子,群体p(t),与个体最优交叉与群体最优交叉,粒子变异,群体p(t+1),粒子群算法实例,突发

24、事件条件下列车运行调整算法设计参见:突发事件条件下列车运行组织理论与方法研究_博士学位论文 孟学雷,收敛因子的引入,Clerc严格证明了引入收敛因子后粒子群算法一定是收敛的,收敛因子,收敛模糊粒子群算法,2005年首次提出模糊粒子群算法,是基本粒子群算法的泛化。与基本粒子群算法的不同在于,并不只是最优粒子能够影响其它相邻粒子,而是若干粒子可以影响其周围相邻的其它粒子。每个粒子受周围其它相邻粒子影响的程度取决于这些粒子的隶属度,而吸引力的大小取决于粒子相对应的模糊变量。这样充分利用了粒子周围各个粒子的优点,算法具有较高的精度。,Bell隶属度函数曲线,高斯隶属度函数曲线,Sigmoid隶属度函数曲线,三角隶属度函数曲线,梯形隶属度函数曲线,速度方程,B(i,k)表示与粒子i相邻的k个粒子的集合,当k的值取1时,模糊粒子群算法蜕变为基本粒子群算法,粒子群规模的设计设计粒子群的规模介于20至50之间,既能保证运行调整迭代计算的速度,又防止运行调整的计算结果陷入局部最优,计算停止条件对于某些优化问题,如运行调整问题,尤其是在突发事件条件下,很难预知目标函数值的优化标准。再者,当目标值设定太苛刻时,可能导致无解的情况出现,而是计算陷入死循环在进行大量数值实验的基础上,设定迭代的次数上限为200,既保证计算结果尽可能趋近最优,又能保证计算的效率,这对现场的生产指挥的实时性要求是相符合的,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号