49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
//-------------------------------------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TGAIndividual 类
|
|
// = Version : ver2.0
|
|
// = Author : wlw
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: TGAIndividual 声明
|
|
// = Maintainers:
|
|
//
|
|
//-------------------------------------------------------------------------------------------------------+
|
|
#ifndef _TGAINDIVIDUAL_H_
|
|
#define _TGAINDIVIDUAL_H_
|
|
|
|
#ifndef _TSPTABLE_H_
|
|
#include "TSPTable.h"
|
|
#endif
|
|
|
|
#ifndef _TGAGENE_H_
|
|
#include "TGAGene.h"
|
|
#endif
|
|
|
|
class TGAPopulation;
|
|
|
|
class GEOAPI TGAIndividual:public TSPTable<TGAGene>
|
|
{
|
|
public:
|
|
TGAIndividual();
|
|
|
|
virtual ~TGAIndividual();
|
|
|
|
//动态构造新个体,没有基因!
|
|
virtual TGAIndividual* New()const;
|
|
|
|
//基因构造完成后的初始化操作
|
|
virtual void Init();
|
|
|
|
//变异
|
|
virtual TGAIndividual* Mutation() const;
|
|
|
|
//繁殖
|
|
virtual long Multiply(const TGAIndividual& mat,TGAPopulation* pRes) const;
|
|
|
|
//是否优胜
|
|
virtual bool operator<(const TGAIndividual& rival) const;
|
|
|
|
//是否劣等
|
|
virtual bool operator>(const TGAIndividual& rival) const;
|
|
};
|
|
#endif |