update doc with new stuffs

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@496 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
liefooga 2007-07-02 14:04:20 +00:00
commit 7d6ad66977
397 changed files with 9380 additions and 1569 deletions

View file

@ -8,6 +8,7 @@ Here are the classes, structs, unions and interfaces with brief descriptions:\be
\item\contentsline{section}{\bf{moeo\-Archive$<$ MOEOT $>$} (An archive is a secondary population that stores non-dominated solutions )}{\pageref{classmoeoArchive}}{}
\item\contentsline{section}{\bf{moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ MOEOT $>$} (This class allows to save the objective vectors of the solutions contained in an archive into a file at each generation )}{\pageref{classmoeoArchiveObjectiveVectorSavingUpdater}}{}
\item\contentsline{section}{\bf{moeo\-Archive\-Updater$<$ MOEOT $>$} (This class allows to update the archive at each generation with newly found non-dominated solutions )}{\pageref{classmoeoArchiveUpdater}}{}
\item\contentsline{section}{\bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Indicator\-Based\-Fitness\-Assignment for binary indicators )}{\pageref{classmoeoBinaryIndicatorBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Binary\-Metric$<$ A1, A2, R $>$} (Base class for binary metrics )}{\pageref{classmoeoBinaryMetric}}{}
\item\contentsline{section}{\bf{moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$} (This class allows to save the progression of a binary metric comparing the objective vectors of the current population (or archive) with the objective vectors of the population (or archive) of the generation (n-1) into a file )}{\pageref{classmoeoBinaryMetricSavingUpdater}}{}
\item\contentsline{section}{\bf{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} (This class is an implementationeo of a simple bit-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector} )}{\pageref{classmoeoBitVector}}{}
@ -16,7 +17,7 @@ Here are the classes, structs, unions and interfaces with brief descriptions:\be
\item\contentsline{section}{\bf{moeo\-Contribution\-Metric$<$ Objective\-Vector $>$} (The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc )}{\pageref{classmoeoContributionMetric}}{}
\item\contentsline{section}{\bf{moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$} (Functor allowing to get a vector of objective vectors from a population )}{\pageref{classmoeoConvertPopToObjectiveVectors}}{}
\item\contentsline{section}{\bf{moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Criterion\-Based\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for criterion-based strategies )}{\pageref{classmoeoCriterionBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} (Diversity assignment sheme based on crowding distance proposed in: K )}{\pageref{classmoeoCrowdingDistanceDiversityAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} (Diversity assignment sheme based on crowding proposed in: K )}{\pageref{classmoeoCrowdingDiversityAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Det\-Tournament\-Select$<$ MOEOT $>$} (Selection strategy that selects ONE individual by deterministic tournament )}{\pageref{classmoeoDetTournamentSelect}}{}
\item\contentsline{section}{\bf{moeo\-Distance$<$ MOEOT, Type $>$} (The base class for distance computation )}{\pageref{classmoeoDistance}}{}
\item\contentsline{section}{\bf{moeo\-Distance\-Matrix$<$ MOEOT, Type $>$} (A matrix to compute distances between every pair of individuals contained in a population )}{\pageref{classmoeoDistanceMatrix}}{}
@ -36,21 +37,25 @@ Here are the classes, structs, unions and interfaces with brief descriptions:\be
\item\contentsline{section}{\bf{moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp} (This object is used to compare solutions in order to sort the population )}{\pageref{classmoeoEnvironmentalReplacement_1_1Cmp}}{}
\item\contentsline{section}{\bf{moeo\-Euclidean\-Distance$<$ MOEOT $>$} (A class allowing to compute an euclidian distance between two solutions in the objective space with normalized objective values (i.e )}{\pageref{classmoeoEuclideanDistance}}{}
\item\contentsline{section}{\bf{moeo\-Eval\-Func$<$ MOEOT $>$} }{\pageref{classmoeoEvalFunc}}{}
\item\contentsline{section}{\bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based on an indicator proposed in: E )}{\pageref{classmoeoExpBinaryIndicatorBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based on Pareto-dominance count proposed in: N )}{\pageref{classmoeoFastNonDominatedSortingFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::Objective\-Comparator} (Functor allowing to compare two solutions according to their first objective value, then their second, and so on )}{\pageref{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator}}{}
\item\contentsline{section}{\bf{moeo\-Fitness\-Assignment$<$ MOEOT $>$} (Functor that sets the fitness values of a whole population )}{\pageref{classmoeoFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to their fitness values, then according to their diversity values )}{\pageref{classmoeoFitnessThenDiversityComparator}}{}
\item\contentsline{section}{\bf{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} (Diversity assignment sheme based on crowding distance proposed in: K )}{\pageref{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} (Diversity assignment sheme based on crowding proposed in: K )}{\pageref{classmoeoFrontByFrontCrowdingDiversityAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} (Sharing assignment scheme on the way it is used in NSGA )}{\pageref{classmoeoFrontByFrontSharingDiversityAssignment}}{}
\item\contentsline{section}{\bf{moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (This functor class allows to compare 2 objective vectors according to g-dominance )}{\pageref{classmoeoGDominanceObjectiveVectorComparator}}{}
\item\contentsline{section}{\bf{moeo\-Generational\-Replacement$<$ MOEOT $>$} (Generational replacement: only the new individuals are preserved )}{\pageref{classmoeoGenerationalReplacement}}{}
\item\contentsline{section}{\bf{moeo\-Hybrid\-LS$<$ MOEOT $>$} (This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified )}{\pageref{classmoeoHybridLS}}{}
\item\contentsline{section}{\bf{moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$} (Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., K\~{A}¼nzli S )}{\pageref{classmoeoHypervolumeBinaryMetric}}{}
\item\contentsline{section}{\bf{moeo\-IBEA$<$ MOEOT $>$} (IBEA (Indicator-Based Evolutionary Algorithm) as described in: E )}{\pageref{classmoeoIBEA}}{}
\item\contentsline{section}{\bf{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based an Indicator proposed in: E )}{\pageref{classmoeoIndicatorBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-IBMOLS$<$ MOEOT, Move $>$} (Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K )}{\pageref{classmoeoIBMOLS}}{}
\item\contentsline{section}{\bf{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Indicator\-Based\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Indicator-based strategies )}{\pageref{classmoeoIndicatorBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$} (Iterated version of IBMOLS as described in Basseur M., Burke K )}{\pageref{classmoeoIteratedIBMOLS}}{}
\item\contentsline{section}{\bf{moeo\-LS$<$ MOEOT, Type $>$} (Abstract class for local searches applied to multi-objective optimization )}{\pageref{classmoeoLS}}{}
\item\contentsline{section}{\bf{moeo\-Manhattan\-Distance$<$ MOEOT $>$} (A class allowing to compute the Manhattan distance between two solutions in the objective space normalized objective values (i.e )}{\pageref{classmoeoManhattanDistance}}{}
\item\contentsline{section}{\bf{moeo\-Metric} (Base class for performance metrics (also known as quality indicators) )}{\pageref{classmoeoMetric}}{}
\item\contentsline{section}{\bf{moeo\-Move\-Incr\-Eval$<$ Move $>$} }{\pageref{classmoeoMoveIncrEval}}{}
\item\contentsline{section}{\bf{moeo\-Normalized\-Distance$<$ MOEOT, Type $>$} (The base class for double distance computation with normalized objective values (i.e )}{\pageref{classmoeoNormalizedDistance}}{}
\item\contentsline{section}{\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$} (Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values )}{\pageref{classmoeoNormalizedSolutionVsSolutionBinaryMetric}}{}
\item\contentsline{section}{\bf{moeo\-NSGA$<$ MOEOT $>$} (NSGA (Non-dominated Sorting Genetic Algorithm) as described in: N )}{\pageref{classmoeoNSGA}}{}
@ -58,13 +63,14 @@ Here are the classes, structs, unions and interfaces with brief descriptions:\be
\item\contentsline{section}{\bf{moeo\-Objective\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (Functor allowing to compare two objective vectors according to their first objective value, then their second, and so on )}{\pageref{classmoeoObjectiveObjectiveVectorComparator}}{}
\item\contentsline{section}{\bf{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, Objective\-Vector\-Type $>$} (Abstract class allowing to represent a solution in the objective space (phenotypic representation) )}{\pageref{classmoeoObjectiveVector}}{}
\item\contentsline{section}{\bf{moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (Abstract class allowing to compare 2 objective vectors )}{\pageref{classmoeoObjectiveVectorComparator}}{}
\item\contentsline{section}{\bf{moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$} (This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of doubles, i.e )}{\pageref{classmoeoObjectiveVectorDouble}}{}
\item\contentsline{section}{\bf{moeo\-Objective\-Vector\-Traits} (A traits class for \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector} to specify the number of objectives and which ones have to be minimized or maximized )}{\pageref{classmoeoObjectiveVectorTraits}}{}
\item\contentsline{section}{\bf{moeo\-One\-Objective\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to one objective )}{\pageref{classmoeoOneObjectiveComparator}}{}
\item\contentsline{section}{\bf{moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Pareto\-Based\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Pareto-based strategies )}{\pageref{classmoeoParetoBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$} (This functor class allows to compare 2 objective vectors according to Pareto dominance )}{\pageref{classmoeoParetoObjectiveVectorComparator}}{}
\item\contentsline{section}{\bf{moeo\-Random\-Select$<$ MOEOT $>$} (Selection strategy that selects only one element randomly from a whole population )}{\pageref{classmoeoRandomSelect}}{}
\item\contentsline{section}{\bf{moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$} (This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e )}{\pageref{classmoeoRealObjectiveVector}}{}
\item\contentsline{section}{\bf{moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} (This class is an implementation of a simple double-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector} )}{\pageref{classmoeoRealVector}}{}
\item\contentsline{section}{\bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based a Reference Point and a Quality Indicator )}{\pageref{classmoeoReferencePointIndicatorBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Replacement$<$ MOEOT $>$} (Replacement strategy for multi-objective optimization )}{\pageref{classmoeoReplacement}}{}
\item\contentsline{section}{\bf{moeo\-Roulette\-Select$<$ MOEOT $>$} (Selection strategy that selects ONE individual by using roulette wheel process )}{\pageref{classmoeoRouletteSelect}}{}
\item\contentsline{section}{\bf{moeo\-Scalar\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Scalar\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for scalar strategies )}{\pageref{classmoeoScalarFitnessAssignment}}{}
@ -74,6 +80,7 @@ Here are the classes, structs, unions and interfaces with brief descriptions:\be
\item\contentsline{section}{\bf{moeo\-Solution\-Unary\-Metric$<$ Objective\-Vector, R $>$} (Base class for unary metrics dedicated to the performance evaluation of a single solution's objective vector )}{\pageref{classmoeoSolutionUnaryMetric}}{}
\item\contentsline{section}{\bf{moeo\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$} (Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors )}{\pageref{classmoeoSolutionVsSolutionBinaryMetric}}{}
\item\contentsline{section}{\bf{moeo\-Stoch\-Tournament\-Select$<$ MOEOT $>$} (Selection strategy that selects ONE individual by stochastic tournament )}{\pageref{classmoeoStochTournamentSelect}}{}
\item\contentsline{section}{\bf{moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Indicator\-Based\-Fitness\-Assignment for unary indicators )}{\pageref{classmoeoUnaryIndicatorBasedFitnessAssignment}}{}
\item\contentsline{section}{\bf{moeo\-Unary\-Metric$<$ A, R $>$} (Base class for unary metrics )}{\pageref{classmoeoUnaryMetric}}{}
\item\contentsline{section}{\bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$} (Base class for fixed length chromosomes, just derives from \doxyref{MOEO}{p.}{classMOEO} and std::vector and redirects the smaller than operator to MOEO (objective vector based comparison) )}{\pageref{classmoeoVector}}{}
\item\contentsline{section}{\bf{moeo\-Vector\-Unary\-Metric$<$ Objective\-Vector, R $>$} (Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of objective vectors) )}{\pageref{classmoeoVectorUnaryMetric}}{}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 52.6316
%%BoundingBox: 0 0 500 32.4675
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 9.5 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 15.4 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 5 def
/cols 7 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -176,11 +176,14 @@ boxfont setfont
(moeoAlgo) cw
(moeoEA< MOEOT >) cw
(moeoLS< MOEOT, Type >) cw
(moeoLS< MOEOT, eoPop< MOEOT > & >) cw
(moeoEasyEA< MOEOT >) cw
(moeoIBEA< MOEOT >) cw
(moeoNSGA< MOEOT >) cw
(moeoNSGAII< MOEOT >) cw
(moeoCombinedLS< MOEOT, Type >) cw
(moeoIBMOLS< MOEOT, Move >) cw
(moeoIteratedIBMOLS< MOEOT, Move >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -192,21 +195,24 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoAlgo) 2.75 2 box
(moeoAlgo) 4 2 box
(moeoEA< MOEOT >) 1.5 1 box
(moeoLS< MOEOT, Type >) 4 1 box
(moeoLS< MOEOT, eoPop< MOEOT > & >) 5.5 1 box
(moeoEasyEA< MOEOT >) 0 0 box
(moeoIBEA< MOEOT >) 1 0 box
(moeoNSGA< MOEOT >) 2 0 box
(moeoNSGAII< MOEOT >) 3 0 box
(moeoCombinedLS< MOEOT, Type >) 4 0 box
(moeoIBMOLS< MOEOT, Move >) 5 0 box
(moeoIteratedIBMOLS< MOEOT, Move >) 6 0 box
% ----- relations -----
solid
1 2.75 1.25 out
1 4 1.25 out
solid
1.5 4 2 conn
1.5 5.5 2 conn
solid
0 1.5 1.75 in
solid
@ -218,6 +224,12 @@ solid
solid
1 4 0.25 out
solid
0 5.5 1.75 in
solid
1 5.5 0.25 out
solid
5 6 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in
@ -227,3 +239,7 @@ solid
0 3 0.75 in
solid
0 4 0.75 in
solid
0 5 0.75 in
solid
0 6 0.75 in

View file

@ -8,7 +8,7 @@ Abstract class for multi-objective algorithms.
Inheritance diagram for moeo\-Algo::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.47368cm]{classmoeoAlgo}
\includegraphics[height=0.909091cm]{classmoeoAlgo}
\end{center}
\end{figure}

