#include <GAChromosome.h>
Public Types | |
| enum | ECrossOverKind { etMultiPoint, etUniform, etInterIntRecombination, etLineIntRecombination, etInterFloatRecombination, etLineFloatRecombination, etCustom } |
| typedef Retval(* | FCrossFunction )(IGAChromosome &rParent1, IGAChromosome &rParent2, TGAChromosome &rNewChrom1, TGAChromosome &rNewChrom2) |
Public Member Functions | |
| TGAChromosome (Uint uiID, Uint uiDNASize, Uint uiGeneSize) | |
| ECrossOverKind | getCrossOverKind () const |
| Int | getMultiPointParameter () const |
| void | setCrossOverKind (ECrossOverKind eKind, FCrossFunction pFunct=NULL) |
| void | setMultiPointParameter (Int iValue) |
| void | setMinMaxParameter (const Float &rfMin, const Float &rfMax) |
| virtual Uint MQUALIFIER | getChromosomeID () const |
| virtual IByteArray &MQUALIFIER | getDNA () |
| virtual const IByteArray &MQUALIFIER | getDNAConst () const |
| virtual Int MQUALIFIER | getGeneCount () const |
| virtual Int MQUALIFIER | getGeneSize () const |
| virtual IGAGene &MQUALIFIER | getGene (Int iIndex) |
| virtual const IGAGene &MQUALIFIER | getGeneConst (Int iIndex) const |
| virtual Retval MQUALIFIER | crossOver (IGAChromosome &rChrom, IGAChromosome *&rpNewChrom1, IGAChromosome *&rpNewChrom2) |
| virtual Retval MQUALIFIER | clone (IGAChromosome *&rpNewChrom) const |
| virtual void MQUALIFIER | mutate () |
| virtual Retval MQUALIFIER | askForInterface (const InterfaceID &rInterfaceID, IZUnknown *&rpIface) |
| virtual void MQUALIFIER | addRef () const |
| virtual void MQUALIFIER | release () const |
Protected Member Functions | |
| virtual | ~TGAChromosome () |
Protected Attributes | |
| Uint | m_uiDNASize |
| Size of DNA. | |
| Uint | m_uiGeneSize |
| Size of a gene (in bytes) | |
| ECrossOverKind | m_eCrossKind |
| Kind of crossover. | |
| TByteArray | m_lstDNA |
| DNA of the chromosome. | |
| TArrayList< TGAGene * > | m_lstGenes |
| Gene representation. | |
| Int | m_iMultiPointParam |
| Multipoint parameter. | |
| FCrossFunction | m_Funct |
| Cross function for customized crossing. | |
| Float | m_fMinValue |
| Minimum value if recombination is used. | |
| Float | m_fMaxValue |
| Maximum value if recombination is used. | |
Implementation of a chromosone
| typedef Retval(* zeus::TGAChromosome::FCrossFunction)(IGAChromosome &rParent1, IGAChromosome &rParent2, TGAChromosome &rNewChrom1, TGAChromosome &rNewChrom2) |
This enumeration represents the kind of the crossover.
| TGAChromosome::TGAChromosome | ( | Uint | uiID, |
| Uint | uiDNASize, | ||
| Uint | uiGeneSize | ||
| ) |
Creates a chromosone
| uiID | : ID of the chromosome |
| uiDNASize | : Size of the whole DNA |
| uiGeneSize | : Size of a single gene |
| TGAChromosome::~TGAChromosome | ( | ) | [protected, virtual] |
Destroys the chromosone
| virtual void MQUALIFIER zeus::TGAChromosome::addRef | ( | ) | const [virtual] |
| virtual Retval MQUALIFIER zeus::TGAChromosome::askForInterface | ( | const InterfaceID & | rInterfaceID, |
| IZUnknown *& | rpIface | ||
| ) | [virtual] |
| Retval MQUALIFIER TGAChromosome::clone | ( | IGAChromosome *& | rpNewChrom ) | const [virtual] |
Implements zeus::IGAChromosome.
| Retval MQUALIFIER TGAChromosome::crossOver | ( | IGAChromosome & | rChrom, |
| IGAChromosome *& | rpNewChrom1, | ||
| IGAChromosome *& | rpNewChrom2 | ||
| ) | [virtual] |
Implements zeus::IGAChromosome.
| Uint MQUALIFIER zeus::TGAChromosome::getChromosomeID | ( | ) | const [inline, virtual] |
Implements zeus::IGAChromosome.
| TGAChromosome::ECrossOverKind zeus::TGAChromosome::getCrossOverKind | ( | ) | const [inline] |
Returns the kind of crossing over
| IByteArray &MQUALIFIER zeus::TGAChromosome::getDNA | ( | ) | [inline, virtual] |
Implements zeus::IGAChromosome.
| const IByteArray &MQUALIFIER zeus::TGAChromosome::getDNAConst | ( | ) | const [inline, virtual] |
Implements zeus::IGAChromosome.
| IGAGene &MQUALIFIER zeus::TGAChromosome::getGene | ( | Int | iIndex ) | [inline, virtual] |
Implements zeus::IGAChromosome.
| const IGAGene &MQUALIFIER zeus::TGAChromosome::getGeneConst | ( | Int | iIndex ) | const [inline, virtual] |
Implements zeus::IGAChromosome.
| Int MQUALIFIER zeus::TGAChromosome::getGeneCount | ( | ) | const [inline, virtual] |
Implements zeus::IGAChromosome.
| Int MQUALIFIER zeus::TGAChromosome::getGeneSize | ( | ) | const [inline, virtual] |
Implements zeus::IGAChromosome.
| Int zeus::TGAChromosome::getMultiPointParameter | ( | ) | const [inline] |
Returns the number of crossover points
| void MQUALIFIER TGAChromosome::mutate | ( | ) | [virtual] |
Implements zeus::IGAChromosome.
| virtual void MQUALIFIER zeus::TGAChromosome::release | ( | ) | const [virtual] |
| void TGAChromosome::setCrossOverKind | ( | ECrossOverKind | eKind, |
| FCrossFunction | pFunct = NULL |
||
| ) |
Sets the kind of crossing over
| void zeus::TGAChromosome::setMinMaxParameter | ( | const Float & | rfMin, |
| const Float & | rfMax | ||
| ) | [inline] |
sets the min and max value of the linear combination
| void TGAChromosome::setMultiPointParameter | ( | Int | iValue ) |
Sets the multi point parameter, which controls how many times a cross over will be performed.
| iValue | : new value |
ECrossOverKind zeus::TGAChromosome::m_eCrossKind [protected] |
Kind of crossover.
Float zeus::TGAChromosome::m_fMaxValue [protected] |
Maximum value if recombination is used.
Float zeus::TGAChromosome::m_fMinValue [protected] |
Minimum value if recombination is used.
FCrossFunction zeus::TGAChromosome::m_Funct [protected] |
Cross function for customized crossing.
Int zeus::TGAChromosome::m_iMultiPointParam [protected] |
Multipoint parameter.
TByteArray zeus::TGAChromosome::m_lstDNA [protected] |
DNA of the chromosome.
TArrayList<TGAGene*> zeus::TGAChromosome::m_lstGenes [protected] |
Gene representation.
Uint zeus::TGAChromosome::m_uiDNASize [protected] |
Size of DNA.
Uint zeus::TGAChromosome::m_uiGeneSize [protected] |
Size of a gene (in bytes)