资源简介
传统粒子群算法的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
相关资源
- 多种群遗传算法的函数优化算法(源
- 灰狼优化算法求解柔性作业车间问题
- 最优化算法规划-单纯形法MATLAB程序
- 蝴蝶优化算法
- 灰狼优化算法的仿真
- matlab开发-果蝇优化算法第二版
- 《MATLAB优化算法案例分析与应用》随
- bbocomplex 生物地理学算法
- matlab智能优化算法30个案例代码
- 鲸鱼优化算法(WOAMatlab).zip
- MATLAB实现群体多目标优化算法MOALO蚁狮
- DIRECT 全局优化算法 matlab程序 附带
- 差分蜂群优化算法MATLAB实现.rar
- MATLAB优化算法测试函数
- MATLAB多种优化算法介绍
- 多目标优化算法
- 超完整规范的多目标遗传优化算法M
- Matlab优化算法.pdf
- Matlab优化算法PDF
- 最优化方法及其Matlab程序设计 马昌凤
- MATLAB优化算法案例分析与应用-配书代
- Matlab编写多目标优化算法NSGA-Ⅱ的详解
- Matlab智能算法285081
- 智能优化算法及其MATLAB-(第2版)
- 两个经典的多目标优化算法代码:N
- MATLAB优化算法案例分析与应用 源代码
- 智能优化算法及其MATLAB[包子阳余继周
- [高清文字版]MATLAB优化算法案例分析与
- MATLAB优化算法案例分析与应用第1版电
- MATLAB优化算法案例分析与应用案例及
评论
共有 条评论