好文档 - 专业文书写作范文服务资料分享网站

遗传算法求函数极值

天下 分享 时间: 加入收藏 我要投稿 点赞

.

int strat,end;//区间 int Num;//编码大小 float cross=0.8;//交叉概率 float aberrance = 0.04;//变异概率 int key=1;

cout<<\请输入求解区间:\cin>>strat>>end;

Num=hwj_coding(strat,end); cout<<\

// cout<<\ hwj_initial_population(Num);

// cout<<\初始种群-----------------\/* for(int i=0;i

for(int j=0;j

cout<

} */

while(key!=GENE_NUMBER){ hwj_fitness(Num);

}

cout<

// cout<<\适应度-----------------\

.

// for(int i=0;i

hwj_choose();

cout<

// cout<<\被选择的个体-----------------\/* for(int i=0;i

for(int j=0;j

cout<

} */

hwj_cross(Num,cross);

}

cout<

/* cout<<\交叉后的种群-----------------\

for(int i=0;i

for(int j=0;j

cout<

} */

hwj_aberrance(Num,aberrance);

}

cout<

.

/* cout<<\变异后的种群-----------------\

for(int i=0;i

for(int j=0;j

cout<

int hwj_coding(int start,int end){//种群编码

float precision; int temp=2; int sum; int N=1;

cout<<\最大值是对应的x值是:\cout<

cout<<\最大值为:\return 0; } */ key++; }

hwj_max(Num); }

cout<

.

cout<<\请输入精度范围:\cin>>precision; if(precision==0){

cout<<\对不起精度不能为零:\ return 0; } else{

sum=(end-start)/precision; cout<<\while(temp

temp*=2;

N++; }

}

} return N;

void hwj_initial_population(int num){//生成初始种群

srand(time(NULL));

for(int i=0;i

for(int j=0;j

Unit[i][j]=rand()%2;

.

}

}

void hwj_fitness(int num){//计算适应度

float sum; int temp;

for(int i=0;i

temp=1; sum=0.0;

for(int j=num-1;j>=0;j--){ }

sum+=Unit[i][j]*temp; temp*=2.0;

Fitness[i]=sum*3/(temp-1.0)-1.0;

// cout<

// cout<<\

Fitness[i]=Fitness[i]*sin(10*3.1415926*Fitness[i])+2.0;

// cout<

int hwj_binary_search(int l,int r,float temp){

for(int i=0;i

if(temp<=accumula_probability[i]&&temp>accumula_probability[i-1]){ }

遗传算法求函数极值

.intstrat,end;//区间intNum;//编码大小floatcross=0.8;//交叉概率floataberrance=0.04;//变异概率intkey=1;cout<>strat>>end;Num=hwj_coding(strat,end);
推荐度:
点击下载文档文档为doc格式
0ypce235jb3gyk618jsm0fvam2gysn007bk
领取福利

微信扫码领取福利

微信扫码分享