




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,粒子群算法工具箱应用简介,.,1。引言,粒子群算法(PSO算法)定义:粒子群算法,又称粒子群优化算法(ParticalSwarmOptimization),缩写为PSO,是近年来发展起来的一种新的进化算法(EvolutionaryAlgorithm-EA),由Eberhart博士和kennedy博士于1995年提出,其源于对鸟群捕食的行为研究。,.,2。算法思想,PSO模拟鸟群的捕食行为。设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物,所有的鸟都不知道食物在那里,但是它们知道当前的位置离食物还有多远,那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。都向这片区域靠拢。,.,3。抽象,PSO中,将问题的搜索空间类比于鸟类的飞行空间,将每只鸟抽象为一个无质量无体积的微粒,用以表征优化问题的一个候选解,我们称之为“粒子”,优化所需要寻找的最优解则等同于要寻找的食物。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索。,.,3。抽象,PSO初始化为一群随机粒子(随机解、一群鸟),然后通过迭代找到最优解。在每一次迭代中,粒子(鸟)通过跟踪两个“极值”来更新自己的位置。一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。(gBest是pBest中最好值),.,3。算法介绍,在找到这两个最优值时,粒子根据如下的公式来更新自己的速度和位置:其中,V是粒子的速度,Present是粒子的当前位置,pBest与gBest见前面定义。rand()是(0,1)之间的随机数,c1和c2被称作学习因子。通常,c1=c2=2。w是加权系数(惯性权重),取值在0.1到0.9之间。粒子通过不断学习更新,最终飞至解空间中最优解所在的位置,搜索过程结束。最后输出的gBest就是全局最优解。在更新过程中,粒子每一维的最大速率限被限制为Vmax,如果某一维更新后的速度超过设定的Vmax,那么这一维的速度就被限定为Vmax。,.,3。算法介绍,将粒子延伸到N维空间,粒子i在N维空间里的位置表示为一个矢量,每个粒子的飞行速度也表示为一个矢量。粒子数(鸟的个数):一般取140.其实对于大部分的问题10个粒子已经足够可以取得好的结果;粒子的长度(维度):这是由优化问题决定,就是问题解的长度(决策变量个数);粒子的范围:由优化问题决定,每一维可以设定不同的范围;,.,Vmax:最大速度,决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度,例如,粒子(x1,x2,x3),x1属于-10,10,那么Vmax的大小就是20。学习因子:使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或邻域内最优点靠近,c1和c2通常等于2,并且范围在0和4之间。中止条件:最大循环数以及最小错误要求。惯性权重w:决定了对粒子当前速度继承多少,合适的选择可以使粒子具有均衡的探索能力和开发能力,惯性权重的取法有常数法、线性递减法、自适应法等。,.,3。算法介绍,例:对于问题f(x)=x12+x22+x32求解,粒子可以直接编码为(x1,x2,x3),而适应度函数就是f(x),接着我们就可以利用前面的过程去寻优,寻优过程是一个迭代过程,中止条件一般为设置为达到最大循环数或者最小错误要求。,.,3。算法介绍,PSO框架图,.,粒子群优化算法Matlab工具箱简介,Matlab粒子群工具箱(PSOt)提供了非常先进的粒子群优化算法,可指定惯性因子的起始值和中止值,可约定各维变量的取值范围、粒子在遇到边界时是否反弹等各种参数。除此以外,粒子群工具箱既可以在用户约定的范围内自动随机生成指定群体规模的初始粒子群,也可人工输入小于群体规模的任意数目的初始粒子,具备非常强的灵活性。,.,粒子群优化算法Matlab工具箱简介,.,粒子群优化算法Matlab工具箱简介,PSOt具有非常强的灵活性,在实际计算中,用户只要根据需求编写好目标函数,并设置好函数自变量的取值范围和每步迭代允许的最大变化量,PSOt即可自动进行优化计算。,该工具箱的使用方法主要分为一下几个步骤:(1)在MATLAB的命令窗口中点击“File”,“SetPath”,设置工具箱的路径。(2)编写待优化的函数(test_func),保存为同名m文件,.,粒子群优化算法Matlab工具箱简介,(3)调用粒子群算法的核心模块:pso_Trelea_vectorized.m,其调用格式为:pso_Trelea_vectorized(functname,D,mv,VarRange,minmax,PSOparams,plotfcn,PSOseedValue),.,pso_Trelea_vectorized(functname,D,mv,VarRange,minmax,PSOparams,plotfcn,PSOseedValue)Functname:目标函数名D:待优化问题的维数;mv:粒子飞行的最大速度;VarRange:参数变化范围矩阵;Minmax:寻优类型,取0代表求目标函数最小值,取1代表求目标函数最大值);PSOparams:参数矩阵,包括最大迭代次数、粒子群规模、惯性因子、学习因子、终止迭代条件等;Plotfcn:寻优过程中用于展示寻优过程的画图函数;PSOseedValue:可允许用户输入任意多组初始粒子。,.,求非线性函数极大值,工具箱应用实例,.,工具箱应用实例,.,(1)编写待优化函数程序functionz=test_func(in)nn=size(in);%输入的是矩阵,即算法中随机产生一组x和y,按x(nn,1),y(nn,1)排列x=in(:,1);y=in(:,2);nx=nn(1);fori=1:nxtemp=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,工具箱应用实例,.,(2)编写调用函数x_range=-2,2;y_range=-2,2;range=x_range;y_range;Max_V=0.2*(range(:,2)-range(:,1);%最大速度取范围的102
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 枣庄二院笔试题及答案
- 道具跳槽测试题及答案
- 心电图机考试题及答案
- 巨人集团面试题及答案
- 唐代楷书试题及答案
- 违法停车面试题及答案
- 2025年杭州市余杭招聘幼儿园教师考试笔试试题(含答案)
- 2025年赣县区城区学校选调教师考试笔试试题(含答案)
- 2025年防城港市金湾小学教师招聘考试笔试试题(含答案)
- 树洞里秘密课件教学
- 2025至2030聚乙烯醇缩丁醛(PVB)树脂行业发展趋势分析与未来投资战略咨询研究报告
- 2025年小学语文教师考试题库含答案
- 船舶安全教育培训内容
- 人工动静脉瘘闭塞查房
- 2025年贵州省中考数学试卷及答案
- 学堂在线 积极心理学(上)厚德载物篇 章节测试答案
- 胖东来运营经理培训课件
- 供电公司信访管理制度
- 木工入场安全教育试卷(含答案)
- 工厂厂规厂纪管理制度
- 2025全球翻译行业发展报告
评论
0/150
提交评论