so工具箱使用简介

so工具箱使用简介

ID:22684894

大小:99.51 KB

页数:5页

时间:2018-10-30

so工具箱使用简介_第1页
so工具箱使用简介_第2页
so工具箱使用简介_第3页
so工具箱使用简介_第4页
so工具箱使用简介_第5页
资源描述:

《so工具箱使用简介》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、PSO算法使用简介1PSO工具箱简介PSOt为PSO的工具箱,该工具箱将PSO算法的核心部分封装起来,提供给用户的为算法的可调参数,用户只需要定义好自己需要优化的函数(计算最小值或者最大值),并设置好函数自变量的取值范围、每步迭代允许的最大变化量(称为最大速度,Max_V)等,即可自行优化。与遗传算法相比,PSO仅需要调整少数几个参数即可实现函数的优化。该算法对待优化函数没有任何特别的要求(如可微分、时间连续等),因而其通用性极强,对多变量、高度非线性、不连续及不可微的情况更加具有其优势。该工具箱的使用主要分为几个步骤

2、:1)在Matlab中设置工具箱的路径;2)定义待优化函数;3)调用PSO算法的核心函数:pso_Trelea_vectorized()。其中第三步最关键,需要根据自己的需要设置好参数,可使算法极快收敛。下面对各个步骤一一介绍。2设置工具箱的路径2.1在Matlab的命令窗口点击“File——>SetPath….”,如下图:1.1在弹出的对话框中点击“AddFolder”,然后浏览找到工具箱放置的位置,如下图1.2若想用到该工具箱所带的测试函数,还需要用如上同样的方法,设置路径指向工具箱下的“testfunctions

3、”文件夹;1.3若想用于训练神经网络的训练,设置路径指向工具箱下的“testfunctions”文件夹“nnet”2定义待优化函数(参见文件test_func.m)用户根据自己的需要,定义需要优化的函数。举个例子,若想计算如下二元函数的最小值z=0.5*(x-3)^2+0.2*(y-5)^2-0.1其中自变量x、y的范围均为[-50,50]。可按下面的方法定义该待优化函数:%%----------------------------------------------------------------%%functi

4、onz=test_func(in)nn=size(in);x=in(:,1);y=in(:,2);nx=nn(1);fori=1:nxtemp=0.5*(x(i)-3)^2+0.2*(y(i)-5)^2-0.1;z(i,:)=temp;end%%----------------------------------------------------------------%%需要特别指出的是:PSO算法的核心函数pso_Trelea_vectorized()自动初始化一组随机变量,因而待优化函数test_func(in

5、)中的输入in是一个矩阵,由一组x和y的值组成,对应的,函数的输出z为一个向量1定义待优化函数(参见文件test_main.m)当定义好待优化函数后,设置相应的参数,然后就可以调用PSO进行优化了,对上面优化问题,按下面的方式进行调用:%%----------------------------------------------------------------%%clearclcx_range=[-50,50];%参数x变化范围y_range=[-50,50];%参数y变化范围range=[x_range;y_r

6、ange];%参数变化范围(组成矩阵)Max_V=0.2*(range(:,2)-range(:,1));%最大速度取变化范围的10%~20%n=2;%待优化函数的维数,此例子中仅x、y两个自变量,故为2pso_Trelea_vectorized('test_func',n,Max_V,range)%调用PSO核心模块%%----------------------------------------------------------------%%2PSO算法中相关参数的说明2.1工具箱中相关参数的含义在该工具箱中

7、,用户可以设置PSO算法的13个参数(参见pso_Trelea_vectorized()的注释部分),但实际上,有些参数采用采用算法提供的默认值即可,算法的默认值说明如下(在pso_Trelea_vectorized函数的定义中,用变量Pdef表示,若用户在pso_Trelea_vectorized的调用中赋以数值,则会覆盖相应的参数。笔者通常直接修改Pdef的数值,而不在调用时指定。)。%1)Pdef=[100200024220.90.415001e-25250NaN00];P(1),为在matlab命令窗进行显示的

8、间隔数,取值为100表示每迭代100次显示一次;若取值为0,则不显示中间过程%2)Pdef=[100200024220.90.415001e-25250NaN00];P(2),表示最大迭代次数,即即使算法不收敛,到此数后自动停止%3)Pdef=[100200024220.90.415001e-25250NaN00];P(3),种子

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。