1 / 13
文档名称:

遗传算法实验报告.doc

格式:doc   大小:3,012KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

遗传算法实验报告.doc

上传人:Alone-丁丁 2022/7/20 文件大小:2.94 MB

下载得到文件列表

遗传算法实验报告.doc

相关文档

文档介绍

文档介绍:遗传算法实验报告
遗传算法实验报告
专业:自动化 姓名:张俊峰 学号:13351067
摘要:遗传算法,是基于达尔文进化理论发展起来的一种应用广泛、高效的随机搜uble test_result;
while(test_num<=n)
{
cout<<"第"<<test_num<<"次迭代:"<<endl;
double sum_result=0;double pecentage[5]; //选择
for(int i=0;i<5;i++)
sum_result+=result[i];
for(int i=0;i<5;i++)
{
pecentage[i]=result[i]/sum_result;
}
double a;double arr1[5][4];
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
arr1[i][j]=arr[i][j];
for(int i=0;i<5;i++)
{
a=(rand()%100)*;
if(a<=pecentage[0])
for(int j=0;j<4;j++)
arr[i][j]=arr1[0][j];
if(a>pecentage[0]&&a<=(pecentage[0]+pecentage[1]))
for(int j=0;j<4;j++)
arr[i][j]=arr1[1][j];
if(a>(pecentage[0]+pecentage[1])&&a<=(pecentage[0]+pecentage[1]+pecentage[2]))
for(int j=0;j<4;j++)
arr[i][j]=arr1[2][j];
if(a>(pecentage[0]+pecentage[1]+pecentage[2])&&a<=(pecentage[0]+pecentage[1]+pecentage[2]+pecentage[3]))
for(int j=0;j<4;j++)
arr[i][j]=arr1[3][j];
if(a>(pecentage[0]+pecentage[1]+pecentage[2]+pecentage[3])&&a<=(pecentage[0]+pecentage[1]+pecentage[2]+pecentage[3]+pecentage[4]))
for(int j=0;j<4;j++)
arr[i][j]=arr1[4][j];
}
double mating_pecentage=;double mating[5];int num;double tend[4]={0}; //交配
for(int i=0;i<5;i++)
{
mating[i]=(rand()%100)*;
}
for(int i=0;i<5;i++)
{
if(mating[i]<=)
{
for(int k=i+1;k<5;k++)
{
if(mating[k]<=&&arr[i][0]!=arr[k][0])
{
num=rand()%3;
for(int l=num+1;l<4;l++)
tend[l]=arr[i][l];
for(int m=num+1;m<4;m++)
{
arr[i][m]=arr[k][m];
arr[k][m]=tend[m];
}
}
mating[k]=1;
break;
}
}
}
double variation[5][4]; //变异
for(int i=0;i<5;i++)
{
for(int j=0;j<4;j++)
variation[i][j]=(rand()%100)*;
}
for(int i=0;i<5;i++)
for(int j=0;j<4;j++)
if(variation[i][j]<)
arr[