update docs

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@263 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
liefooga 2007-04-17 15:45:01 +00:00
commit 2e7e817428
444 changed files with 43692 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,39 @@
all: clean refman.dvi
ps: refman.ps
pdf: refman.pdf
ps_2on1: refman_2on1.ps
pdf_2on1: refman_2on1.pdf
refman.ps: refman.dvi
dvips -o refman.ps refman.dvi
refman.pdf: refman.ps
ps2pdf refman.ps refman.pdf
refman.dvi: refman.tex doxygen.sty
echo "Running latex..."
latex refman.tex
echo "Running makeindex..."
makeindex refman.idx
echo "Rerunning latex...."
latex refman.tex
latex_count=5 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
latex refman.tex ;\
latex_count=`expr $$latex_count - 1` ;\
done
refman_2on1.ps: refman.ps
psnup -2 refman.ps >refman_2on1.ps
refman_2on1.pdf: refman_2on1.ps
ps2pdf refman_2on1.ps refman_2on1.pdf
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf

View file

@ -0,0 +1,64 @@
\section{Paradis\-EO-MOEO Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{{\bf MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} (Base class allowing to represent a solution (an individual) for multi-objective optimization )}{\pageref{classMOEO}}{}
\item\contentsline{section}{{\bf moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$} (Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C )}{\pageref{classmoeoAdditiveEpsilonBinaryMetric}}{}
\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$<$ EOT $>$} (This class allows to save the fitnesses of 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\-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}}{}
\item\contentsline{section}{{\bf moeo\-Combined\-LS$<$ MOEOT, Type $>$} (This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions )}{\pageref{classmoeoCombinedLS}}{}
\item\contentsline{section}{{\bf moeo\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions )}{\pageref{classmoeoComparator}}{}
\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\-Det\-Tournament\-Select$<$ MOEOT $>$} (Selection strategy that selects ONE individual by deterministic tournament )}{\pageref{classmoeoDetTournamentSelect}}{}
\item\contentsline{section}{{\bf moeo\-Diversity\-Assignment$<$ MOEOT $>$} (Functor that sets the diversity values of a whole population )}{\pageref{classmoeoDiversityAssignment}}{}
\item\contentsline{section}{{\bf moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to their diversity values, then according to their fitness values )}{\pageref{classmoeoDiversityThenFitnessComparator}}{}
\item\contentsline{section}{{\bf moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$} (Moeo\-Dummy\-Diversity\-Assignment is a \doxyref{moeo\-Diversity\-Assignment}{p.}{classmoeoDiversityAssignment} that gives the value '0' as the individual's diversity for a whole population if it is invalid )}{\pageref{classmoeoDummyDiversityAssignment}}{}
\item\contentsline{section}{{\bf moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$} (Moeo\-Dummy\-Fitness\-Assignment is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} that gives the value '0' as the individual's fitness for a whole population if it is invalid )}{\pageref{classmoeoDummyFitnessAssignment}}{}
\item\contentsline{section}{{\bf moeo\-EA$<$ MOEOT $>$} (Abstract class for multi-objective evolutionary algorithms )}{\pageref{classmoeoEA}}{}
\item\contentsline{section}{{\bf moeo\-Easy\-EA$<$ MOEOT $>$} (An easy class to design multi-objective evolutionary algorithms )}{\pageref{classmoeoEasyEA}}{}
\item\contentsline{section}{{\bf moeo\-Elitist\-Replacement$<$ MOEOT $>$} (Elitist replacement strategy that consists in keeping the N best individuals )}{\pageref{classmoeoElitistReplacement}}{}
\item\contentsline{section}{{\bf moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp} (This class is used to compare solutions in order to sort the population )}{\pageref{classmoeoElitistReplacement_1_1Cmp}}{}
\item\contentsline{section}{{\bf moeo\-Entropy\-Metric$<$ Objective\-Vector $>$} (The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc )}{\pageref{classmoeoEntropyMetric}}{}
\item\contentsline{section}{{\bf moeo\-Environmental\-Replacement$<$ MOEOT $>$} (Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion )}{\pageref{classmoeoEnvironmentalReplacement}}{}
\item\contentsline{section}{{\bf moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp} (This class is used to compare solutions in order to sort the population )}{\pageref{classmoeoEnvironmentalReplacement_1_1Cmp}}{}
\item\contentsline{section}{{\bf moeo\-Eval\-Func$<$ MOEOT $>$} }{\pageref{classmoeoEvalFunc}}{}
\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\-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\-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\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} (Fitness assignment sheme based an Indicator proposed in: E )}{\pageref{classmoeoIndicatorBasedFitnessAssignment}}{}
\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\-Metric} (Base class for performance metrics (also known as quality indicators) )}{\pageref{classmoeoMetric}}{}
\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\-NSGAII$<$ MOEOT $>$} (The NSGA-II algorithm as described in: Deb, K., S )}{\pageref{classmoeoNSGAII}}{}
\item\contentsline{section}{{\bf moeo\-Objective\-Comparator$<$ MOEOT $>$} (Functor allowing to compare two solutions according to their first objective value, then their second, and so on )}{\pageref{classmoeoObjectiveComparator}}{}
\item\contentsline{section}{{\bf moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$} (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\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} (This class is an implementationeo of a simple double-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector} )}{\pageref{classmoeoRealVector}}{}
\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}}{}
\item\contentsline{section}{{\bf moeo\-Select\-From\-Pop\-And\-Arch$<$ MOEOT $>$} (Elitist selection process that consists in choosing individuals in the archive as well as in the current population )}{\pageref{classmoeoSelectFromPopAndArch}}{}
\item\contentsline{section}{{\bf moeo\-Select\-One$<$ MOEOT $>$} (Selection strategy for multi-objective optimization that selects only one element from a whole population )}{\pageref{classmoeoSelectOne}}{}
\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\-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}}{}
\item\contentsline{section}{{\bf moeo\-Vector\-Vs\-Vector\-Binary\-Metric$<$ Objective\-Vector, R $>$} (Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of objective vectors) )}{\pageref{classmoeoVectorVsVectorBinaryMetric}}{}
\end{CompactList}

View file

@ -0,0 +1,243 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 80.6452
%%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 6.2 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 3 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
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(EO< MOEOObjectiveVector >) cw
(eoObject) cw
(eoPersistent) cw
(eoPrintable) cw
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) cw
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) cw
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw
(moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 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 -----
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 1 2 box
(EO< MOEOObjectiveVector >) 1 3 box
(eoObject) 0.5 4 box
(eoPersistent) 1.5 4 box
(eoPrintable) 1.5 5 box
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) 0 1 box
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) 1 1 box
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 2 1 box
(moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 1 0 box
(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 2 0 box
% ----- relations -----
solid
0 1 2 out
solid
1 1 3 in
solid
0 1 3 out
solid
0.5 1.5 4 conn
solid
1 0.5 4 in
solid
1 1.5 4 in
solid
0 1.5 4 out
solid
1 1.5 5 in
solid
1 1 1.25 out
solid
0 2 2 conn
solid
0 0 1.75 in
solid
0 1 1.75 in
solid
1 1 0.25 out
solid
0 2 1.75 in
solid
1 2 0.25 out
solid
0 1 0.75 in
solid
0 2 0.75 in

View file

@ -0,0 +1,226 @@
\section{MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ Class Template Reference}
\label{classMOEO}\index{MOEO@{MOEO}}
Base class allowing to represent a solution (an individual) for multi-objective optimization.
{\tt \#include $<$MOEO.h$>$}
Inheritance diagram for MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.25806cm]{classMOEO}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOObjective\-Vector {\bf Objective\-Vector}\label{classMOEO_9fafca99234ef3cd9fdbaf05bde5a275}
\begin{CompactList}\small\item\em the objective vector type of a solution \item\end{CompactList}\item
typedef MOEOFitness {\bf Fitness}\label{classMOEO_03184b6c0b5c905e0ff5a790a3d55803}
\begin{CompactList}\small\item\em the fitness type of a solution \item\end{CompactList}\item
typedef MOEODiversity {\bf Diversity}\label{classMOEO_9682a883fedc6333e95906e02236d492}
\begin{CompactList}\small\item\em the diversity type of a solution \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf MOEO} ()\label{classMOEO_cff537a68ecc80c753318d3e12f842f5}
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
virtual {\bf $\sim$MOEO} ()\label{classMOEO_0215e9acab4ab57088175f9856e6c48c}
\begin{CompactList}\small\item\em Virtual dtor. \item\end{CompactList}\item
{\bf Objective\-Vector} {\bf objective\-Vector} () const\label{classMOEO_f34036fdd02c5aef46d2a0f000d3a59e}
\begin{CompactList}\small\item\em Returns the objective vector of the current solution. \item\end{CompactList}\item
void {\bf objective\-Vector} (const {\bf Objective\-Vector} \&\_\-objective\-Vector\-Value)
\begin{CompactList}\small\item\em Sets the objective vector of the current solution. \item\end{CompactList}\item
void {\bf invalidate\-Objective\-Vector} ()\label{classMOEO_6b75e7e84726cf4e2d50216a35cec70b}
\begin{CompactList}\small\item\em Sets the objective vector as invalid. \item\end{CompactList}\item
bool {\bf invalid\-Objective\-Vector} () const\label{classMOEO_1063475f98ef0c8afb8ebf299e5d3baa}
\begin{CompactList}\small\item\em Returns true if the objective vector is invalid, false otherwise. \item\end{CompactList}\item
{\bf Fitness} {\bf fitness} () const\label{classMOEO_e41a75b01ca1899adec50729cd6a4e04}
\begin{CompactList}\small\item\em Returns the fitness value of the current solution. \item\end{CompactList}\item
void {\bf fitness} (const {\bf Fitness} \&\_\-fitness\-Value)
\begin{CompactList}\small\item\em Sets the fitness value of the current solution. \item\end{CompactList}\item
void {\bf invalidate\-Fitness} ()\label{classMOEO_55876e2e7cd537052fec1c7f46f37ffe}
\begin{CompactList}\small\item\em Sets the fitness value as invalid. \item\end{CompactList}\item
bool {\bf invalid\-Fitness} () const\label{classMOEO_4b5fb8c8c04e86aa039a42ffa2c8b327}
\begin{CompactList}\small\item\em Returns true if the fitness value is invalid, false otherwise. \item\end{CompactList}\item
{\bf Diversity} {\bf diversity} () const\label{classMOEO_2242897d75e8849379b66b1e754ba65b}
\begin{CompactList}\small\item\em Returns the diversity value of the current solution. \item\end{CompactList}\item
void {\bf diversity} (const {\bf Diversity} \&\_\-diversity\-Value)
\begin{CompactList}\small\item\em Sets the diversity value of the current solution. \item\end{CompactList}\item
void {\bf invalidate\-Diversity} ()\label{classMOEO_1283a27baab9728673445832e6d4301a}
\begin{CompactList}\small\item\em Sets the diversity value as invalid. \item\end{CompactList}\item
bool {\bf invalid\-Diversity} () const\label{classMOEO_580a4b2a92a3f8ca5e56431cf86bbd73}
\begin{CompactList}\small\item\em Returns true if the diversity value is invalid, false otherwise. \item\end{CompactList}\item
void {\bf invalidate} ()\label{classMOEO_1069501a40e07071d78c067c46b696ee}
\begin{CompactList}\small\item\em Sets the objective vector, the fitness value and the diversity value as invalid. \item\end{CompactList}\item
bool {\bf invalid} () const\label{classMOEO_795f686497042d62fce2f87bd47017bc}
\begin{CompactList}\small\item\em Returns true if the fitness value is invalid, false otherwise. \item\end{CompactList}\item
bool {\bf operator$<$} (const {\bf MOEO} \&\_\-other) const
\begin{CompactList}\small\item\em Returns true if the objective vector of the current solution is smaller than the objective vector of \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing). \item\end{CompactList}\item
virtual std::string {\bf class\-Name} () const\label{classMOEO_a020936acf61d8aef30983c2dd220a99}
\begin{CompactList}\small\item\em Return the class id (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)
\begin{CompactList}\small\item\em Reading object. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf Objective\-Vector} {\bf objective\-Vector\-Value}\label{classMOEO_26b6fd1187b825b655d5a34b1d0693c9}
\begin{CompactList}\small\item\em the objective vector of this solution \item\end{CompactList}\item
bool {\bf invalid\-Objective\-Vector\-Value}\label{classMOEO_d07613f286ef484f164c51c9c1b2dc91}
\begin{CompactList}\small\item\em true if the objective vector is invalid \item\end{CompactList}\item
{\bf Fitness} {\bf fitness\-Value}\label{classMOEO_bcc3104ab7311fa5987de80811393c7c}
\begin{CompactList}\small\item\em the fitness value of this solution \item\end{CompactList}\item
bool {\bf invalid\-Fitness\-Value}\label{classMOEO_17f57546c6de38604d6749cc6ef9d254}
\begin{CompactList}\small\item\em true if the fitness value is invalid \item\end{CompactList}\item
{\bf Diversity} {\bf diversity\-Value}\label{classMOEO_83cc0d3a4020cbd7e1ff895dfedc61eb}
\begin{CompactList}\small\item\em the diversity value of this solution \item\end{CompactList}\item
bool {\bf invalid\-Diversity\-Value}\label{classMOEO_c53c08b7c51d4cc06efe58c6127f9b7d}
\begin{CompactList}\small\item\em true if the diversity value is invalid \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ class MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$}
Base class allowing to represent a solution (an individual) for multi-objective optimization.
The template argument MOEOObjective\-Vector allows to represent the solution in the objective space (it can be a \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector} object). The template argument MOEOFitness is an object reflecting the quality of the solution in term of convergence (the fitness of a solution is always to be maximized). The template argument MOEODiversity is an object reflecting the quality of the solution in term of diversity (the diversity of a solution is always to be maximized). All template arguments must have a void and a copy constructor. Besides, note that, contrary to the mono-objective case (and to {\bf EO}) where the fitness value of a solution is confused with its objective value, the fitness value differs of the objectives values in the multi-objective case.
Definition at line 31 of file MOEO.h.
\subsection{Member Function Documentation}
\index{MOEO@{MOEO}!objectiveVector@{objectiveVector}}
\index{objectiveVector@{objectiveVector}!MOEO@{MOEO}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ void {\bf MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector (const {\bf Objective\-Vector} \& {\em \_\-objective\-Vector\-Value})\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_d4a765a76f9acc1bca36297ab55d7282}
Sets the objective vector of the current solution.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-objective\-Vector\-Value}]the new objective vector \end{description}
\end{Desc}
Definition at line 82 of file MOEO.h.
References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalid\-Objective\-Vector\-Value, and MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector\-Value.\index{MOEO@{MOEO}!fitness@{fitness}}
\index{fitness@{fitness}!MOEO@{MOEO}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ void {\bf MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::fitness (const {\bf Fitness} \& {\em \_\-fitness\-Value})\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_4dc05ded73bb60d1a51e282006c8942d}
Sets the fitness value of the current solution.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-fitness\-Value}]the new fitness value \end{description}
\end{Desc}
Definition at line 124 of file MOEO.h.
References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::fitness\-Value, and MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalid\-Fitness\-Value.\index{MOEO@{MOEO}!diversity@{diversity}}
\index{diversity@{diversity}!MOEO@{MOEO}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ void {\bf MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::diversity (const {\bf Diversity} \& {\em \_\-diversity\-Value})\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_1f0a391984cd14bcf930d1d81dd4848e}
Sets the diversity value of the current solution.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-diversity\-Value}]the new diversity value \end{description}
\end{Desc}
Definition at line 166 of file MOEO.h.
References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::diversity\-Value, and MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalid\-Diversity\-Value.\index{MOEO@{MOEO}!operator<@{operator$<$}}
\index{operator<@{operator$<$}!MOEO@{MOEO}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ bool {\bf MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::operator$<$ (const {\bf MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classMOEO_d38eef435511ba3a5a310712a608f4ab}
Returns true if the objective vector of the current solution is smaller than the objective vector of \_\-other on the first objective, then on the second, and so on (can be usefull for sorting/printing).
You should implement another function in the sub-class of \doxyref{MOEO}{p.}{classMOEO} to have another sorting mecanism. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-other}]the other \doxyref{MOEO}{p.}{classMOEO} object to compare with \end{description}
\end{Desc}
Definition at line 217 of file MOEO.h.
References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector().\index{MOEO@{MOEO}!printOn@{printOn}}
\index{printOn@{printOn}!MOEO@{MOEO}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ virtual void {\bf MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classMOEO_99e3dbc645fd2c23a82e9303683a05c5}
Writing object.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-os}]output stream \end{description}
\end{Desc}
Reimplemented from {\bf EO$<$ MOEOObjective\-Vector $>$}.
Reimplemented in {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$} \doxyref{}{p.}{classmoeoVector_c327325a47954f69df985da96d2c171a}, {\bf moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{}{p.}{classmoeoBitVector_e54c36ce64b849a6846953a25247a861}, {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{}{p.}{classmoeoVector_c327325a47954f69df985da96d2c171a}, and {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, double $>$} \doxyref{}{p.}{classmoeoVector_c327325a47954f69df985da96d2c171a}.
Definition at line 236 of file MOEO.h.
References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalid\-Objective\-Vector(), and MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector\-Value.\index{MOEO@{MOEO}!readFrom@{readFrom}}
\index{readFrom@{readFrom}!MOEO@{MOEO}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ virtual void {\bf MOEO}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::read\-From (std::istream \& {\em \_\-is})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classMOEO_1bbd9cb1a7709592bf4bc29dff8c5273}
Reading object.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-is}]input stream \end{description}
\end{Desc}
Reimplemented from {\bf EO$<$ MOEOObjective\-Vector $>$}.
Reimplemented in {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$} \doxyref{}{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}, {\bf moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$} \doxyref{}{p.}{classmoeoBitVector_31cd3f894615d0a27dd116a5c8082521}, {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{}{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}, and {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, double $>$} \doxyref{}{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}.
Definition at line 253 of file MOEO.h.
References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalidate\-Objective\-Vector(), MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalid\-Objective\-Vector\-Value, and MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector\-Value.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
MOEO.h\end{CompactItemize}

View file

@ -0,0 +1,233 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 132.159
%%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 3.78333 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 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
(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) cw
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) cw
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) cw
(moeoBinaryMetric< A1, A2, R >) cw
(eoBF< A1, A2, R >) cw
(moeoMetric) cw
(eoFunctorBase) 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 -----
(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) 0.5 0 box
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) 0.5 1 box
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) 0.5 2 box
(moeoBinaryMetric< A1, A2, R >) 0.5 3 box
(eoBF< A1, A2, R >) 0 4 box
(moeoMetric) 1 4 box
(eoFunctorBase) 0 5 box
(eoFunctorBase) 1 5 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
0 1 4 conn
solid
1 0 4 in
solid
0 0 4 out
solid
1 1 4 in
solid
0 1 4 out
solid
1 0 5 in
solid
1 1 5 in

View file

