mutation.m
来自「matlab求解TSP问题源代码」· M 代码 · 共 18 行
M
18 行
function newpop=mutation(pop,pmut,popsize,citysize)
k=1;
temp=0;
while k<=popsize
rk=rand();
if rk<pmut
pos1=1;
pos2=1;
while pos1==pos2
pos1=fix(rand()*citysize-1)+1; %随机产生第一个变异点
pos2=fix(rand()*citysize-1)+1; %随机产生第二个变异点
end
temp=pop(k,pos1:pos2);
pop(k,pos1:pos2)=fliplr(temp);
end
k=k+1;
end
newpop=pop;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?