内容:
MATLAB,PSO物流选址源码程序,程序员在编程的过程中可以参考学习使用,希望对IT程序员有用,此源码程序简单易懂、方便阅读,有很好的学习价值!
% =====================================================================
% This is the subprogram of PSO algorithm, it is
% used to calculate the numbering of the particle.
% 此函数是用于对粒子编号。
%
%
%==========================================================================
function y=numbering(m,D,n,x);
[xs,xid]=sort(x');
xz=floor(x')+1;
xx=zeros(D,n);
for i=1:D
for j=1:2:n
if i<=D-m
xx(xid(i,j),j)=0;
elseif i>D-m
xx(xid(i,j),j)=i-(D-m);
end % x是按列看的,最后要转置的。
end
for j=2:2:n
if xz(i,j)>m
xx(i,j)=m;
elseif xz(i,j)<1
xx(i,j)=1;
else
xx(i,j)=xz(i,j);
end
end
end
xx=xx';
for i=1:2:n
for j=1:D
if xx(i,j)~=0
xx(i+1,j)=xx(i,j);
end
end
end
y=xx;