View file

@ -131,7 +131,7 @@ Definition at line 95 of file moeo\-Archive.h.
References moeo\-Archive$<$ MOEOT $>$::comparator.
Referenced by moeo\-Archive$<$ MOEOT $>$::update().\index{moeoArchive@{moeo\-Archive}!update@{update}}
Referenced by moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::operator()(), moeo\-IBMOLS$<$ MOEOT, Move $>$::operator()(), and moeo\-Archive$<$ MOEOT $>$::update().\index{moeoArchive@{moeo\-Archive}!update@{update}}
\index{update@{update}!moeoArchive@{moeo\-Archive}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Archive}$<$ MOEOT $>$::update (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_877bf4f0937f6be263e2686df4e77cf3}
@ -165,6 +165,8 @@ Definition at line 151 of file moeo\-Archive.h.
References moeo\-Archive$<$ MOEOT $>$::contains().
Referenced by moeo\-IBMOLS$<$ MOEOT, Move $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Archive.h\end{CompactItemize}

View file

@ -0,0 +1,221 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 327.869
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 6 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 2 box
(moeoFitnessAssignment< MOEOT >) 0 3 box
(eoUF< eoPop< MOEOT > &, void >) 0 4 box
(eoFunctorBase) 0 5 box
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
% ----- relations -----
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in
solid
0 0 4 out
solid
1 0 5 in
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -0,0 +1,27 @@
\section{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoBinaryIndicatorBasedFitnessAssignment}\index{moeoBinaryIndicatorBasedFitnessAssignment@{moeoBinaryIndicatorBasedFitnessAssignment}}
\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for binary indicators.
{\tt \#include $<$moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6cm]{classmoeoBinaryIndicatorBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for binary indicators.
Definition at line 22 of file moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize}

View file