@ -0,0 +1,78 @@
\section{moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$ Class Template Reference}
\label{classmoeoAdditiveEpsilonBinaryMetric}\index{moeoAdditiveEpsilonBinaryMetric@{moeoAdditiveEpsilonBinaryMetric}}
Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C.
{\tt \#include $<$moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h$>$}
Inheritance diagram for moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.70044cm]{classmoeoAdditiveEpsilonBinaryMetric}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
double {\bf operator()} (const Objective\-Vector \&\_\-o1, const Objective\-Vector \&\_\-o2)
\begin{CompactList}\small\item\em Returns the minimal distance by which the objective vector \_\-o1 must be translated in all objectives so that it weakly dominates the objective vector \_\-o2. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
double {\bf epsilon} (const Objective\-Vector \&\_\-o1, const Objective\-Vector \&\_\-o2, const unsigned \_\-obj)
\begin{CompactList}\small\item\em Returns the epsilon value by which the objective vector \_\-o1 must be translated in the objective \_\-obj so that it dominates the objective vector \_\-o2. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$}
Additive epsilon binary metric allowing to compare two objective vectors as proposed in Zitzler E., Thiele L., Laumanns M., Fonseca C.
M., Grunert da Fonseca V.: Performance Assessment of Multiobjective Optimizers: An Analysis and Review. IEEE Transactions on Evolutionary Computation 7(2), pp.117\^{a}€“132 (2003).
Definition at line 89 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
\subsection{Member Function Documentation}
\index{moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}!operator()@{operator()}}
\index{operator()@{operator()}!moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double {\bf moeo\-Additive\-Epsilon\-Binary\-Metric}$<$ Objective\-Vector $>$::operator() (const Objective\-Vector \& {\em \_\-o1}, const Objective\-Vector \& {\em \_\-o2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAdditiveEpsilonBinaryMetric_545aa2c8e6dd93084276763c9d8a3709}
Returns the minimal distance by which the objective vector \_\-o1 must be translated in all objectives so that it weakly dominates the objective vector \_\-o2.
\begin{Desc}
\item[Warning:]don't forget to set the bounds for every objective before the call of this function \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \end{description}
\end{Desc}
Definition at line 100 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
References moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$::epsilon().\index{moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}!epsilon@{epsilon}}
\index{epsilon@{epsilon}!moeoAdditiveEpsilonBinaryMetric@{moeo\-Additive\-Epsilon\-Binary\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double {\bf moeo\-Additive\-Epsilon\-Binary\-Metric}$<$ Objective\-Vector $>$::epsilon (const Objective\-Vector \& {\em \_\-o1}, const Objective\-Vector \& {\em \_\-o2}, const unsigned {\em \_\-obj})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoAdditiveEpsilonBinaryMetric_482422577aa466d1605f4067dbf233c5}
Returns the epsilon value by which the objective vector \_\-o1 must be translated in the objective \_\-obj so that it dominates the objective vector \_\-o2.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \item[{\em \_\-obj}]the index of the objective \end{description}
\end{Desc}
Definition at line 129 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
References moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, double $>$::bounds.
Referenced by moeo\-Additive\-Epsilon\-Binary\-Metric$<$ Objective\-Vector $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.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 242.424
%%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.0625 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
(moeoArchive< MOEOT >) cw
(eoPop< MOEOT >) cw
(eoObject) cw
(eoPersistent) cw
(eoPrintable) 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 -----
(moeoArchive< MOEOT >) 0.5 0 box
(eoPop< MOEOT >) 0.5 1 box
(eoObject) 0 2 box
(eoPersistent) 1 2 box
(eoPrintable) 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,162 @@
\section{moeo\-Archive$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoArchive}\index{moeoArchive@{moeoArchive}}
An archive is a secondary population that stores non-dominated solutions.
{\tt \#include $<$moeo\-Archive.h$>$}
Inheritance diagram for moeo\-Archive$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoArchive}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoArchive_655f6879b14d7b4e65ea03724e5ee601}
\begin{CompactList}\small\item\em The type of an objective vector for a solution. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Archive} ()
\begin{CompactList}\small\item\em Default ctor. \item\end{CompactList}\item
{\bf moeo\-Archive} ({\bf moeo\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
bool {\bf dominates} (const {\bf Objective\-Vector} \&\_\-objective\-Vector) const
\begin{CompactList}\small\item\em Returns true if the current archive dominates \_\-objective\-Vector according to the \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} given in the constructor. \item\end{CompactList}\item
bool {\bf contains} (const {\bf Objective\-Vector} \&\_\-objective\-Vector) const
\begin{CompactList}\small\item\em Returns true if the current archive already contains a solution with the same objective values than \_\-objective\-Vector. \item\end{CompactList}\item
void {\bf update} (const MOEOT \&\_\-moeo)
\begin{CompactList}\small\item\em Updates the archive with a given individual \_\-moeo. \item\end{CompactList}\item
void {\bf update} (const {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Updates the archive with a given population \_\-pop. \item\end{CompactList}\item
bool {\bf equals} (const {\bf moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Returns true if the current archive contains the same objective vectors than the given archive \_\-arch. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ \& {\bf comparator}\label{classmoeoArchive_59d96d161a53b3ee50df8ca5ad0d0642}
\begin{CompactList}\small\item\em The \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} used to compare solutions. \item\end{CompactList}\item
{\bf moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ {\bf pareto\-Comparator}\label{classmoeoArchive_eefd5b82b1d7f7d60c72683da9cd8682}
\begin{CompactList}\small\item\em A \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} based on Pareto dominance (used as default). \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Archive$<$ MOEOT $>$}
An archive is a secondary population that stores non-dominated solutions.
Definition at line 23 of file moeo\-Archive.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoArchive@{moeo\-Archive}!moeoArchive@{moeoArchive}}
\index{moeoArchive@{moeoArchive}!moeoArchive@{moeo\-Archive}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Archive}$<$ MOEOT $>$::{\bf moeo\-Archive} ()\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_a593ca2122484d255b5aa5a0463bd913}
Default ctor.
The \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} used to compare solutions is based on Pareto dominance
Definition at line 43 of file moeo\-Archive.h.\index{moeoArchive@{moeo\-Archive}!moeoArchive@{moeoArchive}}
\index{moeoArchive@{moeoArchive}!moeoArchive@{moeo\-Archive}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Archive}$<$ MOEOT $>$::{\bf moeo\-Archive} ({\bf moeo\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_75e5fee339ca463405434f6f48497de0}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-comparator}]the \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} used to compare solutions \end{description}
\end{Desc}
Definition at line 51 of file moeo\-Archive.h.
\subsection{Member Function Documentation}
\index{moeoArchive@{moeo\-Archive}!dominates@{dominates}}
\index{dominates@{dominates}!moeoArchive@{moeo\-Archive}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ bool {\bf moeo\-Archive}$<$ MOEOT $>$::dominates (const {\bf Objective\-Vector} \& {\em \_\-objective\-Vector}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_1b2bf2eb890736fbe72273b10a1a4f5a}
Returns true if the current archive dominates \_\-objective\-Vector according to the \doxyref{moeo\-Objective\-Vector\-Comparator}{p.}{classmoeoObjectiveVectorComparator} given in the constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-objective\-Vector}]the objective vector to compare with the current archive \end{description}
\end{Desc}
Definition at line 59 of file moeo\-Archive.h.\index{moeoArchive@{moeo\-Archive}!contains@{contains}}
\index{contains@{contains}!moeoArchive@{moeo\-Archive}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ bool {\bf moeo\-Archive}$<$ MOEOT $>$::contains (const {\bf Objective\-Vector} \& {\em \_\-objective\-Vector}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_4f6f369e3f3e8fcd4663b9939a380811}
Returns true if the current archive already contains a solution with the same objective values than \_\-objective\-Vector.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-objective\-Vector}]the objective vector to compare with the current archive \end{description}
\end{Desc}
Definition at line 76 of file moeo\-Archive.h.
Referenced by moeo\-Archive$<$ EOT $>$::equals().\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 MOEOT \& {\em \_\-moeo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_6df0acd84cab4cb53682f2e6ca850e9a}
Updates the archive with a given individual \_\-moeo.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-moeo}]the given individual \end{description}
\end{Desc}
Definition at line 93 of file moeo\-Archive.h.
Referenced by moeo\-Archive$<$ EOT $>$::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}
Updates the archive with a given population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the given population \end{description}
\end{Desc}
Definition at line 136 of file moeo\-Archive.h.\index{moeoArchive@{moeo\-Archive}!equals@{equals}}
\index{equals@{equals}!moeoArchive@{moeo\-Archive}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ bool {\bf moeo\-Archive}$<$ MOEOT $>$::equals (const {\bf moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_937088a6054ba1b50db651f50dda3a72}
Returns true if the current archive contains the same objective vectors than the given archive \_\-arch.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-arch}]the given archive \end{description}
\end{Desc}
Definition at line 150 of file moeo\-Archive.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Archive.h\end{CompactItemize}

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 250.784
%%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.99375 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
(moeoArchiveObjectiveVectorSavingUpdater< EOT >) cw
(eoUpdater) cw
(eoF< 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 -----
(moeoArchiveObjectiveVectorSavingUpdater< EOT >) 0 0 box
(eoUpdater) 0 1 box
(eoF< 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,67 @@
\section{moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ EOT $>$ Class Template Reference}
\label{classmoeoArchiveObjectiveVectorSavingUpdater}\index{moeoArchiveObjectiveVectorSavingUpdater@{moeoArchiveObjectiveVectorSavingUpdater}}
This class allows to save the fitnesses of solutions contained in an archive into a file at each generation.
{\tt \#include $<$moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h$>$}
Inheritance diagram for moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoArchiveObjectiveVectorSavingUpdater}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Archive\-Objective\-Vector\-Saving\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, const std::string \&\_\-filename, int \_\-id=-1)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void {\bf operator()} ()\label{classmoeoArchiveObjectiveVectorSavingUpdater_1f7247a7d29cb0e9cd314ff46f1cc332}
\begin{CompactList}\small\item\em Saves the fitness of the archive's members into the file. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoArchiveObjectiveVectorSavingUpdater_7088ba68c9be8b1fdea9965deea77a68}
\begin{CompactList}\small\item\em local archive \item\end{CompactList}\item
std::string {\bf filename}\label{classmoeoArchiveObjectiveVectorSavingUpdater_47ddf5e512baa915f79fdd934251d85b}
\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item
int {\bf id}\label{classmoeoArchiveObjectiveVectorSavingUpdater_8b5c7d9123d368503708949fa2998597}
\begin{CompactList}\small\item\em own ID \item\end{CompactList}\item
unsigned {\bf counter}\label{classmoeoArchiveObjectiveVectorSavingUpdater_7a72b82ba35789d1b6330bad17ef6cff}
\begin{CompactList}\small\item\em counter \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class moeo\-Archive\-Objective\-Vector\-Saving\-Updater$<$ EOT $>$}
This class allows to save the fitnesses of solutions contained in an archive into a file at each generation.
Definition at line 28 of file moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoArchiveObjectiveVectorSavingUpdater@{moeo\-Archive\-Objective\-Vector\-Saving\-Updater}!moeoArchiveObjectiveVectorSavingUpdater@{moeoArchiveObjectiveVectorSavingUpdater}}
\index{moeoArchiveObjectiveVectorSavingUpdater@{moeoArchiveObjectiveVectorSavingUpdater}!moeoArchiveObjectiveVectorSavingUpdater@{moeo\-Archive\-Objective\-Vector\-Saving\-Updater}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Archive\-Objective\-Vector\-Saving\-Updater}$<$ EOT $>$::{\bf moeo\-Archive\-Objective\-Vector\-Saving\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, const std::string \& {\em \_\-filename}, int {\em \_\-id} = {\tt -1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveObjectiveVectorSavingUpdater_cd666b2d6e66cc4c25500f1fdcaa7e76}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-arch}]local archive \item[{\em \_\-filename}]target filename \item[{\em \_\-id}]own ID \end{description}
\end{Desc}
Definition at line 38 of file moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Archive\-Objective\-Vector\-Saving\-Updater.h\end{CompactItemize}

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 382.775
%%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.30625 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
(moeoArchiveUpdater< MOEOT >) cw
(eoUpdater) cw
(eoF< 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 -----
(moeoArchiveUpdater< MOEOT >) 0 0 box
(eoUpdater) 0 1 box
(eoF< 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,61 @@
\section{moeo\-Archive\-Updater$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoArchiveUpdater}\index{moeoArchiveUpdater@{moeoArchiveUpdater}}
This class allows to update the archive at each generation with newly found non-dominated solutions.
{\tt \#include $<$moeo\-Archive\-Updater.h$>$}
Inheritance diagram for moeo\-Archive\-Updater$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoArchiveUpdater}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Archive\-Updater} ({\bf moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch, const {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void {\bf operator()} ()\label{classmoeoArchiveUpdater_3d72137dce51d0d4f0cc7207be42878a}
\begin{CompactList}\small\item\em Updates the archive with newly found non-dominated solutions contained in the main population. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Archive}$<$ MOEOT $>$ \& {\bf arch}\label{classmoeoArchiveUpdater_64531e46898b0e2a4ec48ba28dbfd59d}
\begin{CompactList}\small\item\em the archive of non-dominated solutions \item\end{CompactList}\item
const {\bf eo\-Pop}$<$ MOEOT $>$ \& {\bf pop}\label{classmoeoArchiveUpdater_a7ba8cde3727d1f24835083e85dfd70d}
\begin{CompactList}\small\item\em the main population \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Archive\-Updater$<$ MOEOT $>$}
This class allows to update the archive at each generation with newly found non-dominated solutions.
Definition at line 24 of file moeo\-Archive\-Updater.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoArchiveUpdater@{moeo\-Archive\-Updater}!moeoArchiveUpdater@{moeoArchiveUpdater}}
\index{moeoArchiveUpdater@{moeoArchiveUpdater}!moeoArchiveUpdater@{moeo\-Archive\-Updater}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Archive\-Updater}$<$ MOEOT $>$::{\bf moeo\-Archive\-Updater} ({\bf moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch}, const {\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveUpdater_1497a2bc8df12565b3ea21bb8e08bee1}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-arch}]an archive of non-dominated solutions \item[{\em \_\-pop}]the main population \end{description}
\end{Desc}
Definition at line 33 of file moeo\-Archive\-Updater.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Archive\-Updater.h\end{CompactItemize}

View file

@ -0,0 +1,271 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 52.8634
%%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 9.45833 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 5 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
(moeoBinaryMetric< A1, A2, R >) cw
(eoBF< A1, A2, R >) cw
(moeoMetric) cw
(eoFunctorBase) cw
(eoFunctorBase) cw
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) cw
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) cw
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, double >) cw
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) cw
(moeoContributionMetric< ObjectiveVector >) cw
(moeoEntropyMetric< ObjectiveVector >) cw
(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) cw
(moeoHypervolumeBinaryMetric< ObjectiveVector >) 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 -----
(moeoBinaryMetric< A1, A2, R >) 1.5 3 box
(eoBF< A1, A2, R >) 1 4 box
(moeoMetric) 2 4 box
(eoFunctorBase) 1 5 box
(eoFunctorBase) 2 5 box
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0 2 box
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) 1 2 box
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, R >) 2 2 box
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, double >) 3 2 box
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0 1 box
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) 1 1 box
(moeoContributionMetric< ObjectiveVector >) 2.5 1 box
(moeoEntropyMetric< ObjectiveVector >) 3.5 1 box
(moeoAdditiveEpsilonBinaryMetric< ObjectiveVector >) 0.5 0 box
(moeoHypervolumeBinaryMetric< ObjectiveVector >) 1.5 0 box
% ----- relations -----
solid
0 1.5 3 out
solid
1 2 4 conn
solid
1 1 4 in
solid
0 1 4 out
solid
1 2 4 in
solid
0 2 4 out
solid
1 1 5 in
solid
1 2 5 in
solid
1 1.5 2.25 out
solid
0 3 3 conn
solid
0 0 2.75 in
solid
1 0 1.25 out
solid
0 1 2.75 in
solid
1 1 1.25 out
solid
0 2 2.75 in
solid
0 3 2.75 in
solid
1 3 1.25 out
solid
2.5 3.5 2 conn
solid
0 0 1.75 in
solid
0 1 1.75 in
solid
1 1 0.25 out
solid
0.5 1.5 1 conn
solid
0 2.5 1.75 in
solid
0 3.5 1.75 in
solid
0 0.5 0.75 in
solid
0 1.5 0.75 in

View file

@ -0,0 +1,27 @@
\section{moeo\-Binary\-Metric$<$ A1, A2, R $>$ Class Template Reference}
\label{classmoeoBinaryMetric}\index{moeoBinaryMetric@{moeoBinaryMetric}}
Base class for binary metrics.
{\tt \#include $<$moeo\-Metric.h$>$}
Inheritance diagram for moeo\-Binary\-Metric$<$ A1, A2, R $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.48018cm]{classmoeoBinaryMetric}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class A1, class A2, class R$>$ class moeo\-Binary\-Metric$<$ A1, A2, R $>$}
Base class for binary metrics.
Definition at line 37 of file moeo\-Metric.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Metric.h\end{CompactItemize}

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 289.855
%%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.725 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
(moeoBinaryMetricSavingUpdater< MOEOT >) cw
(eoUpdater) cw
(eoF< 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 -----
(moeoBinaryMetricSavingUpdater< MOEOT >) 0 0 box
(eoUpdater) 0 1 box
(eoF< 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,79 @@
\section{moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoBinaryMetricSavingUpdater}\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}}
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.
{\tt \#include $<$moeo\-Binary\-Metric\-Saving\-Updater.h$>$}
Inheritance diagram for moeo\-Binary\-Metric\-Saving\-Updater$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoBinaryMetricSavingUpdater}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoBinaryMetricSavingUpdater_21c2b12ee8600d8550eff42bcba87fd2}
\begin{CompactList}\small\item\em The objective vector type of a solution. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Binary\-Metric\-Saving\-Updater} ({\bf moeo\-Vector\-Vs\-Vector\-Binary\-Metric}$<$ {\bf Objective\-Vector}, double $>$ \&\_\-metric, const {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, std::string \_\-filename)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void {\bf operator()} ()\label{classmoeoBinaryMetricSavingUpdater_a4f0a9e86b4a39ef88e7f8e1c1d6d229}
\begin{CompactList}\small\item\em Saves the metric's value for the current generation. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Vector\-Vs\-Vector\-Binary\-Metric}$<$ {\bf Objective\-Vector}, double $>$ \& {\bf metric}\label{classmoeoBinaryMetricSavingUpdater_d1c66d6d179aff03d6949f4f76d3237c}
\begin{CompactList}\small\item\em binary metric comparing two Pareto sets \item\end{CompactList}\item
const {\bf eo\-Pop}$<$ MOEOT $>$ \& {\bf pop}\label{classmoeoBinaryMetricSavingUpdater_79eea0916733568929ea9c0758ffe8fa}
\begin{CompactList}\small\item\em main population \item\end{CompactList}\item
{\bf eo\-Pop}$<$ MOEOT $>$ {\bf old\-Pop}\label{classmoeoBinaryMetricSavingUpdater_0461af7e569921fec49538ff8fa998d4}
\begin{CompactList}\small\item\em (n-1) population \item\end{CompactList}\item
std::string {\bf filename}\label{classmoeoBinaryMetricSavingUpdater_6d280c180de7bab1e18ab2bb39a0e184}
\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item
bool {\bf first\-Gen}\label{classmoeoBinaryMetricSavingUpdater_9bfa927499265f53f2b25afd2cd3c94f}
\begin{CompactList}\small\item\em is it the first generation ? \item\end{CompactList}\item
unsigned {\bf counter}\label{classmoeoBinaryMetricSavingUpdater_02339c6081864e43667860445d96a909}
\begin{CompactList}\small\item\em counter \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class 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.
Definition at line 27 of file moeo\-Binary\-Metric\-Saving\-Updater.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}!moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}}
\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}!moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Binary\-Metric\-Saving\-Updater}$<$ MOEOT $>$::{\bf moeo\-Binary\-Metric\-Saving\-Updater} ({\bf moeo\-Vector\-Vs\-Vector\-Binary\-Metric}$<$ {\bf Objective\-Vector}, double $>$ \& {\em \_\-metric}, const {\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, std::string {\em \_\-filename})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryMetricSavingUpdater_b7c3fb73caf759450367c76d4716bb62}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-metric}]the binary metric comparing two Pareto sets \item[{\em \_\-pop}]the main population \item[{\em \_\-filename}]the target filename \end{description}
\end{Desc}
Definition at line 42 of file moeo\-Binary\-Metric\-Saving\-Updater.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Binary\-Metric\-Saving\-Updater.h\end{CompactItemize}

View file

@ -0,0 +1,227 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 129.87
%%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 3.85 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 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
(moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) cw
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(EO< MOEOObjectiveVector >) cw
(eoObject) cw
(eoPersistent) cw
(eoPrintable) 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 -----
(moeoBitVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 0 box
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, bool >) 0.5 1 box
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 2 box
(EO< MOEOObjectiveVector >) 0.5 3 box
(eoObject) 0 4 box
(eoPersistent) 1 4 box
(eoPrintable) 1 5 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
0 1 4 conn
solid
1 0 4 in
solid
1 1 4 in
solid
0 1 4 out
solid
1 1 5 in

View file

