- 论坛徽章:
- 0
|
下面是我写的一个遗传算法的类,类的结构总是出错,我分不清哪个该公有,哪个该私有?
#include <stdlib.h> //求函数在(-4,4)的最大值??应该是[-4,4)
#include <math.h>
#include <time.h>
#include <string.h>
//#include "GA2Dlg.h"
const int POPSIZE=10;//population size
const double Pc=0.8; //crossover probability
const double Pm=0.005;//mutation probability
const double G=0.8; //generation gap
const int LENGTH=22; // 一个变量的长度
const int Maxgeneration=20;
const int N=2; // 函数变量个数;
struct indivaual
{char chrom[N*LENGTH];
double value;
double fitness;
};
class GA
{
void decode(struct indivaual *p);
void Reproduction(); //复制 生成matingpool
void Crossover();
void Mutation(); //基因突变
double value[POPSIZE][N]; //变量值
public:
struct indivaual population[POPSIZE];
struct indivaual matingpool[POPSIZE];
GA();
void GenerateInitialPopulation();
void Function(struct indivaual *p);
void Fitness(struct indivaual *p);
void GenerateNextpopulation();
void Order(struct indivaual *q); //排序
void OutputTextReport(CListBox& m_list,int generation);
virtual ~GA();
}; |
|