git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@40 331e1502-861f-0410-8da2-ba01fb791d7f
87 lines
4.2 KiB
TeX
87 lines
4.2 KiB
TeX
\section{eo\-Dominance\-Map$<$ Eo\-Type $>$ Class Template Reference}
|
|
\label{classeo_dominance_map}\index{eoDominanceMap@{eoDominanceMap}}
|
|
eo\-Dominance\-Map, utility class to calculate and maintain a map (std::vector$<$std::vector$<$bool$>$ $>$) of pareto dominance statistics.
|
|
|
|
|
|
{\tt \#include $<$eo\-Dominance\-Map.h$>$}
|
|
|
|
Inheritance diagram for eo\-Dominance\-Map$<$ Eo\-Type $>$::\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[height=2.67516cm]{classeo_dominance_map}
|
|
\end{center}
|
|
\end{figure}
|
|
\subsection*{Public Member Functions}
|
|
\begin{CompactItemize}
|
|
\item
|
|
void {\bf clear} ()\label{classeo_dominance_map_a0}
|
|
|
|
\begin{CompactList}\small\item\em Clears the map. \item\end{CompactList}\item
|
|
void {\bf operator()} (const {\bf eo\-Pop}$<$ {\bf Eo\-Type} $>$ \&\_\-pop)\label{classeo_dominance_map_a1}
|
|
|
|
\begin{CompactList}\small\item\em Update or create the dominance map. \item\end{CompactList}\item
|
|
void {\bf remove} (unsigned i)\label{classeo_dominance_map_a2}
|
|
|
|
\begin{CompactList}\small\item\em Removes the domination info for a given individual, thus nothing dominates it and it dominates nothing. \item\end{CompactList}\item
|
|
void {\bf setup} (const {\bf eo\-Pop}$<$ {\bf Eo\-Type} $>$ \&\_\-pop)
|
|
\begin{CompactList}\small\item\em Create domination matrix from scratch. \item\end{CompactList}\item
|
|
std::vector$<$ double $>$ {\bf sum\_\-dominators} () const
|
|
\begin{CompactList}\small\item\em For all elements, returns the no. \item\end{CompactList}\item
|
|
std::vector$<$ double $>$ {\bf sum\_\-dominants} () const \label{classeo_dominance_map_a5}
|
|
|
|
\begin{CompactList}\small\item\em For all elements, returns the number of elements that the element dominates Thus: higher is better It returns a std::vector$<$double$>$ cuz that makes subsequent manipulation that much easier. \item\end{CompactList}\end{CompactItemize}
|
|
\subsection*{Private Attributes}
|
|
\begin{CompactItemize}
|
|
\item
|
|
std::vector$<$ typename Eo\-Type::Fitness $>$ {\bf fitness}\label{classeo_dominance_map_r0}
|
|
|
|
\end{CompactItemize}
|
|
|
|
|
|
\subsection{Detailed Description}
|
|
\subsubsection*{template$<$class Eo\-Type$>$ class eo\-Dominance\-Map$<$ Eo\-Type $>$}
|
|
|
|
eo\-Dominance\-Map, utility class to calculate and maintain a map (std::vector$<$std::vector$<$bool$>$ $>$) of pareto dominance statistics.
|
|
|
|
It is set up such that
|
|
|
|
if map[i][j] == true then i dominates j
|
|
|
|
The dominance map can be used to perform pareto ranking ({\bf eo\-Pareto\-Ranking}{\rm (p.\,\pageref{classeo_pareto_ranking})}) or non dominated sorting. For the latter, the {\bf remove()}{\rm (p.\,\pageref{classeo_dominance_map_a2})} member function might come in handy.
|
|
|
|
\begin{Desc}
|
|
\item[{\bf Todo}]make it an {\bf eo\-Stat}{\rm (p.\,\pageref{classeo_stat})}? \end{Desc}
|
|
|
|
|
|
|
|
|
|
Definition at line 47 of file eo\-Dominance\-Map.h.
|
|
|
|
\subsection{Member Function Documentation}
|
|
\index{eoDominanceMap@{eo\-Dominance\-Map}!setup@{setup}}
|
|
\index{setup@{setup}!eoDominanceMap@{eo\-Dominance\-Map}}
|
|
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Eo\-Type$>$ void {\bf eo\-Dominance\-Map}$<$ {\bf Eo\-Type} $>$::setup (const {\bf eo\-Pop}$<$ {\bf Eo\-Type} $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classeo_dominance_map_a3}
|
|
|
|
|
|
Create domination matrix from scratch.
|
|
|
|
Complexity O(N$^\wedge$2)
|
|
|
|
Definition at line 81 of file eo\-Dominance\-Map.h.
|
|
|
|
Referenced by eo\-Dominance\-Map$<$ EOT $>$::operator()().\index{eoDominanceMap@{eo\-Dominance\-Map}!sum_dominators@{sum\_\-dominators}}
|
|
\index{sum_dominators@{sum\_\-dominators}!eoDominanceMap@{eo\-Dominance\-Map}}
|
|
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class Eo\-Type$>$ std::vector$<$double$>$ {\bf eo\-Dominance\-Map}$<$ {\bf Eo\-Type} $>$::sum\_\-dominators () const\hspace{0.3cm}{\tt [inline]}}\label{classeo_dominance_map_a4}
|
|
|
|
|
|
For all elements, returns the no.
|
|
|
|
of elements that dominate the element Thus: lower is better (and 0 is the front). It returns a std::vector$<$double$>$ cuz that makes subsequent manipulation that much easier
|
|
|
|
Definition at line 118 of file eo\-Dominance\-Map.h.
|
|
|
|
Referenced by eo\-Pareto\-Ranking$<$ EOT $>$::calculate\_\-worths().
|
|
|
|
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
|
\item
|
|
eo\-Dominance\-Map.h\end{CompactItemize}
|