@ -0,0 +1,88 @@
\section{moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ Class Template Reference}
\label{classmoeoBitVector}\index{moeoBitVector@{moeoBitVector}}
This class is an implementationeo of a simple bit-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}.
{\tt \#include $<$moeo\-Vector.h$>$}
Inheritance diagram for moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.63636cm]{classmoeoBitVector}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Bit\-Vector} (unsigned \_\-size=0, bool \_\-value=false)
\begin{CompactList}\small\item\em Ctor. \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)
\begin{CompactList}\small\item\em Reading object. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ class moeo\-Bit\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$}
This class is an implementationeo of a simple bit-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}.
Definition at line 163 of file moeo\-Vector.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoBitVector@{moeo\-Bit\-Vector}!moeoBitVector@{moeoBitVector}}
\index{moeoBitVector@{moeoBitVector}!moeoBitVector@{moeo\-Bit\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ {\bf moeo\-Bit\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::{\bf moeo\-Bit\-Vector} (unsigned {\em \_\-size} = {\tt 0}, bool {\em \_\-value} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBitVector_a9460d3ebf6b092e36b1422e6696fc77}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-size}]Length of vector (default is 0) \item[{\em \_\-value}]Initial value of all elements (default is default value of type Gene\-Type) \end{description}
\end{Desc}
Definition at line 178 of file moeo\-Vector.h.
\subsection{Member Function Documentation}
\index{moeoBitVector@{moeo\-Bit\-Vector}!printOn@{printOn}}
\index{printOn@{printOn}!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 $>$::print\-On (std::ostream \& {\em \_\-os}) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoBitVector_e54c36ce64b849a6846953a25247a861}
Writing object.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-os}]output stream \end{description}
\end{Desc}
Reimplemented from {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{}{p.}{classmoeoVector_c327325a47954f69df985da96d2c171a}.
Definition at line 186 of file moeo\-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}
Reading object.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-is}]input stream \end{description}
\end{Desc}
Reimplemented from {\bf moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, bool $>$} \doxyref{}{p.}{classmoeoVector_cd8ee0fe79bb9515b29e2a4d3fee5ab9}.
Definition at line 199 of file moeo\-Vector.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Vector.h\end{CompactItemize}

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 264.026
%%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.89375 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
(moeoCombinedLS< MOEOT, Type >) cw
(moeoLS< MOEOT, Type >) cw
(eoBF< Type, 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 -----
(moeoCombinedLS< MOEOT, Type >) 0 0 box
(moeoLS< MOEOT, Type >) 0 1 box
(eoBF< Type, moeoArchive< 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,98 @@
\section{moeo\-Combined\-LS$<$ MOEOT, Type $>$ Class Template Reference}
\label{classmoeoCombinedLS}\index{moeoCombinedLS@{moeoCombinedLS}}
This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions.
{\tt \#include $<$moeo\-Combined\-LS.h$>$}
Inheritance diagram for moeo\-Combined\-LS$<$ MOEOT, Type $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoCombinedLS}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Combined\-LS} ({\bf moeo\-LS}$<$ MOEOT, Type $>$ \&\_\-first\_\-mols)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void {\bf add} ({\bf moeo\-LS}$<$ MOEOT, Type $>$ \&\_\-mols)
\begin{CompactList}\small\item\em Adds a new local search to combine. \item\end{CompactList}\item
void {\bf operator()} (Type \_\-type, {\bf moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Gives a new solution in order to explore the neigborhood. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
std::vector$<$ {\bf moeo\-LS}$<$ MOEOT, Type $>$ $\ast$ $>$ {\bf combined\-LS}\label{classmoeoCombinedLS_3cf36ae7ada10d2837b60df01210d92a}
\begin{CompactList}\small\item\em the vector that contains the combined LS \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Type$>$ class moeo\-Combined\-LS$<$ MOEOT, Type $>$}
This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions.
Definition at line 24 of file moeo\-Combined\-LS.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoCombinedLS@{moeo\-Combined\-LS}!moeoCombinedLS@{moeoCombinedLS}}
\index{moeoCombinedLS@{moeoCombinedLS}!moeoCombinedLS@{moeo\-Combined\-LS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ {\bf moeo\-Combined\-LS}$<$ MOEOT, Type $>$::{\bf moeo\-Combined\-LS} ({\bf moeo\-LS}$<$ MOEOT, Type $>$ \& {\em \_\-first\_\-mols})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedLS_5d09220b47bac67bd332dc0f93226ae1}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-first\_\-mols}]the first multi-objective local search to add \end{description}
\end{Desc}
Definition at line 32 of file moeo\-Combined\-LS.h.
References moeo\-Combined\-LS$<$ MOEOT, Type $>$::combined\-LS.
\subsection{Member Function Documentation}
\index{moeoCombinedLS@{moeo\-Combined\-LS}!add@{add}}
\index{add@{add}!moeoCombinedLS@{moeo\-Combined\-LS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ void {\bf moeo\-Combined\-LS}$<$ MOEOT, Type $>$::add ({\bf moeo\-LS}$<$ MOEOT, Type $>$ \& {\em \_\-mols})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedLS_1637b4dcf2dd694cc9ffbad605b2bf13}
Adds a new local search to combine.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-mols}]the multi-objective local search to add \end{description}
\end{Desc}
Definition at line 41 of file moeo\-Combined\-LS.h.
References moeo\-Combined\-LS$<$ MOEOT, Type $>$::combined\-LS.\index{moeoCombinedLS@{moeo\-Combined\-LS}!operator()@{operator()}}
\index{operator()@{operator()}!moeoCombinedLS@{moeo\-Combined\-LS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Type$>$ void {\bf moeo\-Combined\-LS}$<$ MOEOT, Type $>$::operator() (Type {\em \_\-type}, {\bf moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCombinedLS_634d7fa3092fe8f88a1b54cacfdc35fd}
Gives a new solution in order to explore the neigborhood.
The new non-dominated solutions are added to the archive \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-type}]the object to apply the local search to \item[{\em \_\-arch}]the archive of non-dominated solutions \end{description}
\end{Desc}
Implements {\bf eo\-BF$<$ Type, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}.
Definition at line 52 of file moeo\-Combined\-LS.h.
References moeo\-Combined\-LS$<$ MOEOT, Type $>$::combined\-LS.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Combined\-LS.h\end{CompactItemize}

View file

@ -0,0 +1,223 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 65.7895
%%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 7.6 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 4 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
(moeoComparator< MOEOT >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
(moeoDiversityThenFitnessComparator< MOEOT >) cw
(moeoFitnessThenDiversityComparator< MOEOT >) cw
(moeoObjectiveComparator< MOEOT >) cw
(moeoOneObjectiveComparator< 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 -----
(moeoComparator< MOEOT >) 1.5 1 box
(eoBF< A1, A2, R >) 1.5 2 box
(eoFunctorBase) 1.5 3 box
(moeoDiversityThenFitnessComparator< MOEOT >) 0 0 box
(moeoFitnessThenDiversityComparator< MOEOT >) 1 0 box
(moeoObjectiveComparator< MOEOT >) 2 0 box
(moeoOneObjectiveComparator< MOEOT >) 3 0 box
% ----- relations -----
solid
0 1.5 1 out
solid
1 1.5 2 in
solid
0 1.5 2 out
solid
1 1.5 3 in
solid
1 1.5 0.25 out
solid
0 3 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
0 2 0.75 in
solid
0 3 0.75 in

View file

@ -0,0 +1,27 @@
\section{moeo\-Comparator$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoComparator}\index{moeoComparator@{moeoComparator}}
Functor allowing to compare two solutions.
{\tt \#include $<$moeo\-Comparator.h$>$}
Inheritance diagram for moeo\-Comparator$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.84211cm]{classmoeoComparator}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Comparator$<$ MOEOT $>$}
Functor allowing to compare two solutions.
Definition at line 22 of file moeo\-Comparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Comparator.h\end{CompactItemize}

View file

@ -0,0 +1,227 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 132.626
%%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 3.77 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 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
(moeoContributionMetric< ObjectiveVector >) cw
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, double >) cw
(moeoBinaryMetric< A1, A2, R >) cw
(eoBF< A1, A2, R >) cw
(moeoMetric) cw
(eoFunctorBase) 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 -----
(moeoContributionMetric< ObjectiveVector >) 0.5 0 box
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, double >) 0.5 1 box
(moeoBinaryMetric< A1, A2, R >) 0.5 2 box
(eoBF< A1, A2, R >) 0 3 box
(moeoMetric) 1 3 box
(eoFunctorBase) 0 4 box
(eoFunctorBase) 1 4 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
0 1 3 conn
solid
1 0 3 in
solid
0 0 3 out
solid
1 1 3 in
solid
0 1 3 out
solid
1 0 4 in
solid
1 1 4 in

View file

