文档详情

Matlab的全局及局部粒子群算法Pso.pdf

发布:2017-06-17约3.53万字共14页下载文档
文本预览下载声明
Pso 算法说明 现在有很多粒子群算法不规范,国外有些工具包过于复杂,功能太大而无从下手,国内 的一些文档上的方法多数都是一个粒子式地简单循环,不能够全面地发挥Matlab 基于矩阵计 算的能力,本程序中的主程序及目标函数均基于向量形式,另外,很多具体程序中缺乏对约 束问题进行考虑,本程序可以针对约束问题给出结果以查看约束处理情况,另外还可以选择 是否显示离线和在线性能等,再者,本工具包里包含有全局算法及局部算法,试验后发现, 局部算法的性能要好得多 (可能针对不同问题吧),最后,本算法模块化层次条理清晰,说明 具体,可以简单改造成各种改进型算法。 由于时间有限,能力有限,难免有不足之处,本人还是希望把辛苦写出来的好的东西与 大家讨论分享。有问题请email: zhaozb1983@ QQ:278139331 赵志斌 重庆大学自动化学院 MyPsoGbest.m 2012/4/4 16:17 1 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 %功能描述:向量化的粒子群算法,返回最后全局粒子的历史最优解及对应的适应度值。 (该程序中的全局历 4 %输入参数:AdaptFunc:适应度函数 (以min为最优),采用向量化方法 5 % [F] = Func(ParticleSwarm) 其中,F = [F1;F2;...;FN], x1 = ParticleSwarm(:,1) 6 % 则这样使用 AdaptFunc = @MyRastrigin 7 % 例如:[OutObj,OutCon] = MyPsoGbest(@MyRastrigin,100,3,[-5 5],[-4 4],150); 8 %输入参数:SwarmSize:种群大小个数 9 %输入参数:ParticleSize:一个粒子的维数 (说明中用D表示) 10 %输入参数:ParticlePosScope:粒子各维的位置范围 11 % default [-100 100], of form: 12 % [ min1 max1 13 % min2 max2 14 % ... 15 % minD maxD ] 16 %输入参数:ParticleVelScope:粒子各维的速度范围 17 % default [-4 4], of form: 18 % [ min1 max1 19 % min2 max2 20 % ... 21 % minD maxD ] 22 %输入参数:LoopCount:最大迭代次数 default = 100 23 %输出参数:OutObj:经过迭代后得到的最优解及其适应度值 24 %输出参数:OutCon:输出约束函数的值以判断处理约束能力 25 %编制人:赵志斌 (重庆大学自动化学院)Email: zhaozb1983@ 26 %编制时间:2012.3.27 27 %参考文献:XXXXX% 28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
显示全部
相似文档