update doc with new stuffs

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@497 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
liefooga 2007-07-02 14:05:51 +00:00
commit 320c6b06ff
287 changed files with 262 additions and 3094 deletions

View file

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 242.718
%%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.06 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
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) cw
(moeoDiversityAssignment< MOEOT >) cw
(eoUF< eoPop< MOEOT > &, void >) cw
(eoFunctorBase) cw
(moeoFrontByFrontCrowdingDistanceDiversityAssignment< 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 -----
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) 0 1 box
(moeoDiversityAssignment< MOEOT >) 0 2 box
(eoUF< eoPop< MOEOT > &, void >) 0 3 box
(eoFunctorBase) 0 4 box
(moeoFrontByFrontCrowdingDistanceDiversityAssignment< MOEOT >) 0 0 box
% ----- relations -----
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in
solid
1 0 0.25 out
solid
0 0 0.75 in

View file

@ -1,114 +0,0 @@
\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=5cm]{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_fd3720297b90f97b38996a4db24632f8}
\begin{CompactList}\small\item\em Returns a big value (regarded as infinite). \item\end{CompactList}\item
double \bf{tiny} () const \label{classmoeoCrowdingDistanceDiversityAssignment_9ed112968bb30897e14c675a33046cf8}
\begin{CompactList}\small\item\em Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound). \item\end{CompactList}\item
void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Computes diversity values for every solution contained in the population \_\-pop. \item\end{CompactList}\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item
virtual void \bf{set\-Distances} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the distance values. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Crowding\-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).
Definition at line 25 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 55 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}.
Reimplemented in \bf{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment_91aec07ffdc20c9654575106399ca62d}.
Definition at line 78 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$>$ virtual void \bf{moeo\-Crowding\-Distance\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Distances (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected, virtual]}}\label{classmoeoCrowdingDistanceDiversityAssignment_2dac680d7ca8327a15bc30f5ce7bbd4f}
Sets the distance values.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Reimplemented in \bf{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment_b275343fd08575612525a5654d749feb}.
Definition at line 90 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

