Latex doc added

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@120 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2006-12-22 08:43:33 +00:00
commit f93d8b996d
76 changed files with 9769 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,39 @@
\section{Paradis\-EO-MOEO Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{{\bf eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} (Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classeoAdditiveBinaryEpsilonIndicator}}{}
\item\contentsline{section}{{\bf eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} (Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classeoBinaryHypervolumeIndicator}}{}
\item\contentsline{section}{{\bf eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$} (Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object )}{\pageref{classeoBinaryQualityIndicator}}{}
\item\contentsline{section}{{\bf eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} (Private class to represent the bounds )}{\pageref{classeoBinaryQualityIndicator_1_1Range}}{}
\item\contentsline{section}{{\bf eo\-IBEA$<$ EOT, Fitness $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) )}{\pageref{classeoIBEA}}{}
\item\contentsline{section}{{\bf eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object )}{\pageref{classeoIBEAAvgSorting}}{}
\item\contentsline{section}{{\bf eo\-IBEASorting$<$ EOT, Fitness $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object )}{\pageref{classeoIBEASorting}}{}
\item\contentsline{section}{{\bf eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object )}{\pageref{classeoIBEAStochSorting}}{}
\item\contentsline{section}{{\bf eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classeoParetoEuclidDist}}{}
\item\contentsline{section}{{\bf eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classeoParetoPhenDist}}{}
\item\contentsline{section}{{\bf eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} }{\pageref{classeoParetoSharing}}{}
\item\contentsline{section}{{\bf eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} }{\pageref{classeoParetoSharing_1_1dMatrix}}{}
\item\contentsline{section}{{\bf moeo\-Archive$<$ EOT $>$} (An archive is a secondary population that stores non-dominated solutions )}{\pageref{classmoeoArchive}}{}
\item\contentsline{section}{{\bf moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$} (This class allows to save the fitnesses of solutions contained in an archive into a file at each generation )}{\pageref{classmoeoArchiveFitnessSavingUpdater}}{}
\item\contentsline{section}{{\bf moeo\-Archive\-Updater$<$ EOT $>$} (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\-Saving\-Updater$<$ EOT $>$} (This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file )}{\pageref{classmoeoBinaryMetricSavingUpdater}}{}
\item\contentsline{section}{{\bf moeo\-BM$<$ A1, A2, R $>$} (Base class for binary metrics )}{\pageref{classmoeoBM}}{}
\item\contentsline{section}{{\bf moeo\-Combined\-MOLS$<$ EOT $>$} (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{classmoeoCombinedMOLS}}{}
\item\contentsline{section}{{\bf moeo\-Contribution\-Metric$<$ EOT $>$} (The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set )}{\pageref{classmoeoContributionMetric}}{}
\item\contentsline{section}{{\bf moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} (Same than {\bf moeo\-Elitist\-Replacement}{\rm (p.\,\pageref{classmoeoElitistReplacement})} except that distinct individuals are privilegied )}{\pageref{classmoeoDisctinctElitistReplacement}}{}
\item\contentsline{section}{{\bf moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} (Keep all the best individuals (almost cut-and-pasted from {\bf eo\-NDPlus\-Replacement}, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002) )}{\pageref{classmoeoElitistReplacement}}{}
\item\contentsline{section}{{\bf moeo\-Entropy\-Metric$<$ EOT $>$} (The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set )}{\pageref{classmoeoEntropyMetric}}{}
\item\contentsline{section}{{\bf moeo\-Hybrid\-MOLS$<$ EOT $>$} (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{classmoeoHybridMOLS}}{}
\item\contentsline{section}{{\bf moeo\-Metric} (Base class for performance metrics (also called quality indicators) )}{\pageref{classmoeoMetric}}{}
\item\contentsline{section}{{\bf moeo\-MOLS$<$ EOT $>$} (Abstract class for local searches applied to multi-objective optimization )}{\pageref{classmoeoMOLS}}{}
\item\contentsline{section}{{\bf moeo\-NDSorting\_\-II$<$ EOT $>$} (Fast Elitist Non-Dominant Sorting Genetic Algorithm )}{\pageref{classmoeoNDSorting__II}}{}
\item\contentsline{section}{{\bf moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes} }{\pageref{classmoeoNDSorting__II_1_1compare__nodes}}{}
\item\contentsline{section}{{\bf moeo\-NSGA\_\-II$<$ EOT $>$} }{\pageref{classmoeoNSGA__II}}{}
\item\contentsline{section}{{\bf moeo\-Replacement$<$ EOT, Worth\-T $>$} (Replacement strategy for multi-objective optimization )}{\pageref{classmoeoReplacement}}{}
\item\contentsline{section}{{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$} (Elitist selection process that consists in choosing individuals in the archive as well as in the current population )}{\pageref{classmoeoSelectOneFromPopAndArch}}{}
\item\contentsline{section}{{\bf moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$} (Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness )}{\pageref{classmoeoSolutionUM}}{}
\item\contentsline{section}{{\bf moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses )}{\pageref{classmoeoSolutionVsSolutionBM}}{}
\item\contentsline{section}{{\bf moeo\-UM$<$ A, R $>$} (Base class for unary metrics )}{\pageref{classmoeoUM}}{}
\item\contentsline{section}{{\bf moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$} (Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses) )}{\pageref{classmoeoVectorUM}}{}
\item\contentsline{section}{{\bf moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness )}{\pageref{classmoeoVectorVsSolutionBM}}{}
\item\contentsline{section}{{\bf moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses) )}{\pageref{classmoeoVectorVsVectorBM}}{}
\end{CompactList}

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 232.558
%%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.15 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
(eoAdditiveBinaryEpsilonIndicator< EOFitness >) cw
(eoBinaryQualityIndicator< EOFitness >) cw
(eoBF< const EOFitness &, const EOFitness &, double >) 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 -----
(eoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box
(eoBinaryQualityIndicator< EOFitness >) 0 1 box
(eoBF< const EOFitness &, const EOFitness &, double >) 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,83 @@
\section{eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$ Class Template Reference}
\label{classeoAdditiveBinaryEpsilonIndicator}\index{eoAdditiveBinaryEpsilonIndicator@{eoAdditiveBinaryEpsilonIndicator}}
Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}.
{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$}
Inheritance diagram for eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classeoAdditiveBinaryEpsilonIndicator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf eo\-Additive\-Binary\-Epsilon\-Indicator} ()\label{classeoAdditiveBinaryEpsilonIndicator_c76501f3d05bc3c1e9ccef6f9c465cb9}
\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item
double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2)
\begin{CompactList}\small\item\em computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoAdditiveBinaryEpsilonIndicator_c6d4c79183683a05183a31fcb7f533f1}
\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
double {\bf epsilon\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj)
\begin{CompactList}\small\item\em computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOFitness$>$ class eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$}
Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}.
Definition at line 126 of file eo\-Binary\-Quality\-Indicator.h.
\subsection{Member Function Documentation}
\index{eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}!operator()@{operator()}}
\index{operator()@{operator()}!eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoAdditiveBinaryEpsilonIndicator_5fd885a2a555e26706174a44ef636f4d}
computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function)
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description}
\end{Desc}
Implements {\bf eo\-BF$<$ const EOFitness \&, const EOFitness \&, double $>$}.
Definition at line 149 of file eo\-Binary\-Quality\-Indicator.h.
References eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::epsilon\-Value().\index{eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}!epsilonValue@{epsilonValue}}
\index{epsilonValue@{epsilonValue}!eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::epsilon\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoAdditiveBinaryEpsilonIndicator_8f35162769a1b23ada83e5fb21cc74e7}
computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj the index of the objective \end{description}
\end{Desc}
Definition at line 181 of file eo\-Binary\-Quality\-Indicator.h.
Referenced by eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-Binary\-Quality\-Indicator.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 232.558
%%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.15 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
(eoBinaryHypervolumeIndicator< EOFitness >) cw
(eoBinaryQualityIndicator< EOFitness >) cw
(eoBF< const EOFitness &, const EOFitness &, double >) 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 -----
(eoBinaryHypervolumeIndicator< EOFitness >) 0 0 box
(eoBinaryQualityIndicator< EOFitness >) 0 1 box
(eoBF< const EOFitness &, const EOFitness &, double >) 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,149 @@
\section{eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$ Class Template Reference}
\label{classeoBinaryHypervolumeIndicator}\index{eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}}
Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}.
{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$}
Inheritance diagram for eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classeoBinaryHypervolumeIndicator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf eo\-Binary\-Hypervolume\-Indicator} (double \_\-rho)
\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item
double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2)
\begin{CompactList}\small\item\em indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoBinaryHypervolumeIndicator_abde225206c55671bd585cc41cbfab1c}
\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
double {\bf hypervolume\-Indicator\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag=false)
\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 \item\end{CompactList}\item
double {\bf hypervolume\-Indicator\-Value\-Min} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag)
\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj \item\end{CompactList}\item
double {\bf hypervolume\-Indicator\-Value\-Max} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag)
\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
double {\bf rho}\label{classeoBinaryHypervolumeIndicator_02fdfd1b2aa8071cdd3d395777d709a5}
\begin{CompactList}\small\item\em reference point for the hypervolume calculation \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$}
Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}.
Definition at line 217 of file eo\-Binary\-Quality\-Indicator.h.
\subsection{Constructor \& Destructor Documentation}
\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}}
\index{eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::{\bf eo\-Binary\-Hypervolume\-Indicator} (double {\em \_\-rho})\hspace{0.3cm}{\tt [inline]}}\label{classeoBinaryHypervolumeIndicator_8b1dedf93c1936ea7efa9b19913d8773}
constructor
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em double}]\_\-rho reference point for the hypervolume calculation (rho must not be smaller than 1) \end{description}
\end{Desc}
Definition at line 227 of file eo\-Binary\-Quality\-Indicator.h.
References eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho.
\subsection{Member Function Documentation}
\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!operator()@{operator()}}
\index{operator()@{operator()}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoBinaryHypervolumeIndicator_d418f42f086a3221c60ad9149b5df9d0}
indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function)
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description}
\end{Desc}
Implements {\bf eo\-BF$<$ const EOFitness \&, const EOFitness \&, double $>$}.
Definition at line 250 of file eo\-Binary\-Quality\-Indicator.h.
References eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValue@{hypervolumeIndicatorValue}}
\index{hypervolumeIndicatorValue@{hypervolumeIndicatorValue}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag} = {\tt false})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_9c12e672eaf7ed2b17cab9b96af911e6}
computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj number of objectives (used for iteration) \item[{\em bool}]\_\-flag = false (only used for iteration) \end{description}
\end{Desc}
Definition at line 285 of file eo\-Binary\-Quality\-Indicator.h.
References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min().
Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::operator()().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}}
\index{hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_6c9b9a5279ad7894b4563e205f13e98b}
computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description}
\end{Desc}
Definition at line 320 of file eo\-Binary\-Quality\-Indicator.h.
References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho.
Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}}
\index{hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_df2903822dbcd0a906dabf4cb6e05bfb}
computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description}
\end{Desc}
Definition at line 374 of file eo\-Binary\-Quality\-Indicator.h.
References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho.
Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-Binary\-Quality\-Indicator.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 116.279
%%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.3 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
(eoBinaryQualityIndicator< EOFitness >) cw
(eoBF< const EOFitness &, const EOFitness &, double >) cw
(eoFunctorBase) cw
(eoAdditiveBinaryEpsilonIndicator< EOFitness >) cw
(eoBinaryHypervolumeIndicator< EOFitness >) 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 -----
(eoBinaryQualityIndicator< EOFitness >) 0.5 1 box
(eoBF< const EOFitness &, const EOFitness &, double >) 0.5 2 box
(eoFunctorBase) 0.5 3 box
(eoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box
(eoBinaryHypervolumeIndicator< EOFitness >) 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,69 @@
\section{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$ Class Template Reference}
\label{classeoBinaryQualityIndicator}\index{eoBinaryQualityIndicator@{eoBinaryQualityIndicator}}
Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object.
{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$}
Inheritance diagram for eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.25581cm]{classeoBinaryQualityIndicator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf eo\-Binary\-Quality\-Indicator} ()\label{classeoBinaryQualityIndicator_e138f133fb4a5024b2e31f1544b4739a}
\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item
void {\bf set\-Bounds} (const unsigned \_\-i\-Obj, const double \_\-min, const double \_\-max)
\begin{CompactList}\small\item\em set the bounds for objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
std::vector$<$ {\bf Range} $>$ {\bf bounds}\label{classeoBinaryQualityIndicator_aa9bb224ab744a00271577a10518581a}
\begin{CompactList}\small\item\em range (min and max double value) for each objective \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item
typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoBinaryQualityIndicator_3d9415cfa63d3dd57fe44f9e11df3cac}
\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize}
\subsection*{Classes}
\begin{CompactItemize}
\item
class {\bf Range}
\begin{CompactList}\small\item\em Private class to represent the bounds. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$}
Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object.
Definition at line 39 of file eo\-Binary\-Quality\-Indicator.h.
\subsection{Member Function Documentation}
\index{eoBinaryQualityIndicator@{eo\-Binary\-Quality\-Indicator}!setBounds@{setBounds}}
\index{setBounds@{setBounds}!eoBinaryQualityIndicator@{eo\-Binary\-Quality\-Indicator}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ void {\bf eo\-Binary\-Quality\-Indicator}$<$ EOFitness $>$::set\-Bounds (const unsigned {\em \_\-i\-Obj}, const double {\em \_\-min}, const double {\em \_\-max})\hspace{0.3cm}{\tt [inline]}}\label{classeoBinaryQualityIndicator_ed08c328526eb4c1c8cfde8b6938ece9}
set the bounds for objective \_\-i\-Obj
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em unsigned}]\_\-i\-Obj the index of the objective \item[{\em double}]\_\-min the minimum value \item[{\em double}]\_\-max the maximum value \end{description}
\end{Desc}
Definition at line 62 of file eo\-Binary\-Quality\-Indicator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-Binary\-Quality\-Indicator.h\end{CompactItemize}

