多种群遗传算法的函数优化算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多种群遗传算法的函数优化算法 多种群遗传算法的函数优化算法2010年12月15日星期三21:30【注】原帖网址:、案例背景 针对遗传算法所存在的问题,一种多种群遗传算法结构模型(Multiple Population GA,简称MPGA)可以用来取代常规的标准计算模型(SGA)。 MPGA在SGA的基础上主要引入了以下几个概念: (1)突破SGA仅靠单个群体进行遗传进化的框架,引入多个种群同时进行优化搜索;不同的种群赋以不同的控制参数,实现不同的搜索目的。 (2)各个种群之间通过移民算子进行联系,实现多种群的协同进化;最优解的获取是多个种群协同进化的综合结果。 (3)通过人工选择算子保存各种群每个进化代中的最优个体,并作为判断算法收敛的依据。 2、案例目录: 第7章多种群遗传算法的函数优化算法 7.1理论基础 7.1.1遗传算法早熟问题 7.1.2多种群遗传算法概述 7.2案例背景 7.2.1问题描述 7.2.2解决思路及步骤 7.3 MATLAB程序实现 7.3.1移民算子 7.3.2人工选择算子 7.3.3目标函数 7.3.4标准遗传算法主函数 7.3.5多种群遗传算法主函数 7.3.6结果分析 7.4延伸阅读 7.5参考文献 3、主程序: %%多种群遗传算法 clear; clc close all NIND=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])];%译码矩阵 for i=1:MP Chrom{i}=crtbp(NIND,NVAR*PRECI);%创建初始种群 end pc=0.7+(0.9-0.7)*rand(MP,1);%在【0.7,0.9】范围i内随机产生交叉概率 pm=0.001+(0.05-0.001)*rand(MP,1);%在【0.001,0.05】范围内随机产生变异概率 gen=0;%初始遗传代数 gen0=0;%初始保持代数 MAXGEN=10;%最优个体最少保持代数 maxY=0;%最优值 for i=1:MP ObjV{i}=ObjectFunction(bs2rv(Chrom{i},FieldD));%计算各初始种群个体的目标函数值 end MaxObjV=zeros(MP,1);%记录精华种群 MaxChrom=zeros(MP,PRECI*NVAR);%记录精华种群的编码 while gen0=MAXGEN gen=gen+1;%遗传代数加1 for i=1:MP FitnV{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},1,1,ObjV{i},ObjVSel);%重插入操作 end [Chrom,ObjV]=immigrant(Chrom,ObjV);%移民操作 [MaxObjV,MaxChrom]=EliteInduvidual(Chrom,ObjV,MaxObjV,MaxChrom);%人工选择精华种群 YY(gen)=max(MaxObjV);%找出精华种群中最优的个体 if YY(gen)maxY%判断当前优化值是否与前一次优化值相同 maxY=YY(gen);%更新最优值 gen0=0; else gen0=gen0+1;%最优值保持次数加1 end end %%进化过程图 plot(1:gen,YY) xlabel(进化代数) ylabel(最优解变化) title(进化过程) xlim([1,gen]) %%输出最优解 [Y,I]=max(MaxObjV);%找出精华种群中最优的个体 X=(bs2rv(MaxChrom(I,:),FieldD));%最优个体的解码解 disp([最优值为:,num2str(Y)]) disp([对应的自变量取值:,num2str(X)]) 4、运行结果: 标准遗传算法运行5次得到的结果图

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档