91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-07
  • 語言: 其他
  • 標簽: 遺傳算法??

資源簡介

改進的自適應交叉算子、變異算子,實現遺傳算法

資源截圖

代碼片段和文件信息

#include?
#include
#include
#include
#define?POPSIZE?500
#define?maximization?1
#define?minimization?2
#define?cmax?100
#define?cmin?0
#define?length1?10
#define?length2?10
#define?chromlength?length1+length2??//染色體長度
?int?functionmode=maximization;
?int?popsize;????????//種群大小
int?maxgeneration;??//最大世代數
?double?pc;??????????//交叉率
?double?pm;??????????//變異率
struct?individual
?????{
??????char??chrom[chromlength+1];
double?value;?????????
double?fitness;??????//適應度
};
int?generation;??????//世代數
int?best_index;
int?worst_index;
struct?individual?bestindividual;??//最佳個體
struct?individual?worstindividual;?//最差個體
struct?individual?currentbest;
struct?individual?population[POPSIZE];
//函數聲明???????????????????????????????????????
void?generateinitialpopulation();?????????????????
void?generatenextpopulation();
void?evaluatepopulation();
long?decodechromosome(char?*intint);
void?calculateobjectvalue();
void?calculatefitnessvalue();
void?findbestandworstindividual();
void?performevolution();
void?selectoperator();
void?crossoveroperator();
void?mutationoperator();
void?input();
void?outputtextreport();

void?generateinitialpopulation(?)??//種群初始化
{
int?ij;
for?(i=0;i {
for(j=0;j {
population[i].chrom[j]=(rand()%10<5)?‘0‘:‘1‘;
}
population[i].chrom[chromlength]=‘\0‘;
}
}
void?generatenextpopulation()??//生成下一代
{
selectoperator();
crossoveroperator();
mutationoperator();
}
void?evaluatepopulation()???//評價個體,求最佳個體
{
calculateobjectvalue();
calculatefitnessvalue();
findbestandworstindividual();
}
long?decodechromosome(char?*string?int?pointint?length)?//給染色體解碼
{
int?i;
long?decimal=0;
char*pointer;
for(i=0pointer=string+point;i if(*pointer-‘0‘)

{decimal?+=(long)pow(2i);
}
return?(decimal);

}
void?calculateobjectvalue()??//計算函數值
{
int?i;
long?temp1temp2;
????double?x1x2;

for?(i=0;?i {
?temp1=decodechromosome(population[i].chrom0length1);
?????????temp2=decodechromosome(population[i].chromlength1length2);
?????????x1=4.096*temp1/1023.0-2.048;
?????????x2=4.096*temp2/1023.0-2.048;
population[i].value=100*(x1*x1-x2)*?(x1*x1-x2)+(1-x1)*(1-x1);
}
}
void?calculatefitnessvalue()//計算適應度
{
int??i;
double?temp;
???for(i=0;i???{
?if(functionmode==maximization)
???{if((population[i].value+cmin)>0.0)
??{temp=cmin+population[i].value;}
?else
?{temp=0.0;
???}
???}
else?if?(functionmode==minimization)
?{
???if(population[i].value??????{temp=cmax-population[i].value;}
????else{?temp=0.0;}
}
population[i].fitness=temp;
}
}
void?findbestandworstindividual(?)?//求最佳個體和最差個體
{
int?i;
double?sum=0.0;

bestindividual=population[0];
worstindividual=population[0];

for?(i=1;i if?(population[i].fitness>bestindividual.fitness){
bestindividual=population[i];
best_inde

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6418??2010-11-26?09:19??genetic.cpp

-----------?---------??----------?-----??----

?????????????????6418????????????????????1


評論

共有 條評論