@ -16,6 +16,9 @@ Inheritance diagram for moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness,
\item
\bf{moeo\-Bit\-Vector} (unsigned int \_\-size=0, bool \_\-value=false)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
virtual std::string \bf{class\-Name} () const \label{classmoeoBitVector_dc2b3649bb839b04a14371b5b96dc738}
\begin{CompactList}\small\item\em Returns the class name as a std::string. \item\end{CompactList}\item
virtual void \bf{print\-On} (std::ostream \&\_\-os) const
\begin{CompactList}\small\item\em Writing object. \item\end{CompactList}\item
virtual void \bf{read\-From} (std::istream \&\_\-is)
@ -65,7 +68,7 @@ Writing object.
Reimplemented from \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{p.}{classmoeoVector_d0a92cb26483ffab754ac4a0efb76308}.
Definition at line 45 of file moeo\-Bit\-Vector.h.\index{moeoBitVector@{moeo\-Bit\-Vector}!readFrom@{readFrom}}
Definition at line 54 of file moeo\-Bit\-Vector.h.\index{moeoBitVector@{moeo\-Bit\-Vector}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!moeoBitVector@{moeo\-Bit\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ virtual void \bf{moeo\-Bit\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoBitVector_31cd3f894615d0a27dd116a5c8082521}
@ -81,7 +84,7 @@ Reading object.
Reimplemented from \bf{moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}.
Definition at line 58 of file moeo\-Bit\-Vector.h.
Definition at line 67 of file moeo\-Bit\-Vector.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item

View file

@ -0,0 +1,215 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 275.482
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.815 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoCrowdingDiversityAssignment< MOEOT >) cw
(moeoDiversityAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoCrowdingDiversityAssignment< MOEOT >) 0 1 box
(moeoDiversityAssignment< MOEOT >) 0 2 box
(eoUF< eoPop< MOEOT > &, void >) 0 3 box
(eoFunctorBase) 0 4 box
(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) 0 0 box
% ----- relations -----
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -0,0 +1,114 @@
\section{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoCrowdingDiversityAssignment}\index{moeoCrowdingDiversityAssignment@{moeoCrowdingDiversityAssignment}}
Diversity assignment sheme based on crowding proposed in: K.
{\tt \#include $<$moeo\-Crowding\-Diversity\-Assignment.h$>$}
Inheritance diagram for moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoCrowdingDiversityAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoCrowdingDiversityAssignment_e6ece5e7569e9d168fcddaae37902585}
\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
double \bf{inf} () const \label{classmoeoCrowdingDiversityAssignment_e7f5dbe11427a5c264e70fe4e036242f}
\begin{CompactList}\small\item\em Returns a big value (regarded as infinite). \item\end{CompactList}\item
double \bf{tiny} () const \label{classmoeoCrowdingDiversityAssignment_eb70be9c246dfa56b55a4ecc5454f778}
\begin{CompactList}\small\item\em Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Computes diversity values for every solution contained in the population \_\-pop. \item\end{CompactList}\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item
virtual void \bf{set\-Distances} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the distance values. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$}
Diversity assignment sheme based on crowding proposed in: K.
Deb, A. Pratap, S. Agarwal, T. Meyarivan, \char`\"{}A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II\char`\"{}, IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002).
Definition at line 25 of file moeo\-Crowding\-Diversity\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCrowdingDiversityAssignment_1db056d5e06b337e67f848fdb60fa2a6}
Computes diversity values for every solution contained in the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Implements \bf{eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>$}.
Definition at line 55 of file moeo\-Crowding\-Diversity\-Assignment.h.
References moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::inf(), and moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::set\-Distances().\index{moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCrowdingDiversityAssignment_ba1d60c8e59fbe2c12e9eef33863f012}
\begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
\begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! \end{Desc}
Implements \bf{moeo\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDiversityAssignment_57f400263b36664df6269f1b522cfdcb}.
Reimplemented in \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDiversityAssignment_f73ff88bd29c49260e2ca859250e4b68}.
Definition at line 78 of file moeo\-Crowding\-Diversity\-Assignment.h.\index{moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}!setDistances@{setDistances}}
\index{setDistances@{setDistances}!moeoCrowdingDiversityAssignment@{moeo\-Crowding\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Distances (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected, virtual]}}\label{classmoeoCrowdingDiversityAssignment_acbe3e03404ecc67dd5e83f00576c255}
Sets the distance values.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Reimplemented in \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDiversityAssignment_1aa0ec7b94fbbf952636bcc21e1a9d16}.
Definition at line 90 of file moeo\-Crowding\-Diversity\-Assignment.h.
References moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::inf().
Referenced by moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Crowding\-Diversity\-Assignment.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 80.9061
%%BoundingBox: 0 0 500 91.8274
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,7 +19,7 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 6.18 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 5.445 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
@ -176,10 +176,10 @@ boxfont setfont
(moeoDiversityAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) cw
(moeoCrowdingDiversityAssignment< MOEOT >) cw
(moeoDummyDiversityAssignment< MOEOT >) cw
(moeoSharingDiversityAssignment< MOEOT >) cw
(moeoFrontByFrontCrowdingDistanceDiversityAssignment< MOEOT >) cw
(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) cw
(moeoFrontByFrontSharingDiversityAssignment< MOEOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
@ -195,10 +195,10 @@ boundx scalefactor div boundy scalefactor div scale
(moeoDiversityAssignment< MOEOT >) 1 2 box
(eoUF< eoPop< MOEOT > &, void >) 1 3 box
(eoFunctorBase) 1 4 box
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) 0 1 box
(moeoCrowdingDiversityAssignment< MOEOT >) 0 1 box
(moeoDummyDiversityAssignment< MOEOT >) 1 1 box
(moeoSharingDiversityAssignment< MOEOT >) 2 1 box
(moeoFrontByFrontCrowdingDistanceDiversityAssignment< MOEOT >) 0 0 box
(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) 0 0 box
(moeoFrontByFrontSharingDiversityAssignment< MOEOT >) 2 0 box
% ----- relations -----

View file

@ -8,7 +8,7 @@ Functor that sets the diversity values of a whole population.
Inheritance diagram for moeo\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.26537cm]{classmoeoDiversityAssignment}
\includegraphics[height=2.57117cm]{classmoeoDiversityAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -50,7 +50,7 @@ Updates the diversity values of the whole population \_\-pop by taking the delet
\end{Desc}
Implemented in \bf{moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDistanceDiversityAssignment_ac21453d018c0e5dc872ccf0d0893f18}, \bf{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDummyDiversityAssignment_3382b59e2b8bbdc840dc25463649f1e4}, \bf{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment_91aec07ffdc20c9654575106399ca62d}, \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontSharingDiversityAssignment_623489a246f86cf24cc5860d32caa743}, and \bf{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoSharingDiversityAssignment_21c8d6e020af23b2be219b7e02248300}.
Implemented in \bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDiversityAssignment_ba1d60c8e59fbe2c12e9eef33863f012}, \bf{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDummyDiversityAssignment_3382b59e2b8bbdc840dc25463649f1e4}, \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDiversityAssignment_f73ff88bd29c49260e2ca859250e4b68}, \bf{moeo\-Front\-By\-Front\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontSharingDiversityAssignment_623489a246f86cf24cc5860d32caa743}, and \bf{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoSharingDiversityAssignment_21c8d6e020af23b2be219b7e02248300}.
Referenced by moeo\-Diversity\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().\index{moeoDiversityAssignment@{moeo\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoDiversityAssignment@{moeo\-Diversity\-Assignment}}

View file

@ -0,0 +1,221 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 327.869
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.525 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 6 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 2 box
(moeoFitnessAssignment< MOEOT >) 0 3 box
(eoUF< eoPop< MOEOT > &, void >) 0 4 box
(eoFunctorBase) 0 5 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in
solid
0 0 4 out
solid
1 0 5 in

View file

@ -0,0 +1,213 @@
\section{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment}\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeoExpBinaryIndicatorBasedFitnessAssignment}}
Fitness assignment sheme based on an indicator proposed in: E.
{\tt \#include $<$moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6cm]{classmoeoExpBinaryIndicatorBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_e519691e807af18ea11b7d8c17d2b9b4}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment} (\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness values for every solution contained in the population \_\-pop. \item\end{CompactList}\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\item
double \bf{update\-By\-Adding} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the adding of the objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item
void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop. \item\end{CompactList}\item
void \bf{compute\-Values} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Compute every indicator value in values (values[i] = I(\_\-v[i], \_\-o)). \item\end{CompactList}\item
void \bf{set\-Fitnesses} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness value of the whple population. \item\end{CompactList}\item
double \bf{compute\-Fitness} (const unsigned int \_\-idx)
\begin{CompactList}\small\item\em Returns the fitness value of the \_\-idx th individual of the population. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& \bf{metric}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_98008d8346524381bee9c26a2e600f24}
\begin{CompactList}\small\item\em the quality indicator \item\end{CompactList}\item
double \bf{kappa}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_22d049e40f87f505259b69e7a55a8339}
\begin{CompactList}\small\item\em the scaling factor \item\end{CompactList}\item
std::vector$<$ std::vector$<$ double $>$ $>$ \bf{values}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_872dc1802f45c8ed0a93d5ee6b1e4d2a}
\begin{CompactList}\small\item\em the computed indicator values \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
Fitness assignment sheme based on an indicator proposed in: E.
Zitzler, S. K\~{A}¼nzli, \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{}, Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This strategy is, for instance, used in IBEA.
Definition at line 29 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeoExpBinaryIndicatorBasedFitnessAssignment}}
\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeoExpBinaryIndicatorBasedFitnessAssignment}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment} (\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_226214378bbf6ebc7fea813a62a5c66e}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-metric}]the quality indicator \item[{\em \_\-kappa}]the scaling factor \end{description}
\end{Desc}
Definition at line 42 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_fde913bb1d456edd82d4a2d000f705ae}
Sets the fitness values for every solution contained in the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Implements \bf{eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>$}.
Definition at line 50 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::compute\-Values(), moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses(), and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_1ad61bf146d3b24b41ef0575360f664b}
Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
Implements \bf{moeo\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269}.
Definition at line 66 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric.\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!updateByAdding@{updateByAdding}}
\index{updateByAdding@{updateByAdding}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ double \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Adding (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_f94d9d4dee8dde20cda67e84643aae50}
Updates the fitness values of the whole population \_\-pop by taking the adding of the objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
Definition at line 87 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric.\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!setup@{setup}}
\index{setup@{setup}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_ebdbaaf036ca944319b9f8706602382f}
Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 130 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::setup().
Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!computeValues@{computeValues}}
\index{computeValues@{computeValues}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::compute\-Values (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_20cf29102b848f7ce342dbbb17e9636b}
Compute every indicator value in values (values[i] = I(\_\-v[i], \_\-o)).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 152 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::values.
Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!setFitnesses@{setFitnesses}}
\index{setFitnesses@{setFitnesses}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::set\-Fitnesses (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_063741218c8aa82f53845f9230cb0693}
Sets the fitness value of the whple population.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 174 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::compute\-Fitness().
Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}!computeFitness@{computeFitness}}
\index{computeFitness@{computeFitness}!moeoExpBinaryIndicatorBasedFitnessAssignment@{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ double \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::compute\-Fitness (const unsigned int {\em \_\-idx})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoExpBinaryIndicatorBasedFitnessAssignment_d2fd41b9b356d1f1f87ce0f44907336f}
Returns the fitness value of the \_\-idx th individual of the population.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-idx}]the index \end{description}
\end{Desc}
Definition at line 187 of file moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::values.
Referenced by moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 54.0541
%%BoundingBox: 0 0 500 43.3996
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 9.25 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 11.5208 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 5 def
/rows 6 def
/cols 7 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -180,9 +180,13 @@ boxfont setfont
(moeoDummyFitnessAssignment< MOEOT >) cw
(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoParetoBasedFitnessAssignment< MOEOT >) cw
(moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoScalarFitnessAssignment< MOEOT >) cw
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) cw
(moeoAchievementFitnessAssignment< MOEOT >) cw
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -194,46 +198,64 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoFitnessAssignment< MOEOT >) 2 2 box
(eoUF< eoPop< MOEOT > &, void >) 2 3 box
(eoFunctorBase) 2 4 box
(moeoCriterionBasedFitnessAssignment< MOEOT >) 0 1 box
(moeoDummyFitnessAssignment< MOEOT >) 1 1 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 2 1 box
(moeoParetoBasedFitnessAssignment< MOEOT >) 3 1 box
(moeoScalarFitnessAssignment< MOEOT >) 4 1 box
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 3 0 box
(moeoAchievementFitnessAssignment< MOEOT >) 4 0 box
(moeoFitnessAssignment< MOEOT >) 2.75 3 box
(eoUF< eoPop< MOEOT > &, void >) 2.75 4 box
(eoFunctorBase) 2.75 5 box
(moeoCriterionBasedFitnessAssignment< MOEOT >) 0 2 box
(moeoDummyFitnessAssignment< MOEOT >) 1 2 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 2 2 box
(moeoParetoBasedFitnessAssignment< MOEOT >) 3.5 2 box
(moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) 4.5 2 box
(moeoScalarFitnessAssignment< MOEOT >) 5.5 2 box
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 1.5 1 box
(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) 2.5 1 box
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 3.5 1 box
(moeoAchievementFitnessAssignment< MOEOT >) 5.5 1 box
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 1.5 0 box
% ----- relations -----
solid
0 2 2 out
0 2.75 3 out
solid
1 2 3 in
1 2.75 4 in
solid
0 2 3 out
0 2.75 4 out
solid
1 2 4 in
1 2.75 5 in
solid
1 2.75 2.25 out
solid
0 5.5 3 conn
solid
0 0 2.75 in
solid
0 1 2.75 in
solid
0 2 2.75 in
solid
1 2 1.25 out
solid
0 4 2 conn
1.5 2.5 2 conn
solid
0 0 1.75 in
0 3.5 2.75 in
solid
0 1 1.75 in
1 3.5 1.25 out
solid
0 2 1.75 in
0 4.5 2.75 in
solid
0 3 1.75 in
0 5.5 2.75 in
solid
1 3 0.25 out
1 5.5 1.25 out
solid
0 4 1.75 in
0 1.5 1.75 in
solid
1 4 0.25 out
1 1.5 0.25 out
solid
0 3 0.75 in
0 2.5 1.75 in
solid
0 4 0.75 in
0 3.5 1.75 in
solid
0 5.5 1.75 in
solid
0 1.5 0.75 in

