资源简介
该算法是混沌运动与粒子群算法相结合的混沌粒子群算法,可以提高算法的全局搜索能力。

代码片段和文件信息
%% 清空环境
clc
clear
%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.49445;
c2 = 1.49445;
D=10;%粒子维数
maxgen=1000; % 进化次数
sizepop=20; %种群规模
u=2;%混沌系数
Vmax=1;
Vmin=-1;
popmax=5;
popmin=-5;
randdata1= xlsread(‘randdata1‘);
randdata2= xlsread(‘randdata2‘);
%% 产生初始粒子和速度
for i=1:sizepop
%随机产生一个种群
pop(i:)=randdata1(i:); %初始种群
V(i:)=randdata2(i:); %初始化速度
%计算适应度
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(jfind(V(j:)>Vmax))=Vmax;
V(jfind(V(j:)
%种群更新
pop(j:)=pop(j:)+V(j:);
pop(jfind(pop(j:)>popmax))=popmax;
pop(jfind(pop(j:)
%适应度值
fitness(j)=fun(pop(j:));
end
for j=1:sizepop
%个体最优更新
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
%%对粒子群最优位置进行混沌优化
y(1:)=(zbest-popmin)/(popmax-popmin);%将最优位置映射到Logistic方程的定义域[01]
fitness(1)=fun(y(1:));
for t=1:sizepop-1 %通过Logistic方程进行M次迭代,得到混沌序列
for e=1:D
y(t+1e)=u*y(te)*(1-y(te));
end
y(t+1:)=popmin+(popmax-popmin)*y(t+1:);%将混沌序列逆射到原解空间
fitness(t+1)=fun(y(t+1:)); %计算混沌变量可行解序列的适应度值
end
[ybestfitness ybestindex]=min(fitness);%寻找最优混沌可行解矢量
ybest=y(ybestindex:);
ran=1+fix(rand()*sizepop);%产生一随机数1~sizepop之间
pop(ran:)=ybest;
yy(i)=fitnesszbest;
end
%% 结果分析
plot(yy‘m‘‘LineWidth‘5)
title(‘多峰函数-Generaliaed Rastrigin最优个体适应度曲线‘‘fontsize‘20);
xlabel(‘迭代次数‘‘fontsize‘25);ylabel(‘适应度值‘‘fontsize‘25);
legend(‘混沌粒子群算法‘30);
grid on
hold on
display(‘混沌粒子群算法输出结果‘);
zbest
fv1=yy(end);
fv1
fv=fitnesszbest;
fv
minbest=min(yy)
meanbest=mean(yy)
stdbest=std(yy)
plot(fv‘b‘‘LineWidth‘5)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2657 2018-01-25 10:27 混沌PSO\APSO.m
文件 761 2018-01-25 00:32 混沌PSO\fun.m
文件 10095 2018-01-24 21:37 混沌PSO\randdata1.xlsx
文件 10124 2018-01-24 21:38 混沌PSO\randdata2.xlsx
目录 0 2018-03-07 09:18 混沌PSO
----------- --------- ---------- ----- ----
23637 5
- 上一篇:QT做 的简单登录界面
- 下一篇:缓冲区溢出攻击
相关资源
- 编程实现二维DCT变换
- 图像二值化
- 用FFT对信号进行频谱分析
- Tone-Reservation
- QGA 量子遗传算法
- 差分形式的阻滞增长模型
- 遗传算法的M文件
- 简单二阶互联系统的非线性动力学分
- 手写数字识别-模板匹配法
- Stock_Watson_动态因子分析模型
- 果蝇优化算法优化支持向量回归程序
- 自己做的一个简单GUI扑克纸牌识别-
- multi output SVR
- AR过程的线性建模过程与各种功率谱估
- PCNN TOOLBOX
- plstoolbox.zip
- 中国国家基础地理信息系统GIS数据
- 粒子群微电网优化调度
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 压缩感知TwIST
- 基于最小错误率的贝叶斯手写数字分
- 最全系统辨识源代码,包括多种最小
- 导弹制导实验
- 画跟踪精确度图的程序.zip
- 重力场大地水准面及重力异常阶次误
- prtools5.2.3工具包
- 脉冲耦合神经网络工具箱PCNN-toolbox
- SVM算法-回归拟合程序.zip
- Kriging代理模型EGO算法.zip
- Matalb实现停车场完整系统
评论
共有 条评论