View file

@ -0,0 +1,51 @@
\section{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range Class Reference}
\label{classeoBinaryQualityIndicator_1_1Range}\index{eoBinaryQualityIndicator::Range@{eoBinaryQualityIndicator::Range}}
Private class to represent the bounds.
{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf Range} ()\label{classeoBinaryQualityIndicator_1_1Range_75dfd77019095fa4993ad3187ac44006}
\item
{\bf Range} (const double \_\-min, const double \_\-max)\label{classeoBinaryQualityIndicator_1_1Range_111b9a6b682bd0270039cce7d1a847ca}
\item
double {\bf minimum} ()\label{classeoBinaryQualityIndicator_1_1Range_f9554f81819461f9ad56c12a93259803}
\item
double {\bf maximum} ()\label{classeoBinaryQualityIndicator_1_1Range_790f08b55cdd69213886de198b2bcc5f}
\item
double {\bf range} ()\label{classeoBinaryQualityIndicator_1_1Range_a432e7dbdb691ce4e6ee6d6a224e469f}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
double {\bf min}\label{classeoBinaryQualityIndicator_1_1Range_e233e32a9b7cb73ef5dbe06a204482ec}
\item
double {\bf max}\label{classeoBinaryQualityIndicator_1_1Range_63c9473e163e3c0c6d5a0327252786b1}
\item
double {\bf r}\label{classeoBinaryQualityIndicator_1_1Range_101eaf7a60e7243df169c7fde6087342}
\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range}
Private class to represent the bounds.
Definition at line 73 of file eo\-Binary\-Quality\-Indicator.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-Binary\-Quality\-Indicator.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 240.964
%%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.075 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
(eoIBEA< EOT, Fitness >) cw
(eoPerf2WorthCached< EOT, double >) cw
(eoPerf2Worth< EOT, WorthT >) cw
(eoUF< const eoPop< EOT > &, void >) cw
(eoValueParam< std::vector< WorthT > >) cw
(eoFunctorBase) cw
(eoParam) cw
(eoIBEASorting< EOT, Fitness >) 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 -----
(eoIBEA< EOT, Fitness >) 0.5 1 box
(eoPerf2WorthCached< EOT, double >) 0.5 2 box
(eoPerf2Worth< EOT, WorthT >) 0.5 3 box
(eoUF< const eoPop< EOT > &, void >) 0 4 box
(eoValueParam< std::vector< WorthT > >) 1 4 box
(eoFunctorBase) 0 5 box
(eoParam) 1 5 box
(eoIBEASorting< EOT, Fitness >) 0.5 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
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
solid
1 0.5 0.25 out
solid
0 0.5 0.75 in

