1 / 8
文档名称:

遗传算法的实验报告.doc

格式:doc   大小:85KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

遗传算法的实验报告.doc

上传人:蓝天 2021/7/25 文件大小:85 KB

下载得到文件列表

遗传算法的实验报告.doc

相关文档

文档介绍

文档介绍:遗传算法的仿真
一 •实验目的
1•了解遗传算法的原理
2•学****Matlab遗传算法工具箱的使用
3•使用Matlab进行遗传算法的仿真
二•实验设备
计算机
Matlab 软件
三•实验内容和步骤
要求:计算目标函数值函数:f(x) = xsin(10^*x)+ xe [-1,2] o
1•建立目标函数文件。在Matlab命令窗口中,选择“ file ” “ new ”
— “M-file”,,然后在新建的窗口中输入如下内容: %目标函数
function y=ft(x) y=x.*sin(10*pi*x)+2;
2•分别建立相应的子函数文件。
计算适应度和累计概率函数
在 Matlab 命令窗口中,选择 “file" — “new" — “M-file",命名 ,然后在新建的窗口中输入如下内容: function [f,p]=objf(s)
%计算适应度函数
r=size(s); %读取种群大小
inn=r(l); %有 inn 个个体
bn=i•⑵; %个体长度为bn
for i=l:inn
x=n2tol0(s(i,:)); %将二进制转换为十进制
xx=-+x*3/(power(2,bn)-l); % 转化为[-1,2]区间的实数 f(i)=ft(xx); %计算函数值,即适应度
end
f=f';
%计算选择概率
fsum=0;
for i=l:inn
fsum=fsum+f(i)*f(i);
end
for i=l:inn
ps(i)=f(i)*f(i)/fsum;
%计算累积概率
p(l)=ps(l);
for i=2:inn
p(i)=p(i-l)+ps(i);
end
P=P'; end
选择操作函数
在 Matlab 命令窗口中,选择 “file” — “new” t “M-file”,命名 ,然后在新建的窗口中输入如下内容: function seln=sel(s,p) % "选择"操作
inn=size(p,l);
for i=l:2 %从种群中选择两个个体
r=rand; %产生一个随机数
prand=p-r;
j=l;
while prand(j)<0
j=j+l;
end
seln(i)=j; %选中个体的序号
end
交叉操作函数
在 Matlab 命令窗口中,选择“file” — “new” — “M-file”,命名 为
,然后在新建的窗口中输入如下内容: function scro=cro(s,seln,pc) % “交叉”操作 r=size(s);
inn=r(l);
bn=r ⑵;
pcc=pro(pc); %根据交叉概率决定是否进行交叉操作,1则是,0则
变异操作函数
在 Matlab 命令窗口中,选择“file” — “new” — “M-file”,命名 ,然后在新建的窗口中输入如下内容: function snnew=mut(snew,pm) % “变异”操作 r=size(snew);
bn=r(2);
snnew=snew;
pmm=pro(pm); %根据变异概率决定是否进行变异操作,1则