资源描述
, , , , , ,精品课件,*, , , , , , ,精品课件,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,精品课件,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,精品课件,*,粒子群算法工具箱应用简介,1,精品课件,粒子群算法工具箱应用简介1精品课件,1,。引言,粒子群算法(,PSO,算法),定义:粒子群算法,又称粒子群优化算法(,Partical Swarm Optimization,),,缩写为,PSO,,,是近年来发展起来的一种新的进化算法(,Evolutionary Algorithm - EA,),,由,Eberhart,博士和,kennedy,博士于,1995,年提出,其源于对,鸟群捕食的行为,研究。,2,精品课件,1。引言粒子群算法(PSO算法)2精品课件,2,。算法思想,PSO,模拟鸟群的捕食行为。,设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物,所有的鸟都不知道食物在那里,但是它们知道当前的位置离食物还有多远,那么找到食物的最优策略是什么呢?,最简单有效的就是搜寻目前离食物最近的鸟的周围区域。都向这片区域靠拢。,3,精品课件,2。算法思想PSO模拟鸟群的捕食行为。3精品课件,3,。抽象,PSO,中,将问题的搜索空间类比于鸟类的飞行空间,将每只鸟抽象为一个无质量无体积的微粒,用以表征优化问题的一个候选解,我们称之为,“粒子”,,优化所需要寻找的,最优解,则等同于要寻找的食物。,所有的粒子都有一个由被优化的函数决定的,适应值,(fitness value),,每个粒子还有一个,速度,决定他们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索。,4,精品课件,3。抽象 PSO中,将问题的搜索空间类比于鸟类的,3,。抽象,PSO,初始化为一群随机粒子,(,随机解、一群鸟,),,然后通过迭代找到最优解。在每一次迭代中,粒子(鸟)通过跟踪两个,“,极值,”,来更新自己的位置。一个就是粒子本身所找到的最优解,这个解叫做个体极值,pBest,,另一个极值是整个种群目前找到的最优解,这个极值是全局极值,gBest,。(,gBest,是,pBest,中最好值),5,精品课件,3。抽象 PSO初始化为一群随机粒子(随机解、一群鸟),然后,3,。算法介绍,在找到这两个最优值时,粒子根据如下的公式来更新自己的速度和位置:,其中 ,,V,是粒子的速度,,Present,是粒子的当前位置 ,,pBest,与,gBest,见前面定义。,rand ( ),是,(0 ,1),之间的随机数,c1,和,c2,被称作学习因子。通常 ,,c1 = c2 = 2,。,w,是加权系数(惯性权重),取值在,0. 1,到,0. 9,之间。粒子通过不断学习更新 ,最终飞至解空间中最优解所在的位置 ,搜索过程结束。最后输出的,gBest,就是全局最优解。在更新过程中,粒子每一维的最大速率限被限制为,Vmax,如果某一维更新后的速度超过设定的,Vmax,,那么这一维的速度就被限定为,Vmax,。,6,精品课件,3。算法介绍在找到这两个最优值时,粒子根据如下的公式来更新自,3,。算法介绍,将粒子延伸到,N,维空间,粒子,i,在,N,维空间里的位置表示为一个矢量,每个粒子的飞行速度也表示为一个矢量。,粒子数(鸟的个数),:,一般取,140.,其实对于大部分的问题,10,个粒子已经足够可以取得好的结果,;,粒子的长度(维度),:,这是由优化问题决定,就是问题解的长度(决策变量个数),;,粒子的范围,:,由优化问题决定,每一维可以设定不同的范围;,7,精品课件,3。算法介绍 将粒子延伸到N维空间,粒子i在N维空间里,Vmax,:,最大速度,决定粒子在一个循环中最大的移动距离,,通常设定为粒子的范围宽度,例如,粒子,(x1, x2, x3),,,x1,属于,-10, 10,那么,Vmax,的大小就是,20,。,学习因子,:,使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或邻域内最优点靠近,,c1,和,c2,通常等于,2,,并且范围在,0,和,4,之间。,中止条件,:,最大循环数以及最小错误要求。,惯性权重,w,:,决定了对粒子当前速度继承多少,合适的选择可以使粒子具有均衡的探索能力和开发能力,惯性权重的取法有常数法、线性递减法、自适应法等。,8,精品课件,Vmax: 最大速度,决定粒子在一个循环中最大的移动距离,,3,。算法介绍,例:对于问题,f(x) = x12 + x22+x32,求解,,粒子,可以直接编码为,(x1, x2, x3),,而,适应度函数,就是,f(x),,接着我们就可以利用前面的过程去寻优,寻优过程是一个迭代过程,中止条件一般为设置为达到最大循环数或者最小错误要求。,9,精品课件,3。算法介绍例:对于问题 f(x) = x12 + x2,3,。算法介绍,PSO,框架图,10,精品课件,3。算法介绍PSO框架图10精品课件,粒子群优化算法,Matlab,工具箱简介,Matlab,粒子群工具箱(,PSOt,)提供了非常先进的粒子群优化算法 ,可指定惯性因子的起始值和中止值 ,可约定各维变量的取值范围 、粒子在遇到边界时是否反弹等各种参数 。除此以外 ,粒子群工具箱既可以在用户约定的范围内自动随机生成指定群体规模的初始粒子群 ,也可人工输入小于群体规模的任意数目的初始粒子 ,具备非常强的灵活性 。,11,精品课件,粒子群优化算法Matlab工具箱简介 Matlab粒子,粒子群优化算法,Matlab,工具箱简介,12,精品课件,粒子群优化算法Matlab工具箱简介12精品课件,粒子群优化算法,Matlab,工具箱简介,PSOt,具有非常强的灵活性,在实际计算中,用户只要根据需求编写好,目标函数,,并设置好函数自变量的,取值范围,和每步迭代允许的,最大变化量,,,PSOt,即可自动进行优化计算。,该工具箱的使用方法主要分为一下几个步骤:,(,1,)在,MATLAB,的命令窗口中点击“,File,”,“,Set Path,”,设置工具箱的路径。,(,2,)编写待优化的函数(,test_func),,保存为同名,m,文件,13,精品课件,粒子群优化算法Matlab工具箱简介PSOt具有非常强的灵活,粒子群优化算法,Matlab,工具箱简介,(,3,)调用粒子群算法的核心模块:,pso_Trelea_vectorized.m,,其调用格式为:,pso_Trelea_vectorized(functname, D, mv, VarRange ,minmax, PSOparams, plotfcn, PSOseedValue),14,精品课件,粒子群优化算法Matlab工具箱简介(3)调用粒子群算法的核,pso_Trelea_vectorized,(functname, D, mv, VarRange, minmax,PSOparams, plotfcn, PSOseedValue),Functname,:目标函数名,D,:待优化问题的维数;,mv,:粒子飞行的最大速度;,VarRange,:参数变化范围矩阵;,Minmax,:寻优类型,取,0,代表求目标函数最小值,取,1,代表求目 标函数最大值);,PSOparams,:参数矩阵,包括最大迭代次数、粒子群规模、惯性因子、学习因子、终止迭代条件等;,Plotfcn,:寻优过程中用于展示寻优过程的画图函数;,PSOseedValue,:可允许用户输入任意多组初始粒子。,15,精品课件,pso_Trelea_vectorized(functnam,求非线性函数极大值,工具箱应用实例,16,精品课件,求非线性函数极大值工具箱应用实例16精品课件,工具箱应用实例,17,精品课件,工具箱应用实例17精品课件,(,1,)编写待优化函数程序,function z = test_func(in),nn=size(in);,%,输入的是矩阵 ,即算法中随机产生一组,x,和,y,,按,x(nn, 1), y(nn, 1),排列,x=in(:,1);,y=in(:,2);,nx=nn(1);,for i=1:nx,temp=sin(sqrt(x(i)2+y(i)2)/sqrt(x(i)2+y(i)2)+exp(cos(2*pi*x(i)+cos(2*pi*y(i)/2)-2.71289;,z(i,:)=temp;,end,工具箱应用实例,18,精品课件,(1)编写待优化函数程序工具箱应用实例18精品课件,(,2,)编写调用函数,x_range=-2,2;,y_range=-2,2;,range=x_range; y_range;,Max_V=0.2* (range(:,2) - range(:,1);,%,最大速度取范围的,10,20%,n=2; %,粒子维数,PSOparams=10 300 20 2 2 0.9 0.4 1500 1e-25 250,NaN 0 0,%,个体数目,20,,进化次数,300,PSO_Trelea_vectorized(test_func, n, Max_V, range, 1, PSOparams),工具箱应用实例,19,精品课件,(2)编写调用函数工具箱应用实例19精品课件,20,精品课件,20精品课件,21,精品课件,21精品课件,22,精品课件,22精品课件,感谢亲观看此幻灯片,此课件部分内容来源于网络,,如有侵权请及时联系我们删除,谢谢配合!,感谢亲观看此幻灯片,此课件部分内容来源于网络,,感谢亲观看此幻灯片,此课件部分内容来源于网络,,如有侵权请及时联系我们删除,谢谢配合!,感谢亲观看此幻灯片,此课件部分内容来源于网络,,
展开阅读全文