paradiseo/branches/paradiseo-moeo-1.0/doc/man/man3/MOEO.3
liefooga b1d6dd41c0 add doc
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@397 331e1502-861f-0410-8da2-ba01fb791d7f
2007-06-26 13:13:33 +00:00

253 lines
9.9 KiB
Groff

.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 <MOEO.h>\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 MOEOObjectiveVector, class MOEOFitness, class MOEODiversity> 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<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity> 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<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity> 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<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity> 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<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity> 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<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity> 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<class MOEOObjectiveVector, class MOEOFitness, class MOEODiversity> 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.