myga.h

来自「本程序基于matlab 遗传算法的源程序代码」· C头文件 代码 · 共 55 行

H
55
字号
#ifndef MYGA_H
#define MYGA_H
#include  <vector>
namespace ProeGa
{
struct GaParam
{
int M;//群体大小
int T;//迭代次数
double pc;//交叉概率
double pm;//变异概率
double Umin;//Xk下界
double Umax;//Xk上界
int    GussR;//高斯数
int    val;//变量个数
};

struct Individual
{
	double Gene[2];
	double Fitness;
	double Pselect;
};
class Ga1
{
public:
	Ga1();
	virtual ~Ga1();
	//交叉
	int    Intersect();
	
	//变异
	int varia();
	//从父代和子代中选出10个最优个体,放到parent中
	int Sort();
	//父代
	Individual Parent[10];
	GaParam Param;
private:
	//取得适值
	int GetFit(Individual& );
	//取得高斯数
	double GetGuss();
	//个体交叉
	int    IntersectInd(Individual&,Individual&);
	
	//后代 及排序操作
	std::vector<Individual> Child;
//	int  ChildNum   ;
	
	
};
}

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?