⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coranamin.m

📁 根据解空间的维数可以将优化问题分为一维空间优化和多元优化问题。本程序以求函数:f(x)=x+10*sin(5x)+7*cos(4x),0=<x<=9为例说明遗传算法的源程序
💻 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 + -