%郭涛算法_多父体杂交算法和郭涛算法_精英多父体杂交算法.doc

%郭涛算法_多父体杂交算法和郭涛算法_精英多父体杂交算法.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
%郭涛算法_多父体杂交算法和郭涛算法_精英多父体杂交算法

%郭涛算法_多父体杂交算法和郭涛算法_精英多父体杂交算法分别20次数值实验,并给出平均时间 clear all; N=50;%初始个体个数 M=8; n=1;%论域维数,可修改,用循环做 eps=1e-6;%精度 upper=10;lower=-10;%论域范围 drop=upper-lower; %郭涛算法_多父体杂交算法 minP0=zeros(20,n);minQ0=zeros(20,1); minFrequency0=zeros(20,1);minTimes0=zeros(20,1); for i=1:20 ??? [minP0(i,:),minQ0(i),minFrequency0(i),minTimes0(i)]=GT(N,M,n,upper,lower,eps); end %对minP、minQ、minFrequency按minQ从小到打排序 tempP=zeros(20,n);tempFrequency=zeros(20,1); [X,I]=sort(minQ0); for r=1:20 ??? tempP(r,:)=minP0(I(r),:); ??? tempFrequency(r)=minFrequency0(I(r)); end minP0=tempP;minQ0=X;minFrequency0=tempFrequency; averageTime0=sum(minTimes0)/20; averageFrequency0=sum(minFrequency0)/20; %郭涛算法_精英多父体杂交算法 minP1=zeros(20,n);minQ1=zeros(20,1); minFrequency1=zeros(20,1);minTimes1=zeros(20,1); for i=1:20 ??? [minP1(i,:),minQ1(i),minFrequency1(i),minTimes1(i)]=GT_GYZJ(N,M,n,upper,lower,eps); end %对minP、minQ、minFrequency按minQ从小到打排序 tempP=zeros(20,n);tempFrequency=zeros(20,1); [X,I]=sort(minQ1); for r=1:20 ??? tempP(r,:)=minP1(I(r),:); ??? tempFrequency(r)=minFrequency1(I(r)); end minP1=tempP;minQ1=X;minFrequency1=tempFrequency; averageTime1=sum(minTimes1)/20; averageFrequency1=sum(minFrequency1)/20; %郭涛算法_多父体杂交算法 function [P_Best,Best,Frequency,Time]=GT(N,M,n,upper,lower,eps) if nargin6 ??? disp(输入参数错误); ??? return; elseif nargout4 ??? disp(输出参数错误); ??? return; end ??? drop=upper-lower;%若各个分量上下界不同,可以用数组来代替 P=zeros(N,n);%存放初始N个个体,每个个体有n个基因位 Q=zeros(N,1);%存放P中个体对应函数值 Frequency =0;%当前比较次数 tic %生成初始群体P for s=1:n ??? P(:,s)=drop*rand(N,1)+lower; end %生成初始群体P对应的函数值 for r=1:N ??? Q(r)=f(P(r,:)); end [Best,BestIndex]=min(Q);[Worst,WorstIndex]=max(Q); %以下为郭涛算法主体循环部分 A=zeros(1,M);B=zeros(1,M); while Worst-Besteps ??? Frequency=Frequency +1; ??? %从P中选M个个体生成空间V,其下标存放于A中 ??? A=floor(rand(1,M)*(N-1))+1; ??? %生成Xson的各个组合系数(待检测) ??? sum=0;minbound=-0.5;maxbound=1.5; ??? for r=1:M-1 ??????? B(r)=(maxbound-minbound)*rand(1)+minbound; ??????? sum=sum+B(r); ??????? maxbound=min(1.5,1.5-sum); ??????? minbound=max(-0.5,-0.5-sum); ???

文档评论(0)

118fendou + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档