粒子群优化算法(PSO)的matlab运行程序~

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 00:28:15
粒子群优化算法(PSO)的matlab运行程序~

粒子群优化算法(PSO)的matlab运行程序~
粒子群优化算法(PSO)的matlab运行程序~

粒子群优化算法(PSO)的matlab运行程序~
%不知道你具体的问题是什么,下面是一个最基本的pso算法解决函数极值问题,如果是一些大型的问题,需要对速度、惯性常数、和自适应变异做进一步优化,希望对你有帮助
function y = fun(x)
y=-20*exp(-0.2*sqrt((x(1)^2+x(2)^2)/2))-exp((cos(2*pi*x(1))+cos(2*pi*x(2)))/2)+20+2.71289;
%下面是主程序
%% 清空环境
clc
clear
%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
maxgen=200; % 进化次数
sizepop=20; %种群规模
Vmax=1;%速度限制
Vmin=-1;
popmax=5;%种群限制
popmin=-5;
%% 产生初始粒子和速度
for i=1:sizepop
%随机产生一个种群
pop(i,:)=5*rands(1,2); %初始种群
V(i,:)=rands(1,2); %初始化速度
%计算适应度
fitness(i)=fun(pop(i,:)); %染色体的适应度
end
%找最好的染色体
[bestfitness bestindex]=min(fitness);
zbest=pop(bestindex,:); %全局最佳
gbest=pop; %个体最佳
fitnessgbest=fitness; %个体最佳适应度值
fitnesszbest=bestfitness; %全局最佳适应度值
%% 迭代寻优
for i=1:maxgen

for j=1:sizepop

%速度更新
V(j,:) = V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));
V(j,find(V(j,:)>Vmax))=Vmax;
V(j,find(V(j,:)popmax))=popmax;
pop(j,find(pop(j,:)0.8
k=ceil(2*rand);%ceil朝正无穷大方向取整
pop(j,k)=rand;
end

%适应度值
fitness(j)=fun(pop(j,:));


%个体最优更新
if fitness(j) < fitnessgbest(j)
gbest(j,:) = pop(j,:);
fitnessgbest(j) = fitness(j);
end

%群体最优更新
if fitness(j) < fitnesszbest
zbest = pop(j,:);
fitnesszbest = fitness(j);
end

end
yy(i)=fitnesszbest;

end
%% 结果分析
plot(yy)
title(['适应度曲线 ' '终止代数=' num2str(maxgen)]);
xlabel('进化代数');ylabel('适应度');

粒子群优化算法(PSO)的matlab运行程序~ 求教PSO算法优化函数的matlab程序,比如sphere、schaffer、rosenbrock、rastrigin、shubert函数,额是新手 求一个MATLAB的粒子群优化支持向量机参数的算法,急求 求粒子群算法的matlab程序,要求优化结果好,计算结果收敛性好!急 求用粒子群优化算法进行图像分割的程序.matlab最好 基本粒子群优化算法(PSO) 速度更新公式中的两个随机数r1、r2的含义和作用是什么? 要在matlab上用PSO(粒子群优化)算法求某测试函数的最优解,但是不知道函数写对没有.函数是这样的我编得程序如下:function F = fitness3(x)F = 0;F1 = 0;F2 = 0;F3 = 0;for i = 1:2F3 = F3 + x(i)^2;F1 = (1/4000)*F3 粒子群算法的优缺点粒子群优化算法的优缺点是什么? 关于群智能优化算法程序的问题请问例如PSO GA等算法 用MATLAB编写程序 为什么总是定义个体的位置为例如POS(i,:)这样的形式 为什么要定义成2维的 一维的为什么不行如果POS(i,:)表示的是横纵 我想问一下,这个函数怎样用粒子群算法优化,是不是要用到多目标的粒子群优化 启发式算法是最优化算法吗?像遗传算法、粒子群算法这一类的可不可以归结到最优化算法里? PSO算法的期望值怎么计算? 粒子群优化算法的迭代收敛曲线图.如何绘制. 粒子群算法优化下面的公式 能给个程序最好 怎么判断粒子群优化算法有没有局部收敛? 求matlab粒子群算法原程序 pso算法中惯性权重的优化问题改进的思想:惯性权重因子不仅和迭代次数有关,跟粒子到全局最优解的距离也有关.总体来说weight因子随迭代次数增加呈减少趋势(前期w大,全局搜索能力强,后 如何用pso算法优化离散数据?(matlab程序)比如:年/值1/8445 2/9632 3/11069 4/12449 5/147396/16557 7/18127 8/19801 9/20422 10/2173411/24213 12/26108 13/29