View file

@ -8,7 +8,7 @@ Functor that sets the fitness values of a whole population.
Inheritance diagram for moeo\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.51351cm]{classmoeoFitnessAssignment}
\includegraphics[height=1.21519cm]{classmoeoFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
@ -50,7 +50,7 @@ Updates the fitness values of the whole population \_\-pop by taking the deletio
\end{Desc}
Implemented in \bf{moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoAchievementFitnessAssignment_a6a2ae6c263dbcea3c16cde4c8a1e5fc}, \bf{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDummyFitnessAssignment_6e87d4a8ff8f43a7001a21a13795d00e}, \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFastNonDominatedSortingFitnessAssignment_8d16de444f6c7a73c28c9087b652656e}, and \bf{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoIndicatorBasedFitnessAssignment_04d6a7e20060af2da765e76600c72e2c}.
Implemented in \bf{moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoAchievementFitnessAssignment_a6a2ae6c263dbcea3c16cde4c8a1e5fc}, \bf{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoDummyFitnessAssignment_6e87d4a8ff8f43a7001a21a13795d00e}, \bf{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoExpBinaryIndicatorBasedFitnessAssignment_1ad61bf146d3b24b41ef0575360f664b}, \bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFastNonDominatedSortingFitnessAssignment_8d16de444f6c7a73c28c9087b652656e}, and \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoReferencePointIndicatorBasedFitnessAssignment_ba47422dd4f82274af2f69c0b5f95d3a}.
Referenced by moeo\-Fitness\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().\index{moeoFitnessAssignment@{moeo\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoFitnessAssignment@{moeo\-Fitness\-Assignment}}

View file

@ -0,0 +1,215 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 275.482
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.815 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) cw
(moeoCrowdingDiversityAssignment< MOEOT >) cw
(moeoDiversityAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoFrontByFrontCrowdingDiversityAssignment< MOEOT >) 0 0 box
(moeoCrowdingDiversityAssignment< MOEOT >) 0 1 box
(moeoDiversityAssignment< MOEOT >) 0 2 box
(eoUF< eoPop< MOEOT > &, void >) 0 3 box
(eoFunctorBase) 0 4 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in

View file

@ -0,0 +1,102 @@
\section{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoFrontByFrontCrowdingDiversityAssignment}\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeoFrontByFrontCrowdingDiversityAssignment}}
Diversity assignment sheme based on crowding proposed in: K.
{\tt \#include $<$moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h$>$}
Inheritance diagram for moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoFrontByFrontCrowdingDiversityAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_aebd424133b426cf6a2ec7b20743bbaf}
\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{set\-Distances} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the distance values. \item\end{CompactList}\item
unsigned int \bf{last\-Index} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, unsigned int \_\-start)
\begin{CompactList}\small\item\em Returns the index of the last individual having the same fitness value than \_\-pop[\_\-start]. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$}
Diversity assignment sheme based on crowding proposed in: K.
Deb, A. Pratap, S. Agarwal, T. Meyarivan, \char`\"{}A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II\char`\"{}, IEEE Transactions on Evolutionary Computation, vol. 6, no. 2 (2002). Tis strategy assigns diversity values FRONT BY FRONT. It is, for instance, used in NSGA-II.
Definition at line 25 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_f73ff88bd29c49260e2ca859250e4b68}
\begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
\begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! \end{Desc}
Reimplemented from \bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDiversityAssignment_ba1d60c8e59fbe2c12e9eef33863f012}.
Definition at line 40 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h.\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}!setDistances@{setDistances}}
\index{setDistances@{setDistances}!moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Distances (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_1aa0ec7b94fbbf952636bcc21e1a9d16}
Sets the distance values.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Reimplemented from \bf{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDiversityAssignment_acbe3e03404ecc67dd5e83f00576c255}.
Definition at line 55 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h.
References moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::inf(), moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::last\-Index(), and moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::tiny().\index{moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}!lastIndex@{lastIndex}}
\index{lastIndex@{lastIndex}!moeoFrontByFrontCrowdingDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ unsigned int \bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$::last\-Index (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, unsigned int {\em \_\-start})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFrontByFrontCrowdingDiversityAssignment_ab8e153a4716375414ff2140fc3fa480}
Returns the index of the last individual having the same fitness value than \_\-pop[\_\-start].
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-start}]the index to start from \end{description}
\end{Desc}
Definition at line 121 of file moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h.
Referenced by moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$::set\-Distances().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment.h\end{CompactItemize}

View file

@ -0,0 +1,215 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 101.266
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.9375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoIBMOLS< MOEOT, Move >) cw
(moeoLS< MOEOT, eoPop< MOEOT > & >) cw
(moeoAlgo) cw
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoIBMOLS< MOEOT, Move >) 0.5 0 box
(moeoLS< MOEOT, eoPop< MOEOT > & >) 0.5 1 box
(moeoAlgo) 0 2 box
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) 1 2 box
(eoFunctorBase) 1 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in

View file

