Matlab粒子群算法工具箱使用方法及实例演示课件

上传人:re****.1 文档编号:568509296 上传时间:2024-07-25 格式:PPT 页数:22 大小:1.32MB
返回 下载 相关 举报
Matlab粒子群算法工具箱使用方法及实例演示课件_第1页
第1页 / 共22页
Matlab粒子群算法工具箱使用方法及实例演示课件_第2页
第2页 / 共22页
Matlab粒子群算法工具箱使用方法及实例演示课件_第3页
第3页 / 共22页
Matlab粒子群算法工具箱使用方法及实例演示课件_第4页
第4页 / 共22页
Matlab粒子群算法工具箱使用方法及实例演示课件_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《Matlab粒子群算法工具箱使用方法及实例演示课件》由会员分享,可在线阅读,更多相关《Matlab粒子群算法工具箱使用方法及实例演示课件(22页珍藏版)》请在金锄头文库上搜索。

1、粒子群算法工具箱粒子群算法工具箱应应用用简简介介1。引言。引言粒子群算法(粒子群算法(PSO算法)算法)定义:粒子群算法,又称粒子群优化算法(Partical Swarm Optimization),缩写为 PSO, 是近年来发展起来的一种新的进化算法(Evolutionary Algorithm - EA),由Eberhart 博士和kennedy 博士于1995年提出,其源于对鸟群捕食的行为研究。2。算法思想。算法思想PSO模拟鸟群的捕食行为。模拟鸟群的捕食行为。 设想这样一个场景:一群鸟在随机搜索食物,在这个区域里设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物,所有的鸟

2、都不知道食物在那里,但是它们只有一块食物,所有的鸟都不知道食物在那里,但是它们知道当前的位置离食物还有多远,那么找到食物的最优策知道当前的位置离食物还有多远,那么找到食物的最优策略是什么呢?略是什么呢? 最最简单有效的就是搜有效的就是搜寻目前离食物最近的目前离食物最近的鸟的周的周围区域。都区域。都向向这片区域靠片区域靠拢。 3。抽象。抽象 PSO中,将中,将问题问题的搜索空的搜索空间类间类比于比于鸟类鸟类的的飞飞行空行空间间,将,将每只每只鸟鸟抽象抽象为为一个无一个无质质量无体量无体积积的微粒,用以表征的微粒,用以表征优优化化问题问题的一个候的一个候选选解,我解,我们们称之称之为为“粒子粒子”

3、,优优化所需要化所需要寻寻找的找的最最优优解解则则等同于要等同于要寻寻找的食物。找的食物。所有的粒子都有一个由被所有的粒子都有一个由被优优化的函数决定的化的函数决定的适适应值应值(fitness value),每个粒子,每个粒子还还有一个有一个速度速度决定他决定他们飞们飞翔的方向和距离,翔的方向和距离,然后粒子然后粒子们们就追随当前的最就追随当前的最优优粒子在解空粒子在解空间间中搜索。中搜索。 3。抽象。抽象 PSO初初始始化化为为一一群群随随机机粒粒子子(随随机机解解、一一群群鸟鸟),然然后后通通过过迭迭代代找找到到最最优优解解。在在每每一一次次迭迭代代中中,粒粒子子(鸟鸟)通通过过跟跟踪踪

4、两两个个“极极值值”来来更更新新自自己己的的位位置置。一一个个就就是是粒粒子子本本身身所所找找到到的的最最优优解解,这这个个解解叫叫做做个个体体极极值值pBest,另另一一个个极极值值是是整整个个种种群群目目前前找找到到的的最最优优解解,这这个个极极值值是是全全局局极极值值gBest。(gBest是是pBest中最好中最好值值)3。算法介。算法介绍绍在找到在找到这两个最两个最优值时,粒子根据如下的公式来更新自己,粒子根据如下的公式来更新自己的速度和位置:的速度和位置: 其中其中 ,V 是粒子的速度,是粒子的速度,Present 是粒子的当前位置是粒子的当前位置 ,pBest 与与 gBest见

5、见前面定前面定义义。rand ( )是是(0 ,1)之之间间的随机数的随机数 ,c1和和c2被称作学被称作学习习因子。通常因子。通常 ,c1 = c2 = 2。w 是加是加权权系系数(数(惯惯性性权权重),取重),取值值在在 0. 1到到0. 9之之间间。粒子通。粒子通过过不断学不断学习习更新更新 ,最,最终飞终飞至解空至解空间间中最中最优优解所在的位置解所在的位置 ,搜索,搜索过过程程结结束。最后束。最后输输出的出的 gBest 就是全局最就是全局最优优解。在更新解。在更新过过程程中中 ,粒子每一粒子每一维维的最大速率限被限制的最大速率限被限制为为 Vmax ,如果某一如果某一维维更新后的速

6、度超更新后的速度超过设过设定的定的Vmax,那么,那么这这一一维维的速度就被的速度就被限定限定为为Vmax。3。算法介。算法介绍绍 将粒子延伸到N维空间,粒子i在N维空间里的位置表示为一个矢量,每个粒子的飞行速度也表示为一个矢量。p粒子数(粒子数(鸟鸟的个数)的个数): 一般取一般取 140. 其其实对实对于大部分的于大部分的问问题题10个粒子已个粒子已经经足足够够可以取得好的可以取得好的结结果果;p粒子的粒子的长长度(度(维维度)度): 这这是由是由优优化化问题问题决定决定, 就是就是问题问题解解的的长长度(决策度(决策变变量个数)量个数);p粒子的范粒子的范围围: 由由优优化化问题问题决定

