1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【智能优化算法-粒子群算法】基于量子粒子群算法求解单目标优化问题附matlab代码

【智能优化算法-粒子群算法】基于量子粒子群算法求解单目标优化问题附matlab代码

时间:2018-07-17 21:22:09

相关推荐

【智能优化算法-粒子群算法】基于量子粒子群算法求解单目标优化问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法 神经网络预测 雷达通信 无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机

1 内容介绍

量子粒子群优化(QPSO)算法是在经典的粒子群优化(PSO)算法的基础上所提出的一种具有量子行为的粒子群优化算法,具有高效的全局搜索能力。通过求解J.D.Schaffer提出的多峰函数优化问题的实验分析表明,方法具有良好的收敛性和稳定性。

2 部分代码

%% 实验系列

% 量子行为粒子群算法对Sphere函数寻优优化

clear all;

format long;

tic

%% 量子行为的粒子群算法

%% 基本参数

MaxEpochs=1500; %最大迭代次数

D=30; %粒子维数

M=30;%npso-(D/10); %基本种群规模

npso=M+ceil(D/10); %粒子种群规模

aCE0=0.8; %起始CE参数

aCE1=0.5; %终止CE参数

%% 初始化

% 初始化粒子

PL=100;

X_uplimit=PL.*ones(1,D);

X_lowlimit=-1*PL.*ones(1,D);

for i=1:npso

X(i,:)=PL.*rands(1,D);

end

% load X0_Sphere.mat

% 初始适应值

for i=1:npso

X(i,D+1)=Sphere(X(i,:));

end

% 初始个体最优和全局最优

X_pbest=X; % 初始个体最优为粒子本身

kg=1;

for k=1:npso

if X_pbest(k,D+1)<=X_pbest(kg,D+1)

kg=k;

end

end

X_gbest=X_pbest(kg,:);

%% 进入迭代

for ep=1:MaxEpochs

% 计算平均最优位置

C=mean(X_pbest(:,1:D));

for j=1:npso

% 计算非最优粒子的势阱中心

r=rand(1,D);

ZX(j,:)=r.*X_pbest(j,1:D)+(1-r).*X_gbest(1,1:D);

end

% 更新粒子的位置

aCE=(aCE1-aCE0)*(ep-1)/(MaxEpochs-1)+aCE0;

for j=1:npso

if rand<=0.5

X_GX1(j,:)=ZX(j,:)+aCE.*abs(C-X(j,1:D)).*log(1./rand(1,D));

else

X_GX1(j,:)=ZX(j,:)-aCE.*abs(C-X(j,1:D)).*log(1./rand(1,D));

end

for p=1:D

if X_GX1(j,p)<X_lowlimit(1,p) || X_GX1(j,p)>X_uplimit(1,p)

X_GX1(j,p)=PL*rands(1,1);

end

end

end

% 计算适应值

X=X_GX1;

for k=1:npso

X(k,D+1)=Sphere(X(k,1:D));

end

% 更新全局最优和局部最优

for k=1:npso

if X(k,D+1)<=X_pbest(k,D+1)

X_pbest(k,:)=X(k,:);

end

end

np=1;

for ij=1:npso

if X_pbest(ij,D+1)<=X_pbest(np,D+1)

np=ij;

end

end

X_gbest=X_pbest(np,:);

Y(1,ep)=X_gbest(1,D+1);

end

save Y_QPSO_Sphere.mat Y

figure()

plot(1:size(Y,2),Y)

hold on;

figure()

plot(1:size(Y,2),log(Y))

hold on;

3 运行结果

4 参考文献

​[1]余健, 郭平. 基于MATLAB的量子粒子群优化算法及其应用[J]. 计算机与数字工程, , 35(12):2.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。