@ -0,0 +1,110 @@
\section{moeo\-Contribution\-Metric$<$ Objective\-Vector $>$ Class Template Reference}
\label{classmoeoContributionMetric}\index{moeoContributionMetric@{moeoContributionMetric}}
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.
{\tt \#include $<$moeo\-Contribution\-Metric.h$>$}
Inheritance diagram for moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.71353cm]{classmoeoContributionMetric}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
double {\bf operator()} (const std::vector$<$ Objective\-Vector $>$ \&\_\-set1, const std::vector$<$ Objective\-Vector $>$ \&\_\-set2)
\begin{CompactList}\small\item\em Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
unsigned {\bf card\_\-C} (const std::vector$<$ Objective\-Vector $>$ \&\_\-set1, const std::vector$<$ Objective\-Vector $>$ \&\_\-set2)
\begin{CompactList}\small\item\em Returns the number of solutions both in '\_\-set1' and '\_\-set2'. \item\end{CompactList}\item
unsigned {\bf card\_\-W} (const std::vector$<$ Objective\-Vector $>$ \&\_\-set1, const std::vector$<$ Objective\-Vector $>$ \&\_\-set2)
\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'. \item\end{CompactList}\item
unsigned {\bf card\_\-N} (const std::vector$<$ Objective\-Vector $>$ \&\_\-set1, const std::vector$<$ Objective\-Vector $>$ \&\_\-set2)
\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector$>$ class 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.
of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324)
Definition at line 23 of file moeo\-Contribution\-Metric.h.
\subsection{Member Function Documentation}
\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!operator()@{operator()}}
\index{operator()@{operator()}!moeoContributionMetric@{moeo\-Contribution\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double {\bf moeo\-Contribution\-Metric}$<$ Objective\-Vector $>$::operator() (const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set1}, const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoContributionMetric_491610f6557874c2989eaa7a75117dcb}
Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description}
\end{Desc}
Definition at line 32 of file moeo\-Contribution\-Metric.h.
References moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::card\_\-C(), moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::card\_\-N(), and moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::card\_\-W().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_C@{card\_\-C}}
\index{card_C@{card\_\-C}!moeoContributionMetric@{moeo\-Contribution\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ Objective\-Vector $>$::card\_\-C (const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set1}, const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_9bfa241c1d6d3fcfd6523ed04c089af0}
Returns the number of solutions both in '\_\-set1' and '\_\-set2'.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description}
\end{Desc}
Definition at line 49 of file moeo\-Contribution\-Metric.h.
Referenced by moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_W@{card\_\-W}}
\index{card_W@{card\_\-W}!moeoContributionMetric@{moeo\-Contribution\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ Objective\-Vector $>$::card\_\-W (const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set1}, const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_3fabe93859e033328c1b84db114b3bb0}
Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description}
\end{Desc}
Definition at line 65 of file moeo\-Contribution\-Metric.h.
Referenced by moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_N@{card\_\-N}}
\index{card_N@{card\_\-N}!moeoContributionMetric@{moeo\-Contribution\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ Objective\-Vector $>$::card\_\-N (const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set1}, const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_a21770ee1ddb12bb67c1f7ab755d04c7}
Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description}
\end{Desc}
Definition at line 81 of file moeo\-Contribution\-Metric.h.
Referenced by moeo\-Contribution\-Metric$<$ Objective\-Vector $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Contribution\-Metric.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 150
%%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 3.33333 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
(moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >) cw
(eoUF< A1, 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 -----
(moeoConvertPopToObjectiveVectors< MOEOT, ObjectiveVector >) 0 0 box
(eoUF< A1, 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,49 @@
\section{moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$ Class Template Reference}
\label{classmoeoConvertPopToObjectiveVectors}\index{moeoConvertPopToObjectiveVectors@{moeoConvertPopToObjectiveVectors}}
Functor allowing to get a vector of objective vectors from a population.
{\tt \#include $<$moeo\-Convert\-Pop\-To\-Objective\-Vectors.h$>$}
Inheritance diagram for moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classmoeoConvertPopToObjectiveVectors}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
const std::vector$<$ Objective\-Vector $>$ {\bf operator()} (const {\bf eo\-Pop}$<$ MOEOT $>$ \_\-pop)
\begin{CompactList}\small\item\em Returns a vector of the objective vectors from the population \_\-pop. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Objective\-Vector = typename MOEOT::Objective\-Vector$>$ class moeo\-Convert\-Pop\-To\-Objective\-Vectors$<$ MOEOT, Objective\-Vector $>$}
Functor allowing to get a vector of objective vectors from a population.
Definition at line 22 of file moeo\-Convert\-Pop\-To\-Objective\-Vectors.h.
\subsection{Member Function Documentation}
\index{moeoConvertPopToObjectiveVectors@{moeo\-Convert\-Pop\-To\-Objective\-Vectors}!operator()@{operator()}}
\index{operator()@{operator()}!moeoConvertPopToObjectiveVectors@{moeo\-Convert\-Pop\-To\-Objective\-Vectors}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Objective\-Vector = typename MOEOT::Objective\-Vector$>$ const std::vector$<$ Objective\-Vector $>$ {\bf moeo\-Convert\-Pop\-To\-Objective\-Vectors}$<$ MOEOT, Objective\-Vector $>$::operator() (const {\bf eo\-Pop}$<$ MOEOT $>$ {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoConvertPopToObjectiveVectors_8fada75aa151a6eaa310c5064f783c86}
Returns a vector of the objective vectors from the population \_\-pop.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 30 of file moeo\-Convert\-Pop\-To\-Objective\-Vectors.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Convert\-Pop\-To\-Objective\-Vectors.h\end{CompactItemize}

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 259.74
%%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.925 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
(moeoCriterionBasedFitnessAssignment< 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 -----
(moeoCriterionBasedFitnessAssignment< 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,27 @@
\section{moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoCriterionBasedFitnessAssignment}\index{moeoCriterionBasedFitnessAssignment@{moeoCriterionBasedFitnessAssignment}}
\doxyref{moeo\-Criterion\-Based\-Fitness\-Assignment}{p.}{classmoeoCriterionBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for criterion-based strategies.
{\tt \#include $<$moeo\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoCriterionBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Criterion\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
\doxyref{moeo\-Criterion\-Based\-Fitness\-Assignment}{p.}{classmoeoCriterionBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for criterion-based strategies.
Definition at line 106 of file moeo\-Fitness\-Assignment.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Fitness\-Assignment.h\end{CompactItemize}

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 237.389
%%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.10625 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
(moeoCrowdingDistanceDiversityAssignment< 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 -----
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) 0 0 box
(moeoDiversityAssignment< 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,111 @@
\section{moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoCrowdingDistanceDiversityAssignment}\index{moeoCrowdingDistanceDiversityAssignment@{moeoCrowdingDistanceDiversityAssignment}}
Diversity assignment sheme based on crowding distance proposed in: K.
{\tt \#include $<$moeo\-Crowding\-Distance\-Diversity\-Assignment.h$>$}
Inheritance diagram for moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoCrowdingDistanceDiversityAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoCrowdingDistanceDiversityAssignment_7c5b1b763bf82e2d557586533b072a64}
\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{classmoeoCrowdingDistanceDiversityAssignment_809f4454efda4c5b87b809b59afb9ce0}
\begin{CompactList}\small\item\em Returns a big value (regarded as infinite). \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)
\begin{CompactList}\small\item\em \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}
\item\end{CompactList}\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}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$}
Diversity assignment sheme based on crowding distance 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). This strategy is, for instance, used in NSGA-II.
Definition at line 26 of file moeo\-Crowding\-Distance\-Diversity\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoCrowdingDistanceDiversityAssignment@{moeo\-Crowding\-Distance\-Diversity\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoCrowdingDistanceDiversityAssignment@{moeo\-Crowding\-Distance\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Crowding\-Distance\-Diversity\-Assignment}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCrowdingDistanceDiversityAssignment_7af5b14f4a0d288fd12fa6044b816c54}
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 47 of file moeo\-Crowding\-Distance\-Diversity\-Assignment.h.
References moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::inf(), and moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::set\-Distances().\index{moeoCrowdingDistanceDiversityAssignment@{moeo\-Crowding\-Distance\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoCrowdingDistanceDiversityAssignment@{moeo\-Crowding\-Distance\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Crowding\-Distance\-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{classmoeoCrowdingDistanceDiversityAssignment_ac21453d018c0e5dc872ccf0d0893f18}
\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}.
Definition at line 70 of file moeo\-Crowding\-Distance\-Diversity\-Assignment.h.\index{moeoCrowdingDistanceDiversityAssignment@{moeo\-Crowding\-Distance\-Diversity\-Assignment}!setDistances@{setDistances}}
\index{setDistances@{setDistances}!moeoCrowdingDistanceDiversityAssignment@{moeo\-Crowding\-Distance\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Crowding\-Distance\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Distances ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoCrowdingDistanceDiversityAssignment_4ade243e5a25ccdc4fb823b9afd7e411}
Sets the distance values.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 82 of file moeo\-Crowding\-Distance\-Diversity\-Assignment.h.
References moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::inf().
Referenced by moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Crowding\-Distance\-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 416.667
%%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.2 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
(moeoDetTournamentSelect< MOEOT >) cw
(moeoSelectOne< MOEOT >) cw
(eoSelectOne< MOEOT >) cw
(eoUF< A1, 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 -----
(moeoDetTournamentSelect< MOEOT >) 0 0 box
(moeoSelectOne< MOEOT >) 0 1 box
(eoSelectOne< MOEOT >) 0 2 box
(eoUF< A1, R >) 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,99 @@
\section{moeo\-Det\-Tournament\-Select$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoDetTournamentSelect}\index{moeoDetTournamentSelect@{moeoDetTournamentSelect}}
Selection strategy that selects ONE individual by deterministic tournament.
{\tt \#include $<$moeo\-Det\-Tournament\-Select.h$>$}
Inheritance diagram for moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoDetTournamentSelect}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Det\-Tournament\-Select} ({\bf moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator, unsigned \_\-t\-Size=2)
\begin{CompactList}\small\item\em Full Ctor. \item\end{CompactList}\item
{\bf moeo\-Det\-Tournament\-Select} (unsigned \_\-t\-Size=2)
\begin{CompactList}\small\item\em Ctor without comparator. \item\end{CompactList}\item
const MOEOT \& {\bf operator()} (const {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Apply the tournament to the given population. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\bf comparator}\label{classmoeoDetTournamentSelect_f31a46190da0fe561d748133456907c9}
\begin{CompactList}\small\item\em the comparator (used to compare 2 individuals) \item\end{CompactList}\item
unsigned {\bf t\-Size}\label{classmoeoDetTournamentSelect_459c0c0bae805db8bc93ec7c5b217e20}
\begin{CompactList}\small\item\em the number of individuals in the tournament \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Det\-Tournament\-Select$<$ MOEOT $>$}
Selection strategy that selects ONE individual by deterministic tournament.
Definition at line 23 of file moeo\-Det\-Tournament\-Select.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}!moeoDetTournamentSelect@{moeoDetTournamentSelect}}
\index{moeoDetTournamentSelect@{moeoDetTournamentSelect}!moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$::{\bf moeo\-Det\-Tournament\-Select} ({\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator}, unsigned {\em \_\-t\-Size} = {\tt 2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDetTournamentSelect_51de6c436f95d13f70e399d00dbf895a}
Full Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \item[{\em \_\-t\-Size}]the number of individuals in the tournament (default: 2) \end{description}
\end{Desc}
Definition at line 33 of file moeo\-Det\-Tournament\-Select.h.
References moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::t\-Size.\index{moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}!moeoDetTournamentSelect@{moeoDetTournamentSelect}}
\index{moeoDetTournamentSelect@{moeoDetTournamentSelect}!moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$::{\bf moeo\-Det\-Tournament\-Select} (unsigned {\em \_\-t\-Size} = {\tt 2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDetTournamentSelect_27599d6d31d0d7730bc604f9bb167887}
Ctor without comparator.
A \doxyref{moeo\-Fitness\-Then\-Diversity\-Comparator}{p.}{classmoeoFitnessThenDiversityComparator} is used as default. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-t\-Size}]the number of individuals in the tournament (default: 2) \end{description}
\end{Desc}
Definition at line 50 of file moeo\-Det\-Tournament\-Select.h.
References moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::t\-Size.
\subsection{Member Function Documentation}
\index{moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}!operator()@{operator()}}
\index{operator()@{operator()}!moeoDetTournamentSelect@{moeo\-Det\-Tournament\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const MOEOT\& {\bf moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$::operator() (const {\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDetTournamentSelect_0d7051a48570e5dcbe9a19b90e4be3bf}
Apply the tournament to the given population.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 68 of file moeo\-Det\-Tournament\-Select.h.
References moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::comparator, and moeo\-Det\-Tournament\-Select$<$ MOEOT $>$::t\-Size.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Det\-Tournament\-Select.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 118.694
%%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.2125 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
(moeoDiversityAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) cw
(moeoDummyDiversityAssignment< 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 -----
(moeoDiversityAssignment< MOEOT >) 0.5 1 box
(eoUF< eoPop< MOEOT > &, void >) 0.5 2 box
(eoFunctorBase) 0.5 3 box
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) 0 0 box
(moeoDummyDiversityAssignment< MOEOT >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -0,0 +1,75 @@
\section{moeo\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoDiversityAssignment}\index{moeoDiversityAssignment@{moeoDiversityAssignment}}
Functor that sets the diversity values of a whole population.
{\tt \#include $<$moeo\-Diversity\-Assignment.h$>$}
Inheritance diagram for moeo\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.32344cm]{classmoeoDiversityAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoDiversityAssignment_dc2aa6c655cb0c163aa3c769c91c9339}
\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
virtual void {\bf update\-By\-Deleting} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, {\bf Objective\-Vector} \&\_\-obj\-Vec)=0
\begin{CompactList}\small\item\em Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\item
void {\bf update\-By\-Deleting} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, MOEOT \&\_\-moeo)
\begin{CompactList}\small\item\em Updates the diversity values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Diversity\-Assignment$<$ MOEOT $>$}
Functor that sets the diversity values of a whole population.
Definition at line 23 of file moeo\-Diversity\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoDiversityAssignment@{moeo\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoDiversityAssignment@{moeo\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, {\bf Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmoeoDiversityAssignment_57f400263b36664df6269f1b522cfdcb}
Updates the diversity 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}
Implemented in {\bf moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{}{p.}{classmoeoCrowdingDistanceDiversityAssignment_ac21453d018c0e5dc872ccf0d0893f18}, and {\bf moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{}{p.}{classmoeoDummyDiversityAssignment_3382b59e2b8bbdc840dc25463649f1e4}.
Referenced by moeo\-Diversity\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().\index{moeoDiversityAssignment@{moeo\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoDiversityAssignment@{moeo\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, MOEOT \& {\em \_\-moeo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDiversityAssignment_d104002fdd5d81aabe25f95d443ed390}
Updates the diversity values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-moeo}]the individual \end{description}
\end{Desc}
Definition at line 44 of file moeo\-Diversity\-Assignment.h.
References moeo\-Diversity\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Diversity\-Assignment.h\end{CompactItemize}

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 263.158
%%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.9 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
(moeoDiversityThenFitnessComparator< MOEOT >) cw
(moeoComparator< MOEOT >) 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 -----
(moeoDiversityThenFitnessComparator< MOEOT >) 0 0 box
(moeoComparator< MOEOT >) 0 1 box
(eoBF< A1, A2, R >) 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,49 @@
\section{moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoDiversityThenFitnessComparator}\index{moeoDiversityThenFitnessComparator@{moeoDiversityThenFitnessComparator}}
Functor allowing to compare two solutions according to their diversity values, then according to their fitness values.
{\tt \#include $<$moeo\-Comparator.h$>$}
Inheritance diagram for moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoDiversityThenFitnessComparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
const bool {\bf operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)
\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 according to their diversity values, then according to their fitness values. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Diversity\-Then\-Fitness\-Comparator$<$ MOEOT $>$}
Functor allowing to compare two solutions according to their diversity values, then according to their fitness values.
Definition at line 111 of file moeo\-Comparator.h.
\subsection{Member Function Documentation}
\index{moeoDiversityThenFitnessComparator@{moeo\-Diversity\-Then\-Fitness\-Comparator}!operator()@{operator()}}
\index{operator()@{operator()}!moeoDiversityThenFitnessComparator@{moeo\-Diversity\-Then\-Fitness\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool {\bf moeo\-Diversity\-Then\-Fitness\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDiversityThenFitnessComparator_62620887203d033af92091d838d4b0b6}
Returns true if \_\-moeo1 is greater than \_\-moeo2 according to their diversity values, then according to their fitness values.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description}
\end{Desc}
Definition at line 119 of file moeo\-Comparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Comparator.h\end{CompactItemize}

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 290.909
%%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.71875 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
(moeoDummyDiversityAssignment< 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 -----
(moeoDummyDiversityAssignment< MOEOT >) 0 0 box
(moeoDiversityAssignment< 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,75 @@
\section{moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoDummyDiversityAssignment}\index{moeoDummyDiversityAssignment@{moeoDummyDiversityAssignment}}
\doxyref{moeo\-Dummy\-Diversity\-Assignment}{p.}{classmoeoDummyDiversityAssignment} is a \doxyref{moeo\-Diversity\-Assignment}{p.}{classmoeoDiversityAssignment} that gives the value '0' as the individual's diversity for a whole population if it is invalid.
{\tt \#include $<$moeo\-Diversity\-Assignment.h$>$}
Inheritance diagram for moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoDummyDiversityAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoDummyDiversityAssignment_657d87e8f537200392bd7a24649f0294}
\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the diversity to '0' for every individuals of the population \_\-pop if it is invalid. \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 diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Dummy\-Diversity\-Assignment$<$ MOEOT $>$}
\doxyref{moeo\-Dummy\-Diversity\-Assignment}{p.}{classmoeoDummyDiversityAssignment} is a \doxyref{moeo\-Diversity\-Assignment}{p.}{classmoeoDiversityAssignment} that gives the value '0' as the individual's diversity for a whole population if it is invalid.
Definition at line 56 of file moeo\-Diversity\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Dummy\-Diversity\-Assignment}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDummyDiversityAssignment_78c9150d3c586f5324ccbd2faa984ba9}
Sets the diversity to '0' for every individuals of the population \_\-pop if it is invalid.
\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 68 of file moeo\-Diversity\-Assignment.h.\index{moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoDummyDiversityAssignment@{moeo\-Dummy\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Dummy\-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{classmoeoDummyDiversityAssignment_3382b59e2b8bbdc840dc25463649f1e4}
Updates the diversity 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\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{}{p.}{classmoeoDiversityAssignment_57f400263b36664df6269f1b522cfdcb}.
Definition at line 86 of file moeo\-Diversity\-Assignment.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Diversity\-Assignment.h\end{CompactItemize}

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 301.887
%%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.65625 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
(moeoDummyFitnessAssignment< 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 -----
(moeoDummyFitnessAssignment< 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,75 @@
\section{moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoDummyFitnessAssignment}\index{moeoDummyFitnessAssignment@{moeoDummyFitnessAssignment}}
\doxyref{moeo\-Dummy\-Fitness\-Assignment}{p.}{classmoeoDummyFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} that gives the value '0' as the individual's fitness for a whole population if it is invalid.
{\tt \#include $<$moeo\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoDummyFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoDummyFitnessAssignment_33cc1cd06c4c1d8f1f56602594e0593a}
\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness to '0' for every individuals of the population \_\-pop if it is invalid. \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{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$}
\doxyref{moeo\-Dummy\-Fitness\-Assignment}{p.}{classmoeoDummyFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} that gives the value '0' as the individual's fitness for a whole population if it is invalid.
Definition at line 56 of file moeo\-Fitness\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Dummy\-Fitness\-Assignment}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDummyFitnessAssignment_03c7c1649ae3c83ef6b3668977c10982}
Sets the fitness to '0' for every individuals of the population \_\-pop if it is invalid.
\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 68 of file moeo\-Fitness\-Assignment.h.\index{moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoDummyFitnessAssignment@{moeo\-Dummy\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Dummy\-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{classmoeoDummyFitnessAssignment_6e87d4a8ff8f43a7001a21a13795d00e}
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 86 of file moeo\-Fitness\-Assignment.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Fitness\-Assignment.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 220.264
%%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.27 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 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
(moeoEA< MOEOT >) cw
(eoAlgo< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoEasyEA< MOEOT >) cw
(moeoNSGAII< 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 -----
(moeoEA< MOEOT >) 0.5 1 box
(eoAlgo< MOEOT >) 0.5 2 box
(eoUF< eoPop< MOEOT > &, void >) 0.5 3 box
(eoFunctorBase) 0.5 4 box
(moeoEasyEA< MOEOT >) 0 0 box
(moeoNSGAII< MOEOT >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
1 0.5 4 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -0,0 +1,27 @@
\section{moeo\-EA$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoEA}\index{moeoEA@{moeoEA}}
Abstract class for multi-objective evolutionary algorithms.
{\tt \#include $<$moeo\-EA.h$>$}
Inheritance diagram for moeo\-EA$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoEA}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-EA$<$ MOEOT $>$}
Abstract class for multi-objective evolutionary algorithms.
Definition at line 22 of file moeo\-EA.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-EA.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 440.529
%%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.135 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
(moeoEasyEA< MOEOT >) cw
(moeoEA< MOEOT >) cw
(eoAlgo< 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 -----
(moeoEasyEA< MOEOT >) 0 0 box
(moeoEA< MOEOT >) 0 1 box
(eoAlgo< 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\-Easy\-EA$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoEasyEA}\index{moeoEasyEA@{moeoEasyEA}}
An easy class to design multi-objective evolutionary algorithms.
{\tt \#include $<$moeo\-Easy\-EA.h$>$}
Inheritance diagram for moeo\-Easy\-EA$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoEasyEA}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Easy\-EA} ({\bf eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, {\bf eo\-Breed}$<$ MOEOT $>$ \&\_\-breed, {\bf eo\-Replacement}$<$ MOEOT $>$ \&\_\-replace, {\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Eval, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-diversity\-Eval, bool \_\-eval\-Fit\-And\-Div\-Before\-Selection=false)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
virtual void {\bf operator()} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Applies a few generation of evolution to the population \_\-pop. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
{\bf eo\-Continue}$<$ MOEOT $>$ \& {\bf continuator}\label{classmoeoEasyEA_5f5b76acbaf99a6a3ee2710da07dde29}
\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\item
{\bf eo\-Eval\-Func}$<$ MOEOT $>$ \& {\bf eval}\label{classmoeoEasyEA_26e8ebce6a1bc3216e20171688ba6b83}
\begin{CompactList}\small\item\em the evaluation functions \item\end{CompactList}\item
{\bf eo\-Pop\-Loop\-Eval}$<$ MOEOT $>$ {\bf loop\-Eval}\label{classmoeoEasyEA_c1d492090805bf322c07159a9238a7ae}
\begin{CompactList}\small\item\em to evaluate the whole population \item\end{CompactList}\item
{\bf eo\-Pop\-Eval\-Func}$<$ MOEOT $>$ \& {\bf pop\-Eval}\label{classmoeoEasyEA_189a8f5196844907ff71f386d95bf415}
\begin{CompactList}\small\item\em to evaluate the whole population \item\end{CompactList}\item
{\bf eo\-Breed}$<$ MOEOT $>$ \& {\bf breed}\label{classmoeoEasyEA_35d5909694019d1b0d52347c72a9092e}
\begin{CompactList}\small\item\em the breeder \item\end{CompactList}\item
{\bf eo\-Replacement}$<$ MOEOT $>$ \& {\bf replace}\label{classmoeoEasyEA_1872664368d198f983d11a96f0ee3d8d}
\begin{CompactList}\small\item\em the replacment strategy \item\end{CompactList}\item
{\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\bf fitness\-Eval}\label{classmoeoEasyEA_1268fc2f0b62fe51bca17d4efb51954b}
\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item
{\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\bf diversity\-Eval}\label{classmoeoEasyEA_b9d1b3790072dbbbe0012a252bab95f4}
\begin{CompactList}\small\item\em the diversity assignment strategy \item\end{CompactList}\item
bool {\bf eval\-Fit\-And\-Div\-Before\-Selection}\label{classmoeoEasyEA_856a19d9a7c180fe33ce7a5bb010edcc}
\begin{CompactList}\small\item\em if this parameter is set to 'true', the fitness and the diversity of the whole population will be re-evaluated before the selection process \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Easy\-EA$<$ MOEOT $>$}
An easy class to design multi-objective evolutionary algorithms.
Definition at line 31 of file moeo\-Easy\-EA.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoEasyEA@{moeo\-Easy\-EA}!moeoEasyEA@{moeoEasyEA}}
\index{moeoEasyEA@{moeoEasyEA}!moeoEasyEA@{moeo\-Easy\-EA}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Easy\-EA}$<$ MOEOT $>$::{\bf moeo\-Easy\-EA} ({\bf eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, {\bf eo\-Breed}$<$ MOEOT $>$ \& {\em \_\-breed}, {\bf eo\-Replacement}$<$ MOEOT $>$ \& {\em \_\-replace}, {\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Eval}, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-diversity\-Eval}, bool {\em \_\-eval\-Fit\-And\-Div\-Before\-Selection} = {\tt false})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEasyEA_7fe81a5e24bd69d9f6de172d2bbe059a}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-eval}]the evaluation functions \item[{\em \_\-breed}]the breeder \item[{\em \_\-replace}]the replacment strategy \item[{\em \_\-fitness\-Eval}]the fitness evaluation scheme \item[{\em \_\-diversity\-Eval}]the diversity evaluation scheme \item[{\em \_\-eval\-Fit\-And\-Div\-Before\-Selection}]put this parameter to 'true' if you want to re-evalue the fitness and the diversity of the population before the selection process \end{description}
\end{Desc}
Definition at line 45 of file moeo\-Easy\-EA.h.
\subsection{Member Function Documentation}
\index{moeoEasyEA@{moeo\-Easy\-EA}!operator()@{operator()}}
\index{operator()@{operator()}!moeoEasyEA@{moeo\-Easy\-EA}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void {\bf moeo\-Easy\-EA}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoEasyEA_f18e8fd179fbb2b89f4a59d213317170}
Applies a few generation of evolution to 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 57 of file moeo\-Easy\-EA.h.
References moeo\-Easy\-EA$<$ MOEOT $>$::breed, moeo\-Easy\-EA$<$ MOEOT $>$::continuator, moeo\-Easy\-EA$<$ MOEOT $>$::diversity\-Eval, moeo\-Easy\-EA$<$ MOEOT $>$::eval\-Fit\-And\-Div\-Before\-Selection, moeo\-Easy\-EA$<$ MOEOT $>$::fitness\-Eval, moeo\-Easy\-EA$<$ MOEOT $>$::pop\-Eval, and moeo\-Easy\-EA$<$ MOEOT $>$::replace.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Easy\-EA.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 280.899
%%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.78 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
(moeoElitistReplacement< MOEOT >) cw
(moeoReplacement< MOEOT >) cw
(eoReplacement< MOEOT >) cw
(eoBF< eoPop< MOEOT > &, 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 -----
(moeoElitistReplacement< MOEOT >) 0 0 box
(moeoReplacement< MOEOT >) 0 1 box
(eoReplacement< MOEOT >) 0 2 box
(eoBF< eoPop< MOEOT > &, 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,137 @@
\section{moeo\-Elitist\-Replacement$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoElitistReplacement}\index{moeoElitistReplacement@{moeoElitistReplacement}}
Elitist replacement strategy that consists in keeping the N best individuals.
{\tt \#include $<$moeo\-Elitist\-Replacement.h$>$}
Inheritance diagram for moeo\-Elitist\-Replacement$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoElitistReplacement}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Diversity, {\bf moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item
{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Diversity)
\begin{CompactList}\small\item\em Constructor without comparator. \item\end{CompactList}\item
{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness, {\bf moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement. \item\end{CompactList}\item
{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness)
\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}. \item\end{CompactList}\item
void {\bf operator()} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-parents, {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-offspring)
\begin{CompactList}\small\item\em Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\bf eval\-Fitness}\label{classmoeoElitistReplacement_caefe4d041453d2a5fb8ccedc5c9e351}
\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item
{\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\bf eval\-Diversity}\label{classmoeoElitistReplacement_52ba3396f1d95337486b29a6a997c7c3}
\begin{CompactList}\small\item\em the diversity assignment strategy \item\end{CompactList}\item
{\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\bf comparator}\label{classmoeoElitistReplacement_642ddf2bf5d556b20d2bdddeaab9e968}
\begin{CompactList}\small\item\em the comparator (used to compare 2 individuals) \item\end{CompactList}\end{CompactItemize}
\subsection*{Classes}
\begin{CompactItemize}
\item
class {\bf Cmp}
\begin{CompactList}\small\item\em This class is used to compare solutions in order to sort the population. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Elitist\-Replacement$<$ MOEOT $>$}
Elitist replacement strategy that consists in keeping the N best individuals.
Definition at line 24 of file moeo\-Elitist\-Replacement.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}}
\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Elitist\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness}, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Diversity}, {\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_76d642bc51aef42444a01cd0f54832e2}
Full constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \item[{\em \_\-eval\-Diversity}]the diversity assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description}
\end{Desc}
Definition at line 34 of file moeo\-Elitist\-Replacement.h.\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}}
\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Elitist\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness}, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Diversity})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_755797c869d35fdeb3467cb13faabb39}
Constructor without comparator.
A moeo\-Fit\-Then\-Div\-Comparator is used as default. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \item[{\em \_\-eval\-Diversity}]the diversity assignment strategy \end{description}
\end{Desc}
Definition at line 44 of file moeo\-Elitist\-Replacement.h.\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}}
\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Elitist\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness}, {\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_edb91a2a6450cc8da01b98da631d11ce}
Constructor without moeo\-Diversity\-Assignement.
A dummy diversity is used as default. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description}
\end{Desc}
Definition at line 54 of file moeo\-Elitist\-Replacement.h.\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}}
\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Elitist\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Elitist\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_782c45dbc5d077b96db4f08b808488df}
Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}.
A moeo\-Fit\-Then\-Div\-Comparator and a dummy diversity are used as default. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \end{description}
\end{Desc}
Definition at line 64 of file moeo\-Elitist\-Replacement.h.
\subsection{Member Function Documentation}
\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!operator()@{operator()}}
\index{operator()@{operator()}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Elitist\-Replacement}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoElitistReplacement_0364c6ef9d16f7eb65caa9edfce69006}
Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-parents}]the population composed of the parents (the population you want to replace) \item[{\em \_\-offspring}]the offspring population \end{description}
\end{Desc}
Implements {\bf eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, eo\-Pop$<$ MOEOT $>$ \&, void $>$}.
Definition at line 74 of file moeo\-Elitist\-Replacement.h.
References moeo\-Elitist\-Replacement$<$ MOEOT $>$::comparator, moeo\-Elitist\-Replacement$<$ MOEOT $>$::eval\-Diversity, and moeo\-Elitist\-Replacement$<$ MOEOT $>$::eval\-Fitness.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Elitist\-Replacement.h\end{CompactItemize}

View file

@ -0,0 +1,52 @@
\section{moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp Class Reference}
\label{classmoeoElitistReplacement_1_1Cmp}\index{moeoElitistReplacement::Cmp@{moeoElitistReplacement::Cmp}}
This class is used to compare solutions in order to sort the population.
{\tt \#include $<$moeo\-Elitist\-Replacement.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Cmp} ({\bf moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
bool {\bf operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)\label{classmoeoElitistReplacement_1_1Cmp_2411b927dde02225114635e776ce863f}
\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 according to the comparator \_\-moeo1 the first individual \_\-moeo2 the first individual. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\bf comparator}\label{classmoeoElitistReplacement_1_1Cmp_d86031360b8b2754431c3de650651a92}
\begin{CompactList}\small\item\em the comparator \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Elitist\-Replacement$<$ MOEOT $>$::Cmp}
This class is used to compare solutions in order to sort the population.
Definition at line 105 of file moeo\-Elitist\-Replacement.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoElitistReplacement::Cmp@{moeo\-Elitist\-Replacement::Cmp}!Cmp@{Cmp}}
\index{Cmp@{Cmp}!moeoElitistReplacement::Cmp@{moeo\-Elitist\-Replacement::Cmp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Elitist\-Replacement}$<$ MOEOT $>$::Cmp::Cmp ({\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_1_1Cmp_79fd35cce3f2d5081a9ed0ee58c25ef8}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-comparator}]the comparator \end{description}
\end{Desc}
Definition at line 113 of file moeo\-Elitist\-Replacement.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Elitist\-Replacement.h\end{CompactItemize}

View file

@ -0,0 +1,227 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 132.626
%%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 3.77 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 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
(moeoEntropyMetric< ObjectiveVector >) cw
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, double >) cw
(moeoBinaryMetric< A1, A2, R >) cw
(eoBF< A1, A2, R >) cw
(moeoMetric) cw
(eoFunctorBase) 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 -----
(moeoEntropyMetric< ObjectiveVector >) 0.5 0 box
(moeoVectorVsVectorBinaryMetric< ObjectiveVector, double >) 0.5 1 box
(moeoBinaryMetric< A1, A2, R >) 0.5 2 box
(eoBF< A1, A2, R >) 0 3 box
(moeoMetric) 1 3 box
(eoFunctorBase) 0 4 box
(eoFunctorBase) 1 4 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
0 1 3 conn
solid
1 0 3 in
solid
0 0 3 out
solid
1 1 3 in
solid
0 1 3 out
solid
1 0 4 in
solid
1 1 4 in

View file

@ -0,0 +1,147 @@
\section{moeo\-Entropy\-Metric$<$ Objective\-Vector $>$ Class Template Reference}
\label{classmoeoEntropyMetric}\index{moeoEntropyMetric@{moeoEntropyMetric}}
The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc.
{\tt \#include $<$moeo\-Entropy\-Metric.h$>$}
Inheritance diagram for moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.71353cm]{classmoeoEntropyMetric}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
double {\bf operator()} (const std::vector$<$ Objective\-Vector $>$ \&\_\-set1, const std::vector$<$ Objective\-Vector $>$ \&\_\-set2)
\begin{CompactList}\small\item\em Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf remove\-Dominated} (std::vector$<$ Objective\-Vector $>$ \&\_\-f)
\begin{CompactList}\small\item\em Removes the dominated individuals contained in \_\-f. \item\end{CompactList}\item
void {\bf prenormalize} (const std::vector$<$ Objective\-Vector $>$ \&\_\-f)
\begin{CompactList}\small\item\em Prenormalization. \item\end{CompactList}\item
void {\bf normalize} (std::vector$<$ Objective\-Vector $>$ \&\_\-f)
\begin{CompactList}\small\item\em Normalization. \item\end{CompactList}\item
void {\bf compute\-Union} (const std::vector$<$ Objective\-Vector $>$ \&\_\-f1, const std::vector$<$ Objective\-Vector $>$ \&\_\-f2, std::vector$<$ Objective\-Vector $>$ \&\_\-f)
\begin{CompactList}\small\item\em Computation of the union of \_\-f1 and \_\-f2 in \_\-f. \item\end{CompactList}\item
unsigned {\bf how\-Many\-In\-Niche\-Of} (const std::vector$<$ Objective\-Vector $>$ \&\_\-f, const Objective\-Vector \&\_\-s, unsigned \_\-size)\label{classmoeoEntropyMetric_74cca13e6ea6d23c4cebb3af92a09ff9}
\begin{CompactList}\small\item\em How many in niche. \item\end{CompactList}\item
double {\bf euclidian\-Distance} (const Objective\-Vector \&\_\-set1, const Objective\-Vector \&\_\-to, unsigned \_\-deg=2)\label{classmoeoEntropyMetric_670d6e5eb1a539aabc741138846bc747}
\begin{CompactList}\small\item\em Euclidian distance. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
std::vector$<$ double $>$ {\bf vect\_\-min\_\-val}\label{classmoeoEntropyMetric_e423d7d4416ef371ce7b0fd24c3212f8}
\begin{CompactList}\small\item\em vector of min values \item\end{CompactList}\item
std::vector$<$ double $>$ {\bf vect\_\-max\_\-val}\label{classmoeoEntropyMetric_f5fad6d144520fd1403f774f98b18b99}
\begin{CompactList}\small\item\em vector of max values \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Entropy\-Metric$<$ Objective\-Vector $>$}
The entropy gives an idea of the diversity of a Pareto set relatively to another (Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc.
of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156)
Definition at line 23 of file moeo\-Entropy\-Metric.h.
\subsection{Member Function Documentation}
\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!operator()@{operator()}}
\index{operator()@{operator()}!moeoEntropyMetric@{moeo\-Entropy\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double {\bf moeo\-Entropy\-Metric}$<$ Objective\-Vector $>$::operator() (const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set1}, const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEntropyMetric_191a8cdda7873e20338e678c5a7b927b}
Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description}
\end{Desc}
Definition at line 32 of file moeo\-Entropy\-Metric.h.
References moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::compute\-Union(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::how\-Many\-In\-Niche\-Of(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::normalize(), moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::prenormalize(), and moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::remove\-Dominated().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!removeDominated@{removeDominated}}
\index{removeDominated@{removeDominated}!moeoEntropyMetric@{moeo\-Entropy\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void {\bf moeo\-Entropy\-Metric}$<$ Objective\-Vector $>$::remove\-Dominated (std::vector$<$ Objective\-Vector $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_198a717fd0bab0bb91346399c1021f82}
Removes the dominated individuals contained in \_\-f.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-f}]a Pareto set \end{description}
\end{Desc}
Definition at line 81 of file moeo\-Entropy\-Metric.h.
Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!prenormalize@{prenormalize}}
\index{prenormalize@{prenormalize}!moeoEntropyMetric@{moeo\-Entropy\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void {\bf moeo\-Entropy\-Metric}$<$ Objective\-Vector $>$::prenormalize (const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_51dd04bdd0ac6315f4f5956fb726cec1}
Prenormalization.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-f}]a Pareto set \end{description}
\end{Desc}
Definition at line 102 of file moeo\-Entropy\-Metric.h.
References moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-max\_\-val, and moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-min\_\-val.
Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!normalize@{normalize}}
\index{normalize@{normalize}!moeoEntropyMetric@{moeo\-Entropy\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void {\bf moeo\-Entropy\-Metric}$<$ Objective\-Vector $>$::normalize (std::vector$<$ Objective\-Vector $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_2ed5771c3c611634b415f4be48cad172}
Normalization.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-f}]a Pareto set \end{description}
\end{Desc}
Definition at line 124 of file moeo\-Entropy\-Metric.h.
References moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-max\_\-val, and moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::vect\_\-min\_\-val.
Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()().\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!computeUnion@{computeUnion}}
\index{computeUnion@{computeUnion}!moeoEntropyMetric@{moeo\-Entropy\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ void {\bf moeo\-Entropy\-Metric}$<$ Objective\-Vector $>$::compute\-Union (const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-f1}, const std::vector$<$ Objective\-Vector $>$ \& {\em \_\-f2}, std::vector$<$ Objective\-Vector $>$ \& {\em \_\-f})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoEntropyMetric_4b99c1842d780a89bda08e99a59e3e29}
Computation of the union of \_\-f1 and \_\-f2 in \_\-f.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-f1}]the first Pareto set \item[{\em \_\-f2}]the second Pareto set \item[{\em \_\-f}]the final Pareto set \end{description}
\end{Desc}
Definition at line 137 of file moeo\-Entropy\-Metric.h.
Referenced by moeo\-Entropy\-Metric$<$ Objective\-Vector $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Entropy\-Metric.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 280.899
%%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.78 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
(moeoEnvironmentalReplacement< MOEOT >) cw
(moeoReplacement< MOEOT >) cw
(eoReplacement< MOEOT >) cw
(eoBF< eoPop< MOEOT > &, 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 -----
(moeoEnvironmentalReplacement< MOEOT >) 0 0 box
(moeoReplacement< MOEOT >) 0 1 box
(eoReplacement< MOEOT >) 0 2 box
(eoBF< eoPop< MOEOT > &, 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,143 @@
\section{moeo\-Environmental\-Replacement$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoEnvironmentalReplacement}\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}}
Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion.
{\tt \#include $<$moeo\-Environmental\-Replacement.h$>$}
Inheritance diagram for moeo\-Environmental\-Replacement$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoEnvironmentalReplacement}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoEnvironmentalReplacement_ef38fb9b1ab23ddd2c558639e19f4821}
\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Diversity, {\bf moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item
{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Diversity)
\begin{CompactList}\small\item\em Constructor without comparator. \item\end{CompactList}\item
{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness, {\bf moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement. \item\end{CompactList}\item
{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-eval\-Fitness)
\begin{CompactList}\small\item\em Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}. \item\end{CompactList}\item
void {\bf operator()} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-parents, {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-offspring)
\begin{CompactList}\small\item\em Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\bf eval\-Fitness}\label{classmoeoEnvironmentalReplacement_c6153c6660117e2be01037005e7b2f88}
\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item
{\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\bf eval\-Diversity}\label{classmoeoEnvironmentalReplacement_e6c72ca94a7e5c2785f465899c50f6a4}
\begin{CompactList}\small\item\em the diversity assignment strategy \item\end{CompactList}\item
{\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\bf comparator}\label{classmoeoEnvironmentalReplacement_38bb3a80a72557537d2bfa05c51467f9}
\begin{CompactList}\small\item\em the comparator (used to compare 2 individuals) \item\end{CompactList}\end{CompactItemize}
\subsection*{Classes}
\begin{CompactItemize}
\item
class {\bf Cmp}
\begin{CompactList}\small\item\em This class is used to compare solutions in order to sort the population. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Environmental\-Replacement$<$ MOEOT $>$}
Environmental replacement strategy that consists in keeping the N best individuals by deleting individuals 1 by 1 and by updating the fitness and diversity values after each deletion.
Definition at line 25 of file moeo\-Environmental\-Replacement.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}}
\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Environmental\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness}, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Diversity}, {\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_ce7cbcb364cd895a26f5a4d391162646}
Full constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \item[{\em \_\-eval\-Diversity}]the diversity assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description}
\end{Desc}
Definition at line 39 of file moeo\-Environmental\-Replacement.h.\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}}
\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Environmental\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness}, {\bf moeo\-Diversity\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Diversity})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_54f9aee2bfd18f1ad3df3f9373f14f57}
Constructor without comparator.
A moeo\-Fit\-Then\-Div\-Comparator is used as default. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \item[{\em \_\-eval\-Diversity}]the diversity assignment strategy \end{description}
\end{Desc}
Definition at line 49 of file moeo\-Environmental\-Replacement.h.\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}}
\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Environmental\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness}, {\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_e44afd264a95693eb21daae3508c8450}
Constructor without moeo\-Diversity\-Assignement.
A dummy diversity is used as default. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \item[{\em \_\-comparator}]the comparator (used to compare 2 individuals) \end{description}
\end{Desc}
Definition at line 59 of file moeo\-Environmental\-Replacement.h.\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}}
\index{moeoEnvironmentalReplacement@{moeoEnvironmentalReplacement}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Environmental\-Replacement}$<$ MOEOT $>$::{\bf moeo\-Environmental\-Replacement} ({\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-eval\-Fitness})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_f31706a4551bb293c86713fa196d0ac0}
Constructor without moeo\-Diversity\-Assignement nor \doxyref{moeo\-Comparator}{p.}{classmoeoComparator}.
A moeo\-Fit\-Then\-Div\-Comparator and a dummy diversity are used as default. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-eval\-Fitness}]the fitness assignment strategy \end{description}
\end{Desc}
Definition at line 69 of file moeo\-Environmental\-Replacement.h.
\subsection{Member Function Documentation}
\index{moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}!operator()@{operator()}}
\index{operator()@{operator()}!moeoEnvironmentalReplacement@{moeo\-Environmental\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Environmental\-Replacement}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoEnvironmentalReplacement_55acfca7f9dd9e3d75cef7c9015dc037}
Replaces the first population by adding the individuals of the second one, sorting with a \doxyref{moeo\-Comparator}{p.}{classmoeoComparator} and resizing the whole population obtained.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-parents}]the population composed of the parents (the population you want to replace) \item[{\em \_\-offspring}]the offspring population \end{description}
\end{Desc}
Implements {\bf eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, eo\-Pop$<$ MOEOT $>$ \&, void $>$}.
Definition at line 79 of file moeo\-Environmental\-Replacement.h.
References moeo\-Environmental\-Replacement$<$ MOEOT $>$::comparator, moeo\-Environmental\-Replacement$<$ MOEOT $>$::eval\-Diversity, and moeo\-Environmental\-Replacement$<$ MOEOT $>$::eval\-Fitness.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Environmental\-Replacement.h\end{CompactItemize}

View file

@ -0,0 +1,52 @@
\section{moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp Class Reference}
\label{classmoeoEnvironmentalReplacement_1_1Cmp}\index{moeoEnvironmentalReplacement::Cmp@{moeoEnvironmentalReplacement::Cmp}}
This class is used to compare solutions in order to sort the population.
{\tt \#include $<$moeo\-Environmental\-Replacement.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Cmp} ({\bf moeo\-Comparator}$<$ MOEOT $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
bool {\bf operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)\label{classmoeoEnvironmentalReplacement_1_1Cmp_b006918d5d6fc1f87fb9ed585946595a}
\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 according to the comparator \_\-moeo1 the first individual \_\-moeo2 the first individual. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\bf comparator}\label{classmoeoEnvironmentalReplacement_1_1Cmp_7d2cc653e0ec997e72381a3f191a30df}
\begin{CompactList}\small\item\em the comparator \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Environmental\-Replacement$<$ MOEOT $>$::Cmp}
This class is used to compare solutions in order to sort the population.
Definition at line 117 of file moeo\-Environmental\-Replacement.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoEnvironmentalReplacement::Cmp@{moeo\-Environmental\-Replacement::Cmp}!Cmp@{Cmp}}
\index{Cmp@{Cmp}!moeoEnvironmentalReplacement::Cmp@{moeo\-Environmental\-Replacement::Cmp}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Environmental\-Replacement}$<$ MOEOT $>$::Cmp::Cmp ({\bf moeo\-Comparator}$<$ MOEOT $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEnvironmentalReplacement_1_1Cmp_734409b8f04b599c5291520b5cfc9177}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-comparator}]the comparator \end{description}
\end{Desc}
Definition at line 125 of file moeo\-Environmental\-Replacement.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Environmental\-Replacement.h\end{CompactItemize}

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 459.77
%%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.0875 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
(moeoEvalFunc< MOEOT >) cw
(eoEvalFunc< MOEOT >) cw
(eoUF< 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 -----
(moeoEvalFunc< MOEOT >) 0 0 box
(eoEvalFunc< MOEOT >) 0 1 box
(eoUF< 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,22 @@
\section{moeo\-Eval\-Func$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoEvalFunc}\index{moeoEvalFunc@{moeoEvalFunc}}
Inheritance diagram for moeo\-Eval\-Func$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoEvalFunc}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Eval\-Func$<$ MOEOT $>$}
Definition at line 22 of file moeo\-Eval\-Func.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Eval\-Func.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 270.27
%%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.85 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
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) cw
(moeoParetoBasedFitnessAssignment< 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 -----
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 0 0 box
(moeoParetoBasedFitnessAssignment< 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,173 @@
\section{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoFastNonDominatedSortingFitnessAssignment}\index{moeoFastNonDominatedSortingFitnessAssignment@{moeoFastNonDominatedSortingFitnessAssignment}}
Fitness assignment sheme based on Pareto-dominance count proposed in: N.
{\tt \#include $<$moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoFastNonDominatedSortingFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoFastNonDominatedSortingFitnessAssignment_7bca09c8cf084700172a6e0dfcf6c381}
\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment} ()\label{classmoeoFastNonDominatedSortingFitnessAssignment_d02bd6ca60399f6171c08fa42f131644}
\begin{CompactList}\small\item\em Default ctor. \item\end{CompactList}\item
{\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment} ({\bf moeo\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ \&\_\-comparator)
\begin{CompactList}\small\item\em Ctor where you can choose your own way to compare objective vectors. \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 \begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc}
\item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf one\-Objective} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness values for mono-objective problems. \item\end{CompactList}\item
void {\bf two\-Objectives} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size. \item\end{CompactList}\item
void {\bf m\-Objectives} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the fitness values for problems with more than two objectives with a complexity of O(n\^{A}² log n), where n stands for the population size. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf moeo\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ \& {\bf comparator}\label{classmoeoFastNonDominatedSortingFitnessAssignment_cc2269f00944e308e53004cc3a68855b}
\begin{CompactList}\small\item\em Functor to compare two objective vectors. \item\end{CompactList}\item
{\bf moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ {\bf pareto\-Comparator}\label{classmoeoFastNonDominatedSortingFitnessAssignment_c91bade0a1aa1200d0245f7c13fb74fc}
\begin{CompactList}\small\item\em Functor to compare two objective vectors according to Pareto dominance relation. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$}
Fitness assignment sheme based on Pareto-dominance count proposed in: N.
Srinivas, K. Deb, \char`\"{}Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms\char`\"{}, Evolutionary Computation vol. 2, no. 3, pp. 221-248 (1994) and 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). This strategy is, for instance, used in NSGA and NSGA-II.
Definition at line 29 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!moeoFastNonDominatedSortingFitnessAssignment@{moeoFastNonDominatedSortingFitnessAssignment}}
\index{moeoFastNonDominatedSortingFitnessAssignment@{moeoFastNonDominatedSortingFitnessAssignment}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::{\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment} ({\bf moeo\-Objective\-Vector\-Comparator}$<$ {\bf Objective\-Vector} $>$ \& {\em \_\-comparator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_6843abccb77386a06016063f42c63f75}
Ctor where you can choose your own way to compare objective vectors.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-comparator}]the functor used to compare objective vectors \end{description}
\end{Desc}
Definition at line 48 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!operator()@{operator()}}
\index{operator()@{operator()}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_4d75a10be83e50e4d3827c32b74f9d7d}
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 56 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.
References moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::m\-Objectives(), and moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::one\-Objective().\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Fast\-Non\-Dominated\-Sorting\-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{classmoeoFastNonDominatedSortingFitnessAssignment_8d16de444f6c7a73c28c9087b652656e}
\begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the fitness 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\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{}{p.}{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269}.
Definition at line 100 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!oneObjective@{oneObjective}}
\index{oneObjective@{oneObjective}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::one\-Objective ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_f69d3a918dbbe8d7e9ef5abc50fbf17b}
Sets the fitness values for mono-objective problems.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 120 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.
Referenced by moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!twoObjectives@{twoObjectives}}
\index{twoObjectives@{twoObjectives}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::two\-Objectives ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_ac0337fe41c4d565c5a81de38398a9e9}
Sets the fitness values for bi-objective problems with a complexity of O(n log n), where n stands for the population size.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 136 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.\index{moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}!mObjectives@{mObjectives}}
\index{mObjectives@{mObjectives}!moeoFastNonDominatedSortingFitnessAssignment@{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$::m\-Objectives ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFastNonDominatedSortingFitnessAssignment_f28ad92fe565e13b8d38a3beb30e1e29}
Sets the fitness values for problems with more than two objectives with a complexity of O(n\^{A}² log n), where n stands for the population size.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Definition at line 146 of file moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h.
References moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::comparator.
Referenced by moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment.h\end{CompactItemize}

View file

@ -0,0 +1,235 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 67.5676
%%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 7.4 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 4 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
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoCriterionBasedFitnessAssignment< MOEOT >) cw
(moeoDummyFitnessAssignment< MOEOT >) cw
(moeoParetoBasedFitnessAssignment< MOEOT >) cw
(moeoScalarFitnessAssignment< MOEOT >) cw
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) cw
(moeoIndicatorBasedFitnessAssignment< 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 -----
(moeoFitnessAssignment< MOEOT >) 1.5 2 box
(eoUF< eoPop< MOEOT > &, void >) 1.5 3 box
(eoFunctorBase) 1.5 4 box
(moeoCriterionBasedFitnessAssignment< MOEOT >) 0 1 box
(moeoDummyFitnessAssignment< MOEOT >) 1 1 box
(moeoParetoBasedFitnessAssignment< MOEOT >) 2 1 box
(moeoScalarFitnessAssignment< MOEOT >) 3 1 box
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 1.5 0 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 2.5 0 box
% ----- relations -----
solid
0 1.5 2 out
solid
1 1.5 3 in
solid
0 1.5 3 out
solid
1 1.5 4 in
solid
1 1.5 1.25 out
solid
0 3 2 conn
solid
0 0 1.75 in
solid
0 1 1.75 in
solid
0 2 1.75 in
solid
1 2 0.25 out
solid
1.5 2.5 1 conn
solid
0 3 1.75 in
solid
0 1.5 0.75 in
solid
0 2.5 0.75 in

View file

@ -0,0 +1,75 @@
\section{moeo\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoFitnessAssignment}\index{moeoFitnessAssignment@{moeoFitnessAssignment}}
Functor that sets the fitness values of a whole population.
{\tt \#include $<$moeo\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.89189cm]{classmoeoFitnessAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector {\bf Objective\-Vector}\label{classmoeoFitnessAssignment_6271b8215ea5df4fc1f19e513cd1d533}
\begin{CompactList}\small\item\em The type for objective vector. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
virtual void {\bf update\-By\-Deleting} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, {\bf Objective\-Vector} \&\_\-obj\-Vec)=0
\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
void {\bf update\-By\-Deleting} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, MOEOT \&\_\-moeo)
\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Fitness\-Assignment$<$ MOEOT $>$}
Functor that sets the fitness values of a whole population.
Definition at line 23 of file moeo\-Fitness\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoFitnessAssignment@{moeo\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoFitnessAssignment@{moeo\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void {\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, {\bf Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [pure virtual]}}\label{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269}
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}
Implemented in {\bf moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{}{p.}{classmoeoFastNonDominatedSortingFitnessAssignment_8d16de444f6c7a73c28c9087b652656e}, {\bf moeo\-Dummy\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{}{p.}{classmoeoDummyFitnessAssignment_6e87d4a8ff8f43a7001a21a13795d00e}, and {\bf moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{}{p.}{classmoeoIndicatorBasedFitnessAssignment_04d6a7e20060af2da765e76600c72e2c}.
Referenced by moeo\-Fitness\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().\index{moeoFitnessAssignment@{moeo\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoFitnessAssignment@{moeo\-Fitness\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, MOEOT \& {\em \_\-moeo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFitnessAssignment_057fd85764abb5de35adb52b5ef695be}
Updates the fitness values of the whole population \_\-pop by taking the deletion of the individual \_\-moeo into account.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-moeo}]the individual \end{description}
\end{Desc}
Definition at line 44 of file moeo\-Fitness\-Assignment.h.
References moeo\-Fitness\-Assignment$<$ MOEOT $>$::update\-By\-Deleting().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Fitness\-Assignment.h\end{CompactItemize}

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 263.158
%%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.9 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
(moeoFitnessThenDiversityComparator< MOEOT >) cw
(moeoComparator< MOEOT >) 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 -----
(moeoFitnessThenDiversityComparator< MOEOT >) 0 0 box
(moeoComparator< MOEOT >) 0 1 box
(eoBF< A1, A2, R >) 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,49 @@
\section{moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoFitnessThenDiversityComparator}\index{moeoFitnessThenDiversityComparator@{moeoFitnessThenDiversityComparator}}
Functor allowing to compare two solutions according to their fitness values, then according to their diversity values.
{\tt \#include $<$moeo\-Comparator.h$>$}
Inheritance diagram for moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoFitnessThenDiversityComparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
const bool {\bf operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)
\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 according to their fitness values, then according to their diversity values. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Fitness\-Then\-Diversity\-Comparator$<$ MOEOT $>$}
Functor allowing to compare two solutions according to their fitness values, then according to their diversity values.
Definition at line 85 of file moeo\-Comparator.h.
\subsection{Member Function Documentation}
\index{moeoFitnessThenDiversityComparator@{moeo\-Fitness\-Then\-Diversity\-Comparator}!operator()@{operator()}}
\index{operator()@{operator()}!moeoFitnessThenDiversityComparator@{moeo\-Fitness\-Then\-Diversity\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool {\bf moeo\-Fitness\-Then\-Diversity\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoFitnessThenDiversityComparator_087856d1a7d81f242e95591d694e3ef6}
Returns true if \_\-moeo1 is greater than \_\-moeo2 according to their fitness values, then according to their diversity values.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description}
\end{Desc}
Definition at line 93 of file moeo\-Comparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Comparator.h\end{CompactItemize}

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.02
%%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.475 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
(moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) cw
(moeoObjectiveVectorComparator< ObjectiveVector >) 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 -----
(moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) 0 0 box
(moeoObjectiveVectorComparator< ObjectiveVector >) 0 1 box
(eoBF< A1, A2, R >) 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,104 @@
\section{moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$ Class Template Reference}
\label{classmoeoGDominanceObjectiveVectorComparator}\index{moeoGDominanceObjectiveVectorComparator@{moeoGDominanceObjectiveVectorComparator}}
This functor class allows to compare 2 objective vectors according to g-dominance.
{\tt \#include $<$moeo\-Objective\-Vector\-Comparator.h$>$}
Inheritance diagram for moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoGDominanceObjectiveVectorComparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-GDominance\-Objective\-Vector\-Comparator} (Objective\-Vector \_\-ref)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
bool {\bf operator()} (const Objective\-Vector \&\_\-objective\-Vector1, const Objective\-Vector \&\_\-objective\-Vector2)
\begin{CompactList}\small\item\em Returns true if \_\-objective\-Vector1 g-dominates \_\-objective\-Vector2. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
unsigned {\bf flag} (const Objective\-Vector \&\_\-objective\-Vector)
\begin{CompactList}\small\item\em Returns the flag of \_\-objective\-Vector according to the reference point. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
Objective\-Vector {\bf ref}\label{classmoeoGDominanceObjectiveVectorComparator_55abecc05f8768dda29695c0aff608db}
\begin{CompactList}\small\item\em the reference point \item\end{CompactList}\item
{\bf moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ Objective\-Vector $>$ {\bf pareto\-Comparator}\label{classmoeoGDominanceObjectiveVectorComparator_5768e6444e546f1da2f36ccabcfc1f70}
\begin{CompactList}\small\item\em Pareto comparator. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}
This functor class allows to compare 2 objective vectors according to g-dominance.
The concept of g-dominance as been introduced in: J. Molina, L. V. Santana, A. G. Hernandez-Diaz, C. A. Coello Coello, R. Caballero, \char`\"{}g-dominance: Reference point based dominance\char`\"{} (2007)
Definition at line 88 of file moeo\-Objective\-Vector\-Comparator.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}!moeoGDominanceObjectiveVectorComparator@{moeoGDominanceObjectiveVectorComparator}}
\index{moeoGDominanceObjectiveVectorComparator@{moeoGDominanceObjectiveVectorComparator}!moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ {\bf moeo\-GDominance\-Objective\-Vector\-Comparator}$<$ Objective\-Vector $>$::{\bf moeo\-GDominance\-Objective\-Vector\-Comparator} (Objective\-Vector {\em \_\-ref})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoGDominanceObjectiveVectorComparator_3eb8db7f05eabcd94ec96a3bc5fe48ae}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-ref}]the reference point \end{description}
\end{Desc}
Definition at line 96 of file moeo\-Objective\-Vector\-Comparator.h.
\subsection{Member Function Documentation}
\index{moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}!operator()@{operator()}}
\index{operator()@{operator()}!moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ bool {\bf moeo\-GDominance\-Objective\-Vector\-Comparator}$<$ Objective\-Vector $>$::operator() (const Objective\-Vector \& {\em \_\-objective\-Vector1}, const Objective\-Vector \& {\em \_\-objective\-Vector2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoGDominanceObjectiveVectorComparator_e2714bd3b21e027801ca84943e846e88}
Returns true if \_\-objective\-Vector1 g-dominates \_\-objective\-Vector2.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-objective\-Vector1}]the first objective vector \item[{\em \_\-objective\-Vector2}]the second objective vector \end{description}
\end{Desc}
Definition at line 105 of file moeo\-Objective\-Vector\-Comparator.h.
References moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::flag(), and moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::pareto\-Comparator.\index{moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}!flag@{flag}}
\index{flag@{flag}!moeoGDominanceObjectiveVectorComparator@{moeo\-GDominance\-Objective\-Vector\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ unsigned {\bf moeo\-GDominance\-Objective\-Vector\-Comparator}$<$ Objective\-Vector $>$::flag (const Objective\-Vector \& {\em \_\-objective\-Vector})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoGDominanceObjectiveVectorComparator_7095866316c7f03940d22ca4b4175b7b}
Returns the flag of \_\-objective\-Vector according to the reference point.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-objective\-Vector}]the first objective vector \end{description}
\end{Desc}
Definition at line 139 of file moeo\-Objective\-Vector\-Comparator.h.
References moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::ref.
Referenced by moeo\-GDominance\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Objective\-Vector\-Comparator.h\end{CompactItemize}

View file

@ -0,0 +1,239 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 140.449
%%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 3.56 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 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
(moeoGenerationalReplacement< MOEOT >) cw
(moeoReplacement< MOEOT >) cw
(eoGenerationalReplacement< MOEOT >) cw
(eoReplacement< MOEOT >) cw
(eoReplacement< EOT >) cw
(eoBF< eoPop< MOEOT > &, eoPop< MOEOT > &, void >) cw
(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw
(eoFunctorBase) 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 -----
(moeoGenerationalReplacement< MOEOT >) 0.5 0 box
(moeoReplacement< MOEOT >) 0 1 box
(eoGenerationalReplacement< MOEOT >) 1 1 box
(eoReplacement< MOEOT >) 0 2 box
(eoReplacement< EOT >) 1 2 box
(eoBF< eoPop< MOEOT > &, eoPop< MOEOT > &, void >) 0 3 box
(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 1 3 box
(eoFunctorBase) 0 4 box
(eoFunctorBase) 1 4 box
% ----- relations -----
solid
0 0.5 0 out
solid
0 1 1 conn
solid
1 0 1 in
solid
0 0 1 out
solid
1 1 1 in
solid
0 1 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 1 2 in
solid
0 1 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 1 3 in
solid
0 1 3 out
solid
1 0 4 in
solid
1 1 4 in

View file

@ -0,0 +1,51 @@
\section{moeo\-Generational\-Replacement$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoGenerationalReplacement}\index{moeoGenerationalReplacement@{moeoGenerationalReplacement}}
Generational replacement: only the new individuals are preserved.
{\tt \#include $<$moeo\-Generational\-Replacement.h$>$}
Inheritance diagram for moeo\-Generational\-Replacement$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.93258cm]{classmoeoGenerationalReplacement}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void {\bf operator()} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-parents, {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-offspring)
\begin{CompactList}\small\item\em Swaps \_\-parents and \_\-offspring. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Generational\-Replacement$<$ MOEOT $>$}
Generational replacement: only the new individuals are preserved.
Definition at line 23 of file moeo\-Generational\-Replacement.h.
\subsection{Member Function Documentation}
\index{moeoGenerationalReplacement@{moeo\-Generational\-Replacement}!operator()@{operator()}}
\index{operator()@{operator()}!moeoGenerationalReplacement@{moeo\-Generational\-Replacement}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void {\bf moeo\-Generational\-Replacement}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoGenerationalReplacement_7b8ac20d375820ba44a9f3dd4b95e120}
Swaps \_\-parents and \_\-offspring.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-parents}]the parents population \item[{\em \_\-offspring}]the offspring population \end{description}
\end{Desc}
Reimplemented from {\bf eo\-Generational\-Replacement$<$ MOEOT $>$}.
Definition at line 32 of file moeo\-Generational\-Replacement.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Generational\-Replacement.h\end{CompactItemize}

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 462.428
%%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.08125 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
(moeoHybridLS< MOEOT >) cw
(eoUpdater) cw
(eoF< 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 -----
(moeoHybridLS< MOEOT >) 0 0 box
(eoUpdater) 0 1 box
(eoF< 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,67 @@
\section{moeo\-Hybrid\-LS$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoHybridLS}\index{moeoHybridLS@{moeoHybridLS}}
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.
{\tt \#include $<$moeo\-Hybrid\-LS.h$>$}
Inheritance diagram for moeo\-Hybrid\-LS$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoHybridLS}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Hybrid\-LS} ({\bf eo\-Continue}$<$ MOEOT $>$ \&\_\-term, {\bf eo\-Select}$<$ MOEOT $>$ \&\_\-select, {\bf moeo\-LS}$<$ MOEOT, MOEOT $>$ \&\_\-mols, {\bf moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
void {\bf operator()} ()\label{classmoeoHybridLS_bd35c0f0e03914b1b669cb064310d3eb}
\begin{CompactList}\small\item\em Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
{\bf eo\-Continue}$<$ MOEOT $>$ \& {\bf term}\label{classmoeoHybridLS_776a00e2e8970ad6e3940c61eabd52ba}
\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item
{\bf eo\-Select}$<$ MOEOT $>$ \& {\bf select}\label{classmoeoHybridLS_106ca80830d807da0cfdcac934737533}
\begin{CompactList}\small\item\em selector \item\end{CompactList}\item
{\bf moeo\-LS}$<$ MOEOT, MOEOT $>$ \& {\bf mols}\label{classmoeoHybridLS_28af163ec90dbff609b38666b249a19c}
\begin{CompactList}\small\item\em multi-objective local search \item\end{CompactList}\item
{\bf moeo\-Archive}$<$ MOEOT $>$ \& {\bf arch}\label{classmoeoHybridLS_4cda70ac38a51d7b629a1fed56af4c33}
\begin{CompactList}\small\item\em archive \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class 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.
Definition at line 28 of file moeo\-Hybrid\-LS.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoHybridLS@{moeo\-Hybrid\-LS}!moeoHybridLS@{moeoHybridLS}}
\index{moeoHybridLS@{moeoHybridLS}!moeoHybridLS@{moeo\-Hybrid\-LS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-Hybrid\-LS}$<$ MOEOT $>$::{\bf moeo\-Hybrid\-LS} ({\bf eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-term}, {\bf eo\-Select}$<$ MOEOT $>$ \& {\em \_\-select}, {\bf moeo\-LS}$<$ MOEOT, MOEOT $>$ \& {\em \_\-mols}, {\bf moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHybridLS_e669b2ca5e17467eb9819c71557aad53}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-term}]stopping criteria \item[{\em \_\-select}]selector \item[{\em \_\-mols}]a multi-objective local search \item[{\em \_\-arch}]the archive \end{description}
\end{Desc}
Definition at line 39 of file moeo\-Hybrid\-LS.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Hybrid\-LS.h\end{CompactItemize}

View file

@ -0,0 +1,233 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 132.159
%%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 3.78333 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 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
(moeoHypervolumeBinaryMetric< ObjectiveVector >) cw
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) cw
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) cw
(moeoBinaryMetric< A1, A2, R >) cw
(eoBF< A1, A2, R >) cw
(moeoMetric) cw
(eoFunctorBase) 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 -----
(moeoHypervolumeBinaryMetric< ObjectiveVector >) 0.5 0 box
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) 0.5 1 box
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, double >) 0.5 2 box
(moeoBinaryMetric< A1, A2, R >) 0.5 3 box
(eoBF< A1, A2, R >) 0 4 box
(moeoMetric) 1 4 box
(eoFunctorBase) 0 5 box
(eoFunctorBase) 1 5 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
0 1 4 conn
solid
1 0 4 in
solid
0 0 4 out
solid
1 1 4 in
solid
0 1 4 out
solid
1 0 5 in
solid
1 1 5 in

View file

@ -0,0 +1,108 @@
\section{moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$ Class Template Reference}
\label{classmoeoHypervolumeBinaryMetric}\index{moeoHypervolumeBinaryMetric@{moeoHypervolumeBinaryMetric}}
Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., K\~{A}¼nzli S.
{\tt \#include $<$moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h$>$}
Inheritance diagram for moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.70044cm]{classmoeoHypervolumeBinaryMetric}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Hypervolume\-Binary\-Metric} (double \_\-rho=1.1)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
double {\bf operator()} (const Objective\-Vector \&\_\-o1, const Objective\-Vector \&\_\-o2)
\begin{CompactList}\small\item\em Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
double {\bf hypervolume} (const Objective\-Vector \&\_\-o1, const Objective\-Vector \&\_\-o2, const unsigned \_\-obj, const bool \_\-flag=false)
\begin{CompactList}\small\item\em Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho for the objective \_\-obj. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
double {\bf rho}\label{classmoeoHypervolumeBinaryMetric_2498b6010719249121e3a371978d927b}
\begin{CompactList}\small\item\em value used to compute the reference point from the worst values for each objective \item\end{CompactList}\item
{\bf moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ Objective\-Vector $>$ {\bf pareto\-Comparator}\label{classmoeoHypervolumeBinaryMetric_2bbeb34a5bfde25b9eadc7eca899906e}
\begin{CompactList}\small\item\em Functor to compare two objective vectors according to Pareto dominance relation. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$}
Hypervolume binary metric allowing to compare two objective vectors as proposed in Zitzler E., K\~{A}¼nzli S.
: Indicator-Based Selection in Multiobjective Search. In Parallel Problem Solving from Nature (PPSN VIII). Lecture Notes in Computer Science 3242, Springer, Birmingham, UK pp.832\^{a}€“842 (2004). This indicator is based on the hypervolume concept introduced in Zitzler, E., Thiele, L.: Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study. Parallel Problem Solving from Nature (PPSN-V), pp.292-301 (1998).
Definition at line 159 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}!moeoHypervolumeBinaryMetric@{moeoHypervolumeBinaryMetric}}
\index{moeoHypervolumeBinaryMetric@{moeoHypervolumeBinaryMetric}!moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ {\bf moeo\-Hypervolume\-Binary\-Metric}$<$ Objective\-Vector $>$::{\bf moeo\-Hypervolume\-Binary\-Metric} (double {\em \_\-rho} = {\tt 1.1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHypervolumeBinaryMetric_01a07711a7c9f38cdc2c76e40a3c5958}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-rho}]value used to compute the reference point from the worst values for each objective (default : 1.1) \end{description}
\end{Desc}
Definition at line 167 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
References moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::rho.
\subsection{Member Function Documentation}
\index{moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}!operator()@{operator()}}
\index{operator()@{operator()}!moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double {\bf moeo\-Hypervolume\-Binary\-Metric}$<$ Objective\-Vector $>$::operator() (const Objective\-Vector \& {\em \_\-o1}, const Objective\-Vector \& {\em \_\-o2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHypervolumeBinaryMetric_c147309a5ba6b365be926e6083c5b9f2}
Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho.
\begin{Desc}
\item[Warning:]don't forget to set the bounds for every objective before the call of this function \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \end{description}
\end{Desc}
Definition at line 193 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
References moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::hypervolume(), and moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::pareto\-Comparator.\index{moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}!hypervolume@{hypervolume}}
\index{hypervolume@{hypervolume}!moeoHypervolumeBinaryMetric@{moeo\-Hypervolume\-Binary\-Metric}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ double {\bf moeo\-Hypervolume\-Binary\-Metric}$<$ Objective\-Vector $>$::hypervolume (const Objective\-Vector \& {\em \_\-o1}, const Objective\-Vector \& {\em \_\-o2}, const unsigned {\em \_\-obj}, const bool {\em \_\-flag} = {\tt false})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoHypervolumeBinaryMetric_f8253e7b209fe5d985c389c9dc4dce34}
Returns the volume of the space that is dominated by \_\-o2 but not by \_\-o1 with respect to a reference point computed using rho for the objective \_\-obj.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-o1}]the first objective vector \item[{\em \_\-o2}]the second objective vector \item[{\em \_\-obj}]the objective index \item[{\em \_\-flag}]used for iteration, if \_\-flag=true \_\-o2 is not talen into account (default : false) \end{description}
\end{Desc}
Definition at line 225 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
References moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, double $>$::bounds, and moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::rho.
Referenced by moeo\-Hypervolume\-Binary\-Metric$<$ Objective\-Vector $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.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 324.675
%%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.54 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
(moeoIndicatorBasedFitnessAssignment< MOEOT >) cw
(moeoParetoBasedFitnessAssignment< 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 -----
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box
(moeoParetoBasedFitnessAssignment< 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,211 @@
\section{moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoIndicatorBasedFitnessAssignment}\index{moeoIndicatorBasedFitnessAssignment@{moeoIndicatorBasedFitnessAssignment}}
Fitness assignment sheme based an Indicator proposed in: E.
{\tt \#include $<$moeo\-Indicator\-Based\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{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 $>$ $\ast$\_\-metric, const double \_\-kappa)
\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 \_\-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 $>$ $\ast$ {\bf metric}\label{classmoeoIndicatorBasedFitnessAssignment_fbabae702d72cbcda1a384b2766e5a8d}
\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.
Definition at line 28 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 $>$ $\ast$ {\em \_\-metric}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIndicatorBasedFitnessAssignment_007384a5f3d13eaa52819c5684a2124b}
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 41 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 49 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 65 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 86 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 129 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
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 151 of file moeo\-Indicator\-Based\-Fitness\-Assignment.h.
References 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 173 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 {\em \_\-idx})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoIndicatorBasedFitnessAssignment_fc5825dbcf0641a1fb08ab26418313e9}
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 186 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().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize}

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 264.026
%%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.89375 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
(moeoLS< MOEOT, Type >) cw
(eoBF< Type, moeoArchive< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoCombinedLS< MOEOT, Type >) 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 -----
(moeoLS< MOEOT, Type >) 0 1 box
(eoBF< Type, moeoArchive< MOEOT > &, void >) 0 2 box
(eoFunctorBase) 0 3 box
(moeoCombinedLS< MOEOT, Type >) 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
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -0,0 +1,29 @@
\section{moeo\-LS$<$ MOEOT, Type $>$ Class Template Reference}
\label{classmoeoLS}\index{moeoLS@{moeoLS}}
Abstract class for local searches applied to multi-objective optimization.
{\tt \#include $<$moeo\-LS.h$>$}
Inheritance diagram for moeo\-LS$<$ MOEOT, Type $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoLS}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT, class Type$>$ class moeo\-LS$<$ MOEOT, Type $>$}
Abstract class for local searches applied to multi-objective optimization.
Starting from a Type (i.e.: an individual, a pop, an archive...), it produces a set of new non-dominated solutions.
Definition at line 24 of file moeo\-LS.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-LS.h\end{CompactItemize}

