资源简介
这是主要的遗传算法代码之一,可以VC++6.0下运行。
代码片段和文件信息
/* Memory allocation and deallocation routines */
# include
# include
# include
# include “global.h“
# include “rand.h“
/* Function to allocate memory to a population */
void allocate_memory_pop (population *pop int size)
{
int i;
pop->ind = (individual *)malloc(size*sizeof(individual));
for (i=0; i {
allocate_memory_ind (&(pop->ind[i]));
}
return;
}
void allocate_memory_pop_rediv (population *pop int size int obj_num)
{
int i;
pop->ind = (individual *)malloc(size*sizeof(individual));
for (i=0; i {
allocate_memory_ind (&(pop->ind[i]) obj_num);
}
return;
}
/* Function to allocate memory to an individual */
void allocate_memory_ind (individual *ind)
{
int j;
if (nreal != 0)
{
ind->xreal = (double *)malloc(nreal*sizeof(double));
}
if (nbin != 0)
{
ind->xbin = (double *)malloc(nbin*sizeof(double));
ind->gene = (int **)malloc(nbin*sizeof(int));
for (j=0; j {
ind->gene[j] = (int *)malloc(nbits[j]*sizeof(int));
}
}
ind->obj = (double *)malloc(nobj*sizeof(double));
if (ncon != 0)
{
ind->constr = (double *)malloc(ncon*sizeof(double));
}
return;
}
void allocate_memory_ind_rediv (individual *ind int obj_num)
{
int j;
if (nreal != 0)
{
ind->xreal = (double *)malloc(nreal*sizeof(double));
}
if (nbin != 0)
{
ind->xbin = (double *)malloc(nbin*sizeof(double));
ind->gene = (int **)malloc(nbin*sizeof(int));
for (j=0; j {
ind->gene[j] = (int *)malloc(nbits[j]*sizeof(int));
}
}
ind->obj = (double *)malloc(obj_num*sizeof(double));
if (ncon != 0)
{
ind->constr = (double *)malloc(ncon*sizeof(double));
}
return;
}
/* Function to deallocate memory to a population */
void deallocate_memory_pop (population *pop int size)
{
int i;
for (i=0; i {
deallocate_memory_ind (&(pop->ind[i]));
}
free (pop->ind);
return;
}
/* Function to deallocate memory to an individual */
void deallocate_memory_ind (individual *ind)
{
int j;
if (nreal != 0)
{
free(ind->xreal);
}
if (nbin != 0)
{
for (j=0; j {
free(ind->gene[j]);
}
free(ind->xbin);
free(ind->gene);
}
free(ind->obj);
if (ncon != 0)
{
free(ind->constr);
}
return;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 246 2009-12-06 09:57 基本nsga2\nsga2r.plg
文件 2606 2008-05-20 05:16 基本nsga2\allocate.c
文件 10124 2006-11-15 11:00 基本nsga2\all_pop.out
文件 99328 2009-12-06 21:23 基本nsga2\nsga2r.ncb
文件 470 2005-03-24 15:36 基本nsga2\auxiliary.c
文件 21432 2006-11-15 11:00 基本nsga2\best_pop.out
文件 8395 2009-12-06 09:56 基本nsga2\gd.c
文件 1092 2009-12-02 15:40 基本nsga2\eval.c
文件 41984 2005-12-07 17:59 基本nsga2\crossover.ncb
文件 48640 2005-12-07 17:59 基本nsga2\crossover.opt
文件 1602 2005-11-06 15:21 基本nsga2\crossover.plg
文件 10110 2009-11-24 20:50 基本nsga2\score.c
文件 5222 2009-11-28 19:53 基本nsga2\global.h
文件 1017 2005-03-24 09:40 基本nsga2\decode.c
文件 19430 2009-12-03 11:19 基本nsga2\gd_wfg.c
文件 4878 2009-08-28 22:43 基本nsga2\crowddist.c
文件 263452 2009-09-04 16:35 基本nsga2\POF_data\paretoDTLZ7.dat
文件 51371 2009-08-29 09:15 基本nsga2\POF_data\zdt3_PF.txt
文件 174019 2009-06-25 21:05 基本nsga2\POF_data\wfg3_PF.txt
文件 170449 2009-06-25 21:05 基本nsga2\POF_data\wfg9_PF.txt
文件 176566 2009-06-25 21:05 基本nsga2\POF_data\wfg1_PF.txt
文件 172691 2009-06-25 21:05 基本nsga2\POF_data\wfg4_PF.txt
文件 170217 2009-06-25 21:05 基本nsga2\POF_data\wfg6_PF.txt
文件 169487 2009-06-25 21:05 基本nsga2\POF_data\wfg7_PF.txt
文件 170480 2009-06-25 21:05 基本nsga2\POF_data\wfg8_PF.txt
文件 43966 2009-06-25 21:06 基本nsga2\POF_data\wfg2_PF.txt
文件 170186 2009-06-25 21:06 基本nsga2\POF_data\wfg5_PF.txt
文件 530000 2008-09-09 19:23 基本nsga2\POF_data\UF10.dat
文件 36000 2008-09-09 19:23 基本nsga2\POF_data\UF1.dat
文件 36000 2008-09-09 19:23 基本nsga2\POF_data\UF2.dat
............此处省略188个文件信息
- 上一篇:vc6.0做的扫雷游戏含源码
- 下一篇:小型人事管理系统ACCESS数据库
评论
共有 条评论