📄 tspmutat.m
字号:
% 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -