资源简介
简单的matlab版本的粒子群算法 可解决TSP问题 简单优化改进版本 fitness 和最后函数自己写 只给了主体函数 其余只有几行代码了 自力更生才学的会啊
代码片段和文件信息
function [xmfv] = SelPSO(fitnessNc1c2wMD)
format long;
%------初始化种群的个体------------
%x=[8276;9444;505;498;137;2989;5830;8439;1424;239;382;510;9852;8425;6159;165;8851;912;1932;933;5093;9814;542;429;6162;997;8055;5769;2315;2070;8560;985]
%N=32;
%D=32;
for i=1:N
for j=1:D
x(ij)=randn; %随机初始化位置
v(ij)=randn; %随机初始化速度
end
end
%------初始化Pi和Pg----------------------
for i=1:N
p(i)=fitness(x(i:));
y(i:)=x(i:);
end
pg = x(N:); %Pg为全局最优
for i=1:(N-1)
if fitness(x(i:))
pg=x(i:);
end
end
for t=1:M
for i=1:N
v(i:)=w*v(i:)+c1*rand*(y(i:)-x(i:))+c2*rand*(pg-x(i:));
x(i:)=x(i:)+v(i:);
fx(i) = fitness(x(i:));
if fx(i)
p(i)=fx(i);
y(i:)=x(i:);
end
if p(i)
pg=y(i:);
end
end
[sortfsortx] = sort(fx);%返回位置
exIndex = round((N-1)/2);
x(sortx((N-exIndex+1):N)) = x(sortx(1:exIndex));
v(sortx((N-exIndex+1):N)) = v(sortx(1:exIndex));
end
xm = pg‘;
fv = fitness(pg);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1306 2012-03-14 12:25 SelPSO.m
- 上一篇:用谐波叠加法仿真道路
- 下一篇:buck-boost的simuli
nk电路仿真图
相关资源
-
buck-boost的simuli
nk电路仿真图 - Matlab增量式PID算法仿真
- matlab 数据处理 求绝对误差 剔除粗
- 基于MATLAB的基带传输位同步信号提取
- 基于MATLAB的图像分割含GUI界面
- matlab写的GMM代码
- MATLAB ADOV 路由仿真代码
- turbo码的matlab仿真
- 基于BP神经网络的PID控制器的Matlab仿真
- matlab逻辑回归应用代码十分详细附数
- 各种滤波器程序 matlab
- AOA定位的扩展卡尔曼滤波定位算法M
- 对数极坐标变换matlab程序
- 地震波剖面图的形成matlab
- 倾斜界面求波的反透射系数matlab
- MATLAB课程设计报告
- 混沌logistic的matlab仿真
- L-K光流法matlab实现
- 利用bp神经网络实现0~9数字识别,
- 基于MATLAB的直接序列扩频通信系统误
- 潮流计算之前推回代法的matlab程序
- HHT MATLAB工具箱
- fft-piv矢量估计matlab代码
- 利用Matlab进行车辆检测与车型识别
- 压缩在感知之广义正交匹配追踪法G
- 压缩感知之分段正交匹配追踪法StOM
- 压缩感知之迭代硬阈值法IHT可直接运
- 导电煤质分界面平面的垂直入射的M
- 处理高密度椒盐噪声matlab代码
- matlab 相机标定工具箱
评论
共有 条评论