📄 mutation.asv
字号:
function ret=Mutation(pmutation,chrom,sizepop,pop,bound)
%变异函数
for i=1:sizepop
% 随即选择变异个体
pick=rand;
% while pick==0
% pick=rand;
% end
index=ceil(pick*sizepop);
pick=rand;
if pick>pmutation
continue;
end
% 随即产生变异位置
pick=rand;
% while pick==0
% pick=rand;
% end
pos=ceil(pick*7);
v=chrom(i,pos);
v1=v-bound(pos,1);
v2=bound(pos,2)-v;
pick=rand;
if pick>0.5
delta=v2*(1-pick^((1-pop(1)/pop(2))^2));%???
chrom(i,pos)=v+delta;
else
delta=v1*(1-pick^((1-pop(1)/pop(2))^2));
chrom(i,pos)=v-delta;
end
end
ret=chrom;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -