資源簡介
C++源代碼,完美下載
可以直接運行
有解釋

代碼片段和文件信息
/********************************************************************/
/*?????????????基于基本遺傳算法的函數最優化???SGA.C?????????????????*/
/*?????A?Function?Optimizer?using?Simple?Genetic?Algorithm??????????*/
/*?developed?from?the?Pascal?SGA?code?presented?by?David?E.Goldberg?*/
/*??????????????華南理工大學電子與信息學院???蘇勇??????????2004年4月*/
/********************************************************************/
#include?
#include?
/*?全局變量?*/
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;????????????????????????????/*?種群中個體最大適應度?*/
?double?avg;????????????????????????????/*?種群中個體平均適應度?*/
?double?min;????????????????????????????/*?種群中個體最小適應度?*/
?float??pcross;?????????????????????????/*?交叉概率?*/
?float??pmutation;??????????????????????/*?變異概率?*/
?int????popsize;????????????????????????/*?種群大小??*/
?int????lchrom;?????????????????????????/*?染色體長度*/
?int????chromsize;??????????????????????/*?存儲一染色體所需字節數?*/
?int????gen;????????????????????????????/*?當前世代數?*/
?int????maxgen;?????????????????????????/*?最大世代數???*/
?int????run;????????????????????????????/*?當前運行次數?*/
?int????maxruns;????????????????????????/*?總運行次數???*/
?int????printstrings;???????????????????/*?輸出染色體編碼的判斷,0?--?不輸出?1?--?輸出?*/
?int????nmutation;??????????????????????/*?當前代變異發生次數?*/
?int????ncross;?????????????????????????/*?當前代交叉發生次數?*/
/*?隨機數發生器使用的靜態變量?*/
static?double?oldrand[55];
static?int?jrand;
static?double?rndx2;
static?int?rndcalcflag;
/*?輸出文件指針?*/
FILE?*outfp?;
/*?函數定義?*/
void?advance_random();
int?flip(float);rnd(int?int);
void?randomize();
double?randomnormaldeviate();
float?randomperc()rndreal(floatfloat);
void?warmup_random(float);
void?initialize()initdata()initpop();
void?initreport()generation()initmalloc();
void?freeall()nomemory(char?*)report();
void?writepop()writechrom(unsigned?*);
void?preselect();
void?statistics(struct?individual?*);
void?title()repchar?(FILE?*char?*int);
void?skip(FILE?*int);
int?select();
void?objfunc(struct?individual?*);
int?crossover?(unsigned?*?unsigned?*?unsigned?*?unsigned?*);
void?mutation(unsigned?*);
void?initialize()??????/*?遺傳算法初始化?*/
{
????/*?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4235??2005-11-08?00:57??遺傳算法基本算法\ga.dsp
?????文件????????527??2005-11-08?00:57??遺傳算法基本算法\ga.dsw
?????文件??????33792??2005-11-08?00:57??遺傳算法基本算法\ga.ncb
?????文件??????48640??2005-11-08?00:57??遺傳算法基本算法\ga.opt
?????文件???????2153??2005-11-08?00:57??遺傳算法基本算法\ga.plg
?????文件??????17937??2005-11-08?00:57??遺傳算法基本算法\sga.c
?????目錄??????????0??2011-03-23?19:16??遺傳算法基本算法
-----------?---------??----------?-----??----
???????????????107284????????????????????7
- 上一篇:C語言高級編程技術 很好的一本書
- 下一篇:MFC 動態創建按鈕
評論
共有 條評論