MyPSO
所属分类:matlab编程
开发工具:matlab
文件大小:4KB
下载次数:5
上传日期:2015-06-05 15:48:00
上 传 者:
wllw
说明: PSO经典算法的matlab实现,核心函数MyPSO参数只有一个结构体参数,代码有详细注释
(PSO classical algorithm matlab implementation)
文件列表:
test_MyPSO.m (1097, 2015-06-05)
TestFunct.m (60, 2015-06-04)
CalFitnessFunct.m (227, 2015-06-05)
MyPSO.m (6402, 2015-06-05)
经典PSO算法的matlab实现
压缩包包括4个文件:MyPSO.m TestFucnt.m test_mypso.m CalFitnessFunct.m
1. MyPSO.m PSO算法的实现,函数传入参数只有一个结构体,易于使用
function [OptVal BestPos IterCnt OutMsg] = MyPSO(Options)
%%功能:基本PSO算法的实现
%输入:结构化参数Options各个域如下
% Options.OptFunctName:待寻优函数名
% Options.ModFlag 寻优模式 0最小值 1 最大值
% Options.PopSize:种群规模
% Options.DimSize:每个粒子维数
% Options.MaxIter:最大迭代次数
% Options.WeightChangeMaxIter:w变化代数
% Options.Xrange:每维粒子搜索位置范围,Options.Xrange(i,1),Options.Xrange(i,2)分别为i维最小值和最大值
% Options.Lamba:全局最优适应度最小间隔
% Options.StopIter:全局最优适应度间隔连续StopIter次小于Options.Lamba停止迭代
% Options.c1:加速项c1
% Options.c2:加速项c2
% Options.wmax:最大权重
% Options.wmin:最小权重
% Options.wChagneMode 惯性权重递减方式 0 线性递减 1非线性递减
% Options.plot: 0 不画图 1 画图
%输出:
% OptVal:算法搜索到的全局最优函数值
% BestPos:算法搜索到的全局最优位置
% IterCnt:算法迭代次数
% OutMsg:函数执行结果相关信息
2. TestFunct.m 待寻优的测试函数
3. CalFitnessFunct.m 计算粒子归属度函数
4. test_mypso.m 测试函数,用来测试算法的正确性
针对不同的寻优函数,只需修改TestFunct.m文件中的函数实现或直接修改Options.OptFunctName
同时修改test_mypso.m中的Options.DimSize Options.Xrange
代码有详细的注释,具体细节代码实现
近期下载者:
相关文件:
收藏者: