tspmutat.m
来自「其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載」· M 代码 · 共 29 行
M
29 行
% tspmutat.m
% Matlab function to mutate the k parents to generate k offsprings
%
function Poffspring = tspmutat(P)
[N k] = size(P);
for i = 1:k
% Get the start_pt and sect_length
start_pt = ceil(rand*N);
sect_length = ceil(rand*(N/2-1));
% Generate the start_pt and end_pt
if(start_pt + sect_length > N)
end_pt = start_pt;
start_pt = start_pt - sect_length + 1;
elseif(start_pt - sect_length < 1)
end_pt = start_pt + sect_length - 1;
else
if(rand > 0.5)
end_pt = start_pt + (sect_length - 1);
else
end_pt = start_pt;
start_pt = start_pt - (sect_length - 1);
end
end
Poffspring(:,i) = P([1:(start_pt-1) (end_pt:-1:start_pt) (end_pt+1:N)],i);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?