亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sga.c

?? 7121遺傳算法程序
?? C
字號:
//Simple Genetic Algorithm 
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h>
// The Definition of Constant 
#define POPSIZE 500 // population size 
#define MAXIMIZATION 1 // maximization flag 
#define MINIMIZATION 2 // minimization flag 
// The Definition of User Data 
// (For different problem, there are some difference. ) 
#define Cmax 100 // certain maximal value 
#define Cmin 0 // certain minimum value
#define LENGTH1 10 //the chromosome length of 1st variable
#define LENGTH2 10 //the chromosome length of 2nd variable
#define CHROMLENGTH LENGTH1+LENGTH2 //total length of chromosome
int FunctionMode=MAXIMIZATION //optimization type
int PopSize =80; //population size
int MaxGeneration=200; // max number of generation 
double Pc=0.6; //probability of crossover
double Pm=0.001; //probability of mutation 

// The Definition d Data Structure 
struct individual // data structure of individual
{
char chrom[ CHROMLENGTH + 1 ]; // a string of code representing individual
double value; // object value of this individual
double fitness; // fitness value of this individual
}; 
// The Definition of Global Variables
int generation; // number of generation 
int best_index; // index of best individual 
int worst_ index; // index of worst individual
struct individual bestindividual; //best individual of current gentration
struct individual worstindividual; //worst individual of current gentration
struct individual currentbest; //best individual by now 
struct individual population[POPSIZE]; //population

//Declaration of Prototype 
void GeneratelnitialPopulation (void); 
void GenerateNextPopulation (void); 
void EvaluatePopulation (void); 
long DecodeChromosome (char *, int, int);
void CalculateObjectValue(void); 
void CalculateFitnessValue(void); 
void FindBestAndWorstlndividual (void); 
void PerformEvolution (void); 
void SelectionOperator (void); 
void CrossoverOperator (void); 
void MutationOperator (void); 
void OutputTextReport (void); 

// main program . 
void main ( )
{
generation = 0;
GenerateInitialPopulation();
EvaluatePopulation();
While(generation<MaxGeneration)
{
generation++;
GenerateNextPopulation();
EvaluatePopulation();
PerformEvoluation();
OutputTxtReport();
}
}

void GnerateInitialPopulation (void)
{
int i,j;
randomize( );
for (i = 0; i< PopSize; i ++)
{
for (i = 0; j < CHROMLENGTH; j++)
{
population [ i ] . chrom [ j ]=(random(10)<5)? '0': '1';
}
population [i].chrom [ CHROMLENGTH]='\0';
}
}

void GenerateNextPopulation (void) 
{
SelectionOperator ( ); 
CrossoverOperator ( ); 
MutationOperator ();
}

void EvaluatePopulation (void)
{ CalculateObjectValue ( ); // calculate object value 
CalculateFitnessValue (); // calculate fitness value 
FindBestAndWorstlndividual(); // find the best and worst individual 
}

DecodeChrnmosome (char * string, int point, int length)
{
int i;
long decimal=0L;
char * pointer;
for( i = 0, pointer = string + point; i < length; i + +,pointer++)
{
decimal + = (*pointer- '0' )< < (length-1-i); 
}
return (decimal);
}

//this example is dealing with Rosenbrock function.
//it is defined as:
//f(x1,x2)=100*(x1*x1-x2)*(x1*x1-x2)+(1-x1)*(1-x1)
void CalculateObjectValue()
{
int i;
long temp1,temp2;
double x1,x2;
//Rosenbrock function
for(i=0;i<PopSize;i++)
{
temp1=DecodeChromosome(population[i].chrom,0,LENGTH1);
temp2=DecodeChromosome(population[i].chrom,LENGTH1,LENGTH2);
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<PopSize;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<Cmax)
{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<PopSize;i++)
{
if(population[i].fitness>bestindividual.fitness)
{
bestindividual=population[i];
best_index=i;
}
else if(population[i].fitness<worstindividual.fitness)
{
worstindividual=population[i];
worst_index=i;
}
sum+=population[i].fitness;
}
if(generation==0)
{
currentbest=bestindividual;
}
else
{
if(bestindividual.fitness>currentbest.fitness) currentbest=bestindividual;
}
}


void PerformEvolution()
{
if(bestindividual.fitness>currentbest.fitness) currentbest=population[best_index];
else population[worst_index]=currentbest;
}

