ImageVerifierCode 换一换
格式:DOCX , 页数:69 ,大小:29.39KB ,
资源ID:20674227      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20674227.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(TSP问题的程序Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

TSP问题的程序Word格式.docx

1、nn,:aa,bb=size(FARM);%交叉和变异while aaif nnn,:%保持种群规模为nfarm=FARM;clear FARMcounter=counter+1Rlength=myLength(D,R);function a,b=intercross(a,b)L=length(a);if L=rand&L10W=ceil(L/10);else W=floor(L/10);p=unidrnd(L-W+1);%随机选择交叉范围,从p到p+WW%交叉x=find(a=b(1,p+i-1);y=find(b=a(1,p+i-1);a(1,p+i-1),b(1,p+i-1)=excha

2、nge(a(1,p+i-1),b(1,p+i-1);a(1,x),b(1,y)=exchange(a(1,x),b(1,y); function x,y=exchange(x,y)temp=x;x=y;y=temp;% 计算路径的子程序function len=myLength(D,p)len=D(p(1,N),p(1,1);(N-1)len=len+D(p(1,i),p(1,i+1);%计算归一化适应值子程序function fitness=fit(len,m,maxlen,minlen)fitness=len;length(len)fitness(i,1)=(1-(len(i,1)-min

3、len)/(maxlen-minlen+0.000001).m;end 一个C+的程序:/c+的程序#includestdlib.htemplateclass Graphpublic:Graph(int vertices=10)n=vertices;e=0;Graph()virtual bool Add(int u,int v,const T& w)=0;virtual bool Delete(int u,int v)=0;virtual bool Exist(int u,int v)const=0;int Vertices()constreturn n;int Edges()constret

4、urn e;protected:int n;int e;class MGraph:public GraphMGraph(int Vertices=10,T noEdge=0);MGraph();bool Add(int u,int v,const T& w);bool Delete(int u,int v);bool Exist(int u,int v)const;void Floyd(T*& d,int*& path);void print(int Vertices);private:T NoEdge;T* a;MGraph:MGraph(int Vertices,T noEdge)n=Ve

5、rtices;NoEdge=noEdge;a=new T* n;for(int i=0;in;i+)ai=new Tn;aii=0;for(int j=0;jj+)if(i!=j)aij=NoEdge;MGraph()i+)deleteai;deletea;bool MGraphExist(int u,int v)constif(u0|vn-1|vn-1|u=v|auv=NoEdge)return false;return true;Add(int u,int v,const T& w)n-1|u=v|auv!=NoEdge)cerrBadInput!endl;return false;auv

6、=w;e+;delete(int u,int v)n-1|u=v|auv=NoEdge)auv=NoEdge;e-;void MGraphFloyd(T*& path)d=new T* n;path=new int* n;di=new Tn;pathi=new intn;j+)dij=aij;if(i!=j&aijNoEdge)pathij=i;else pathij=-1;for(int k=0;kk+)for(i=0;i+)j+)if(dik+dkjdij)dij=dik+dkj;pathij=pathkj;print(int Vertices)Vertices;cout ;if(j=Ve

7、rtices-1)coutvertices;float b(vertices,noEdge);请输入u,v,w:int u,v;float w;uvw;while(w!=noEdge)/u=u-1;b.Add(u-1,v-1,w);b.Add(v-1,u-1,w);b.print(vertices);int* Path;int*& path=Path;float* D;float*& d=D;b.Floyd(d,path);Pathijif(j=vertices-1)coutint *V;V=new intvertices+1;请输入任意一个初始H-圈:for(int n=0;n0&ji+1&

8、n-1)if(DViVj+DVi+1Vj+1DViVi+1+DVjVj+1)int l;l=Vi+1;Vi+1=Vj;Vj=l;float total=0;最小回路:Vi+1math.halloc.hconio.hfloat.htime.hgraphics.hbios.h#define maxpop 100#define maxstring 100struct ppunsigned char chrommaxstring;float x,fitness;unsigned int parent1,parent2,xsite;struct pp *oldpop,*newpop,*p1;unsign

9、ed int popsize,lchrom,gem,maxgen,co_min,jrand;unsigned int nmutation,ncross,jcross,maxpp,minpp,maxxy;float pcross,pmutation,sumfitness,avg,max,min,seed,maxold,oldrandmaxstring;unsigned char xmaxstring,ymaxstring;float *dd,ff,maxdd,refpd,fm201;FILE *fp,*fp1;float objfunc(float);void statistics();int

10、select();int flip(float);int crossover();void generation();void initialize();void report();float decode();void crtinit();void inversion();float random1();void randomize1();main()unsigned int gen,k,j,tt;char fname10;float ttt;clrscr();co_min=0;if(oldpop=(struct pp *)farmalloc(maxpop*sizeof(struct pp)

11、=NULL)printf(memory requst fail!nexit(0);if(dd=(float *)farmalloc(maxstring*maxstring*sizeof(float)=NULL)if(newpop=(struct pp *)farmalloc(maxpop*sizeof(struct pp)=NULL)if(p1=(struct pp *)farmalloc(sizeof(struct pp)=NULL)for(k=0;maxpop;k+) oldpopk.chrom0=0k+) newpopk.chrom0=printf(Enter Result Data F

12、ilename:gets(fname);if(fp=fopen(fname,w+)=NULL)cannot open filengen=0;randomize();initialize();fputs(this is result of the TSP problem:,fp);fprintf(fp,city: %2d psize: %3d Ref.TSP_path: %fn,lchrom,popsize,refpd);Pc: %f Pm: %f Seed:,pcross,pmutation,seed);X site:lchrom;k+)if(k%16)=0) fprintf(fp,%5d,x

13、k);n Y site:,yk);crtinit();statistics(oldpop);report(gen,oldpop);getch();maxold=min;fm0=100.0*oldpopmaxpp.x/ff;do gen=gen+1;generation();if(maxmaxold)maxold=max;fmgen%200=100.0*oldpopmaxpp.x/ff;gotoxy(30,25);ttt=clock()/18.2;tt=ttt/60;Run Clock: %2d: %4.2f,tt/60,tt%60,ttt-tt*60.0);Min=%6.4f Nm:%dn,m

14、in,co_min);while(genmax)max=popj.fitness;maxpp=j;if(popj.fitnessfor(k=0;oldpopminpp.chromk=newpopj.chromk;oldpopminpp.x=newpopj.x;oldpopminpp.fitness=newpopj.fitness;co_min+;return;if(newpopj+1.fitnessoldpopminpp.chromk=newpopj+1.chromk;oldpopminpp.x=newpopj+1.x;oldpopminpp.fitness=newpopj+1.fitness;j=j+2;while(jpopsize);/*%*/void initdata()unsigned int ch,j;-nA SGAn-n/*pause();*/clrscr();*SGA DATA ENTRY AND INITILIZATION *ninput pop sizescanf(%d,&input ch

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1