资源简介
粒子群算法(pso)标准测试函数验证程序。在一个m文件中包括了目前文献中用于验证的7个标准测试函数(Ackley等)、三维动态显示,粒子过分集中时打散等功能。旨在为学习和研究者pso算法的同仁提供一个功能较为完备、简单易懂的标准版本,对于初学者可以通过此程序快速的实现入门,以便将更多的精力投入到深层次的研究中去!同时愿与所有致力于此的朋友共同探讨pso算法的改进与应用方面(如多目标、动态系统等)的经验。

代码片段和文件信息
function PSOstandard_benchmarks_Test
% 感谢亲亲使用此代码,此代码解决您的问题了吗~(@^_^@)~
% 没解决的话告诉亲亲一个好消息,登录淘宝店铺“大成软件工作室”,可以下载(????)1分钱成品代码(′▽‘〃)哦~
% 是的,亲亲真的没有看错,挠破头皮的问题真的1分钱就可以解决了(づ??????)づ
% 小的这就把传送门给您,记得要收藏好哦(づ ̄3 ̄)づ╭?~
% 传送门:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15151018122.5.uwGoq5&id=538759553146
% 如果传送门失效,亲亲可以来店铺讨要,客服MM等亲亲来骚扰哦~(*/ω╲*)
web https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15151018122.5.uwGoq5&id=538759553146 -browser
clear all;
close all;
c1=1.49445;c2=1.49445;%
global dimension Size
dimension=40;Size=40;%种群维数 dimension、规模 Size
Tmax=1000;%%最大迭代次数 Tmax
%%选择不同测试函数的速度和位置限制范围%%
F_n=1;
switch F_n
case 1 %% f1_Sphere %%
Vmax(1:dimension)= 30; Vmin(1:dimension)=-30;
Xmax(1:dimension)= 30; Xmin(1:dimension)=-30;
case 2 %% f2_Quadric [-100100] %%
Vmax(1:dimension)= 100; Vmin(1:dimension)=-100;
Xmax(1:dimension)= 100; Xmin(1:dimension)=-100;
case 3 %% f3_Ackley [-3030] %%
Vmax(1:dimension)= 30; Vmin(1:dimension)=-30;
Xmax(1:dimension)= 30; Xmin(1:dimension)=-30;
case 4 %% f4_griewank [-600600] %%
Vmax(1:dimension)= 600; Vmin(1:dimension)=-600;
Xmax(1:dimension)= 600; Xmin(1:dimension)=-600;
case 5 %% f5_Rastrigin [-5.125.12] %%
Vmax(1:dimension)= 5.12; Vmin(1:dimension)=-5.12;
Xmax(1:dimension)= 5.12; Xmin(1:dimension)=-5.12;
case 6 %% f6_Rosenbrock [-2.4082.408] %%
Vmax(1:dimension)= 2.408; Vmin(1:dimension)=-2.408;
Xmax(1:dimension)= 2.408; Xmin(1:dimension)=-2.408;
case 7 %% f7_Schaffer‘s f6 %%
Vmax(1:dimension)= 2.408; Vmin(1:dimension)=-2.408;
Xmax(1:dimension)= 2.408; Xmin(1:dimension)=-2.408;
end
%%三维显示粒子群运动变化%%
global Swarmscope;
Swarmscope = plot(00 ‘.‘);
axis([Xmin(1) Xmax(1) Xmin(2) Xmax(2) Xmin(3) Xmax(3)]); %初始轴的范围的设置
% axis square;
grid on;
set(Swarmscope‘EraseMode‘‘xor‘‘MarkerSize‘12); %设置用来显示粒子.
%%initial Position Velocity%%
Position=zeros(dimensionSize);%以后位置Position统一为此种记法:行 dimension;列 Size;
Velocity=zeros(dimensionSize);%每个粒子的位置、速度对应于一列。
[PositionVelocity]=initial_Position_Velocity(dimensionSizeXmaxXminVmaxVmin);
%%个体最优 P_p 和全局最优 globe 初始赋值%%
P_p=Position;globe=zeros(dimension1);
%%评价每个粒子适应值,寻找出 globle%%
for j=1:Size
Pos=Position(:j);
fz(j)=Fitness_Function(PosF_n);
end
[P_gI]=min(fz);%P_g 1*1 ?
globe=Position(:I);
%%打散参数设置%%
N_dismiss=51;%太小,不利于初始寻优
N_dismissed=0;%记录被打散的次数
deltaP_gg=0.001%种群过分收敛衡量标准值(适应度变化率)
% reset = 1; %设置reset = 1时指示粒子群过分收敛时将被打散,如果reset=0则不打散
reset_dismiss = 0;
%%迭代开始%%
for itrtn=1:Tmax
time(itrtn)=itrtn;
%%过于集中时打散%%
if reset_dismiss==1
bit=1;
if itrtn>N_dismiss
bit=bit&((P_gg(itrtn-1)-P_gg(itrtn-N_dismiss))/P_gg(itrtn-1)< deltaP_gg);
if bit==1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2006-05-15 13:17 benchmarks_test_pso\
文件 8119 2016-09-23 06:29 benchmarks_test_pso\PSOstandard_benchmarks_Test.m
- 上一篇:msp430循迹小车
- 下一篇:西北工业大学软件学院信号与系统实验第二章.doc
相关资源
- EPSON XP225 xp235 xp245打印机清零软件+教
- 编程实现二维DCT变换
- 图像二值化
- 用FFT对信号进行频谱分析
- Tone-Reservation
- QGA 量子遗传算法
- 差分形式的阻滞增长模型
- 遗传算法的M文件
- 爱普生(EPSON)L3151 3153 3156 3157 3158不
- 简单二阶互联系统的非线性动力学分
- 自适应粒子群优化算法及其应用
- EPSON打印机程序设计指南(ESC/POS指令
- epson 2020黑白激光打印机驱动 win7/win
- L111墨水恢复软件
- EPSON T50 x86 32bit v6.62 爱普生打印机简
- 手写数字识别-模板匹配法
- Stock_Watson_动态因子分析模型
- 果蝇优化算法优化支持向量回归程序
- 自己做的一个简单GUI扑克纸牌识别-
- 基于PSO优化BP神经网络的水质预测研究
- multi output SVR
- epson wf2750 64位 驱动
- AR过程的线性建模过程与各种功率谱估
- PCNN TOOLBOX
- plstoolbox.zip
- 基于Spark的PSO并行计算
- 中国国家基础地理信息系统GIS数据
- 粒子群微电网优化调度
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 微电网PSO优化算法
评论
共有 条评论