资源简介
粒子群算法(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
相关资源
- 3种不同语言的BP算法
- FIR滤波器设计
- 三维装箱问题程序
- 梯级水库优化调度pso算法
- 算法测试基准函数
- 忆阻神经网络实验
- 粒子群算法求16个经典函数的最小最大
- 带有电压恢复补偿功能的直流微电网
- Kennedy J Eberhart R. Particle Swarm Optimizat
- 自回归滑动平均模型
- 点云数据ply格式
- 基于改进PSO算法的最大熵阈值图像分
- Epson me 85ND清零软件
- 直接序列扩频信号的keystone变换捕获
- 大量-小波变换源程序
- pso分布式电源无功优化
- qttcpsocket传送结构体
- 数值计算 函数逼近与曲线拟合 复化梯
- SysML and Rhapsody WhitePape
- PSO算法的最大熵阈值图像分割
- 在vrep环境下的人工势场法仿真
- 5次B样条曲线.rar
- MTD雷达信号处理
- libsvm工具包含网格法查找最优解函数
- libsvm工具包含网格法查找最优解函数
- libsvm工具包含网格法查找最优解函数
- QTcpServer实现多客户端连接
- 基于灰度共生矩阵的图像匹配算法
- 完整的QPSK-MSK-QAM-OFDM调制解调m程序.
- 防侧翻控制系统模型 SUV仿真
评论
共有 条评论