View file

@ -0,0 +1,236 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 154.083
%%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 3.245 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 10 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
(moeoMetric) cw
(eoFunctorBase) cw
(moeoBinaryMetric< A1, A2, R >) cw
(moeoBinaryMetric< const const ObjectiveVector &, ObjectiveVector &, double >) cw
(moeoBinaryMetric< const const ObjectiveVector &, ObjectiveVector &, R >) cw
(moeoBinaryMetric< const const std::vector< ObjectiveVector > &, std::vector< ObjectiveVector > &, double >) cw
(moeoBinaryMetric< const const std::vector< ObjectiveVector > &, std::vector< ObjectiveVector > &, R >) cw
(moeoUnaryMetric< A, R >) cw
(moeoUnaryMetric< const ObjectiveVector &, R >) cw
(moeoUnaryMetric< const std::vector< ObjectiveVector > &, R >) 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 -----
(moeoMetric) 0 8 box
(eoFunctorBase) 0 9 box
(moeoBinaryMetric< A1, A2, R >) 1 7 box
1 7 mark
(moeoBinaryMetric< const const ObjectiveVector &, ObjectiveVector &, double >) 1 6 box
(moeoBinaryMetric< const const ObjectiveVector &, ObjectiveVector &, R >) 1 5 box
(moeoBinaryMetric< const const std::vector< ObjectiveVector > &, std::vector< ObjectiveVector > &, double >) 1 4 box
(moeoBinaryMetric< const const std::vector< ObjectiveVector > &, std::vector< ObjectiveVector > &, R >) 1 3 box
(moeoUnaryMetric< A, R >) 1 2 box
(moeoUnaryMetric< const ObjectiveVector &, R >) 1 1 box
1 1 mark
(moeoUnaryMetric< const std::vector< ObjectiveVector > &, R >) 1 0 box
1 0 mark
% ----- relations -----
solid
0 0 8 out
solid
1 0 9 in
solid
1 0 7.25 out
solid
0 0 7.5 hedge
solid
0 0 6.5 hedge
solid
0 0 5.5 hedge
solid
0 0 4.5 hedge
solid
0 0 3.5 hedge
solid
0 0 2.5 hedge
solid
0 0 1.5 hedge
solid
0 0 0.5 hedge
solid
0 8 0.5 vedge

View file

