\hypertarget{classmoeo_fuzzy_archive}{}\doxysection{moeo\+Fuzzy\+Archive$<$ M\+O\+E\+OT $>$ Class Template Reference} \label{classmoeo_fuzzy_archive}\index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} {\ttfamily \#include $<$moeo\+Fuzzy\+Archive.\+h$>$} Inheritance diagram for moeo\+Fuzzy\+Archive$<$ M\+O\+E\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classmoeo_fuzzy_archive__inherit__graph} \end{center} \end{figure} Collaboration diagram for moeo\+Fuzzy\+Archive$<$ M\+O\+E\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classmoeo_fuzzy_archive__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item typedef M\+O\+E\+O\+T\+::\+Objective\+Vector \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classmoeo_fuzzy_archive_a6bb02d0858b4c7d3af7b754006d479f1}{moeo\+Fuzzy\+Archive}} (\mbox{\hyperlink{classmoeo_fuzzy_archive_aa8727ee1d987a2f8c3bdccc580321d11}{Fuzzy\+Comparator}}$<$ \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} $>$ \&\+\_\+comparator, bool \+\_\+replace=true) \item bool \mbox{\hyperlink{classmoeo_fuzzy_archive_aac7b2492146fb6b119533fcd3c9c3c2e}{dominates}} (const \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} \&\+\_\+objective\+Vector) const \item bool \mbox{\hyperlink{classmoeo_fuzzy_archive_aed209e96a8e293b25a56b715ab80da0b}{contains}} (const \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} \&\+\_\+objective\+Vector) const \item virtual bool \mbox{\hyperlink{classmoeo_fuzzy_archive_ac22c95c4ba40b74506122f6df42d51c9}{operator()}} (const M\+O\+E\+OT \&\+\_\+moeo)=0 \item virtual bool \mbox{\hyperlink{classmoeo_fuzzy_archive_a873664569397df0c73d2615d1dd2b12b}{operator()}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop)=0 \item bool \mbox{\hyperlink{classmoeo_fuzzy_archive_ac25d5ca50e42e2082ad5362ec4389cbd}{equals}} (const \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+arch) \end{DoxyCompactItemize} \doxysubsection*{Protected Member Functions} \begin{DoxyCompactItemize} \item bool \mbox{\hyperlink{classmoeo_fuzzy_archive_aa92695e121b84518d59463cf49902ed7}{update}} (const M\+O\+E\+OT \&\+\_\+moeo) \item bool \mbox{\hyperlink{classmoeo_fuzzy_archive_a9b019c14b5069e013e078a771d4bd49e}{update}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop) \end{DoxyCompactItemize} \doxysubsection*{Protected Attributes} \begin{DoxyCompactItemize} \item moeo\+Fuzzy\+Pareto\+Comparator$<$ \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} $>$ \mbox{\hyperlink{classmoeo_fuzzy_archive_aa8727ee1d987a2f8c3bdccc580321d11}{Fuzzy\+Comparator}} \item bool \mbox{\hyperlink{classmoeo_fuzzy_archive_afbf229fdb48831ab185ad2bd002b6b83}{replace}} \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Detailed Description} \subsubsection*{template$<$class M\+O\+E\+OT$>$\newline class moeo\+Fuzzy\+Archive$<$ M\+O\+E\+O\+T $>$} Abstract class for representing an archive in a fuzzy space of solutions; an archive is a secondary population that stores non-\/dominated fuzzy solutions. \doxysubsection{Member Typedef Documentation} \mbox{\Hypertarget{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}\label{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!ObjectiveVector@{ObjectiveVector}} \index{ObjectiveVector@{ObjectiveVector}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{ObjectiveVector}{ObjectiveVector}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ typedef M\+O\+E\+O\+T\+::\+Objective\+Vector \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}}} The type of an objective vector for a solution \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classmoeo_fuzzy_archive_a6bb02d0858b4c7d3af7b754006d479f1}\label{classmoeo_fuzzy_archive_a6bb02d0858b4c7d3af7b754006d479f1}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!moeoFuzzyArchive@{moeoFuzzyArchive}} \index{moeoFuzzyArchive@{moeoFuzzyArchive}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{moeoFuzzyArchive()}{moeoFuzzyArchive()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmoeo_fuzzy_archive_aa8727ee1d987a2f8c3bdccc580321d11}{Fuzzy\+Comparator}}$<$ \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} $>$ \&}]{\+\_\+comparator, }\item[{bool}]{\+\_\+replace = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} ctor. The Fuzzy\+Comparator is used to compare fuzzy solutions based on Pareto dominance \begin{DoxyParams}{Parameters} {\em \+\_\+replace} & boolean which determine if a solution with the same objective\+Vector than another one, can replace it or not \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classmoeo_fuzzy_archive_aed209e96a8e293b25a56b715ab80da0b}\label{classmoeo_fuzzy_archive_aed209e96a8e293b25a56b715ab80da0b}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!contains@{contains}} \index{contains@{contains}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{contains()}{contains()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::contains (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} \&}]{\+\_\+objective\+Vector }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} Returns true if the current archive already contains a solution with the same objective values than \+\_\+objective\+Vector \begin{DoxyParams}{Parameters} {\em \+\_\+objective\+Vector} & the objective vector to compare with the current archive \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_fuzzy_archive_aac7b2492146fb6b119533fcd3c9c3c2e}\label{classmoeo_fuzzy_archive_aac7b2492146fb6b119533fcd3c9c3c2e}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!dominates@{dominates}} \index{dominates@{dominates}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{dominates()}{dominates()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::dominates (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} \&}]{\+\_\+objective\+Vector }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} Returns true if the current archive dominates \+\_\+objective\+Vector according to the \mbox{\hyperlink{classmoeo_objective_vector_comparator}{moeo\+Objective\+Vector\+Comparator}} given in the constructor \begin{DoxyParams}{Parameters} {\em \+\_\+objective\+Vector} & the objective vector to compare with the current archive \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_fuzzy_archive_ac25d5ca50e42e2082ad5362ec4389cbd}\label{classmoeo_fuzzy_archive_ac25d5ca50e42e2082ad5362ec4389cbd}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!equals@{equals}} \index{equals@{equals}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{equals()}{equals()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::equals (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+arch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Returns true if the current archive contains the same objective vectors than the given archive \+\_\+arch \begin{DoxyParams}{Parameters} {\em \+\_\+arch} & the given archive \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_fuzzy_archive_a873664569397df0c73d2615d1dd2b12b}\label{classmoeo_fuzzy_archive_a873664569397df0c73d2615d1dd2b12b}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!operator()@{operator()}} \index{operator()@{operator()}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ virtual bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Updates the archive with a given population \+\_\+pop \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & the given population \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} if at least one \+\_\+pop\mbox{[}i\mbox{]} is added to the archive \end{DoxyReturn} Implements \mbox{\hyperlink{classeo_u_f_a786e028409366dc273e19104f17ba68a}{eo\+U\+F$<$ const eo\+Pop$<$ M\+O\+E\+O\+T $>$ \&, bool $>$}}. \mbox{\Hypertarget{classmoeo_fuzzy_archive_ac22c95c4ba40b74506122f6df42d51c9}\label{classmoeo_fuzzy_archive_ac22c95c4ba40b74506122f6df42d51c9}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!operator()@{operator()}} \index{operator()@{operator()}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ virtual bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{const M\+O\+E\+OT \&}]{\+\_\+moeo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} Updates the archive with a given individual \+\_\+moeo \begin{DoxyParams}{Parameters} {\em \+\_\+moeo} & the given individual \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} if the \+\_\+moeo is added to the archive \end{DoxyReturn} Implements \mbox{\hyperlink{classeo_u_f_a786e028409366dc273e19104f17ba68a}{eo\+U\+F$<$ const M\+O\+E\+O\+T \&, bool $>$}}. \mbox{\Hypertarget{classmoeo_fuzzy_archive_a9b019c14b5069e013e078a771d4bd49e}\label{classmoeo_fuzzy_archive_a9b019c14b5069e013e078a771d4bd49e}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!update@{update}} \index{update@{update}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{update()}{update()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::update (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}} Updates the archive with a given population \+\_\+pop \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & the given population \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_fuzzy_archive_aa92695e121b84518d59463cf49902ed7}\label{classmoeo_fuzzy_archive_aa92695e121b84518d59463cf49902ed7}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!update@{update}} \index{update@{update}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{update()}{update()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::update (\begin{DoxyParamCaption}\item[{const M\+O\+E\+OT \&}]{\+\_\+moeo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}} Updates the archive with a given individual \+\_\+moeo \begin{DoxyParams}{Parameters} {\em \+\_\+moeo} & the given individual \\ \hline \end{DoxyParams} \doxysubsection{Member Data Documentation} \mbox{\Hypertarget{classmoeo_fuzzy_archive_aa8727ee1d987a2f8c3bdccc580321d11}\label{classmoeo_fuzzy_archive_aa8727ee1d987a2f8c3bdccc580321d11}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!FuzzyComparator@{FuzzyComparator}} \index{FuzzyComparator@{FuzzyComparator}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{FuzzyComparator}{FuzzyComparator}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ moeo\+Fuzzy\+Pareto\+Comparator$<$ \mbox{\hyperlink{classmoeo_fuzzy_archive_a1042c56e288d01f6ba55d6a5502a6e66}{Objective\+Vector}} $>$ \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::Fuzzy\+Comparator\hspace{0.3cm}{\ttfamily [protected]}} A comparator based on fuzzy Pareto dominance (used as default) \mbox{\Hypertarget{classmoeo_fuzzy_archive_afbf229fdb48831ab185ad2bd002b6b83}\label{classmoeo_fuzzy_archive_afbf229fdb48831ab185ad2bd002b6b83}} \index{moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}!replace@{replace}} \index{replace@{replace}!moeoFuzzyArchive$<$ MOEOT $>$@{moeoFuzzyArchive$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{replace}{replace}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ bool \mbox{\hyperlink{classmoeo_fuzzy_archive}{moeo\+Fuzzy\+Archive}}$<$ M\+O\+E\+OT $>$\+::replace\hspace{0.3cm}{\ttfamily [protected]}} boolean The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item moeo/src/archive/moeo\+Fuzzy\+Archive.\+h\end{DoxyCompactItemize}