exchangeindex.m

来自「该程序是基于MATLAB环境的pso实现tsp问题」· M 代码 · 共 18 行

M
18
字号
function pgid_xid=ExchangeIndex(population,pgbest);
[x y]=size(population);
pgid_xid=zeros(x,y);
for i=1:y
    pop=pgbest(:,i);   			%从pgbest取出一个顺序
    pop1=population(:,i);  		%从粒子群中取出对应的顺序
    for j=1:x   			%从pgbest的顺序中取出一个序号
        NoFrompgbest=pop(j);
        for k=1:x   			%从对应的粒子顺序中取出一个序号
            NoFromPopulation=pop1(k);
            if (NoFrompgbest==NoFromPopulation) && (j~=k)  %两序号同且不在同一位置
               pgid_xid(j,i)=k;    		 %交换算子
               pop1(k)=pop1(j);
               pop1(j)=NoFromPopulation;
            end
         end
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?