matlab量子化得遗传算法代码.doc

matlab量子化得遗传算法代码.doc

ID:57689152

大小:12.50 KB

页数:2页

时间:2020-09-01

matlab量子化得遗传算法代码.doc_第1页
matlab量子化得遗传算法代码.doc_第2页
资源描述:

《matlab量子化得遗传算法代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、clear;clccloseallNIND=40;%个体数目NVAR=2;%变量的维数PRECI=20;%变量的二进制位数GGAP=0.9;%代沟MP=10;%种群数目FieldD=[rep(PRECI,[1,NVAR]);[-3,4.1;12.1,5.8];rep([1;0;1;1],[1,NVAR])];%译码矩阵fori=1:MPChrom{i}=crtbp(NIND,NVAR*PRECI);%创建初始种群endpc=0.7+(0.9-0.7)*rand(MP,1);%在【0.7,0.9】范围i内随机产生交叉概率pm=0.001+(0.05-

2、0.001)*rand(MP,1);%在【0.001,0.05】范围内随机产生变异概率gen=0;%初始遗传代数gen0=0;%初始保持代数MAXGEN=10;%最优个体最少保持代数maxY=0;%最优值fori=1:MPObjV{i}=ObjectFunction(bs2rv(Chrom{i},FieldD));%计算各初始种群个体的目标函数值endMaxObjV=zeros(MP,1);%记录精华种群MaxChrom=zeros(MP,PRECI*NVAR);%记录精华种群的编码whilegen0<=MAXGENgen=gen+1;%遗传代数加

3、1fori=1:MPFitnV{i}=ranking(-ObjV{i});%各种群的适应度SelCh{i}=select('sus',Chrom{i},FitnV{i},GGAP);%选择操作SelCh{i}=recombin('xovsp',SelCh{i},pc(i));%交叉操作SelCh{i}=mut(SelCh{i},pm(i));%变异操作ObjVSel=ObjectFunction(bs2rv(SelCh{i},FieldD));%计算子代目标函数值[Chrom{i},ObjV{i}]=reins(Chrom{i},SelCh{i},

4、1,1,ObjV{i},ObjVSel);%重插入操作end[Chrom,ObjV]=immigrant(Chrom,ObjV);%移民操作[MaxObjV,MaxChrom]=EliteInduvidual(Chrom,ObjV,MaxObjV,MaxChrom);%人工选择精华种群YY(gen)=max(MaxObjV);%找出精华种群中最优的个体ifYY(gen)>maxY%判断当前优化值是否与前一次优化值相同maxY=YY(gen);%更新最优值gen0=0;elsegen0=gen0+1;%最优值保持次数加1endend%%进化过程图pl

5、ot(1:gen,YY)xlabel('进化代数')ylabel('最优解变化')title('进化过程')xlim([1,gen])%%输出最优解[Y,I]=max(MaxObjV);%找出精华种群中最优的个体X=(bs2rv(MaxChrom(I,:),FieldD));%最优个体的解码解disp(['最优值为:',num2str(Y)])disp(['对应的自变量取值:',num2str(X)])

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。