2.4并行遗传算法消息传递实现的核心代码.docVIP

  • 6
  • 0
  • 约1.79万字
  • 约 16页
  • 2016-09-26 发布于天津
  • 举报

2.4并行遗传算法消息传递实现的核心代码.doc

2.4并行遗传算法消息传递实现的核心代码

2.4 ?并行遗传算法消息传递实现的核心代码 ??? 1)主程序代码 //接收各个从程序的最优个体 for(i=0;islave;i++) { MPI_Recv(Rchrom[i],chrom,MPI_UNSIGNED,MPI_ANY_SOURCE,gen,MPI_COMM_WORLD,status); } //计算接收各个从程序的最优个体的回路距离 for(i=0;islave;i++) { ??????? fitness[i]=0.0; ??????? for(int j=0;jchrom-1;j++) fitness[i]=fitness[i]+distance[Rchrom[i][j]][Rchrom [i][j+1]]; fitness[i]=fitness[i]+distance[Rchrom[i][0]][Rchrom [i][chrom-1]];??????????? } //找到最优的个体并把它记录到文件里 for(i=0;islave;i++) { if(1/fitness[i]min) { sign=i; min=1/fitness[i]; } } fwrite(gen,sizeof(int),1,out); for(i=0;ichrom;i++) fwrite(Rchrom[sign][i],sizeof(unsigned),1,out); fwrite(fitness[sign],sizeof(double),1,out); //每九代向从程序发送一个最优个体 if(gen%9==0) MPI_Bcast(Rchrom[sign],chrom,MPI_ UNSIGNED,0,MPI_COMM_WORLD); 2)从程序代码 //将上一代的最优个体传回主程序 MPI_Send(Rchrom1,chrom,MPI_UNSIGNED,0,gen,MPI_COMM_WORLD); //每九代接收一个最优个体并将其加入种群中替换掉最差个体 if(gen%9==0) { PI_Bcast(Rchrom2,chrom,MPI_UNSIGNED,0,MPI_COMM_WORLD); Tsp.IndiAlternate(Rchrom2); } //进行下一代的计算 Tsp.Aternate(); Tsp.Generation();???? Tsp.Statistics();???????? 大家来看看这个遗传算法程序C #include stdio.h #includegraphics.h #include math.h #include graph.c /* 全局变量 */ struct individual???????????????????????/* 个体*/ { unsigned *chrom;????????????????????/* 染色体 */ double???fitness;?????????????????? /* 个体适应度*/ double???varible;?????????????????? /* 个体对应的变量值*/??? ??? int??????xsite;?????????????????????/* 交叉位置 */ ??? int??????parent[2];?????????????????/* 父个体??*/ ??? int??????*utility;??????????????????/* 特定数据指针变量 */ }; struct bestever???????????????????????? /* 最佳个体*/ { ??? unsigned *chrom;????????????????????/* 最佳个体染色体*/ ??? double???fitness;?????????????????? /* 最佳个体适应度 */ ??? double???varible;?????????????????? /* 最佳个体对应的变量值 */ ??? int??????generation;??????????????? /* 最佳个体生成代 */ }; struct individual *oldpop;???????????? /* 当前代种群 */ struct individual *newpop;???????????? /* 新一代种群 */ struct bestever bestfit;???????????????/* 最佳个体 */ double sumfitness;?????????????????????/* 种群中个体适应度累计 */ double max;???????????????????????

文档评论(0)

1亿VIP精品文档

相关文档