资源简介
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 动态创建按钮
相关资源
- VC++采用内存映射方式高效率读写大数
- 页面置换算法OPT、FIFO、LRU实现--C++版
- 分支限界法求圆排列问题
- http 协议解析类 c++
- 用C++语言写的完整的人脸识别程序源
-
mfc通过xm
l文件生成word文档 - 哈夫曼最小生成树及最短路径代码
- C++写的多级反馈队列代码
- c++读取ini文件封装类
- ECC加密 RSA加密 C++ 简单实现 不带大数
- c++实现的录音程序源代码(录mp3、x
- 校园导航系统 c++做的 !
- 值得你看的C++27个趣味程序
- c++学生选课系统代码
- C++五子棋源代码程序解析
- 操作系统课程设计之进程调度源代码
- 《C语言课程设计》 学生成绩管理系统
- c++学生考勤管理系统
- C++病毒开发开发源代码+2小时教学视频
- C++实现内存修改器+1G视频教程百度云
- C++实现开心消消乐游戏源代码+教学视
- C++实现塔防游戏源代码
- qt qml c++ 折线图
- Jumping the Queue C++代码
- 成绩记录簿
-
C++中使用CWebPage调用ja
vasc ript - 学生成绩管理系统c++ csdn
- C++内排序算法比较
- C++编程思想两卷合订本-高清完美带书
- 发送win10消息通知的
评论
共有 条评论