void SelectionOperator
{
int i,index;
double p,sum=0.0;
double cfitness[POPSIZE];//cumulative fitness value
struct individual newpopulation[POPSIZE];

//calculate relative fitness
for(i=0;i<PopSize;i++) sum+=population[i].fitness;
for(i=0;i<PopSize;i++) cfitness[i]=population[i].fitness/sum;
for(i=0;i<PopSize;i++) cfitness[i]=cfitness[i-1]+cfitness[i];
for(i=0;i<PopSize;i++) 
{
p=rand()%1000/1000.0;
index=0;
while(p>cfitness[index]) index++;
newpopulation[i]=population[index];
} 
for(i=0;i<PopSize;i++) population[i]=newpopulation[i];
}


void CrossoverOperator()
{
int i,j;
int index[POPSIZE];
int point,temp;
double p;
char ch;

for(i=0;i<PopSize;i++) index[i]=i;
for(i=0;i<PopSize;i++) 
{
point=random(PopSize-i);
temp=index[i];
index[i]=index[point+i];
index[point+i]=temp;
}

for(i=0;i<PopSize-1;i+=2)
{
p=rand()%1000/1000.0;
if(p<Pc)
{
point=random(CHROMLENGTH-1)+1;
for(j=point;j<CHROMLENGTH;j++)
{
ch=population[index[i]].chrom[j];
population[index[i]].chrom[j]=population[index[i+1]].chrom[j];
population[index[i+1]].chrom[j]=ch; 
}
}
}
}


void MutationOperator()
{
int i,j;
double p;
for(i=0;i<PopSize;i++)
{
for(j=0;j<CHROMLENGTH;j++)
{
p=rand()%1000/1000.0;
if(p<Pm) population[i].chrom[j]=(population[i].chrom[j]=='0')?'1':'0';
}
}
}

