资源简介
5个遗传算法C语言源码,想学习的拿去看看。~~~~~~~~~~~~~~
代码片段和文件信息
/**********************************************************************/
/* 基于基本遗传算法的函数最优化 SGA.C */
/* A Function Optimizer using Simple Genetic Algorithm */
/* developed from the Pascal SGA code presented by David E.Goldberg */
/* 同济大学计算机系 王小平 2000年5月 */
/**********************************************************************/
#include
#include
#include
#include “graph.c“
/* 全局变量 */
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 *)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25468 2000-05-23 07:34 GA\A_LIFE.C
文件 84468 2000-05-23 07:34 GA\A_LIFE.EXE
文件 1364 2000-05-15 03:39 GA\cfile.txt
文件 187 2000-05-15 03:39 GA\cfile1.txt
文件 1 2000-05-15 03:39 GA\efile.txt
文件 5363 1988-08-29 10:00 GA\EGAVGA.BGI
文件 18941 2000-05-23 06:04 GA\ga.c
文件 12564 2000-05-23 06:48 GA\gaopt.c
文件 10639 2000-05-23 08:27 GA\GA_NN.C
文件 72451 2000-05-23 16:28 GA\GA_NN.EXE
文件 23 2000-05-15 03:46 GA\gfile.txt
文件 11177 2000-05-23 07:16 GA\graph.c
文件 267616 1995-12-22 14:31 GA\HZK16
文件 498528 1995-08-12 09:10 GA\HZK24S
文件 37 2000-05-15 04:16 GA\INPUT
文件 2568 2000-05-23 06:51 GA\operator.c
文件 13003 2000-05-23 07:37 GA\PATMAT.c
文件 98093 2000-05-23 07:35 GA\PATMAT.EXE
文件 684 2000-05-15 03:53 GA\PFILE.TXT
文件 7283 2000-05-15 03:54 GA\REP.TXT
文件 5 2000-05-15 03:54 GA\rfile.txt
文件 8848 2000-05-23 16:30 GA\SAMPLE
文件 37062 2000-05-23 06:09 GA\scs.c
文件 37261 2000-05-23 06:24 GA\scs.cpp
文件 4596 2000-07-10 21:47 GA\scs.dsp
文件 529 2000-06-03 11:28 GA\scs.dsw
文件 50176 2001-07-05 08:40 GA\scs.ncb
文件 48640 2001-07-05 08:40 GA\scs.opt
文件 2220 2000-07-11 06:51 GA\scs.plg
文件 19016 2000-05-23 08:15 GA\sga.c
............此处省略9个文件信息
相关资源
- C语言实现TFTP客户端代码
- yaolog v1.5(很有特色的C++跨平台日志库
- VC++写的功能非常强大的自定义列表控
- SuperGrid-MFC_ListCtrl控件扩展(让ListCt
- 操作系统 课程设计 C++ 读者写着问题
- 操作系统 课程设计 C++ 模拟文件系统
-
可以快速批量生成HTML/xm
l/WORD文档 - hashtable-C语言版折叠法+单链表
- c语言课件-循环结构
- c++ http
- c++ http并保存到本地
- 用c语言求梯度的算法
- C语言超市收银模拟系统
- B样条曲线绘制、bezier曲线绘制c语言实
- 背包问题实验报告C语言实现、文件输
- C语言编写的pl0语言编译器
- C++ HTTP GET,POST的简单
- 数据压缩LZW编码c++程序
- 数据压缩 算术编码 c++ 程序
- C/C++/STL帮助手册 chm完整离线版
- ECC算法 C++实现 加解密
- 矩阵键盘C语言代码,proteus仿真电路
- 计算机网络作业-winsock写的ping实现
- 基于Linux的VIM编辑器超炫配置
- 微机接口技术8255A仿真实验含C代码、
- 汉明码7,4
- MFC实现MD5值生成工具文件和字符串都
- 高斯投影正算C++源代码
- C++课程设计——学生学籍管理系统
- 清华大学C++内部题库 绝对好题
评论
共有 条评论