Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

EvolutionStrategyChromosome.h

Go to the documentation of this file.
00001 // EvolutionStrategyChromosome.h: interface for the CEvolutionStrategyChromosome class.
00002 //
00004 
00005 #if !defined(AFX_EVOLUTIONSTRATEGYCHROMOSOME_H__1E22383C_E578_4EDE_B401_FEC45761A74F__INCLUDED_)
00006 #define AFX_EVOLUTIONSTRATEGYCHROMOSOME_H__1E22383C_E578_4EDE_B401_FEC45761A74F__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 class CEvolutionStrategyChromosome  
00013 {
00014 public:
00015         CEvolutionStrategyChromosome(int nObject, int nStrategy);
00016         virtual ~CEvolutionStrategyChromosome();
00017         int GetNObjectParameters() {return m_iNObjectParameters;}
00018         int GetNStrategyParameters() {return m_iNStrategyParameters;}
00019         void SetObjectParameters(double *newOPs);
00020         void SetStrategyParameters(double *newSPs);
00021         void SetObjFuncValue(double newVal) {m_dObjFuncValue = newVal;}
00022         double GetObjectParameter(int index) {return m_pdObjectParameters[index];}
00023         double GetStrategyParameter(int index) {return m_pdStrategyParameters[index];}
00024         double GetObjFuncValue() {return m_dObjFuncValue;}
00025         double *GetObjectParameters() {return m_pdObjectParameters;}
00026         double *GetStrategyParameters() {return m_pdStrategyParameters;}
00027         // necessary to sort a vector of pointers to chromosomes
00028         class CEvolutionStrategyChromosomeComparator
00029         {
00030         public:
00031                 CEvolutionStrategyChromosomeComparator() {return;}
00032                 virtual ~CEvolutionStrategyChromosomeComparator() {return;}
00033                 bool operator()(CEvolutionStrategyChromosome *c1, CEvolutionStrategyChromosome *c2) 
00034                 {
00035                         return c1->GetObjFuncValue() < c2->GetObjFuncValue();
00036                 }
00037         };
00038 private:
00039         double m_dObjFuncValue;
00040         int m_iNObjectParameters;
00041         int m_iNStrategyParameters;
00042         double *m_pdObjectParameters;
00043         double *m_pdStrategyParameters;
00044 };
00045 
00046 #endif // !defined(AFX_EVOLUTIONSTRATEGYCHROMOSOME_H__1E22383C_E578_4EDE_B401_FEC45761A74F__INCLUDED_)

Generated on Mon Nov 3 09:37:49 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002