@ -0,0 +1,124 @@
\section{moeo\-IBMOLS$<$ MOEOT, Move $>$ Class Template Reference}
\label{classmoeoIBMOLS}\index{moeoIBMOLS@{moeoIBMOLS}}
Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K.
{\tt \#include $<$moeo\-IBMOLS.h$>$}
Inheritance diagram for moeo\-IBMOLS$<$ MOEOT, Move $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.83544cm]{classmoeoIBMOLS}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIBMOLS_d3433001dcc9a6e2a967aa5d64163935}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \&\_\-move\-Init, mo\-Next\-Move$<$ Move $>$ \&\_\-next\-Move, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \&\_\-move\-Incr\-Eval, \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Apply the local search until a local archive does not change or another stopping criteria is met and update the archive \_\-arch with new non-dominated solutions. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{one\-Step} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Apply one step of the local search to the population \_\-pop. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
mo\-Move\-Init$<$ Move $>$ \& \bf{move\-Init}\label{classmoeoIBMOLS_b4b4908b893edd52d6fa24085d2a89e5}
\begin{CompactList}\small\item\em the move initializer \item\end{CompactList}\item
mo\-Next\-Move$<$ Move $>$ \& \bf{next\-Move}\label{classmoeoIBMOLS_8b8ebbd6eb6c82caa796160b4be2a86b}
\begin{CompactList}\small\item\em the neighborhood explorer \item\end{CompactList}\item
\bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& \bf{eval}\label{classmoeoIBMOLS_e9acda4b2f61f8960109a8c6fd52551e}
\begin{CompactList}\small\item\em the full evaluation \item\end{CompactList}\item
\bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& \bf{move\-Incr\-Eval}\label{classmoeoIBMOLS_6c38636061bd03c4be809277e2dc257a}
\begin{CompactList}\small\item\em the incremental evaluation \item\end{CompactList}\item
\bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& \bf{fitness\-Assignment}\label{classmoeoIBMOLS_f48840d7af306db440e74028ed736a95}
\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item
\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoIBMOLS_c15985c0bb5d9ba835f35d99d7c42b14}
\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-IBMOLS$<$ MOEOT, Move $>$}
Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K.
: \char`\"{}Indicator-Based Multi-Objective Local Search\char`\"{} (2007).
Definition at line 32 of file moeo\-IBMOLS.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoIBMOLS@{moeo\-IBMOLS}!moeoIBMOLS@{moeoIBMOLS}}
\index{moeoIBMOLS@{moeoIBMOLS}!moeoIBMOLS@{moeo\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::\bf{moeo\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \& {\em \_\-move\-Init}, mo\-Next\-Move$<$ Move $>$ \& {\em \_\-next\-Move}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& {\em \_\-move\-Incr\-Eval}, \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBMOLS_04a4c1b453fe5ba2e3d44572196161fb}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move\-Init}]the move initializer \item[{\em \_\-next\-Move}]the neighborhood explorer \item[{\em \_\-eval}]the full evaluation \item[{\em \_\-move\-Incr\-Eval}]the incremental evaluation \item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-continuator}]the stopping criteria \end{description}
\end{Desc}
Definition at line 49 of file moeo\-IBMOLS.h.
\subsection{Member Function Documentation}
\index{moeoIBMOLS@{moeo\-IBMOLS}!operator()@{operator()}}
\index{operator()@{operator()}!moeoIBMOLS@{moeo\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIBMOLS_fd788bbc4f956dec932dba2a4d4479b6}
Apply the local search until a local archive does not change or another stopping criteria is met and update the archive \_\-arch with new non-dominated solutions.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the initial population \item[{\em \_\-arch}]the (updated) archive \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}.
Definition at line 72 of file moeo\-IBMOLS.h.
References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-Archive$<$ MOEOT $>$::equals(), moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::one\-Step(), and moeo\-Archive$<$ MOEOT $>$::update().\index{moeoIBMOLS@{moeo\-IBMOLS}!oneStep@{oneStep}}
\index{oneStep@{oneStep}!moeoIBMOLS@{moeo\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::one\-Step (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIBMOLS_fce770398602972b5d67c52638687d43}
Apply one step of the local search to the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 119 of file moeo\-IBMOLS.h.
References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Incr\-Eval, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Init, and moeo\-IBMOLS$<$ MOEOT, Move $>$::next\-Move.
Referenced by moeo\-IBMOLS$<$ MOEOT, Move $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-IBMOLS.h\end{CompactItemize}

View file

@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 259.74
%%BoundingBox: 0 0 500 163.934
%%Pages: 0
%%BeginSetup
%%EndSetup
@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.925 def % aspect ratio of the BoundingBox (width/height)
/boundaspect 3.05 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/rows 6 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@ -177,6 +177,9 @@ boxfont setfont
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@ -188,22 +191,37 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
(moeoFitnessAssignment< MOEOT >) 0 1 box
(eoUF< eoPop< MOEOT > &, void >) 0 2 box
(eoFunctorBase) 0 3 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 0.5 2 box
(moeoFitnessAssignment< MOEOT >) 0.5 3 box
(eoUF< eoPop< MOEOT > &, void >) 0.5 4 box
(eoFunctorBase) 0.5 5 box
(moeoBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box
(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) 1 1 box
(moeoExpBinaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
% ----- relations -----
solid
0 0 0 out
0 0.5 2 out
solid
1 0 1 in
1 0.5 3 in
solid
0 0 1 out
0 0.5 3 out
solid
1 0 2 in
1 0.5 4 in
solid
0 0 2 out
0 0.5 4 out
solid
1 0 3 in
1 0.5 5 in
solid
1 0.5 1.25 out
solid
0 1 2 conn
solid
0 0 1.75 in
solid
1 0 0.25 out
solid
0 1 1.75 in
solid
0 0 0.75 in

View file

@ -1,6 +1,6 @@
\section{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoIndicatorBasedFitnessAssignment}\index{moeoIndicatorBasedFitnessAssignment@{moeoIndicatorBasedFitnessAssignment}}
Fitness assignment sheme based an Indicator proposed in: E.
\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Indicator-based strategies.
{\tt \#include $<$moeo\-Indicator\-Based\-Fitness\-Assignment.h$>$}
@ -8,205 +8,19 @@ Fitness assignment sheme based an Indicator proposed in: E.
Inheritance diagram for moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoIndicatorBasedFitnessAssignment}
\includegraphics[height=4.59016cm]{classmoeoIndicatorBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIndicatorBasedFitnessAssignment_d3e6ebd336966e4c27c49b1f3a5caff7}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-Indicator\-Based\-Fitness\-Assignment} (\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric, const double \_\-kappa=0.05)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness values for every solution contained in the population \_\-pop. \item\end{CompactList}\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\item
double \bf{update\-By\-Adding} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the adding of the objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item
void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop. \item\end{CompactList}\item
void \bf{compute\-Values} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Compute every indicator value in values (values[i] = I(\_\-v[i], \_\-o)). \item\end{CompactList}\item
void \bf{set\-Fitnesses} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness value of the whple population. \item\end{CompactList}\item
double \bf{compute\-Fitness} (const unsigned int \_\-idx)
\begin{CompactList}\small\item\em Returns the fitness value of the \_\-idx th individual of the population. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& \bf{metric}\label{classmoeoIndicatorBasedFitnessAssignment_e282cea650fce9b3776e691d2bb7611c}
\begin{CompactList}\small\item\em the quality indicator \item\end{CompactList}\item
double \bf{kappa}\label{classmoeoIndicatorBasedFitnessAssignment_d03b1277faa2c3719d2dc24a0de36183}
\begin{CompactList}\small\item\em the scaling factor \item\end{CompactList}\item
std::vector$<$ std::vector$<$ double $>$ $>$ \bf{values}\label{classmoeoIndicatorBasedFitnessAssignment_30cd71c3fcc46432eee7b462d41d357b}
\begin{CompactList}\small\item\em the computed indicator values \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
Fitness assignment sheme based an Indicator proposed in: E.
Zitzler, S. K\~{A}¼nzli, \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{}, Proc. 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 832-842, Birmingham, UK (2004). This strategy is, for instance, used in IBEA.
\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Indicator-based strategies.
Definition at line 29 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!moeoIndicatorBasedFitnessAssignment@{moeoIndicatorBasedFitnessAssignment}}
\index{moeoIndicatorBasedFitnessAssignment@{moeoIndicatorBasedFitnessAssignment}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Indicator\-Based\-Fitness\-Assignment} (\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric}, const double {\em \_\-kappa} = {\tt 0.05})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIndicatorBasedFitnessAssignment_8f075df685b569aff5d6c0f0ccf5986c}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-metric}]the quality indicator \item[{\em \_\-kappa}]the scaling factor \end{description}
\end{Desc}
Definition at line 42 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIndicatorBasedFitnessAssignment_01cd4c9d1383f2a5948851278866c068}
Sets the fitness values for every solution contained in the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Implements \bf{eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>$}.
Definition at line 50 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::compute\-Values(), moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses(), and moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIndicatorBasedFitnessAssignment_04d6a7e20060af2da765e76600c72e2c}
Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
Implements \bf{moeo\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269}.
Definition at line 66 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric.\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!updateByAdding@{updateByAdding}}
\index{updateByAdding@{updateByAdding}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ double \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Adding (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIndicatorBasedFitnessAssignment_33707dba105ebf6a8ba75e31b2319c98}
Updates the fitness values of the whole population \_\-pop by taking the adding of the objective vector \_\-obj\-Vec into account and returns the fitness value of \_\-obj\-Vec.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
Definition at line 87 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric.\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!setup@{setup}}
\index{setup@{setup}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoIndicatorBasedFitnessAssignment_decaa6258ead44f1e0587e84208c6bf9}
Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 130 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::setup().
Referenced by moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!computeValues@{computeValues}}
\index{computeValues@{computeValues}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::compute\-Values (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoIndicatorBasedFitnessAssignment_2fd93c0a5fe35e979637c5f602c39341}
Compute every indicator value in values (values[i] = I(\_\-v[i], \_\-o)).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 152 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::values.
Referenced by moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!setFitnesses@{setFitnesses}}
\index{setFitnesses@{setFitnesses}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::set\-Fitnesses (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoIndicatorBasedFitnessAssignment_8d23624ddefd5eb2cf88eb28049b588c}
Sets the fitness value of the whple population.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 174 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::compute\-Fitness().
Referenced by moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}!computeFitness@{computeFitness}}
\index{computeFitness@{computeFitness}!moeoIndicatorBasedFitnessAssignment@{moeo\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ double \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::compute\-Fitness (const unsigned int {\em \_\-idx})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoIndicatorBasedFitnessAssignment_ee4c7361ad192e90534cab1a78180fe0}
Returns the fitness value of the \_\-idx th individual of the population.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-idx}]the index \end{description}
\end{Desc}
Definition at line 187 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::kappa, and moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::values.
Referenced by moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses().
Definition at line 22 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item

