📄 coranamin1.m
字号:
function[eval]=corana(sol)
numv=size(sol,2);
x=sol(1:numv);
d0=[1 1000 10 100 1 10 100 1000 1 10];
d=d0(1:numv);
c=0.15;
s=.2*ones(1,numv);
t=0.05*ones(1,numv);
bk=s.*(round(x./s));
dev=(abs(bk-x)<t)&(bk~=0);
z=c*((bk+sign(bk).*t).^2).*d;
y=x.^2.*d;
eval=sum((dev.*z)+((~dev).*y));
function[sol,eval]=coranaMin(sol,options)
numVar=size(sol,2)-1;
eval=corana(sol(1:numVar));
eval=-eval;
bounds=ones(4,1)*[-10000 10000];
[p,endPop,bestSols,trace]=ga(bounds,'coranaMin');
plot(trace(:,1),trace(:,3),'y-')
hold on
plot(trace(:,1),trace(:,2),'r-')
xlabel('Generation');
ylabel('Fittness');
legend('解的变化','种群平均值的变化');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -