\hypertarget{classeo_ring_topology}{}\doxysection{eo\+Ring\+Topology$<$ P\+OT $>$ Class Template Reference} \label{classeo_ring_topology}\index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} {\ttfamily \#include $<$eo\+Ring\+Topology.\+h$>$} Inheritance diagram for eo\+Ring\+Topology$<$ P\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_ring_topology__inherit__graph} \end{center} \end{figure} Collaboration diagram for eo\+Ring\+Topology$<$ P\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_ring_topology__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classeo_ring_topology_a27ad6deace780d582ab4cf31eaa0df7c}{eo\+Ring\+Topology}} (unsigned \+\_\+neighborhood\+Size) \item void \mbox{\hyperlink{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}{setup}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&\+\_\+pop) \item unsigned \mbox{\hyperlink{classeo_ring_topology_a49c4a76a90d808842af23cc90017fb6f}{retrieve\+Neighborhood\+By\+Indice}} (unsigned \+\_\+indice) \item void \mbox{\hyperlink{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice) \item P\+OT \& \mbox{\hyperlink{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}{best}} (unsigned \+\_\+indice) \item void \mbox{\hyperlink{classeo_ring_topology_acf7a9bf9d5395d04bac38d92aa372f97}{print\+On}} () \item \mbox{\Hypertarget{classeo_ring_topology_aa16181ac6df9f7545059873245cd9d9e}\label{classeo_ring_topology_aa16181ac6df9f7545059873245cd9d9e}} virtual P\+OT \& {\bfseries global\+Best} () \item \mbox{\hyperlink{classeo_ring_topology_a27ad6deace780d582ab4cf31eaa0df7c}{eo\+Ring\+Topology}} (unsigned \+\_\+neighborhood\+Size) \item void \mbox{\hyperlink{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}{setup}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&\+\_\+pop) \item unsigned \mbox{\hyperlink{classeo_ring_topology_a49c4a76a90d808842af23cc90017fb6f}{retrieve\+Neighborhood\+By\+Indice}} (unsigned \+\_\+indice) \item void \mbox{\hyperlink{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice) \item P\+OT \& \mbox{\hyperlink{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}{best}} (unsigned \+\_\+indice) \item void \mbox{\hyperlink{classeo_ring_topology_aa0601c3f73d936beb5084ac0f6a5dcaf}{print\+On}} (std\+::ostream \&out) const \item \mbox{\Hypertarget{classeo_ring_topology_aa16181ac6df9f7545059873245cd9d9e}\label{classeo_ring_topology_aa16181ac6df9f7545059873245cd9d9e}} virtual P\+OT \& {\bfseries global\+Best} () \end{DoxyCompactItemize} \doxysubsection*{Protected Attributes} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_ring_topology_a8af7741605656ab36100419145bbde83}\label{classeo_ring_topology_a8af7741605656ab36100419145bbde83}} std\+::vector$<$ \mbox{\hyperlink{classeo_social_neighborhood}{eo\+Social\+Neighborhood}}$<$ P\+OT $>$ $>$ {\bfseries neighborhoods} \item \mbox{\Hypertarget{classeo_ring_topology_a04624ad8faba0c36896f7f9d99871583}\label{classeo_ring_topology_a04624ad8faba0c36896f7f9d99871583}} unsigned {\bfseries neighborhood\+Size} \item \mbox{\Hypertarget{classeo_ring_topology_aa702a7deca472b1a883625f239611589}\label{classeo_ring_topology_aa702a7deca472b1a883625f239611589}} bool {\bfseries is\+Setup} \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Detailed Description} \subsubsection*{template$<$class P\+OT$>$\newline class eo\+Ring\+Topology$<$ P\+O\+T $>$} Static ring topology for particle swarm optimization. The neighborhoods are built using a ring based on each particle\textquotesingle{}s indice and do not change for all the time steps. Only the best particle in each neighborhood is potentially updated thanks to the \char`\"{}update\+Neighborhood\char`\"{} method. \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classeo_ring_topology_a27ad6deace780d582ab4cf31eaa0df7c}\label{classeo_ring_topology_a27ad6deace780d582ab4cf31eaa0df7c}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!eoRingTopology@{eoRingTopology}} \index{eoRingTopology@{eoRingTopology}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{eoRingTopology()}{eoRingTopology()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+neighborhood\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} The only Ctor. \begin{DoxyParams}{Parameters} {\em \+\_\+neighborhood\+Size} & -\/ The size of each neighborhood. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_ring_topology_a27ad6deace780d582ab4cf31eaa0df7c}\label{classeo_ring_topology_a27ad6deace780d582ab4cf31eaa0df7c}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!eoRingTopology@{eoRingTopology}} \index{eoRingTopology@{eoRingTopology}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{eoRingTopology()}{eoRingTopology()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+neighborhood\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} The only Ctor. \begin{DoxyParams}{Parameters} {\em \+\_\+neighborhood\+Size} & -\/ The size of each neighborhood. \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}\label{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!best@{best}} \index{best@{best}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ P\+OT\& \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::best (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Returns the best particle belonging to the neighborhood of the given particle. \begin{DoxyParams}{Parameters} {\em \+\_\+indice} & -\/ The indice of a particle in the population \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} P\+OT \& -\/ The best particle in the neighborhood of the particle whose indice is \+\_\+indice \end{DoxyReturn} Implements \mbox{\hyperlink{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}\label{classeo_ring_topology_ac5fdfc3b9dab8e50a7c6f44f8c68ba30}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!best@{best}} \index{best@{best}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ P\+OT\& \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::best (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Returns the best particle belonging to the neighborhood of the given particle. \begin{DoxyParams}{Parameters} {\em \+\_\+indice} & -\/ The indice of a particle in the population \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} P\+OT \& -\/ The best particle in the neighborhood of the particle whose indice is \+\_\+indice \end{DoxyReturn} Implements \mbox{\hyperlink{classeo_topology_a35887c5b1b9a7f7aae89166d7a6bb732}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_ring_topology_acf7a9bf9d5395d04bac38d92aa372f97}\label{classeo_ring_topology_acf7a9bf9d5395d04bac38d92aa372f97}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!printOn@{printOn}} \index{printOn@{printOn}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::print\+On (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Print the structure of the topology on the standard output. Implements \mbox{\hyperlink{classeo_topology_a96f44377c7cf60ab8fede4ea0fa568a9}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_ring_topology_aa0601c3f73d936beb5084ac0f6a5dcaf}\label{classeo_ring_topology_aa0601c3f73d936beb5084ac0f6a5dcaf}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!printOn@{printOn}} \index{printOn@{printOn}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Print the structure of the topology on the standard output. Reimplemented from \mbox{\hyperlink{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}{eo\+Pop$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_ring_topology_a49c4a76a90d808842af23cc90017fb6f}\label{classeo_ring_topology_a49c4a76a90d808842af23cc90017fb6f}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}} \index{retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{retrieveNeighborhoodByIndice()}{retrieveNeighborhoodByIndice()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ unsigned \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::retrieve\+Neighborhood\+By\+Indice (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Retrieves the neighboorhood of a particle. \begin{DoxyReturn}{Returns} \+\_\+indice -\/ The particle indice (in the population) \end{DoxyReturn} \mbox{\Hypertarget{classeo_ring_topology_a49c4a76a90d808842af23cc90017fb6f}\label{classeo_ring_topology_a49c4a76a90d808842af23cc90017fb6f}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}} \index{retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{retrieveNeighborhoodByIndice()}{retrieveNeighborhoodByIndice()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ unsigned \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::retrieve\+Neighborhood\+By\+Indice (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Retrieves the neighboorhood of a particle. \begin{DoxyReturn}{Returns} \+\_\+indice -\/ The particle indice (in the population) \end{DoxyReturn} \mbox{\Hypertarget{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}\label{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!setup@{setup}} \index{setup@{setup}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::setup (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Builds the neighborhoods using a ring strategy based on the particle indices. Also initializes the best particle of each neighborhood. \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & -\/ The population used to build the only neighborhood. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \end{DoxyReturn} Implements \mbox{\hyperlink{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}\label{classeo_ring_topology_a167963748515f8849c1077c22d29a7e1}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!setup@{setup}} \index{setup@{setup}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::setup (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Builds the neighborhoods using a ring strategy based on the particle indices. Also initializes the best particle of each neighborhood. \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & -\/ The population used to build the only neighborhood. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} \end{DoxyReturn} Implements \mbox{\hyperlink{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}\label{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{P\+OT \&}]{\+\_\+po, }\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Updates the best fitness of the given particle and potentially replaces the local best the given particle it\textquotesingle{}s better. \begin{DoxyParams}{Parameters} {\em \+\_\+po} & -\/ The particle to update \\ \hline {\em \+\_\+indice} & -\/ The indice of the given particle in the population \\ \hline \end{DoxyParams} Implements \mbox{\hyperlink{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}\label{classeo_ring_topology_ae39b4f72578667c9631aeea0ed086282}} \index{eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoRingTopology$<$ POT $>$@{eoRingTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_ring_topology}{eo\+Ring\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{P\+OT \&}]{\+\_\+po, }\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Updates the best fitness of the given particle and potentially replaces the local best the given particle it\textquotesingle{}s better. \begin{DoxyParams}{Parameters} {\em \+\_\+po} & -\/ The particle to update \\ \hline {\em \+\_\+indice} & -\/ The indice of the given particle in the population \\ \hline \end{DoxyParams} Implements \mbox{\hyperlink{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}{eo\+Topology$<$ P\+O\+T $>$}}. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item deprecated/eo/src/eo\+Ring\+Topology.\+h\end{DoxyCompactItemize}