follow.m

来自「人工鱼群算法解决旅行商问题,这是在当前互联网上唯一的一个,这个是我自己编的,保证」· M 代码 · 共 26 行

M
26 行
字号
function [Xi,flag]=follow(X,N,Visual,deta,i,edge)%本程序是第i条人工鱼试图进行追尾行为,假如追尾成功,则flag 为1,X中为i鱼追尾后的状态,否则flag为0
Index=near(X,N,i,Visual);%第i条人工鱼的邻居下标
Xi=[];%默认它追尾失败
flag=0;
if(length(Index)==0)%它视野里看不到伙伴
       return;
end
bestY=1000;
beatj=0;
for j=1:length(Index)
      tY=evaluate(X(Index(j),:),edge);
        if(bestY>tY)
            bestY=tY;
            bestj=Index(j);
        end
end%至此找到第i条人工鱼邻域内状态最佳的邻居bestj
if(evaluate(X(i,:),edge)>bestY)
    Index=near(X,N,bestj,Visual);%第bestj条人工鱼的邻居下标
    nf=length(Index);
    if(nf/N<deta)              %追尾成功
        Xi=X(bestj,:);
        flag=1;
    end
end
        

⌨️ 快捷键说明

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