⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guotao.h

📁 郭涛算法 熟悉的朋友应该知道 演化计算相关
💻 H
字号:
// GuoTao.h: interface for the CGuoTao class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GUOTAO_H__3E29DD96_1360_409A_AFCA_5DF0DE9A374B__INCLUDED_)
#define AFX_GUOTAO_H__3E29DD96_1360_409A_AFCA_5DF0DE9A374B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Individual.h"

class CGuoTao  
{
public:
	CGuoTao();
	virtual ~CGuoTao();

public:
	void InitPopulation();					//群体初始化
	void CalculateFitness(CIndividual &);	//计算个体适应度值
 	void CalculateConFitness(CIndividual &);//计算个体约束适应度值
	void CalculatePopFitness();				//计算群体适应度值
	void FindBestAndWorst();				//找出群体中最好与最坏个体
	bool Better(CIndividual&,CIndividual&); //比较两个个体的好坏(true=表示前比后好;false则相反)
	void Cteate_a();						//产生杂交参数a[]	
	void GuoTao();							//对个体进行多父体杂交操作

	void FindBestFitnessIndv();				//找出具有最好适应值的个体(no use)
	void FindBestConFitnessIndv();			//找出具有最好约束值的个体(no use)
	
	void RunGT();							//运行GT算法

	void Display(int);						//显示最好个体的值
	void Report(int,ofstream &);			//输出最好个体的值

protected:
	double RandDoubleValue(double,double);	//产生随机实数
	int    RandIntValue(int);				//产生随机整数

public:
	CIndividual *m_Population;				//进化过程中使用的群体=PopSize

	CIndividual m_BestIndividual;			//群体中最好个体
	CIndividual m_WorstIndividual;			//群体中最坏个体
	
	CIndividual m_IndvFitness;				//群体中具有最好适应值的个体(no use)
	CIndividual m_IndvConfitness;			//群体中具有最好约束值的个体(no use)

	CIndividual m_tmpIndividual;			//差分进化的临时个体,用于与父个体进行比较

	double *m_LowerBound;					//各变量下界值
	double *m_UpperBound;					//各变量上界值
	double *m_MateParam;					//保存杂交参数

	int    m_PopSize;						//群体大小
	int    m_MaxGeneration;					//最大演化代数
	int    m_ParentNum;						//杂交个体数目
	int    m_VaryNum;						//变量个数
 	int    m_ConFuncNum;					//约束函数的个数
	double m_Precision;						//最好个体与最坏个体之差的精度

	int m_BestIndex;						//最好个体索引
	int m_WorstIndex;						//最坏个体索引

	int m_MaxOrMin;							//目标问题求最值类型(-1=max; 1=min)

	int m_EvalutionNum;						//函数评价次数	
};

#endif // !defined(AFX_GUOTAO_H__3E29DD96_1360_409A_AFCA_5DF0DE9A374B__INCLUDED_)

⌨️ 快捷键说明

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