資源簡介
%用遺傳算法進(jìn)行簡單函數(shù)的優(yōu)化
clear
bn=22; %個(gè)體串長度
inn=50; %初始種群大小
gnmax=200; %最大代數(shù)
pc=0.75; %交叉概率
pm=0.05; %變異概率
%產(chǎn)生初始種群
s=round(rand(inn,bn));
%計(jì)算適應(yīng)度,返回適應(yīng)度f和累積概率p
[f,p]=objf(s);
gn=1;
while gn<gnmax+1
for j=1:2:inn
%選擇操作
seln=sel(s,p);
%交叉操作
scro=cro(s,seln,pc);
scnew(j,:)=scro(1,:);
scnew(j+1,:)=scro(2,:);
%變異操作
smnew(j,:)=mut(scnew(j,:),pm);
smnew(j+1,:)=mut(scnew(j+1,:),pm);
end
s=smnew; %產(chǎn)生了新的種群
%計(jì)算新種群的適應(yīng)度
[f,p]=objf(s);
%記錄當(dāng)前代最好和平均的適應(yīng)度
[fmax,nmax]=max(f);
fmean=mean(f);
ymax(gn)=fmax;
ymean(gn)=fmean;
%記錄當(dāng)前代的最佳個(gè)體
x=n2to10(s(nmax,:));
xx=-1.0+x*3/(power(2,bn)-1);
xmax(gn)=xx;
gn=gn+1
end
gn=gn-1;
%繪制曲線
subplot(2,1,1);
plot(1:gn,[ymax;ymean]);
title('歷代適應(yīng)度變化','fonts',10);
legend('最大適應(yīng)度','平均適應(yīng)度');
string1=['最終適應(yīng)度',num2str(ymax(gn))];
gtext(string1);
subplot(2,1,2);
plot(1:gn,xmax,'r-');
legend('自變量');
string2=['最終自變量',num2str(xmax(gn))];
gtext(string2);

代碼片段和文件信息
%“交叉”操作
function?scro=cro(sselnpc);
[inn?bn]=size(s);
if?rand ???chb=ceil(rand*(bn-1));??%在[1bn-1]范圍內(nèi)隨機(jī)產(chǎn)生一個(gè)交叉位
???scro(1:)=[s(seln(1)1:chb)?s(seln(2)chb+1:bn)];
???scro(2:)=[s(seln(2)1:chb)?s(seln(1)chb+1:bn)];
else
???scro(1:)=s(seln(1):);
???scro(2:)=s(seln(2):);
end??
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????320??2009-09-10?16:46??Matlab?程序\cro.m
?????文件?????????52??2006-07-27?14:36??Matlab?程序\ft.m
?????文件???????3876??2009-09-10?16:43??Matlab?程序\ga.m
?????文件????8157696??2007-09-26?09:50??Matlab?程序\garunning.avi
?????文件???????1288??2003-05-06?14:58??Matlab?程序\init.mat
?????文件???????1179??2006-07-27?17:01??Matlab?程序\main.m
?????文件????????189??2009-09-10?16:46??Matlab?程序\mut.m
?????文件????????128??2006-07-27?14:33??Matlab?程序\n2to10.m
?????文件????????466??2009-09-10?16:45??Matlab?程序\objf.m
?????文件????????225??2006-07-27?14:32??Matlab?程序\sel.m
?????目錄??????????0??2009-10-26?17:56??Matlab?程序
-----------?---------??----------?-----??----
??????????????8165419????????????????????11
- 上一篇:wave_vorticity.m
- 下一篇:兩個(gè)三維圖像互信息計(jì)算
評(píng)論
共有 條評(píng)論