View file

@ -0,0 +1,215 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 101.266
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.9375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoIteratedIBMOLS< MOEOT, Move >) cw
(moeoLS< MOEOT, eoPop< MOEOT > & >) cw
(moeoAlgo) cw
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoIteratedIBMOLS< MOEOT, Move >) 0.5 0 box
(moeoLS< MOEOT, eoPop< MOEOT > & >) 0.5 1 box
(moeoAlgo) 0 2 box
(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) 1 2 box
(eoFunctorBase) 1 3 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
0 1 2 conn
solid
1 0 2 in
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in

View file

@ -0,0 +1,124 @@
\section{moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$ Class Template Reference}
\label{classmoeoIteratedIBMOLS}\index{moeoIteratedIBMOLS@{moeoIteratedIBMOLS}}
Iterated version of IBMOLS as described in Basseur M., Burke K.
{\tt \#include $<$moeo\-Iterated\-IBMOLS.h$>$}
Inheritance diagram for moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.83544cm]{classmoeoIteratedIBMOLS}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIteratedIBMOLS_bc0f8dff81be56b23376995aace92a01}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-Iterated\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \&\_\-move\-Init, mo\-Next\-Move$<$ Move $>$ \&\_\-next\-Move, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \&\_\-move\-Incr\-Eval, \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mon\-Op, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-random\-Mon\-Op, unsigned int \_\-n\-Noise\-Iterations=1)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Apply the local search iteratively until the stopping criteria is met. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{generate\-New\-Solutions} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, const \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Creates new population randomly initialized and/or initialized from the archive \_\-arch. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
\bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$ \bf{ibmols}\label{classmoeoIteratedIBMOLS_6b1351f1faa391a1f095d1f9d4dba915}
\begin{CompactList}\small\item\em the local search to iterate \item\end{CompactList}\item
\bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& \bf{eval}\label{classmoeoIteratedIBMOLS_7abdd0c1433ec4671522c8d5edc9fe61}
\begin{CompactList}\small\item\em the full evaluation \item\end{CompactList}\item
\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoIteratedIBMOLS_964e5df65c7aa33dd84eed3180d5e0a3}
\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\item
\bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& \bf{mon\-Op}\label{classmoeoIteratedIBMOLS_77851daa2f2230000c0012beef3b8558}
\begin{CompactList}\small\item\em the monary operator \item\end{CompactList}\item
\bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& \bf{random\-Mon\-Op}\label{classmoeoIteratedIBMOLS_89df3bfa7069c06c7e7cf4b30ccc5535}
\begin{CompactList}\small\item\em the random monary operator (or random initializer) \item\end{CompactList}\item
unsigned int \bf{n\-Noise\-Iterations}\label{classmoeoIteratedIBMOLS_a50f25daf2847fb9d299ef65baf3bda7}
\begin{CompactList}\small\item\em the number of iterations to apply the random noise \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$}
Iterated version of IBMOLS as described in Basseur M., Burke K.
: \char`\"{}Indicator-Based Multi-Objective Local Search\char`\"{} (2007).
Definition at line 41 of file moeo\-Iterated\-IBMOLS.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!moeoIteratedIBMOLS@{moeoIteratedIBMOLS}}
\index{moeoIteratedIBMOLS@{moeoIteratedIBMOLS}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::\bf{moeo\-Iterated\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \& {\em \_\-move\-Init}, mo\-Next\-Move$<$ Move $>$ \& {\em \_\-next\-Move}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& {\em \_\-move\-Incr\-Eval}, \bf{moeo\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mon\-Op}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-random\-Mon\-Op}, unsigned int {\em \_\-n\-Noise\-Iterations} = {\tt 1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIteratedIBMOLS_2140e1b0e3c23238ecd16863c068122f}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move\-Init}]the move initializer \item[{\em \_\-next\-Move}]the neighborhood explorer \item[{\em \_\-eval}]the full evaluation \item[{\em \_\-move\-Incr\-Eval}]the incremental evaluation \item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-mon\-Op}]the monary operator \item[{\em \_\-random\-Mon\-Op}]the random monary operator (or random initializer) \item[{\em \_\-n\-Noise\-Iterations}]the number of iterations to apply the random noise \end{description}
\end{Desc}
Definition at line 61 of file moeo\-Iterated\-IBMOLS.h.
\subsection{Member Function Documentation}
\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!operator()@{operator()}}
\index{operator()@{operator()}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIteratedIBMOLS_52d4aa19a93c69ed0c2246c62821e76e}
Apply the local search iteratively until the stopping criteria is met.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the initial population \item[{\em \_\-arch}]the (updated) archive \end{description}
\end{Desc}
Implements \bf{eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}.
Definition at line 86 of file moeo\-Iterated\-IBMOLS.h.
References moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::generate\-New\-Solutions(), moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::ibmols, and moeo\-Archive$<$ MOEOT $>$::update().\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!generateNewSolutions@{generateNewSolutions}}
\index{generateNewSolutions@{generateNewSolutions}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::generate\-New\-Solutions (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, const \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIteratedIBMOLS_2826cf283f6670b3c46da5ac6b6def18}
Creates new population randomly initialized and/or initialized from the archive \_\-arch.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the output population \item[{\em \_\-arch}]the archive \end{description}
\end{Desc}
Definition at line 121 of file moeo\-Iterated\-IBMOLS.h.
References moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::eval, eo\-Pop$<$ EOT $>$::invalidate(), moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::mon\-Op, moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::n\-Noise\-Iterations, and moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::random\-Mon\-Op.
Referenced by moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Iterated\-IBMOLS.h\end{CompactItemize}

View file

@ -0,0 +1,203 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 324.324
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.54167 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoMoveIncrEval< Move >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoMoveIncrEval< Move >) 0 0 box
(eoBF< A1, A2, R >) 0 1 box
(eoFunctorBase) 0 2 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in

View file

@ -0,0 +1,22 @@
\section{moeo\-Move\-Incr\-Eval$<$ Move $>$ Class Template Reference}
\label{classmoeoMoveIncrEval}\index{moeoMoveIncrEval@{moeoMoveIncrEval}}
Inheritance diagram for moeo\-Move\-Incr\-Eval$<$ Move $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classmoeoMoveIncrEval}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class Move$>$ class moeo\-Move\-Incr\-Eval$<$ Move $>$}
Definition at line 9 of file moeo\-Move\-Incr\-Eval.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Move\-Incr\-Eval.h\end{CompactItemize}

View file