void OutputTextReport()
{
int i;
double sum;
double average;
sum=0.0;
for(i=0;i<PopSize;i++) sum+=population[i].value;
average=sum/PopSize;

printf("gen=%d,avg=%f,best=%f,",generation,average,currentbest.value);
printf("chromosome=");
for(i=0;i<CHROMOLENGTH;i++) printf("%c",currentbest,chrom[i]);
printf("\n");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久久免费一区二区| 亚洲综合久久av| 国产精品影视在线观看| 精品久久久久一区| 国产成人一区二区精品非洲| 欧美一区二区三区色| 青青草91视频| www亚洲一区| 成人免费毛片a| 有坂深雪av一区二区精品| 欧美日韩国产一级二级| 六月丁香综合在线视频| 国产拍欧美日韩视频二区| 丁香天五香天堂综合| 亚洲视频在线一区| 欧美美女直播网站| 精久久久久久久久久久| 国产精品天天看| 色综合天天做天天爱| 偷拍与自拍一区| 2024国产精品视频| 色一情一乱一乱一91av| 日韩成人免费在线| 国产精品久久福利| 欧美日韩不卡一区二区| 国产精品综合av一区二区国产馆| 久久精品无码一区二区三区| 不卡一区二区在线| 日本中文在线一区| 国产精品麻豆视频| 91精品欧美一区二区三区综合在| 国产一区二区主播在线| 中文字幕一区不卡| 欧美一区二区三区色| 成人午夜视频福利| 日韩av一区二区三区| 国产精品人妖ts系列视频| 欧美唯美清纯偷拍| 国产成+人+日韩+欧美+亚洲| 五月综合激情日本mⅴ| 中文字幕免费观看一区| 欧美蜜桃一区二区三区| 成人av动漫网站| 美国三级日本三级久久99| 亚洲精品日韩综合观看成人91| 日韩精品综合一本久道在线视频| 91亚洲精品久久久蜜桃网站| 激情深爱一区二区| 视频在线观看国产精品| 综合激情网...| 国产亚洲一区二区三区在线观看| 欧美日韩二区三区| 色婷婷香蕉在线一区二区| 国产麻豆精品theporn| 无吗不卡中文字幕| 亚洲一区二区不卡免费| 中文字幕成人在线观看| 欧美精品一区视频| 欧美精品123区| 欧美色图免费看| 97se亚洲国产综合自在线| 久久福利资源站| 奇米888四色在线精品| 亚洲在线视频免费观看| 亚洲视频图片小说| 中文字幕精品一区二区精品绿巨人 | 国产尤物一区二区在线| 日韩精品一区第一页| 亚洲一区二区三区中文字幕在线 | 97精品国产97久久久久久久久久久久| 久久99精品国产麻豆婷婷洗澡| 亚洲超碰97人人做人人爱| 国产精品久久久久久户外露出| 欧美高清在线精品一区| 26uuu亚洲综合色欧美 | 9191成人精品久久| 欧美日韩国产天堂| 在线不卡一区二区| 欧美日韩国产a| 欧美三级韩国三级日本三斤 | 欧美日本国产视频| 欧美日本精品一区二区三区| 欧美区一区二区三区| 欧美二区三区的天堂| 欧美日韩一区二区三区在线| 欧美日韩一级视频| 欧美日韩精品三区| 日韩一区二区三区电影| 欧美一区二区福利在线| 精品国产第一区二区三区观看体验| 欧美一区三区四区| 精品乱码亚洲一区二区不卡| 精品91自产拍在线观看一区| 久久久天堂av| 国产精品三级在线观看| 亚洲色图在线视频| 亚洲成人资源网| 久久精品国产精品亚洲精品| 国产精品一二三四| 99久久久国产精品免费蜜臀| 欧美午夜不卡视频| 日韩精品一区二区三区中文不卡| 精品国产乱码久久久久久浪潮 | 九九九久久久精品| 成人性色生活片| 精品视频在线免费观看| 制服.丝袜.亚洲.中文.综合| 亚洲精品在线观看视频| 国产精品丝袜久久久久久app| 亚洲欧美国产毛片在线| 日韩一区精品视频| 成人三级伦理片| 欧美午夜一区二区| 日韩精品一区二区三区在线观看| 国产精品欧美一级免费| 亚洲国产成人av网| 国产乱码精品1区2区3区| av网站一区二区三区| 91精品久久久久久蜜臀| 国产日产亚洲精品系列| 亚洲成在线观看| 国产白丝精品91爽爽久久| 欧美日韩成人综合| 亚洲欧美影音先锋| 美女视频网站黄色亚洲| 91在线精品一区二区| 久久综合色之久久综合| 亚洲一区二区三区四区的| 国产精品12区| 91精品国产欧美日韩| 亚洲天堂网中文字| 国产精品羞羞答答xxdd| 欧美性感一区二区三区| 国产精品久久久久影院老司| 琪琪一区二区三区| 色妹子一区二区| 久久久精品国产免大香伊| 日韩精品视频网| 一本一道久久a久久精品| 久久伊人中文字幕| 日韩电影一区二区三区| 91福利小视频| 国产精品你懂的在线欣赏| 加勒比av一区二区| 91麻豆精品国产91久久久使用方法| 中文字幕精品—区二区四季| 国产在线精品视频| 日韩一区二区三区av| 亚洲伊人伊色伊影伊综合网| 不卡一区二区中文字幕| 日本一区二区在线不卡| 久久精品99国产国产精| 在线不卡a资源高清| 亚洲综合免费观看高清完整版| 99精品视频在线免费观看| 欧美大片拔萝卜| 日本亚洲欧美天堂免费| 欧美日韩美女一区二区| 亚洲精选一二三| 91麻豆免费看| 一区二区三区四区不卡在线| 99在线精品一区二区三区| 欧美激情一区二区三区不卡| 福利电影一区二区| 中文字幕精品三区| 成人天堂资源www在线| 国产农村妇女精品| a级高清视频欧美日韩| 国产精品久久久久桃色tv| 丁香婷婷综合激情五月色| 国产精品网站在线| 成人福利电影精品一区二区在线观看| 精品国产一二三| 国产高清一区日本| 中文字幕一区二区在线播放| 成人在线综合网站| 国产精品久久久久永久免费观看| 99精品黄色片免费大全| 亚洲精品视频在线| 欧美日韩久久久久久| 男女男精品网站| 久久精品视频免费观看| www.成人网.com| 亚洲免费资源在线播放| 欧美日韩精品高清| 久久精品国产精品亚洲精品| 国产亚洲视频系列| 91网站黄www| 日韩国产精品大片| 欧美激情综合五月色丁香| proumb性欧美在线观看| 怡红院av一区二区三区| 欧美肥妇bbw| 国产精一品亚洲二区在线视频| 国产精品免费久久久久| 在线精品视频免费观看| 日韩精品福利网| 日本一区二区久久| 欧美视频在线一区| 国产一区二区三区免费看|