mutation.m

来自「基本遗传算法求解TSP问题」· M 代码 · 共 12 行

M
12
字号
function [gt]=mutation(gt,pm) %均匀变异
%每条染色体获得的变异概率是均等的  随机产生两点进行交换
[m,n]=size(gt);
ran=rand(1,m);  % 给每条染色体随机分配一个0-1均匀分布的数
[x,mu]=find(ran<pm);   % 确定哪些染色体要变异
for k=1:length(mu)
    position=rand(1,2)*n;
    position=ceil(position);
    var=gt(mu(k),position(1));
    gt(mu(k),position(1))=gt(mu(k),position(2));
    gt(mu(k),position(2))=var;
end

⌨️ 快捷键说明

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