7、,每一决定,每一维维可以可以设设定不同的范定不同的范围围;pVmax: 最大速度,决定粒子在一个循最大速度,决定粒子在一个循环环中最大的移中最大的移动动距离,距离, 通常通常设设定定为为粒子的范粒子的范围宽围宽度度,例如,粒子例如,粒子 (x1, x2, x3) ,x1 属属于于 -10, 10, 那么那么 Vmax 的大小就是的大小就是 20。p学学习习因子因子: 使粒子具有自我使粒子具有自我总结总结和向群体中和向群体中优优秀个体学秀个体学习习的能力,从而向群体内或的能力,从而向群体内或邻邻域内最域内最优优点靠近,点靠近,c1 和和 c2 通常通常等于等于2,并且范,并且范围围在在 0 和和

8、 4 之之间间。p中止条件中止条件: 最大循最大循环环数以及最小数以及最小错误错误要求。要求。p惯惯性性权权重重w :决定了决定了对对粒子当前速度粒子当前速度继继承多少,合适的承多少,合适的选选择择可以使粒子具有均衡的探索能力和开可以使粒子具有均衡的探索能力和开发发能力,能力,惯惯性性权权重的重的取法有常数法、取法有常数法、线线性性递递减法、自适减法、自适应应法等。法等。3。算法介。算法介绍绍例:对于问题 f(x) = x12 + x22+x32 求解,粒子可以直接编码为 (x1, x2, x3),而适应度函数就是f(x),接着我们就可以利用前面的过程去寻优,寻优过程是一个迭代过程, 中止条件

9、一般为设置为达到最大循环数或者最小错误要求。3。算法介。算法介绍绍PSO框架框架图粒子群粒子群优优化算法化算法Matlab工具箱工具箱简简介介 Matlab粒粒子子群群工工具具箱箱(PSOt)提提供供了了非非常常先先进进的的粒粒子子群群优优化化算算法法 ,可可指指定定惯惯性性因因子子的的起起始始值值和和中中止止值值 ,可可约约定定各各维维变变量量的的取取值值范范围围 、粒粒子子在在遇遇到到边边界界时时是是否否反反弹弹等等各各种种参参数数 。除除此此以以外外 ,粒粒子子群群工工具具箱箱既既可可以以在在用用户户约约定定的的范范围围内内自自动动随随机机生生成成指指定定群群体体规规模模的的初初始始粒粒

10、子子群群 ,也也可可人人工工输输入入小小于于群群体体规规模模的的任任意意数数目目的的初初始始粒粒子子 ,具具备备非非常常强强的的灵灵活活性性 。粒子群粒子群优优化算法化算法Matlab工具箱工具箱简简介介粒子群粒子群优优化算法化算法Matlab工具箱工具箱简简介介PSOt具具有有非非常常强强的的灵灵活活性性,在在实实际际计计算算中中,用用户户只只要要根根据据需需求求编编写写好好目目标标函函数数,并并设设置置好好函函数数自自变变量量的的取取值值范范围围和和每步迭代允每步迭代允许许的的最大最大变变化量化量,PSOt即可自即可自动进动进行行优优化化计计算。算。该工具箱的使用方法主要分工具箱的使用方法

11、主要分为一下几个步一下几个步骤:(1)在在MATLAB的的命命令令窗窗口口中中点点击“File”,“Set Path”,设置工具箱的路径。置工具箱的路径。(2)编写待写待优化的函数(化的函数(test_func),保存,保存为同名同名m文件文件粒子群粒子群优优化算法化算法Matlab工具箱工具箱简简介介( 3) 调调 用用 粒粒 子子 群群 算算 法法 的的 核核 心心 模模 块块 :pso_Trelea_vectorized.m,其,其调调用格式用格式为为:pso_Trelea_vectorized(functname, D, mv, VarRange , minmax, PSOparams

12、, plotfcn, PSOseedValue)pso_Trelea_vectorized(functname, D, mv, VarRange, minmax, PSOparams, plotfcn, PSOseedValue)lFunctname:目:目标标函数名函数名lD:待:待优优化化问题问题的的维维数;数;lmv:粒子:粒子飞飞行的最大速度;行的最大速度;lVarRange:参数:参数变变化范化范围围矩矩阵阵;lMinmax:寻优类寻优类型,取型,取0代表求目代表求目标标函数最小函数最小值值,取,取1代表求代表求目目 标标函数最大函数最大值值););lPSOparams:参数矩:参数

13、矩阵阵,包括最大迭代次数、粒子群,包括最大迭代次数、粒子群规规模、模、惯惯性因子、学性因子、学习习因子、因子、终终止迭代条件等;止迭代条件等;lPlotfcn:寻优过寻优过程中用于展示程中用于展示寻优过寻优过程的画程的画图图函数;函数;lPSOseedValue:可允:可允许许用用户输户输入任意多入任意多组组初始粒子。初始粒子。求非求非线性函数极大性函数极大值工具箱工具箱应应用用实实例例工具箱工具箱应应用用实实例例(1)编写待写待优化函数程序化函数程序function z = test_func(in)nn=size(in); %输输入的是矩入的是矩阵阵 ,即算法中随机,即算法中随机产产生一生

14、一组组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工具箱工具箱应应用用实实例例(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)工具箱工具箱应应用用实实例例

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号