资源简介
传统粒子群算法的matlab实现代码,PSO是粒子群优化算法(——Particle Swarm Optimization)的英文缩写,是一种基于种群的随机优化技术,由Eberhart和Kennedy于1995年提出。粒子群算法模仿昆虫、兽群、鸟群和鱼群等的群集行为,这些群体按照一种合作的方式寻找食物,群体中的每个成员通过学习它自身的经验和其他成员的经验来不断改变其搜索模式。
代码片段和文件信息
function out = PSO(problemparams)
out.GlobalBest=[];
out.BestCosts=[];
%% Problem Definition
func_num=problem.func_num;
CostFunction= problem.CostFunction; %Change the cost function here
nVar=problem.nVar ; %Number of Unknown (Decision) Variables
VarSize= [nVar 1]; %Matrix Size of Decision Variables
VarMin= problem.VarMin; %Lower Bound of Decision Variable
VarMax= problem.VarMax; %Upper Bound of Decision Variable
%% Parameter of PSO
MaxIt= params.MaxIt; %Maximum Number of Iterations
nPop= params.nPop; %Population Size (Swarm Size)
w= params.w; %Inertia Coefficient
wdamp= params.wdamp; %Damping Ratio of Inertia Coefficient
c1= params.c1; %Personal Acceleration Coefficient
c2= params.c2; %Social Acceleration Coefficient
% The Flag for Showing Iteration Information
ShowIterInfo=params.ShowIterInfo;
%MaxVelocity = (VarMax-VarMin)*0.1;
%MinVelocity = -MaxVelocity;
%% Initialization
%The Particle Template
% empty_particle.Position=[];
% empty_particle.Velocity=[];
% empty_particle.Cost=[];
% empty_particle.Best.Position=[];
% empty_particle.Best.Cost=[];
% Create Population Members
particle = params.particle; %%repmat(Matrixrowcol)
% Initialize Global Best
GlobalBest.Cost= inf;
for i=1:nPop
% Generate Random Solution
particle(i).Position=params.particle(i).Position;
%Initialize Velocity
particle(i).Velocity=zeros(VarSize);
%Evaluation
particle(i).Cost=feval(CostFunctionparticle(i).Positionfunc_num);
%Update the Personal Best
particle(i).Best.Position=particle(i).Position;
particle(i).Best.Cost=particle(i).Cost;
%Update Global Best
if particle(i).Best.Cost < GlobalBest.Cost
GlobalBest=particle(i).Best;
end
end
%Array to Hold Best Cost Value on Each Iteration
BestCosts=zeros(MaxIt1);
BestCosts(1)=GlobalBest.Cost;
%% Main Loop of PSO
for it=2:MaxIt
for i=1:nPop
%Update Velocity
particle(i).Velocity= w*particle(i).Ve
相关资源
- 人工免疫算法寻优最大值
- 多目标perota优化MATLAB算法
- 基于遗传算法的BP神经网络优化算法—
- 二进制粒子群优化算法源码
- matlab粒子群优化算法 非线性函数极值
- zw_williamanos-10456712-《MATLAB优化算法张
- 混合智能优化算法
- Genetic optimization of C clustering 运用遗传
- 多目标优化算法中的标准测试函数的
- 免疫粒子群优化算法整定自抗扰控制
- 细菌觅食算法与粒子群优化算法相结
- foa 果蝇优化算法matlab程序
- 求解电力系统经济调度等优化问题的
- Quantum GABP 自适应量子遗传算法优化
- 增广拉格朗日乘子法ALM算法matlab代码
- GWO灰色狼群优化算法MATLAB源码详细中
- 智能优化算法及其Matlab.rar
- 智能微网粒子群优化算法.zip
- matlab编写的BFGS优化算法程序
- 智能优化算法matlab实现附有详细注释
- 差分进化灰狼优化算法matlab源码详细
- 人工蜂群算法 优化算法 Matlab 附测试
- 智能优化算法及其MATLAB第2版源代码
- MMA拓扑优化算法的matlab程序
- L-M 优化算法和贝叶斯正则化算法训练
- 智能优化算法及其MATLAB(第2版) 包子
- bbosimplified简易的生物地理学优化算法
- 高斯变异改进基本萤火虫群优化算法
- 磷虾群优化算法 (Krill herd optimizati
- PSO SampEn ApproxiEN RVM PSO:粒子群优化算
评论
共有 条评论