coranamin.m
来自「根据解空间的维数可以将优化问题分为一维空间优化和多元优化问题。本程序以求函数:f」· M 代码 · 共 25 行
M
25 行
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 + =
减小字号Ctrl + -
显示快捷键?