View file

@ -0,0 +1,60 @@
\section{eo\-IBEA$<$ EOT, Fitness $>$ Class Template Reference}
\label{classeoIBEA}\index{eoIBEA@{eoIBEA}}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm).
{\tt \#include $<$eo\-IBEA.h$>$}
Inheritance diagram for eo\-IBEA$<$ EOT, Fitness $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6cm]{classeoIBEA}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf eo\-IBEA} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I)\label{classeoIBEA_703833c1f773136b24d2ca5c7cff4b2d}
\item
void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em mapping \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item
{\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\bf I}\label{classeoIBEA_f69a9efad202b67ee51d538d14d587e6}
\begin{CompactList}\small\item\em binary quality indicator to use in the selection process \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT, class Fitness$>$ class eo\-IBEA$<$ EOT, Fitness $>$}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm).
Definition at line 38 of file eo\-IBEA.h.
\subsection{Member Function Documentation}
\index{eoIBEA@{eo\-IBEA}!calculate_worths@{calculate\_\-worths}}
\index{calculate_worths@{calculate\_\-worths}!eoIBEA@{eo\-IBEA}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness$>$ void {\bf eo\-IBEA}$<$ EOT, Fitness $>$::calculate\_\-worths (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoIBEA_e6b7c15e38822bef261c545b498eabef}
mapping
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description}
\end{Desc}
Implements {\bf eo\-Perf2Worth\-Cached$<$ EOT, double $>$}.
Definition at line 56 of file eo\-IBEA.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-IBEA.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 240.964
%%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.075 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
(eoIBEAAvgSorting< EOT, FitnessEval >) cw
(eoIBEA< EOT, FitnessEval >) cw
(eoPerf2WorthCached< EOT, double >) cw
(eoPerf2Worth< EOT, WorthT >) cw
(eoUF< const eoPop< EOT > &, void >) cw
(eoValueParam< std::vector< WorthT > >) cw
(eoFunctorBase) cw
(eoParam) 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 -----
(eoIBEAAvgSorting< EOT, FitnessEval >) 0.5 0 box
(eoIBEA< EOT, FitnessEval >) 0.5 1 box
(eoPerf2WorthCached< EOT, double >) 0.5 2 box
(eoPerf2Worth< EOT, WorthT >) 0.5 3 box
(eoUF< const eoPop< EOT > &, void >) 0 4 box
(eoValueParam< std::vector< WorthT > >) 1 4 box
(eoFunctorBase) 0 5 box
(eoParam) 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,99 @@
\section{eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference}
\label{classeoIBEAAvgSorting}\index{eoIBEAAvgSorting@{eoIBEAAvgSorting}}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object.
{\tt \#include $<$eo\-IBEA.h$>$}
Inheritance diagram for eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6cm]{classeoIBEAAvgSorting}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf eo\-IBEAAvg\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I, const double \_\-kappa)
\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item
void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
double {\bf kappa}\label{classeoIBEAAvgSorting_6f467d673861830d6a0708f61cecc3f7}
\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object.
Definition at line 373 of file eo\-IBEA.h.
\subsection{Constructor \& Destructor Documentation}
\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!eoIBEAAvgSorting@{eoIBEAAvgSorting}}
\index{eoIBEAAvgSorting@{eoIBEAAvgSorting}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf eo\-IBEAAvg\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEAAvgSorting_eb0cfda626e1e5cac6750f0598610f82}
constructor
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description}
\end{Desc}
Definition at line 385 of file eo\-IBEA.h.
References eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::kappa.
\subsection{Member Function Documentation}
\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!setBounds@{setBounds}}
\index{setBounds@{setBounds}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAAvgSorting_b365a1eab0da5211c59369416642780d}
computation and setting of the bounds for each objective
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description}
\end{Desc}
Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}.
Definition at line 413 of file eo\-IBEA.h.\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!fitnesses@{fitnesses}}
\index{fitnesses@{fitnesses}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAAvgSorting_4bc8c46d151d7935d7b2ac8bfbdd7ee6}
computation and setting of the fitness for each individual of the population
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description}
\end{Desc}
Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}.
Definition at line 445 of file eo\-IBEA.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-IBEA.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 240.964
%%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.075 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
(eoIBEASorting< EOT, Fitness >) cw
(eoIBEA< EOT, Fitness >) cw
(eoPerf2WorthCached< EOT, double >) cw
(eoPerf2Worth< EOT, WorthT >) cw
(eoUF< const eoPop< EOT > &, void >) cw
(eoValueParam< std::vector< WorthT > >) cw
(eoFunctorBase) cw
(eoParam) 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 -----
(eoIBEASorting< EOT, Fitness >) 0.5 0 box
(eoIBEA< EOT, Fitness >) 0.5 1 box
(eoPerf2WorthCached< EOT, double >) 0.5 2 box
(eoPerf2Worth< EOT, WorthT >) 0.5 3 box
(eoUF< const eoPop< EOT > &, void >) 0 4 box
(eoValueParam< std::vector< WorthT > >) 1 4 box
(eoFunctorBase) 0 5 box
(eoParam) 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,99 @@
\section{eo\-IBEASorting$<$ EOT, Fitness $>$ Class Template Reference}
\label{classeoIBEASorting}\index{eoIBEASorting@{eoIBEASorting}}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object.
{\tt \#include $<$eo\-IBEA.h$>$}
Inheritance diagram for eo\-IBEASorting$<$ EOT, Fitness $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6cm]{classeoIBEASorting}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf eo\-IBEASorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I, const double \_\-kappa)
\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item
void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
double {\bf kappa}\label{classeoIBEASorting_de45fa88a6b6fc70896a0dbfffdb3dc7}
\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT, class Fitness = typename EOT::Fitness$>$ class eo\-IBEASorting$<$ EOT, Fitness $>$}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object.
Definition at line 94 of file eo\-IBEA.h.
\subsection{Constructor \& Destructor Documentation}
\index{eoIBEASorting@{eo\-IBEASorting}!eoIBEASorting@{eoIBEASorting}}
\index{eoIBEASorting@{eoIBEASorting}!eoIBEASorting@{eo\-IBEASorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::{\bf eo\-IBEASorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEASorting_7a35d760e84a98fd7a47966c50e3af66}
constructor
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description}
\end{Desc}
Definition at line 106 of file eo\-IBEA.h.
References eo\-IBEASorting$<$ EOT, Fitness $>$::kappa.
\subsection{Member Function Documentation}
\index{eoIBEASorting@{eo\-IBEASorting}!setBounds@{setBounds}}
\index{setBounds@{setBounds}!eoIBEASorting@{eo\-IBEASorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEASorting_02c7346d6aa62f3e3af20cc6ac3ee1d9}
computation and setting of the bounds for each objective
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description}
\end{Desc}
Implements {\bf eo\-IBEA$<$ EOT, Fitness $>$} {\rm (p.\,\pageref{classeoIBEA})}.
Definition at line 134 of file eo\-IBEA.h.\index{eoIBEASorting@{eo\-IBEASorting}!fitnesses@{fitnesses}}
\index{fitnesses@{fitnesses}!eoIBEASorting@{eo\-IBEASorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEASorting_af613f862a58b402d88958b0e290e810}
computation and setting of the fitness for each individual of the population
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description}
\end{Desc}
Implements {\bf eo\-IBEA$<$ EOT, Fitness $>$} {\rm (p.\,\pageref{classeoIBEA})}.
Definition at line 162 of file eo\-IBEA.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-IBEA.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 233.463
%%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.14167 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
(eoIBEAStochSorting< EOT, FitnessEval >) cw
(eoIBEA< EOT, FitnessEval >) cw
(eoPerf2WorthCached< EOT, double >) cw
(eoPerf2Worth< EOT, WorthT >) cw
(eoUF< const eoPop< EOT > &, void >) cw
(eoValueParam< std::vector< WorthT > >) cw
(eoFunctorBase) cw
(eoParam) 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 -----
(eoIBEAStochSorting< EOT, FitnessEval >) 0.5 0 box
(eoIBEA< EOT, FitnessEval >) 0.5 1 box
(eoPerf2WorthCached< EOT, double >) 0.5 2 box
(eoPerf2Worth< EOT, WorthT >) 0.5 3 box
(eoUF< const eoPop< EOT > &, void >) 0 4 box
(eoValueParam< std::vector< WorthT > >) 1 4 box
(eoFunctorBase) 0 5 box
(eoParam) 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,97 @@
\section{eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference}
\label{classeoIBEAStochSorting}\index{eoIBEAStochSorting@{eoIBEAStochSorting}}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object.
{\tt \#include $<$eo\-IBEA.h$>$}
Inheritance diagram for eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6cm]{classeoIBEAStochSorting}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
{\bf eo\-IBEAStoch\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I)
\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item
void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize}
\subsection*{Static Private Member Functions}
\begin{CompactItemize}
\item
static double {\bf zero} ()\label{classeoIBEAStochSorting_0cd3d638866730b7a8fdbd5a1c08c810}
\begin{CompactList}\small\item\em approximated zero value \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$}
Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object.
Definition at line 215 of file eo\-IBEA.h.
\subsection{Constructor \& Destructor Documentation}
\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!eoIBEAStochSorting@{eoIBEAStochSorting}}
\index{eoIBEAStochSorting@{eoIBEAStochSorting}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf eo\-IBEAStoch\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEAStochSorting_9d9775846e174bdbc9491856b23eb27d}
constructor
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \end{description}
\end{Desc}
Definition at line 226 of file eo\-IBEA.h.
\subsection{Member Function Documentation}
\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!setBounds@{setBounds}}
\index{setBounds@{setBounds}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAStochSorting_2a5ddad942fee331fe6912a6fecc9247}
computation and setting of the bounds for each objective
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description}
\end{Desc}
Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}.
Definition at line 258 of file eo\-IBEA.h.\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!fitnesses@{fitnesses}}
\index{fitnesses@{fitnesses}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAStochSorting_0d099b5a341791b35db98b350cdbc83f}
computation and setting of the fitness for each individual of the population
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description}
\end{Desc}
Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}.
Definition at line 286 of file eo\-IBEA.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-IBEA.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 170.94
%%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.925 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
(eoParetoEuclidDist< EOT, DistType >) cw
(eoParetoPhenDist< EOT, DistType >) 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 -----
(eoParetoEuclidDist< EOT, DistType >) 0 0 box
(eoParetoPhenDist< EOT, DistType >) 0 1 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in

View file

@ -0,0 +1,28 @@
\section{eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference}
\label{classeoParetoEuclidDist}\index{eoParetoEuclidDist@{eoParetoEuclidDist}}
Inheritance diagram for eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classeoParetoEuclidDist}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
Dist\-Type {\bf operator()} (const EOT \&eopf1, const EOT \&eopf2)\label{classeoParetoEuclidDist_8693ded671292b210c3c455fa18c496e}
\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT, class Dist\-Type = double$>$ class eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$}
Definition at line 15 of file eo\-Pareto\-Phen\-Dist.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
eo\-Pareto\-Phen\-Dist.h\end{CompactItemize}

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