mutation_1.asv

来自「PSO-ACO-TSP算法」· ASV 代码 · 共 20 行

ASV
20
字号
%mutation_1.m
% 函数功能: 按照惯性权值in_w,得到“变异”后新的序列
%   |-思想:产生一个随机数r1,若 r1 < in_w 则变异,否则不变
%   |- 变异:随机产生两个位置,交换对应的city编号
%变异策略1
function cnew=mutation_1(c0,n)
% 随机取两个位置 j1,j2
j1=ceil(n*rand);
j2=ceil(n*rand);
% 避免两位置相同,随机加上一个数,超出边界则修正为边界
if (j1 == j2)
    f_add = ceil(rand * n);
    j2 = j2 + f_add;
    if (j2 > n)
        j2 = j2/n;
    end
end
cnew=c0;
cnew(j1)=c0(j2);
cnew(j2)=c0(j1);

⌨️ 快捷键说明

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