-
MyPSO_bak.rar下载
资源介绍
经典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
代码有详细的注释,具体细节代码实现