@ -44,7 +44,7 @@ virtual void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$ \bf{fitness\-Assignment}\label{classmoeoNSGAII_2cf7c853cc4213664b0654b1e5a8862a}
\begin{CompactList}\small\item\em fitness assignment used in NSGA-II \item\end{CompactList}\item
\bf{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{diversity\-Assignment}\label{classmoeoNSGAII_710a3cdb375b1d03b1251f8a11b1c4b0}
\bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{diversity\-Assignment}\label{classmoeoNSGAII_4abf4583668c6f145f4dbb0a24d2dae0}
\begin{CompactList}\small\item\em diversity assignment used in NSGA-II \item\end{CompactList}\item
\bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$ \bf{replace}\label{classmoeoNSGAII_75bc4b735c5de2a6fc93b2f2b63c7251}

View file

@ -63,7 +63,7 @@ Sets the lower bound (\_\-min) and the upper bound (\_\-max) for the objective \
Definition at line 50 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
Referenced by moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoNormalizedSolutionVsSolutionBinaryMetric@{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}!setup@{setup}}
Referenced by moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup(), and moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoNormalizedSolutionVsSolutionBinaryMetric@{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}!setup@{setup}}
\index{setup@{setup}!moeoNormalizedSolutionVsSolutionBinaryMetric@{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector, class R$>$ virtual void \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ Objective\-Vector, R $>$::setup (\bf{eo\-Real\-Interval} {\em \_\-real\-Interval}, unsigned int {\em \_\-obj})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_0693a23c68e3fe0bb546e34926dcfe93}

View file

@ -0,0 +1,197 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 119.048
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 4.2 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoRealObjectiveVector< ObjectiveVectorTraits >) cw
(moeoObjectiveVector< ObjectiveVectorTraits, double >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoRealObjectiveVector< ObjectiveVectorTraits >) 0 0 box
(moeoObjectiveVector< ObjectiveVectorTraits, double >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,181 @@
\section{moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ Class Template Reference}
\label{classmoeoRealObjectiveVector}\index{moeoRealObjectiveVector@{moeoRealObjectiveVector}}
This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e.
{\tt \#include $<$moeo\-Real\-Objective\-Vector.h$>$}
Inheritance diagram for moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmoeoRealObjectiveVector}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-Real\-Objective\-Vector} (double \_\-value=0.0)\label{classmoeoRealObjectiveVector_07b6df71c6ca3b50a0a0379838233525}
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
\bf{moeo\-Real\-Objective\-Vector} (std::vector$<$ double $>$ \&\_\-v)
\begin{CompactList}\small\item\em Ctor from a vector of doubles. \item\end{CompactList}\item
bool \bf{dominates} (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the current objective vector dominates \_\-other according to the Pareto dominance relation (but it's better to use a \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} object to compare solutions). \item\end{CompactList}\item
bool \bf{operator==} (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the current objective vector is equal to \_\-other (according to a tolerance value). \item\end{CompactList}\item
bool \bf{operator!=} (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the current objective vector is different than \_\-other (according to a tolerance value). \item\end{CompactList}\item
bool \bf{operator$<$} (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the current objective vector is smaller than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item
bool \bf{operator$>$} (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the current objective vector is greater than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item
bool \bf{operator$<$=} (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the current objective vector is smaller than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item
bool \bf{operator$>$=} (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the current objective vector is greater than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector\-Traits$>$ class moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$}
This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of real values, i.e.
that an objective value is represented using a double, and this for any objective.
Definition at line 27 of file moeo\-Real\-Objective\-Vector.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!moeoRealObjectiveVector@{moeoRealObjectiveVector}}
\index{moeoRealObjectiveVector@{moeoRealObjectiveVector}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::\bf{moeo\-Real\-Objective\-Vector} (std::vector$<$ double $>$ \& {\em \_\-v})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_59083142c6a1766f0df30f2457fff34c}
Ctor from a vector of doubles.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-v}]the std::vector $<$ double $>$ \end{description}
\end{Desc}
Definition at line 45 of file moeo\-Real\-Objective\-Vector.h.
\subsection{Member Function Documentation}
\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!dominates@{dominates}}
\index{dominates@{dominates}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::dominates (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_403a1b537d7accba53ecc939dbe5b829}
Returns true if the current objective vector dominates \_\-other according to the Pareto dominance relation (but it's better to use a \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} object to compare solutions).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description}
\end{Desc}
Definition at line 54 of file moeo\-Real\-Objective\-Vector.h.\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator==@{operator==}}
\index{operator==@{operator==}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::operator== (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_e2f1665239fac279784a7c2d4e030a0a}
Returns true if the current objective vector is equal to \_\-other (according to a tolerance value).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description}
\end{Desc}
Definition at line 65 of file moeo\-Real\-Objective\-Vector.h.
Referenced by moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator!=(), and moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$>$=().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::operator!= (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_7300c03310d45932f3de8b54f7079c61}
Returns true if the current objective vector is different than \_\-other (according to a tolerance value).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description}
\end{Desc}
Definition at line 82 of file moeo\-Real\-Objective\-Vector.h.
References moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator==().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator<@{operator$<$}}
\index{operator<@{operator$<$}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::operator$<$ (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_2113937b8a097943278f471255f2da28}
Returns true if the current objective vector is smaller than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description}
\end{Desc}
Definition at line 93 of file moeo\-Real\-Objective\-Vector.h.
Referenced by moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$<$=().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator>@{operator$>$}}
\index{operator>@{operator$>$}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::operator$>$ (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_6f3b3f40139f9a6ede18297b6eff3189}
Returns true if the current objective vector is greater than \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description}
\end{Desc}
Definition at line 105 of file moeo\-Real\-Objective\-Vector.h.
Referenced by moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$>$=().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator<=@{operator$<$=}}
\index{operator<=@{operator$<$=}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::operator$<$= (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_f7ea79ab6b2a6672df9a5725e7d842a0}
Returns true if the current objective vector is smaller than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description}
\end{Desc}
Definition at line 116 of file moeo\-Real\-Objective\-Vector.h.
References moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$<$().\index{moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}!operator>=@{operator$>$=}}
\index{operator>=@{operator$>$=}!moeoRealObjectiveVector@{moeo\-Real\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::operator$>$= (const \bf{moeo\-Real\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealObjectiveVector_1aadf971866abb81a35fadbe650c9701}
Returns true if the current objective vector is greater than or equal to \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{moeo\-Real\-Objective\-Vector}{p.}{classmoeoRealObjectiveVector} object to compare with \end{description}
\end{Desc}
Definition at line 127 of file moeo\-Real\-Objective\-Vector.h.
References moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator==(), and moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::operator$>$().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Real\-Objective\-Vector.h\end{CompactItemize}

View file

@ -15,7 +15,10 @@ Inheritance diagram for moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness
\begin{CompactItemize}
\item
\bf{moeo\-Real\-Vector} (unsigned int \_\-size=0, double \_\-value=0.0)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\end{CompactItemize}
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
virtual std::string \bf{class\-Name} () const \label{classmoeoRealVector_0585cfbce7824e8c2a0f336017b9ffd9}
\begin{CompactList}\small\item\em Returns the class name as a std::string. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}

View file

@ -0,0 +1,209 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 202.532
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 2.46875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 4 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
(moeoFitnessAssignment< MOEOT >) 0 1 box
(eoUF< eoPop< MOEOT > &, void >) 0 2 box
(eoFunctorBase) 0 3 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in

View file

@ -0,0 +1,148 @@
\section{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoReferencePointIndicatorBasedFitnessAssignment}\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}}
Fitness assignment sheme based a Reference Point and a Quality Indicator.
{\tt \#include $<$moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoReferencePointIndicatorBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_51ae5507dca3e934f7db36eef78df556}
\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment} (\bf{Objective\-Vector} \&\_\-ref\-Point, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness values for every solution contained in the population \_\-pop. \item\end{CompactList}\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item
void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop (and the reference point). \item\end{CompactList}\item
void \bf{set\-Fitnesses} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness of every individual contained in the population \_\-pop. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
\bf{Objective\-Vector} \& \bf{ref\-Point}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_73dc1eb66e46b28b7ee283f7367f427b}
\begin{CompactList}\small\item\em the reference point \item\end{CompactList}\item
\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& \bf{metric}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_9adf4fd353f44f15d3722ef26aa81832}
\begin{CompactList}\small\item\em the quality indicator \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
Fitness assignment sheme based a Reference Point and a Quality Indicator.
Definition at line 25 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}}
\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment} (\bf{Objective\-Vector} \& {\em \_\-ref\-Point}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_67a5e91e08f89f27ad5aad989898c425}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-ref\-Point}]the reference point \item[{\em \_\-metric}]the quality indicator \end{description}
\end{Desc}
Definition at line 37 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_d122ebb7cda54b283d6736dc5e57da7d}
Sets the fitness values for every solution contained in the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Implements \bf{eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>$}.
Definition at line 46 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses(), and moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_ba47422dd4f82274af2f69c0b5f95d3a}
Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
Implements \bf{moeo\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269}.
Definition at line 60 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!setup@{setup}}
\index{setup@{setup}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_67bfa12f97d247c15f3e28f923646b78}
Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop (and the reference point).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 78 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::ref\-Point, and moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::setup().
Referenced by moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!setFitnesses@{setFitnesses}}
\index{setFitnesses@{setFitnesses}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::set\-Fitnesses (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_b1ca358eeb6dac0afe902a3978e1219a}
Sets the fitness of every individual contained in the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 99 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.
References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::ref\-Point.
Referenced by moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize}

View file

@ -0,0 +1,215 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 292.398
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 1.71 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 5 def
/cols 1 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(moeoUnaryIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 1 box
(moeoFitnessAssignment< MOEOT >) 0 2 box
(eoUF< eoPop< MOEOT > &, void >) 0 3 box
(eoFunctorBase) 0 4 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in

View file

@ -0,0 +1,27 @@
\section{moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoUnaryIndicatorBasedFitnessAssignment}\index{moeoUnaryIndicatorBasedFitnessAssignment@{moeoUnaryIndicatorBasedFitnessAssignment}}
\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for unary indicators.
{\tt \#include $<$moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoUnaryIndicatorBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
\doxyref{moeo\-Indicator\-Based\-Fitness\-Assignment}{p.}{classmoeoIndicatorBasedFitnessAssignment} for unary indicators.
Definition at line 22 of file moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize}

View file

@ -10,8 +10,8 @@
{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
{\fancyplain{}{\bfseries\thepage}}
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Tue Jun 26 15:42:07 2007 for Paradis\-EO-MOEO by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Jun 26 15:42:07 2007 for Paradis\-EO-MOEO by Doxygen }}
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Jul 2 16:00:16 2007 for Paradis\-EO-MOEO by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Jul 2 16:00:16 2007 for Paradis\-EO-MOEO by Doxygen }}
\cfoot{}
\newenvironment{Code}
{\footnotesize}

