ga_linear_fit_scale.m
来自「书籍代码:遗传演算法原理与应用_活用MATLAB(Source Code)」· M 代码 · 共 25 行
M
25 行
% Linear fitness scaling
% Given cm, fitness, we find sfitness
function sfitness=GA_linear_fit_scale(fitness,cm)
if cm>=1.5 & cm<=3 % cm=1.5 to 3 is reasonable.
fave=mean(fitness);
fmax =max(fitness);
if abs(fmax-fave)>0.1
a=(cm-1)*fave/(fmax-fave); %formulae only
b=(1-a)*fave;
sfitness=a*fitness+b;
else
sfitness=fitness;
end;
else
sfitness=fitness;
end;
% if negative fitness, change it to positive.
I=find(sfitness<=0);
if ~isempty(I)
Minf=min(sfitness);
sfitness=sfitness-Minf; %Make sure all nonnegative
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?