投影寻踪遗传算法matlab程序.docxVIP

  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文档。上传文档
查看更多
clc clear close all Alpha=0.1; X=load( d:\data.txt ); for k=1:21 eval(spri ntf( syms a%d ,k)); end a=[a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a 20,a21]; [n ,p]=size(X); x=zeros( n,p); Xjmax=max(X); Xjmi n=mi n( X); for i=1: n x(i,:)=(X(i,:)-Xjmi n)./(Xjmax-Xjmi n); end %构造投影指标 for i=1: n Z(i)=sum(a.*x(i,:)); end % 计算投影指标函数 mean Z=mea n( Z); Sa=0; for k=1: n sa=(Z(i)-mea nZ)42; Sa=Sa+sa; Sa=sqrt(Sa/n); end R=Alpha*Sa; Da=0; for k=1: n rik=abs(Z(i)-Z(k)); %if Rrik Da=Da+rik; %e nd end Qa=Sa*Da; %选择操作 fun cti on ret =select(i ndividuals,sizepop) in dividuals.fit ness=1./(i ndividuals.fit ness); sumfit ness=sum(i ndividuals.fit ness); sumf= in dividuals./fit ness; in dex=[]; for i =1:sizepop pick=ra nd; while pick==0 pick=ra nd; end for j =1:sizepop pick =pick-sumf(j); if pick0 in dex=[i ndex j]; break ; end end end in divlduals.chrom=in divuduals.chrom(i ndex,:); in dividuals.fit ness=in dividuals.fit ness(i ndex); ret=i ndividuals; %交叉操作 fun cti on ret=Cross(pcross,le nchrom,chrom,sizepop,bou nd) for i=1:sizepop pick = ran d(1,2); while prod(pick)==0 pick=ra nd(1,2); end in dex=ceil(pick.*sizepop); pick=ra nd; while pick==0 pick=ra nd; end if pickpcross con ti nue ; end flag=0; while flag==O pick=ra nd; while pick==0 pick=ra nd; end pos=ceil(pick.*sum(le nchrom)); pick=ra nd; v1=chrom(i ndex(1),pos); v2=chrom(i ndex(2),pos); chrom(i ndex(1),pos)=pick*v2+(1-pick)*v1; chrom(i ndex(2),pos)=pick*v1+(1-pick)*v2; flag仁test(le nchrom,bou nd,chrom(i ndex(1),:),fcode); flag2=test(le nchrom,bou nd,chrom(i ndex(2),:),fcode); if flag1*flag2==0 flag=0; else flag=1; end end end ret= chrom; %变异操作 fun cti on ret=Mutati on( pmutati on ,le nchrom,chrom,sizepoppop,bou nd) pick=ra nd; while pick==0 pick=ra nd; end in dex=ceil(pick*sizepop); pick=ra nd; if pickpmutati on con ti nue ; end flag=0; while flag==0 pick =rand; while pick==0 pick=ra nd; end pos=ceil(pick*sum(le nchrom)); v=chrom(i,pos); v1=v-bou nd(pos,1); v2=bou nd(pos,2)-v; pick=ra nd; if pick0.5 d

文档评论(0)

wumanduo11 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档