View file

@ -59,6 +59,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\item \contentsline{section}{moeo\-Manhattan\-Distance$<$ MOEOT $>$}{\pageref{classmoeoManhattanDistance}}{}
\end{CompactList}
\end{CompactList}
\item \contentsline{section}{moeo\-Move\-Incr\-Eval$<$ Move $>$}{\pageref{classmoeoMoveIncrEval}}{}
\item \contentsline{section}{moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}{\pageref{classmoeoObjectiveVectorComparator}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}{\pageref{classmoeoGDominanceObjectiveVectorComparator}}{}
@ -78,6 +79,13 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\item eo\-BF$<$ const const std::vector$<$ Objective\-Vector $>$ \&, std::vector$<$ Objective\-Vector $>$ \&, R $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moeo\-Binary\-Metric$<$ const const std::vector$<$ Objective\-Vector $>$ \&, std::vector$<$ Objective\-Vector $>$ \&, R $>$}{\pageref{classmoeoBinaryMetric}}{}
\end{CompactList}
\item eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, moeo\-Archive$<$ MOEOT $>$ \&, void $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moeo\-LS$<$ MOEOT, eo\-Pop$<$ MOEOT $>$ \& $>$}{\pageref{classmoeoLS}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-IBMOLS$<$ MOEOT, Move $>$}{\pageref{classmoeoIBMOLS}}{}
\item \contentsline{section}{moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$}{\pageref{classmoeoIteratedIBMOLS}}{}
\end{CompactList}
\end{CompactList}
\item eo\-BF$<$ Type, moeo\-Archive$<$ MOEOT $>$ \&, void $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moeo\-LS$<$ MOEOT, Type $>$}{\pageref{classmoeoLS}}{}
\begin{CompactList}
@ -147,9 +155,9 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\item eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>${\tt [external]}\begin{CompactList}
\item \contentsline{section}{moeo\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoDiversityAssignment}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoCrowdingDistanceDiversityAssignment}}{}
\item \contentsline{section}{moeo\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoCrowdingDiversityAssignment}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment}}{}
\item \contentsline{section}{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoFrontByFrontCrowdingDiversityAssignment}}{}
\end{CompactList}
\item \contentsline{section}{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoDummyDiversityAssignment}}{}
\item \contentsline{section}{moeo\-Sharing\-Diversity\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoSharingDiversityAssignment}}{}
@ -162,10 +170,18 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\item \contentsline{section}{moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoCriterionBasedFitnessAssignment}}{}
\item \contentsline{section}{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoDummyFitnessAssignment}}{}
\item \contentsline{section}{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoIndicatorBasedFitnessAssignment}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoBinaryIndicatorBasedFitnessAssignment}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-Exp\-Binary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoExpBinaryIndicatorBasedFitnessAssignment}}{}
\end{CompactList}
\item \contentsline{section}{moeo\-Unary\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoUnaryIndicatorBasedFitnessAssignment}}{}
\end{CompactList}
\item \contentsline{section}{moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoParetoBasedFitnessAssignment}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoFastNonDominatedSortingFitnessAssignment}}{}
\end{CompactList}
\item \contentsline{section}{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoReferencePointIndicatorBasedFitnessAssignment}}{}
\item \contentsline{section}{moeo\-Scalar\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoScalarFitnessAssignment}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-Achievement\-Fitness\-Assignment$<$ MOEOT $>$}{\pageref{classmoeoAchievementFitnessAssignment}}{}
@ -211,13 +227,14 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\begin{CompactList}
\item \contentsline{section}{moeo\-EA$<$ MOEOT $>$}{\pageref{classmoeoEA}}{}
\item \contentsline{section}{moeo\-LS$<$ MOEOT, Type $>$}{\pageref{classmoeoLS}}{}
\item \contentsline{section}{moeo\-LS$<$ MOEOT, eo\-Pop$<$ MOEOT $>$ \& $>$}{\pageref{classmoeoLS}}{}
\end{CompactList}
\item \contentsline{section}{moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp}{\pageref{classmoeoElitistReplacement_1_1Cmp}}{}
\item \contentsline{section}{moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp}{\pageref{classmoeoEnvironmentalReplacement_1_1Cmp}}{}
\item \contentsline{section}{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, Objective\-Vector\-Type $>$}{\pageref{classmoeoObjectiveVector}}{}
\item \contentsline{section}{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits, double $>$}{\pageref{classmoeoObjectiveVector}}{}
\begin{CompactList}
\item \contentsline{section}{moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$}{\pageref{classmoeoObjectiveVectorDouble}}{}
\item \contentsline{section}{moeo\-Real\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$}{\pageref{classmoeoRealObjectiveVector}}{}
\end{CompactList}
\item \contentsline{section}{moeo\-Objective\-Vector\-Traits}{\pageref{classmoeoObjectiveVectorTraits}}{}
\end{CompactList}

View file

@ -19,7 +19,7 @@
\vspace*{1cm}
{\large Generated by Doxygen 1.4.7}\\
\vspace*{0.5cm}
{\small Tue Jun 26 15:42:07 2007}\\
{\small Mon Jul 2 16:00:16 2007}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
@ -42,6 +42,7 @@
\include{classmoeoArchive}
\include{classmoeoArchiveObjectiveVectorSavingUpdater}
\include{classmoeoArchiveUpdater}
\include{classmoeoBinaryIndicatorBasedFitnessAssignment}
\include{classmoeoBinaryMetric}
\include{classmoeoBinaryMetricSavingUpdater}
\include{classmoeoBitVector}
@ -50,7 +51,7 @@
\include{classmoeoContributionMetric}
\include{classmoeoConvertPopToObjectiveVectors}
\include{classmoeoCriterionBasedFitnessAssignment}
\include{classmoeoCrowdingDistanceDiversityAssignment}
\include{classmoeoCrowdingDiversityAssignment}
\include{classmoeoDetTournamentSelect}
\include{classmoeoDistance}
\include{classmoeoDistanceMatrix}
@ -70,21 +71,25 @@
\include{classmoeoEnvironmentalReplacement_1_1Cmp}
\include{classmoeoEuclideanDistance}
\include{classmoeoEvalFunc}
\include{classmoeoExpBinaryIndicatorBasedFitnessAssignment}
\include{classmoeoFastNonDominatedSortingFitnessAssignment}
\include{classmoeoFastNonDominatedSortingFitnessAssignment_1_1ObjectiveComparator}
\include{classmoeoFitnessAssignment}
\include{classmoeoFitnessThenDiversityComparator}
\include{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment}
\include{classmoeoFrontByFrontCrowdingDiversityAssignment}
\include{classmoeoFrontByFrontSharingDiversityAssignment}
\include{classmoeoGDominanceObjectiveVectorComparator}
\include{classmoeoGenerationalReplacement}
\include{classmoeoHybridLS}
\include{classmoeoHypervolumeBinaryMetric}
\include{classmoeoIBEA}
\include{classmoeoIBMOLS}
\include{classmoeoIndicatorBasedFitnessAssignment}
\include{classmoeoIteratedIBMOLS}
\include{classmoeoLS}
\include{classmoeoManhattanDistance}
\include{classmoeoMetric}
\include{classmoeoMoveIncrEval}
\include{classmoeoNormalizedDistance}
\include{classmoeoNormalizedSolutionVsSolutionBinaryMetric}
\include{classmoeoNSGA}
@ -92,13 +97,14 @@
\include{classmoeoObjectiveObjectiveVectorComparator}
\include{classmoeoObjectiveVector}
\include{classmoeoObjectiveVectorComparator}
\include{classmoeoObjectiveVectorDouble}
\include{classmoeoObjectiveVectorTraits}
\include{classmoeoOneObjectiveComparator}
\include{classmoeoParetoBasedFitnessAssignment}
\include{classmoeoParetoObjectiveVectorComparator}
\include{classmoeoRandomSelect}
\include{classmoeoRealObjectiveVector}
\include{classmoeoRealVector}
\include{classmoeoReferencePointIndicatorBasedFitnessAssignment}
\include{classmoeoReplacement}
\include{classmoeoRouletteSelect}
\include{classmoeoScalarFitnessAssignment}
@ -108,6 +114,7 @@
\include{classmoeoSolutionUnaryMetric}
\include{classmoeoSolutionVsSolutionBinaryMetric}
\include{classmoeoStochTournamentSelect}
\include{classmoeoUnaryIndicatorBasedFitnessAssignment}
\include{classmoeoUnaryMetric}
\include{classmoeoVector}
\include{classmoeoVectorUnaryMetric}