导航:首页 > 源码编译 > 遗传算法怎样出图

遗传算法怎样出图

发布时间:2023-07-18 18:26:19

‘壹’ 遗传算法流程图

首先你的这个问题没有什么意义,明显x=31的时候y最大嘛。。。

%定义遗传算法参数
NIND=40; %个体数目(Number of indivials)
MAXGEN=25; %最大遗传代数(Maximum number of generations)
PRECI=20; %变量的二进制位数(Precision of variables)
GGAP=0.9; %代沟(Generation gap)
trace=zeros(2, MAXGEN); %寻优结果的初始值
FieldD=[20;0;31;1;0;1;1]; %区域描述器(Build field descriptor)
Chrom=crtbp(NIND, PRECI); %初始种群
gen=0; %代计数器
variable=bs2rv(Chrom, FieldD); %计算初始种群的十进制转换
ObjV=variable.*variable; %计算目标函数值
while gen<MAXGEN
FitnV=ranking(-ObjV); %分配适应度值(Assign fitness values)
SelCh=select('sus', Chrom, FitnV, GGAP); %选择
SelCh=recombin('xovsp', SelCh, 0.7); %重组
SelCh=mut(SelCh); %变异
variable=bs2rv(SelCh, FieldD); %子代个体的十进制转换
ObjVSel=variable.*variable; %计算子代的目标函数值
[Chrom ObjV]=reins(Chrom, SelCh, 1, 1, ObjV, ObjVSel); %重插入子代的新种群
variable=bs2rv(Chrom, FieldD);
gen=gen+1; %代计数器增加
%输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群的序号
[Y, I]=max(ObjV);hold on;
plot(variable(I), Y, 'bo');
trace(1, gen)=max(ObjV); %遗传算法性能跟踪
trace(2, gen)=sum(ObjV)/length(ObjV);
end
variable=bs2rv(Chrom, FieldD); %最优个体的十进制转换
hold on, grid;
plot(variable,ObjV,'b*');
figure(2);
plot(trace(1,:));
hold on;
plot(trace(2,:),'-.');grid
legend('解的变化','种群均值的变化')

上面是这个问题的MATLAB程序,你自己研究一下吧
运行的时候需要MATLAB遗传算法工具箱

‘贰’ Visio怎样绘制遗传算法原理图

在文本工具旁有个“绘图工具”----点选里面的铅笔工具(ctrl+4),按住shift,可以画出圆弧。(需要练习一下,因为很容易画出直线。个人经验是按住shift,鼠标快速滑出圆弧后,再调整圆弧大小。)

‘叁’ MATLAB如何画遗传算法,

目前的MATLAB都直接集成了遗传算法工具箱,你可以直接在cmd窗口打:gatool,就出来一个GUI界面,自己填写上面的参数,直接运行就可以了,可以多种图形,也是可选的,还可以选择在File中的generate code,产生m代码,你可以根据自己的需求修改代码,画自己想要的图形。

‘肆’ 关于遗传算法

遗传算法(Genetic Algorithm,简称GA)是美国 Michigan大学的 John Golland提出的一种建立在自然选择和群体遗传学机理基础上的随机、迭代、进化、具有广泛适用性的搜索方法。现在已被广泛用于学习、优化、自适应等问题中。图4-1 给出了 GA搜索过程的直观描述。图中曲线对应一个具有复杂搜索空间(多峰空间)的问题。纵坐标表示适应度函数(目标函数),其值越大相应的解越优。横坐标表示搜索点。显然,用解析方法求解该目标函数是困难的。采用 GA时,首先随机挑选若干个搜索点,然后分别从这些搜索点开始并行搜索。在搜索过程中,仅靠适应度来反复指导和执行 GA 搜索。在经过若干代的进化后,搜索点后都具有较高的适应度并接近最优解。

一个简单GA由复制、杂交和变异三个遗传算子组成:

图4-2 常规遗传算法流程图

‘伍’ 遗传算法工具箱中怎么画出遗传代数与优化变量的关系图

将下属两个目标函数分别保存在两个m文件中functionf1=func1(x)%第一目标函数f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;functionf2=func2(x)%第二目标函数f2=x(:,1).*(1-x(:,2))+10;functionGA()clear;clc;closeallNIND=100;%个体数目MAXGEN=50;%最大遗传代数NVAR=2;%变量个数PRECI=20;%变量的二进制位数GGAP=0.9;%代沟trace1=[];trace2=[];trace3=[];%性能跟踪%建立区域描述器%rep([PRECI],[1,NVAR])FieldD=[rep([PRECI],[1,NVAR]);rep([1;2],[1,NVAR]);rep([1;0;1;1],[1,NVAR])];Chrom=crtbp(NIND,NVAR*PRECI);%初始种群v=bs2rv(Chrom,FieldD);%初始种群十进制转换gen=1;whilegen

阅读全文

与遗传算法怎样出图相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:142
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:732
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163