@ -1,215 +0,0 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 242.718
%%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.06 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
(moeoFrontByFrontCrowdingDistanceDiversityAssignment< MOEOT >) cw
(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 -----
(moeoFrontByFrontCrowdingDistanceDiversityAssignment< MOEOT >) 0 0 box
(moeoCrowdingDistanceDiversityAssignment< MOEOT >) 0 1 box
(moeoDiversityAssignment< MOEOT >) 0 2 box
(eoUF< eoPop< MOEOT > &, void >) 0 3 box
(eoFunctorBase) 0 4 box
% ----- relations -----
solid
0 0 0 out
solid
1 0 1 in
solid
0 0 1 out
solid
1 0 2 in
solid
0 0 2 out
solid
1 0 3 in
solid
0 0 3 out
solid
1 0 4 in

View file

@ -1,102 +0,0 @@
\section{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment}\index{moeoFrontByFrontCrowdingDistanceDiversityAssignment@{moeoFrontByFrontCrowdingDistanceDiversityAssignment}}
Diversity assignment sheme based on crowding distance proposed in: K.
{\tt \#include $<$moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment.h$>$}
Inheritance diagram for moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item
typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment_4da1cf7b19fd72eb9b6a64d89d01f5a3}
\begin{CompactList}\small\item\em the objective vector type of the solutions \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec)
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
void \bf{set\-Distances} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Sets the distance values. \item\end{CompactList}\item
unsigned int \bf{last\-Index} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, unsigned int \_\-start)
\begin{CompactList}\small\item\em Returns the index of the last individual having the same fitness value than \_\-pop[\_\-start]. \item\end{CompactList}\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-Front\-By\-Front\-Crowding\-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). Tis strategy assigns diversity values FRONT BY FRONT. It is, for instance, used in NSGA-II.
Definition at line 25 of file moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment.h.
\subsection{Member Function Documentation}
\index{moeoFrontByFrontCrowdingDistanceDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}!updateByDeleting@{updateByDeleting}}
\index{updateByDeleting@{updateByDeleting}!moeoFrontByFrontCrowdingDistanceDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-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{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment_91aec07ffdc20c9654575106399ca62d}
\begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! Updates the diversity values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description}
\end{Desc}
\begin{Desc}
\item[Warning:]NOT IMPLEMENTED, DO NOTHING ! \end{Desc}
Reimplemented from \bf{moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDistanceDiversityAssignment_ac21453d018c0e5dc872ccf0d0893f18}.
Definition at line 40 of file moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment.h.\index{moeoFrontByFrontCrowdingDistanceDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}!setDistances@{setDistances}}
\index{setDistances@{setDistances}!moeoFrontByFrontCrowdingDistanceDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}$<$ MOEOT $>$::set\-Distances (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment_b275343fd08575612525a5654d749feb}
Sets the distance values.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}
Reimplemented from \bf{moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoCrowdingDistanceDiversityAssignment_2dac680d7ca8327a15bc30f5ce7bbd4f}.
Definition at line 55 of file moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment.h.
References moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::inf(), moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::last\-Index(), and moeo\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::tiny().\index{moeoFrontByFrontCrowdingDistanceDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}!lastIndex@{lastIndex}}
\index{lastIndex@{lastIndex}!moeoFrontByFrontCrowdingDistanceDiversityAssignment@{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ unsigned int \bf{moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment}$<$ MOEOT $>$::last\-Index (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, unsigned int {\em \_\-start})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoFrontByFrontCrowdingDistanceDiversityAssignment_c7f75934e76d37a2747f06d2271984c3}
Returns the index of the last individual having the same fitness value than \_\-pop[\_\-start].
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \item[{\em \_\-start}]the index to start from \end{description}
\end{Desc}
Definition at line 121 of file moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment.h.
Referenced by moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment$<$ MOEOT $>$::set\-Distances().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
moeo\-Front\-By\-Front\-Crowding\-Distance\-Diversity\-Assignment.h\end{CompactItemize}

View file

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

View file

@ -1,181 +0,0 @@
\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\-Double.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} (double \_\-value=0.0)\label{classmoeoObjectiveVectorDouble_9d4c470ac87733521084175552874837}
\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 27 of file moeo\-Objective\-Vector\-Double.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 45 of file moeo\-Objective\-Vector\-Double.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_f4aa764abee12a28ae30ae6bb23083f4}
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 54 of file moeo\-Objective\-Vector\-Double.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_cf09615e1a38924ee4fb6250047f9d77}
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 65 of file moeo\-Objective\-Vector\-Double.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_367e69818ebe05a932510e6516c54fdb}
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 82 of file moeo\-Objective\-Vector\-Double.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_5616d7504e6b29848ca38b52e9eb44e0}
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 93 of file moeo\-Objective\-Vector\-Double.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_50de392d10bd90ad125f26efb8ea5f3d}
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 105 of file moeo\-Objective\-Vector\-Double.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_11728f07ebd7d72fe331679913888d3f}
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 116 of file moeo\-Objective\-Vector\-Double.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_74057cd0d8325513d186aea6034d7901}
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 127 of file moeo\-Objective\-Vector\-Double.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\-Double.h\end{CompactItemize}

View file

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

View file

@ -1,5 +0,0 @@
\section{Paradis\-EO-MOEO Related Pages}
Here is a list of all related documentation pages:\begin{CompactList}
\item \contentsline{section}{Related webpages}{\pageref{webpages}}{}
\end{CompactList}

View file

@ -19,7 +19,7 @@
\vspace*{1cm}
{\large Generated by Doxygen 1.4.7}\\
\vspace*{0.5cm}
{\small Mon Jul 2 16:00:16 2007}\\
{\small Mon Jul 2 16:05:01 2007}\\
\end{center}
\end{titlepage}
\clearemptydoublepage

View file

@ -1,3 +0,0 @@
\section{Related webpages}\label{webpages}
\begin{itemize}
\item Paradis\-EO {\tt homepage}\item INRIA GForge {\tt project page}\item {\tt README}\item {\tt NEWS} \end{itemize}