.TH "MOEO" 3 "26 Jun 2007" "Version 1.0" "ParadisEO-MOEO" \" -*- nroff -*- .ad l .nh .SH NAME MOEO \- Base class allowing to represent a solution (an individual) for multi-objective optimization. .PP .SH SYNOPSIS .br .PP \fC#include \fP .PP Inherits \fBEO< MOEOObjectiveVector >\fP. .PP Inherited by \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP, and \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >\fP. .PP .SS "Public Types" .in +1c .ti -1c .RI "typedef MOEOObjectiveVector \fBObjectiveVector\fP" .br .RI "\fIthe objective vector type of a solution \fP" .ti -1c .RI "typedef MOEOFitness \fBFitness\fP" .br .RI "\fIthe fitness type of a solution \fP" .ti -1c .RI "typedef MOEODiversity \fBDiversity\fP" .br .RI "\fIthe diversity type of a solution \fP" .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBMOEO\fP ()" .br .RI "\fICtor. \fP" .ti -1c .RI "virtual \fB~MOEO\fP ()" .br .RI "\fIVirtual dtor. \fP" .ti -1c .RI "\fBObjectiveVector\fP \fBobjectiveVector\fP () const " .br .RI "\fIReturns the objective vector of the current solution. \fP" .ti -1c .RI "void \fBobjectiveVector\fP (const \fBObjectiveVector\fP &_objectiveVectorValue)" .br .RI "\fISets the objective vector of the current solution. \fP" .ti -1c .RI "void \fBinvalidateObjectiveVector\fP ()" .br .RI "\fISets the objective vector as invalid. \fP" .ti -1c .RI "bool \fBinvalidObjectiveVector\fP () const " .br .RI "\fIReturns true if the objective vector is invalid, false otherwise. \fP" .ti -1c .RI "\fBFitness\fP \fBfitness\fP () const " .br .RI "\fIReturns the fitness value of the current solution. \fP" .ti -1c .RI "void \fBfitness\fP (const \fBFitness\fP &_fitnessValue)" .br .RI "\fISets the fitness value of the current solution. \fP" .ti -1c .RI "void \fBinvalidateFitness\fP ()" .br .RI "\fISets the fitness value as invalid. \fP" .ti -1c .RI "bool \fBinvalidFitness\fP () const " .br .RI "\fIReturns true if the fitness value is invalid, false otherwise. \fP" .ti -1c .RI "\fBDiversity\fP \fBdiversity\fP () const " .br .RI "\fIReturns the diversity value of the current solution. \fP" .ti -1c .RI "void \fBdiversity\fP (const \fBDiversity\fP &_diversityValue)" .br .RI "\fISets the diversity value of the current solution. \fP" .ti -1c .RI "void \fBinvalidateDiversity\fP ()" .br .RI "\fISets the diversity value as invalid. \fP" .ti -1c .RI "bool \fBinvalidDiversity\fP () const " .br .RI "\fIReturns true if the diversity value is invalid, false otherwise. \fP" .ti -1c .RI "void \fBinvalidate\fP ()" .br .RI "\fISets the objective vector, the fitness value and the diversity value as invalid. \fP" .ti -1c .RI "bool \fBinvalid\fP () const " .br .RI "\fIReturns true if the fitness value is invalid, false otherwise. \fP" .ti -1c .RI "bool \fBoperator<\fP (const \fBMOEO\fP &_other) const " .br .RI "\fIReturns true if the objective vector of the current solution is smaller than the objective vector of _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \fP" .ti -1c .RI "virtual std::string \fBclassName\fP () const " .br .RI "\fIReturn the class id (the class name as a std::string). \fP" .ti -1c .RI "virtual void \fBprintOn\fP (std::ostream &_os) const " .br .RI "\fIWriting object. \fP" .ti -1c .RI "virtual void \fBreadFrom\fP (std::istream &_is)" .br .RI "\fIReading object. \fP" .in -1c .SS "Private Attributes" .in +1c .ti -1c .RI "\fBObjectiveVector\fP \fBobjectiveVectorValue\fP" .br .RI "\fIthe objective vector of this solution \fP" .ti -1c .RI "bool \fBinvalidObjectiveVectorValue\fP" .br .RI "\fItrue if the objective vector is invalid \fP" .ti -1c .RI "\fBFitness\fP \fBfitnessValue\fP" .br .RI "\fIthe fitness value of this solution \fP" .ti -1c .RI "bool \fBinvalidFitnessValue\fP" .br .RI "\fItrue if the fitness value is invalid \fP" .ti -1c .RI "\fBDiversity\fP \fBdiversityValue\fP" .br .RI "\fIthe diversity value of this solution \fP" .ti -1c .RI "bool \fBinvalidDiversityValue\fP" .br .RI "\fItrue if the diversity value is invalid \fP" .in -1c .SH "Detailed Description" .PP .SS "template class MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >" Base class allowing to represent a solution (an individual) for multi-objective optimization. The template argument MOEOObjectiveVector allows to represent the solution in the objective space (it can be a \fBmoeoObjectiveVector\fP object). The template argument MOEOFitness is an object reflecting the quality of the solution in term of convergence (the fitness of a solution is always to be maximized). The template argument MOEODiversity is an object reflecting the quality of the solution in term of diversity (the diversity of a solution is always to be maximized). All template arguments must have a void and a copy constructor. Using some specific representations, you will have to define a copy constructor if the default one is not what you want. In the same cases, you will also have to define the affectation operator (operator=). Then, you will explicitly have to call the parent copy constructor and the parent affectation operator at the beginning of the corresponding implementation. Besides, note that, contrary to the mono-objective case (and to \fBEO\fP) where the fitness value of a solution is confused with its objective value, the fitness value differs of the objectives values in the multi-objective case. .PP Definition at line 34 of file MOEO.h. .SH "Member Function Documentation" .PP .SS "template void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector (const \fBObjectiveVector\fP & _objectiveVectorValue)\fC [inline]\fP" .PP Sets the objective vector of the current solution. .PP \fBParameters:\fP .RS 4 \fI_objectiveVectorValue\fP the new objective vector .RE .PP .PP Definition at line 85 of file MOEO.h. .PP References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidObjectiveVectorValue, and MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVectorValue. .SS "template void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::fitness (const \fBFitness\fP & _fitnessValue)\fC [inline]\fP" .PP Sets the fitness value of the current solution. .PP \fBParameters:\fP .RS 4 \fI_fitnessValue\fP the new fitness value .RE .PP .PP Definition at line 127 of file MOEO.h. .PP References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::fitnessValue, and MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidFitnessValue. .SS "template void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::diversity (const \fBDiversity\fP & _diversityValue)\fC [inline]\fP" .PP Sets the diversity value of the current solution. .PP \fBParameters:\fP .RS 4 \fI_diversityValue\fP the new diversity value .RE .PP .PP Definition at line 169 of file MOEO.h. .PP References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::diversityValue, and MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidDiversityValue. .SS "template bool \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::operator< (const \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity > & _other) const\fC [inline]\fP" .PP Returns true if the objective vector of the current solution is smaller than the objective vector of _other on the first objective, then on the second, and so on (can be usefull for sorting/printing). .PP You should implement another function in the sub-class of \fBMOEO\fP to have another sorting mecanism. .PP \fBParameters:\fP .RS 4 \fI_other\fP the other \fBMOEO\fP object to compare with .RE .PP .PP Definition at line 220 of file MOEO.h. .PP References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector(). .SS "template virtual void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::printOn (std::ostream & _os) const\fC [inline, virtual]\fP" .PP Writing object. .PP \fBParameters:\fP .RS 4 \fI_os\fP output stream .RE .PP .PP Reimplemented from \fBEO< MOEOObjectiveVector >\fP. .PP Reimplemented in \fBmoeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP, and \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >\fP. .PP Definition at line 239 of file MOEO.h. .PP References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidObjectiveVector(), and MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVectorValue. .SS "template virtual void \fBMOEO\fP< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::readFrom (std::istream & _is)\fC [inline, virtual]\fP" .PP Reading object. .PP \fBParameters:\fP .RS 4 \fI_is\fP input stream .RE .PP .PP Reimplemented from \fBEO< MOEOObjectiveVector >\fP. .PP Reimplemented in \fBmoeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >\fP, \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >\fP, and \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >\fP. .PP Definition at line 256 of file MOEO.h. .PP References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidateObjectiveVector(), MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidObjectiveVectorValue, and MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVectorValue. .SH "Author" .PP Generated automatically by Doxygen for ParadisEO-MOEO from the source code.