?? guotao.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 + -