@ -0,0 +1,25 @@
\section{moeo\-Metric Class Reference}
\label{classmoeoMetric}\index{moeoMetric@{moeoMetric}}
Base class for performance metrics (also known as quality indicators).
{\tt \#include $<$moeo\-Metric.h$>$}
Inheritance diagram for moeo\-Metric::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.31433cm]{classmoeoMetric}
\end{center}
\end{figure}
\subsection{Detailed Description}
Base class for performance metrics (also known as quality indicators).
Definition at line 21 of file moeo\-Metric.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Metric.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 440.529
%%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.135 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
(moeoNSGAII< MOEOT >) cw
(moeoEA< MOEOT >) cw
(eoAlgo< 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 -----
(moeoNSGAII< MOEOT >) 0 0 box
(moeoEA< MOEOT >) 0 1 box
(eoAlgo< 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,139 @@
\section{moeo\-NSGAII$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoNSGAII}\index{moeoNSGAII@{moeoNSGAII}}
The NSGA-II algorithm as described in: Deb, K., S.
{\tt \#include $<$moeo\-NSGAII.h$>$}
Inheritance diagram for moeo\-NSGAII$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoNSGAII}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-NSGAII} (unsigned \_\-max\_\-gen, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, {\bf eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op)
\begin{CompactList}\small\item\em This constructor builds the algorithm as descibed in the paper. \item\end{CompactList}\item
{\bf moeo\-NSGAII} (unsigned \_\-max\_\-gen, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, {\bf eo\-Quad\-Op}$<$ MOEOT $>$ \&\_\-crossover, double \_\-p\-Cross, {\bf eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mutation, double \_\-p\-Mut)
\begin{CompactList}\small\item\em Ctor taking \_\-max\_\-gen, crossover and mutation. \item\end{CompactList}\item
{\bf moeo\-NSGAII} ({\bf eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, {\bf eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op)
\begin{CompactList}\small\item\em Ctor taking a continuator instead of \_\-gen\_\-max. \item\end{CompactList}\item
virtual void {\bf operator()} ({\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Apply a few generation of evolution to the population \_\-pop. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
{\bf eo\-Continue}$<$ MOEOT $>$ \& {\bf continuator}\label{classmoeoNSGAII_7eb1e36631eebbe3216167b1077e3a53}
\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item
{\bf eo\-Eval\-Func}$<$ MOEOT $>$ \& {\bf eval}\label{classmoeoNSGAII_ae15222c7c9d4a5c3d43df39ad73e008}
\begin{CompactList}\small\item\em evaluation function \item\end{CompactList}\item
{\bf eo\-Pop\-Loop\-Eval}$<$ MOEOT $>$ {\bf loop\-Eval}\label{classmoeoNSGAII_2e278f1cd90394099b13850ad612104d}
\begin{CompactList}\small\item\em to evaluate the whole population \item\end{CompactList}\item
{\bf eo\-Pop\-Eval\-Func}$<$ MOEOT $>$ \& {\bf pop\-Eval}\label{classmoeoNSGAII_2926b2c13fbf66aa34ca8bb2d1268df4}
\begin{CompactList}\small\item\em to evaluate the whole population \item\end{CompactList}\item
{\bf moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$ {\bf select}\label{classmoeoNSGAII_6134c5baa1c6921aaacd67f6f452871a}
\begin{CompactList}\small\item\em binary tournament selection \item\end{CompactList}\item
{\bf moeo\-Elitist\-Replacement}$<$ MOEOT $>$ {\bf replace}\label{classmoeoNSGAII_75bc4b735c5de2a6fc93b2f2b63c7251}
\begin{CompactList}\small\item\em elitist replacement \item\end{CompactList}\item
{\bf eo\-General\-Breeder}$<$ MOEOT $>$ {\bf gen\-Breed}\label{classmoeoNSGAII_2099c3069a7da12485578fc66ff71ff1}
\begin{CompactList}\small\item\em general breeder \item\end{CompactList}\item
{\bf eo\-Breed}$<$ MOEOT $>$ \& {\bf breed}\label{classmoeoNSGAII_17954849435e579d74bf37ed7b9063fc}
\begin{CompactList}\small\item\em breeder \item\end{CompactList}\item
{\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\-Crowding\-Distance\-Diversity\-Assignment}$<$ MOEOT $>$ {\bf diversity\-Assignment}\label{classmoeoNSGAII_c23794a3b8f5d4845b1153e1fa03dc8c}
\begin{CompactList}\small\item\em Diversity assignment used in NSGA-II. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-NSGAII$<$ MOEOT $>$}
The NSGA-II algorithm as described in: Deb, K., S.
Agrawal, A. Pratap, and T. Meyarivan : \char`\"{}A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II\char`\"{}. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197 (April 2002). This class builds the NSGA-II algorithm only by using the components of the Paradis\-EO-MOEO framework.
Definition at line 36 of file moeo\-NSGAII.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-NSGAII}$<$ MOEOT $>$::{\bf moeo\-NSGAII} (unsigned {\em \_\-max\_\-gen}, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, {\bf eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_c080a3ce03bfa2a91685e2cf2f0ee75a}
This constructor builds the algorithm as descibed in the paper.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-max\_\-gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description}
\end{Desc}
Definition at line 46 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-NSGAII}$<$ MOEOT $>$::{\bf moeo\-NSGAII} (unsigned {\em \_\-max\_\-gen}, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, {\bf eo\-Quad\-Op}$<$ MOEOT $>$ \& {\em \_\-crossover}, double {\em \_\-p\-Cross}, {\bf eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mutation}, double {\em \_\-p\-Mut})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_3a5800c46a4c66bd2de7111d7cad885b}
Ctor taking \_\-max\_\-gen, crossover and mutation.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-max\_\-gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-crossover}]crossover \item[{\em \_\-p\-Cross}]crossover probability \item[{\em \_\-mutation}]mutation \item[{\em \_\-p\-Mut}]mutation probability \end{description}
\end{Desc}
Definition at line 61 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-NSGAII}$<$ MOEOT $>$::{\bf moeo\-NSGAII} ({\bf eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, {\bf eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, {\bf eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGAII_1797f01afde01d155e559522df12ae05}
Ctor taking a continuator instead of \_\-gen\_\-max.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description}
\end{Desc}
Definition at line 73 of file moeo\-NSGAII.h.
\subsection{Member Function Documentation}
\index{moeoNSGAII@{moeo\-NSGAII}!operator()@{operator()}}
\index{operator()@{operator()}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void {\bf moeo\-NSGAII}$<$ MOEOT $>$::operator() ({\bf eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoNSGAII_60ba3ed4287efe81e1ff66b22e1d2e14}
Apply a few generation of evolution to 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 83 of file moeo\-NSGAII.h.
References moeo\-NSGAII$<$ MOEOT $>$::breed, moeo\-NSGAII$<$ MOEOT $>$::continuator, moeo\-NSGAII$<$ MOEOT $>$::diversity\-Assignment, moeo\-NSGAII$<$ MOEOT $>$::fitness\-Assignment, moeo\-NSGAII$<$ MOEOT $>$::pop\-Eval, and moeo\-NSGAII$<$ MOEOT $>$::replace.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-NSGAII.h\end{CompactItemize}

View file

@ -0,0 +1,227 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 117.925
%%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.24 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 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
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) cw
(moeoBinaryMetric< A1, A2, R >) cw
(eoBF< A1, A2, R >) cw
(moeoMetric) cw
(eoFunctorBase) 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 -----
(moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 0 box
(moeoSolutionVsSolutionBinaryMetric< ObjectiveVector, R >) 0.5 1 box
(moeoBinaryMetric< A1, A2, R >) 0.5 2 box
(eoBF< A1, A2, R >) 0 3 box
(moeoMetric) 1 3 box
(eoFunctorBase) 0 4 box
(eoFunctorBase) 1 4 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
0 1 3 conn
solid
1 0 3 in
solid
0 0 3 out
solid
1 1 3 in
solid
0 1 3 out
solid
1 0 4 in
solid
1 1 4 in

View file

@ -0,0 +1,53 @@
\section{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$ Class Template Reference}
\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric}\index{moeoNormalizedSolutionVsSolutionBinaryMetric@{moeoNormalizedSolutionVsSolutionBinaryMetric}}
Base class for binary metrics dedicated to the performance comparison between two solutions's objective vectors using normalized values.
{\tt \#include $<$moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h$>$}
Inheritance diagram for moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.30189cm]{classmoeoNormalizedSolutionVsSolutionBinaryMetric}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric} ()\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_e58174a553269d3e8b0685a1f22b8333}
\begin{CompactList}\small\item\em Default ctr for any \doxyref{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}{p.}{classmoeoNormalizedSolutionVsSolutionBinaryMetric} object. \item\end{CompactList}\item
void {\bf setup} (double \_\-min, double \_\-max, unsigned \_\-obj)\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_4483614f6a7922b56cfec290afb36afd}
\begin{CompactList}\small\item\em Sets the lower bound (\_\-min) and the upper bound (\_\-max) for the objective \_\-obj \_\-min lower bound \_\-max upper bound \_\-obj the objective index. \item\end{CompactList}\item
virtual void {\bf setup} ({\bf eo\-Real\-Interval} \_\-real\-Interval, unsigned \_\-obj)\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_5e72d2dd299c9f7b8b3a8ad09e165e6c}
\begin{CompactList}\small\item\em Sets the lower bound and the upper bound for the objective \_\-obj using a {\bf eo\-Real\-Interval} object \_\-real\-Interval the {\bf eo\-Real\-Interval} object \_\-obj the objective index. \item\end{CompactList}\end{CompactItemize}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item
static double {\bf tiny} ()\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_d0ccbdceb71b9d2d6ae8ceec1af9dcdb}
\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}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
std::vector$<$ {\bf eo\-Real\-Interval} $>$ {\bf bounds}\label{classmoeoNormalizedSolutionVsSolutionBinaryMetric_81bff9a83c74f7f7f8a1db28c09c4c38}
\begin{CompactList}\small\item\em the bounds for every objective (bounds[i] = bounds for the objective i) \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector, class R$>$ class 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.
Then, indicator values lie in the interval [-1,1]. Note that you have to set the bounds for every objective before using the operator().
Definition at line 26 of file moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric.h\end{CompactItemize}

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 333.333
%%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.5 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
(moeoObjectiveComparator< MOEOT >) cw
(moeoComparator< MOEOT >) 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 -----
(moeoObjectiveComparator< MOEOT >) 0 0 box
(moeoComparator< MOEOT >) 0 1 box
(eoBF< A1, A2, R >) 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,49 @@
\section{moeo\-Objective\-Comparator$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoObjectiveComparator}\index{moeoObjectiveComparator@{moeoObjectiveComparator}}
Functor allowing to compare two solutions according to their first objective value, then their second, and so on.
{\tt \#include $<$moeo\-Comparator.h$>$}
Inheritance diagram for moeo\-Objective\-Comparator$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoObjectiveComparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
const bool {\bf operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)
\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 on the first objective, then on the second, and so on. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Objective\-Comparator$<$ MOEOT $>$}
Functor allowing to compare two solutions according to their first objective value, then their second, and so on.
Definition at line 30 of file moeo\-Comparator.h.
\subsection{Member Function Documentation}
\index{moeoObjectiveComparator@{moeo\-Objective\-Comparator}!operator()@{operator()}}
\index{operator()@{operator()}!moeoObjectiveComparator@{moeo\-Objective\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool {\bf moeo\-Objective\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveComparator_2de70cc9c5034f9594cc7695af57edaf}
Returns true if \_\-moeo1 is greater than \_\-moeo2 on the first objective, then on the second, and so on.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description}
\end{Desc}
Definition at line 38 of file moeo\-Comparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Comparator.h\end{CompactItemize}

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 121.581
%%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.1125 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
(moeoObjectiveVector< ObjectiveVectorTraits >) cw
(moeoObjectiveVectorDouble< ObjectiveVectorTraits >) 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 -----
(moeoObjectiveVector< ObjectiveVectorTraits >) 0 1 box
(moeoObjectiveVectorDouble< ObjectiveVectorTraits >) 0 0 box
% ----- relations -----
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -0,0 +1,92 @@
\section{moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$ Class Template Reference}
\label{classmoeoObjectiveVector}\index{moeoObjectiveVector@{moeoObjectiveVector}}
Abstract class allowing to represent a solution in the objective space (phenotypic representation).
{\tt \#include $<$moeo\-Objective\-Vector.h$>$}
Inheritance diagram for moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmoeoObjectiveVector}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef Objective\-Vector\-Traits {\bf Traits}\label{classmoeoObjectiveVector_f7085174831edefb79ef5365aee86f87}
\begin{CompactList}\small\item\em The traits of objective vectors. \item\end{CompactList}\end{CompactItemize}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item
static void {\bf setup} (unsigned \_\-n\-Objectives, std::vector$<$ bool $>$ \&\_\-b\-Objectives)
\begin{CompactList}\small\item\em Parameters setting (for the objective vector of any solution). \item\end{CompactList}\item
static unsigned {\bf n\-Objectives} ()\label{classmoeoObjectiveVector_b5b74b561422cd7cd56924a8f974eee3}
\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item
static bool {\bf minimizing} (unsigned \_\-i)
\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be minimized. \item\end{CompactList}\item
static bool {\bf maximizing} (unsigned \_\-i)
\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be maximized. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector\-Traits$>$ class moeo\-Objective\-Vector$<$ Objective\-Vector\-Traits $>$}
Abstract class allowing to represent a solution in the objective space (phenotypic representation).
The template argument Objective\-Vector\-Traits defaults to \doxyref{moeo\-Objective\-Vector\-Traits}{p.}{classmoeoObjectiveVectorTraits}, but it can be replaced at will by any other class that implements the static functions defined therein. Some static funtions to access to the traits characteristics are re-defined in order not to write a lot of typedef's.
Definition at line 28 of file moeo\-Objective\-Vector.h.
\subsection{Member Function Documentation}
\index{moeoObjectiveVector@{moeo\-Objective\-Vector}!setup@{setup}}
\index{setup@{setup}!moeoObjectiveVector@{moeo\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ static void {\bf moeo\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::setup (unsigned {\em \_\-n\-Objectives}, std::vector$<$ bool $>$ \& {\em \_\-b\-Objectives})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVector_126770eefd109a84c010f5cbc46e2be3}
Parameters setting (for the objective vector of any solution).
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-n\-Objectives}]the number of objectives \item[{\em \_\-b\-Objectives}]the min/max vector (true = min / false = max) \end{description}
\end{Desc}
Definition at line 41 of file moeo\-Objective\-Vector.h.\index{moeoObjectiveVector@{moeo\-Objective\-Vector}!minimizing@{minimizing}}
\index{minimizing@{minimizing}!moeoObjectiveVector@{moeo\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ static bool {\bf moeo\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::minimizing (unsigned {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVector_6b5cb023de954c9a58f56f45e3ad8e5c}
Returns true if the \_\-ith objective have to be minimized.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-i}]the index \end{description}
\end{Desc}
Definition at line 60 of file moeo\-Objective\-Vector.h.\index{moeoObjectiveVector@{moeo\-Objective\-Vector}!maximizing@{maximizing}}
\index{maximizing@{maximizing}!moeoObjectiveVector@{moeo\-Objective\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ static bool {\bf moeo\-Objective\-Vector}$<$ Objective\-Vector\-Traits $>$::maximizing (unsigned {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVector_83e65052452ce9036d49f0868ddd7326}
Returns true if the \_\-ith objective have to be maximized.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-i}]the index \end{description}
\end{Desc}
Definition at line 69 of file moeo\-Objective\-Vector.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Objective\-Vector.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.01
%%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.95 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
(moeoObjectiveVectorComparator< ObjectiveVector >) cw
(eoBF< A1, A2, R >) cw
(eoFunctorBase) cw
(moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) cw
(moeoParetoObjectiveVectorComparator< ObjectiveVector >) 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 -----
(moeoObjectiveVectorComparator< ObjectiveVector >) 0.5 1 box
(eoBF< A1, A2, R >) 0.5 2 box
(eoFunctorBase) 0.5 3 box
(moeoGDominanceObjectiveVectorComparator< ObjectiveVector >) 0 0 box
(moeoParetoObjectiveVectorComparator< ObjectiveVector >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -0,0 +1,29 @@
\section{moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$ Class Template Reference}
\label{classmoeoObjectiveVectorComparator}\index{moeoObjectiveVectorComparator@{moeoObjectiveVectorComparator}}
Abstract class allowing to compare 2 objective vectors.
{\tt \#include $<$moeo\-Objective\-Vector\-Comparator.h$>$}
Inheritance diagram for moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.82828cm]{classmoeoObjectiveVectorComparator}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}
Abstract class allowing to compare 2 objective vectors.
The template argument Objective\-Vector have to be a \doxyref{moeo\-Objective\-Vector}{p.}{classmoeoObjectiveVector}.
Definition at line 24 of file moeo\-Objective\-Vector\-Comparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Objective\-Vector\-Comparator.h\end{CompactItemize}

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 121.581
%%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.1125 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
(moeoObjectiveVectorDouble< ObjectiveVectorTraits >) cw
(moeoObjectiveVector< ObjectiveVectorTraits >) 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 -----
(moeoObjectiveVectorDouble< ObjectiveVectorTraits >) 0 0 box
(moeoObjectiveVector< ObjectiveVectorTraits >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,181 @@
\section{moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$ Class Template Reference}
\label{classmoeoObjectiveVectorDouble}\index{moeoObjectiveVectorDouble@{moeoObjectiveVectorDouble}}
This class allows to represent a solution in the objective space (phenotypic representation) by a std::vector of doubles, i.e.
{\tt \#include $<$moeo\-Objective\-Vector.h$>$}
Inheritance diagram for moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmoeoObjectiveVectorDouble}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Objective\-Vector\-Double} ()\label{classmoeoObjectiveVectorDouble_ad06b514e74b2916d67398c9ef0e8e46}
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
{\bf moeo\-Objective\-Vector\-Double} (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\-Objective\-Vector\-Double}$<$ 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\-Objective\-Vector\-Double}$<$ 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\-Objective\-Vector\-Double}$<$ 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\-Objective\-Vector\-Double}$<$ 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\-Objective\-Vector\-Double}$<$ 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\-Objective\-Vector\-Double}$<$ 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\-Objective\-Vector\-Double}$<$ 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\-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.
that an objective value is represented using a double, and this for any objective.
Definition at line 81 of file moeo\-Objective\-Vector.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!moeoObjectiveVectorDouble@{moeoObjectiveVectorDouble}}
\index{moeoObjectiveVectorDouble@{moeoObjectiveVectorDouble}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::{\bf moeo\-Objective\-Vector\-Double} (std::vector$<$ double $>$ \& {\em \_\-v})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_99f4a743424ed8384ad97fd36e3123d9}
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 98 of file moeo\-Objective\-Vector.h.
\subsection{Member Function Documentation}
\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!dominates@{dominates}}
\index{dominates@{dominates}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::dominates (const {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_37af241b6417add8b53c455d63b6d8dc}
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\-Objective\-Vector\-Double}{p.}{classmoeoObjectiveVectorDouble} object to compare with \end{description}
\end{Desc}
Definition at line 106 of file moeo\-Objective\-Vector.h.\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!operator==@{operator==}}
\index{operator==@{operator==}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::operator== (const {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_352215a1065e22618428777d570d3dff}
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\-Objective\-Vector\-Double}{p.}{classmoeoObjectiveVectorDouble} object to compare with \end{description}
\end{Desc}
Definition at line 117 of file moeo\-Objective\-Vector.h.
Referenced by moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator!=(), and moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator$>$=().\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::operator!= (const {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_2ab8ae1df8c8a8051199c90326495af6}
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\-Objective\-Vector\-Double}{p.}{classmoeoObjectiveVectorDouble} object to compare with \end{description}
\end{Desc}
Definition at line 134 of file moeo\-Objective\-Vector.h.
References moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator==().\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!operator<@{operator$<$}}
\index{operator<@{operator$<$}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::operator$<$ (const {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_4d92b87c062c83530226955417ddf974}
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\-Objective\-Vector\-Double}{p.}{classmoeoObjectiveVectorDouble} object to compare with \end{description}
\end{Desc}
Definition at line 145 of file moeo\-Objective\-Vector.h.
Referenced by moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator$<$=().\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!operator>@{operator$>$}}
\index{operator>@{operator$>$}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::operator$>$ (const {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_a26dd520b3dd8a3f44f07d894e415801}
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\-Objective\-Vector\-Double}{p.}{classmoeoObjectiveVectorDouble} object to compare with \end{description}
\end{Desc}
Definition at line 170 of file moeo\-Objective\-Vector.h.
Referenced by moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator$>$=().\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!operator<=@{operator$<$=}}
\index{operator<=@{operator$<$=}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::operator$<$= (const {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_5da24c0a71e6263c0378e742c5ac1655}
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\-Objective\-Vector\-Double}{p.}{classmoeoObjectiveVectorDouble} object to compare with \end{description}
\end{Desc}
Definition at line 181 of file moeo\-Objective\-Vector.h.
References moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator$<$().\index{moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}!operator>=@{operator$>$=}}
\index{operator>=@{operator$>$=}!moeoObjectiveVectorDouble@{moeo\-Objective\-Vector\-Double}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector\-Traits$>$ bool {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$::operator$>$= (const {\bf moeo\-Objective\-Vector\-Double}$<$ Objective\-Vector\-Traits $>$ \& {\em \_\-other}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoObjectiveVectorDouble_2608c2eee56509c4c78dacbcad1ef599}
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\-Objective\-Vector\-Double}{p.}{classmoeoObjectiveVectorDouble} object to compare with \end{description}
\end{Desc}
Definition at line 192 of file moeo\-Objective\-Vector.h.
References moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator==(), and moeo\-Objective\-Vector\-Double$<$ Objective\-Vector\-Traits $>$::operator$>$().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Objective\-Vector.h\end{CompactItemize}

View file

@ -0,0 +1,96 @@
\section{moeo\-Objective\-Vector\-Traits Class Reference}
\label{classmoeoObjectiveVectorTraits}\index{moeoObjectiveVectorTraits@{moeoObjectiveVectorTraits}}
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.
{\tt \#include $<$moeo\-Objective\-Vector\-Traits.h$>$}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item
static void {\bf setup} (unsigned \_\-n\-Objectives, std::vector$<$ bool $>$ \&\_\-b\-Objectives)
\begin{CompactList}\small\item\em Parameters setting. \item\end{CompactList}\item
static unsigned {\bf n\-Objectives} ()\label{classmoeoObjectiveVectorTraits_b7b3047536f5ba2f7d0da3f19b00f4d3}
\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\item
static bool {\bf minimizing} (unsigned \_\-i)
\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be minimized. \item\end{CompactList}\item
static bool {\bf maximizing} (unsigned \_\-i)
\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be maximized. \item\end{CompactList}\item
static double {\bf tolerance} ()\label{classmoeoObjectiveVectorTraits_c1199e4f019ec88a0365db81e9ab8d1f}
\begin{CompactList}\small\item\em Returns the tolerance value (to compare solutions). \item\end{CompactList}\end{CompactItemize}
\subsection*{Static Private Attributes}
\begin{CompactItemize}
\item
static unsigned {\bf n\-Obj}\label{classmoeoObjectiveVectorTraits_cac944804ce067ae62ca9b6bc139db03}
\begin{CompactList}\small\item\em The number of objectives. \item\end{CompactList}\item
static std::vector$<$ bool $>$ {\bf b\-Obj}\label{classmoeoObjectiveVectorTraits_db329d416c75711f671c9d7cffb06299}
\begin{CompactList}\small\item\em The min/max vector. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
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.
Definition at line 23 of file moeo\-Objective\-Vector\-Traits.h.
\subsection{Member Function Documentation}
\index{moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}!setup@{setup}}
\index{setup@{setup}!moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void moeo\-Objective\-Vector\-Traits::setup (unsigned {\em \_\-n\-Objectives}, std::vector$<$ bool $>$ \& {\em \_\-b\-Objectives})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVectorTraits_52264fa9e700c4ff183dd90f6965d9fc}
Parameters setting.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-n\-Objectives}]the number of objectives \item[{\em \_\-b\-Objectives}]the min/max vector (true = min / false = max) \end{description}
\end{Desc}
Definition at line 32 of file moeo\-Objective\-Vector\-Traits.h.
References b\-Obj, and n\-Obj.\index{moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}!minimizing@{minimizing}}
\index{minimizing@{minimizing}!moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static bool moeo\-Objective\-Vector\-Traits::minimizing (unsigned {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVectorTraits_5cb7975e5ea32809e01b7078313d326d}
Returns true if the \_\-ith objective have to be minimized.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-i}]the index \end{description}
\end{Desc}
Definition at line 65 of file moeo\-Objective\-Vector\-Traits.h.
References b\-Obj.
Referenced by maximizing().\index{moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}!maximizing@{maximizing}}
\index{maximizing@{maximizing}!moeoObjectiveVectorTraits@{moeo\-Objective\-Vector\-Traits}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static bool moeo\-Objective\-Vector\-Traits::maximizing (unsigned {\em \_\-i})\hspace{0.3cm}{\tt [inline, static]}}\label{classmoeoObjectiveVectorTraits_b76148b68b28d41600065b9d82e815b5}
Returns true if the \_\-ith objective have to be maximized.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-i}]the index \end{description}
\end{Desc}
Definition at line 77 of file moeo\-Objective\-Vector\-Traits.h.
References minimizing().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Objective\-Vector\-Traits.h\end{CompactItemize}

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 303.03
%%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.65 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
(moeoOneObjectiveComparator< MOEOT >) cw
(moeoComparator< MOEOT >) 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 -----
(moeoOneObjectiveComparator< MOEOT >) 0 0 box
(moeoComparator< MOEOT >) 0 1 box
(eoBF< A1, A2, R >) 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,78 @@
\section{moeo\-One\-Objective\-Comparator$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoOneObjectiveComparator}\index{moeoOneObjectiveComparator@{moeoOneObjectiveComparator}}
Functor allowing to compare two solutions according to one objective.
{\tt \#include $<$moeo\-Comparator.h$>$}
Inheritance diagram for moeo\-One\-Objective\-Comparator$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoOneObjectiveComparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-One\-Objective\-Comparator} (unsigned \_\-obj)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
const bool {\bf operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)
\begin{CompactList}\small\item\em Returns true if \_\-moeo1 is greater than \_\-moeo2 on the obj objective. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
unsigned {\bf obj}\label{classmoeoOneObjectiveComparator_210e1300281084eb5f9dd378e6ac5a32}
\begin{CompactList}\small\item\em the index of objective \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-One\-Objective\-Comparator$<$ MOEOT $>$}
Functor allowing to compare two solutions according to one objective.
Definition at line 48 of file moeo\-Comparator.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}!moeoOneObjectiveComparator@{moeoOneObjectiveComparator}}
\index{moeoOneObjectiveComparator@{moeoOneObjectiveComparator}!moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ {\bf moeo\-One\-Objective\-Comparator}$<$ MOEOT $>$::{\bf moeo\-One\-Objective\-Comparator} (unsigned {\em \_\-obj})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoOneObjectiveComparator_5b8b31285c72a6fd17eba4e3ce0317fd}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-obj}]the index of objective \end{description}
\end{Desc}
Definition at line 56 of file moeo\-Comparator.h.
References moeo\-One\-Objective\-Comparator$<$ MOEOT $>$::obj.
\subsection{Member Function Documentation}
\index{moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}!operator()@{operator()}}
\index{operator()@{operator()}!moeoOneObjectiveComparator@{moeo\-One\-Objective\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ const bool {\bf moeo\-One\-Objective\-Comparator}$<$ MOEOT $>$::operator() (const MOEOT \& {\em \_\-moeo1}, const MOEOT \& {\em \_\-moeo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoOneObjectiveComparator_962a4cbc308c30a83c9c485a79374f6a}
Returns true if \_\-moeo1 is greater than \_\-moeo2 on the obj objective.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-moeo1}]the first solution \item[{\em \_\-moeo2}]the second solution \end{description}
\end{Desc}
Definition at line 69 of file moeo\-Comparator.h.
References moeo\-One\-Objective\-Comparator$<$ MOEOT $>$::obj.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Comparator.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 135.135
%%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 3.7 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 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
(moeoParetoBasedFitnessAssignment< MOEOT >) cw
(moeoFitnessAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) cw
(moeoIndicatorBasedFitnessAssignment< 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 -----
(moeoParetoBasedFitnessAssignment< MOEOT >) 0.5 1 box
(moeoFitnessAssignment< MOEOT >) 0.5 2 box
(eoUF< eoPop< MOEOT > &, void >) 0.5 3 box
(eoFunctorBase) 0.5 4 box
(moeoFastNonDominatedSortingFitnessAssignment< MOEOT >) 0 0 box
(moeoIndicatorBasedFitnessAssignment< MOEOT >) 1 0 box
% ----- relations -----
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
1 0.5 4 in
solid
1 0.5 0.25 out
solid
0 1 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in

View file

@ -0,0 +1,27 @@
\section{moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoParetoBasedFitnessAssignment}\index{moeoParetoBasedFitnessAssignment@{moeoParetoBasedFitnessAssignment}}
\doxyref{moeo\-Pareto\-Based\-Fitness\-Assignment}{p.}{classmoeoParetoBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Pareto-based strategies.
{\tt \#include $<$moeo\-Fitness\-Assignment.h$>$}
Inheritance diagram for moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.78378cm]{classmoeoParetoBasedFitnessAssignment}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Pareto\-Based\-Fitness\-Assignment$<$ MOEOT $>$}
\doxyref{moeo\-Pareto\-Based\-Fitness\-Assignment}{p.}{classmoeoParetoBasedFitnessAssignment} is a \doxyref{moeo\-Fitness\-Assignment}{p.}{classmoeoFitnessAssignment} for Pareto-based strategies.
Definition at line 114 of file moeo\-Fitness\-Assignment.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Fitness\-Assignment.h\end{CompactItemize}

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 221.607
%%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.25625 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
(moeoParetoObjectiveVectorComparator< ObjectiveVector >) cw
(moeoObjectiveVectorComparator< ObjectiveVector >) 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 -----
(moeoParetoObjectiveVectorComparator< ObjectiveVector >) 0 0 box
(moeoObjectiveVectorComparator< ObjectiveVector >) 0 1 box
(eoBF< A1, A2, R >) 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,49 @@
\section{moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$ Class Template Reference}
\label{classmoeoParetoObjectiveVectorComparator}\index{moeoParetoObjectiveVectorComparator@{moeoParetoObjectiveVectorComparator}}
This functor class allows to compare 2 objective vectors according to Pareto dominance.
{\tt \#include $<$moeo\-Objective\-Vector\-Comparator.h$>$}
Inheritance diagram for moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmoeoParetoObjectiveVectorComparator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
bool {\bf operator()} (const Objective\-Vector \&\_\-objective\-Vector1, const Objective\-Vector \&\_\-objective\-Vector2)
\begin{CompactList}\small\item\em Returns true if \_\-objective\-Vector1 dominates \_\-objective\-Vector2. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Objective\-Vector$>$ class moeo\-Pareto\-Objective\-Vector\-Comparator$<$ Objective\-Vector $>$}
This functor class allows to compare 2 objective vectors according to Pareto dominance.
Definition at line 32 of file moeo\-Objective\-Vector\-Comparator.h.
\subsection{Member Function Documentation}
\index{moeoParetoObjectiveVectorComparator@{moeo\-Pareto\-Objective\-Vector\-Comparator}!operator()@{operator()}}
\index{operator()@{operator()}!moeoParetoObjectiveVectorComparator@{moeo\-Pareto\-Objective\-Vector\-Comparator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Objective\-Vector$>$ bool {\bf moeo\-Pareto\-Objective\-Vector\-Comparator}$<$ Objective\-Vector $>$::operator() (const Objective\-Vector \& {\em \_\-objective\-Vector1}, const Objective\-Vector \& {\em \_\-objective\-Vector2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoParetoObjectiveVectorComparator_6bcb86968704748ce98d370a1306b22c}
Returns true if \_\-objective\-Vector1 dominates \_\-objective\-Vector2.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-objective\-Vector1}]the first objective vector \item[{\em \_\-objective\-Vector2}]the second objective vector \end{description}
\end{Desc}
Definition at line 41 of file moeo\-Objective\-Vector\-Comparator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Objective\-Vector\-Comparator.h\end{CompactItemize}

View file

@ -0,0 +1,239 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 250
%%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 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 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
(moeoRandomSelect< MOEOT >) cw
(moeoSelectOne< MOEOT >) cw
(eoRandomSelect< MOEOT >) cw
(eoSelectOne< MOEOT >) cw
(eoSelectOne< MOEOT >) cw
(eoUF< A1, R >) cw
(eoUF< A1, R >) cw
(eoFunctorBase) 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 -----
(moeoRandomSelect< MOEOT >) 0.5 0 box
(moeoSelectOne< MOEOT >) 0 1 box
(eoRandomSelect< MOEOT >) 1 1 box
(eoSelectOne< MOEOT >) 0 2 box
(eoSelectOne< MOEOT >) 1 2 box
(eoUF< A1, R >) 0 3 box
(eoUF< A1, R >) 1 3 box
(eoFunctorBase) 0 4 box
(eoFunctorBase) 1 4 box
% ----- relations -----
solid
0 0.5 0 out
solid
0 1 1 conn
solid
1 0 1 in
solid
0 0 1 out
solid
1 1 1 in
solid
0 1 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 1 2 in
solid
0 1 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 1 3 in
solid
0 1 3 out
solid
1 0 4 in
solid
1 1 4 in

View file

@ -0,0 +1,36 @@
\section{moeo\-Random\-Select$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoRandomSelect}\index{moeoRandomSelect@{moeoRandomSelect}}
Selection strategy that selects only one element randomly from a whole population.
{\tt \#include $<$moeo\-Random\-Select.h$>$}
Inheritance diagram for moeo\-Random\-Select$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoRandomSelect}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Random\-Select} ()\label{classmoeoRandomSelect_209022add1e1750f28497dfe637bb5dc}
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item
const MOEOT \& {\bf operator()} (const {\bf eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)\label{classmoeoRandomSelect_96dbd0832ad677090ef79ff3867d7af9}
\begin{CompactList}\small\item\em Return one individual at random by using an {\bf eo\-Random\-Select}. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Random\-Select$<$ MOEOT $>$}
Selection strategy that selects only one element randomly from a whole population.
Definition at line 22 of file moeo\-Random\-Select.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Random\-Select.h\end{CompactItemize}

View file

@ -0,0 +1,227 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 126.05
%%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 3.96667 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 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
(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw
(EO< MOEOObjectiveVector >) cw
(eoObject) cw
(eoPersistent) cw
(eoPrintable) 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 -----
(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 0 box
(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 0.5 1 box
(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 2 box
(EO< MOEOObjectiveVector >) 0.5 3 box
(eoObject) 0 4 box
(eoPersistent) 1 4 box
(eoPrintable) 1 5 box
% ----- relations -----
solid
0 0.5 0 out
solid
1 0.5 1 in
solid
0 0.5 1 out
solid
1 0.5 2 in
solid
0 0.5 2 out
solid
1 0.5 3 in
solid
0 0.5 3 out
solid
0 1 4 conn
solid
1 0 4 in
solid
1 1 4 in
solid
0 1 4 out
solid
1 1 5 in

View file

@ -0,0 +1,49 @@
\section{moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$ Class Template Reference}
\label{classmoeoRealVector}\index{moeoRealVector@{moeoRealVector}}
This class is an implementationeo of a simple double-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}.
{\tt \#include $<$moeo\-Vector.h$>$}
Inheritance diagram for moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.52941cm]{classmoeoRealVector}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf moeo\-Real\-Vector} (unsigned \_\-size=0, double \_\-value=0.0)
\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ class moeo\-Real\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$}
This class is an implementationeo of a simple double-valued \doxyref{moeo\-Vector}{p.}{classmoeoVector}.
Definition at line 144 of file moeo\-Vector.h.
\subsection{Constructor \& Destructor Documentation}
\index{moeoRealVector@{moeo\-Real\-Vector}!moeoRealVector@{moeoRealVector}}
\index{moeoRealVector@{moeoRealVector}!moeoRealVector@{moeo\-Real\-Vector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOObjective\-Vector, class MOEOFitness, class MOEODiversity$>$ {\bf moeo\-Real\-Vector}$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::{\bf moeo\-Real\-Vector} (unsigned {\em \_\-size} = {\tt 0}, double {\em \_\-value} = {\tt 0.0})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoRealVector_8a2ddb30ecb368a40be64c99bd896651}
Ctor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-size}]Length of vector (default is 0) \item[{\em \_\-value}]Initial value of all elements (default is default value of type Gene\-Type) \end{description}
\end{Desc}
Definition at line 153 of file moeo\-Vector.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Vector.h\end{CompactItemize}

View file

@ -0,0 +1,225 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 93.633
%%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 5.34 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 3 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
(moeoReplacement< MOEOT >) cw
(eoReplacement< MOEOT >) cw
(eoBF< eoPop< MOEOT > &, eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoElitistReplacement< MOEOT >) cw
(moeoEnvironmentalReplacement< MOEOT >) cw
(moeoGenerationalReplacement< 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 -----
(moeoReplacement< MOEOT >) 1 1 box
(eoReplacement< MOEOT >) 1 2 box
(eoBF< eoPop< MOEOT > &, eoPop< MOEOT > &, void >) 1 3 box
(eoFunctorBase) 1 4 box
(moeoElitistReplacement< MOEOT >) 0 0 box
(moeoEnvironmentalReplacement< MOEOT >) 1 0 box
(moeoGenerationalReplacement< MOEOT >) 2 0 box
% ----- relations -----
solid
0 1 1 out
solid
1 1 2 in
solid
0 1 2 out
solid
1 1 3 in
solid
0 1 3 out
solid
1 1 4 in
solid
1 1 0.25 out
solid
0 2 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
0 2 0.75 in

View file

@ -0,0 +1,27 @@
\section{moeo\-Replacement$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoReplacement}\index{moeoReplacement@{moeoReplacement}}
Replacement strategy for multi-objective optimization.
{\tt \#include $<$moeo\-Replacement.h$>$}
Inheritance diagram for moeo\-Replacement$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.62172cm]{classmoeoReplacement}
\end{center}
\end{figure}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Replacement$<$ MOEOT $>$}
Replacement strategy for multi-objective optimization.
Definition at line 22 of file moeo\-Replacement.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Replacement.h\end{CompactItemize}

Some files were not shown because too many files have changed in this diff Show more