\hypertarget{classeo_linear_topology}{}\doxysection{eo\+Linear\+Topology$<$ P\+OT $>$ Class Template Reference} \label{classeo_linear_topology}\index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} {\ttfamily \#include $<$eo\+Linear\+Topology.\+h$>$} Inheritance diagram for eo\+Linear\+Topology$<$ P\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_linear_topology__inherit__graph} \end{center} \end{figure} Collaboration diagram for eo\+Linear\+Topology$<$ P\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_linear_topology__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classeo_linear_topology_a4c9dc4a562945cd36a351d22865d08a5}{eo\+Linear\+Topology}} (unsigned \+\_\+neighborhood\+Size) \item void \mbox{\hyperlink{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}{setup}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&\+\_\+pop) \item unsigned \mbox{\hyperlink{classeo_linear_topology_adf373efabc467661358612486b4d338a}{retrieve\+Neighborhood\+By\+Indice}} (unsigned \+\_\+indice) \item void \mbox{\hyperlink{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice) \item P\+OT \& \mbox{\hyperlink{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}{best}} (unsigned \+\_\+indice) \item \mbox{\Hypertarget{classeo_linear_topology_a17bc893c5c0818ef5a4e34382e7714d6}\label{classeo_linear_topology_a17bc893c5c0818ef5a4e34382e7714d6}} virtual P\+OT \& {\bfseries global\+Best} () \item void \mbox{\hyperlink{classeo_linear_topology_a0e7b4b3a67d55827a66c33051145f47b}{print\+On}} () \item \mbox{\hyperlink{classeo_linear_topology_a4c9dc4a562945cd36a351d22865d08a5}{eo\+Linear\+Topology}} (unsigned \+\_\+neighborhood\+Size) \item void \mbox{\hyperlink{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}{setup}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ P\+OT $>$ \&\+\_\+pop) \item unsigned \mbox{\hyperlink{classeo_linear_topology_adf373efabc467661358612486b4d338a}{retrieve\+Neighborhood\+By\+Indice}} (unsigned \+\_\+indice) \item void \mbox{\hyperlink{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice) \item P\+OT \& \mbox{\hyperlink{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}{best}} (unsigned \+\_\+indice) \item \mbox{\Hypertarget{classeo_linear_topology_a17bc893c5c0818ef5a4e34382e7714d6}\label{classeo_linear_topology_a17bc893c5c0818ef5a4e34382e7714d6}} virtual P\+OT \& {\bfseries global\+Best} () \item void \mbox{\hyperlink{classeo_linear_topology_a4f847929fb8f1ac179c41151202cbfd4}{print\+On}} (std\+::ostream \&out) const \end{DoxyCompactItemize} \doxysubsection*{Protected Attributes} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_linear_topology_a135563341f5f751224450a8e521e262d}\label{classeo_linear_topology_a135563341f5f751224450a8e521e262d}} std\+::vector$<$ \mbox{\hyperlink{classeo_social_neighborhood}{eo\+Social\+Neighborhood}}$<$ P\+OT $>$ $>$ {\bfseries neighborhoods} \item \mbox{\Hypertarget{classeo_linear_topology_aa0438c82b621b66b3fa88d56d681c9a1}\label{classeo_linear_topology_aa0438c82b621b66b3fa88d56d681c9a1}} unsigned {\bfseries neighborhood\+Size} \item \mbox{\Hypertarget{classeo_linear_topology_ae44362ad1179041bb2ac0346fbef6b80}\label{classeo_linear_topology_ae44362ad1179041bb2ac0346fbef6b80}} bool {\bfseries is\+Setup} \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Detailed Description} \subsubsection*{template$<$class P\+OT$>$\newline class eo\+Linear\+Topology$<$ P\+O\+T $>$} One of the local best strategies for particle swarm optimization. Each particle has a fixed number of neighbours, ans the neighborhood is social. The topology is never modified during the flight. \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classeo_linear_topology_a4c9dc4a562945cd36a351d22865d08a5}\label{classeo_linear_topology_a4c9dc4a562945cd36a351d22865d08a5}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!eoLinearTopology@{eoLinearTopology}} \index{eoLinearTopology@{eoLinearTopology}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{eoLinearTopology()}{eoLinearTopology()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+neighborhood\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Build the topology made of \+\_\+neighborhood\+Size neighborhoods. \begin{DoxyParams}{Parameters} {\em \+\_\+neighborhood\+Size} & -\/ The size of each neighborhood. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_linear_topology_a4c9dc4a562945cd36a351d22865d08a5}\label{classeo_linear_topology_a4c9dc4a562945cd36a351d22865d08a5}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!eoLinearTopology@{eoLinearTopology}} \index{eoLinearTopology@{eoLinearTopology}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{eoLinearTopology()}{eoLinearTopology()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+neighborhood\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Build the topology made of \+\_\+neighborhood\+Size neighborhoods. \begin{DoxyParams}{Parameters} {\em \+\_\+neighborhood\+Size} & -\/ The size of each neighborhood. \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}\label{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!best@{best}} \index{best@{best}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ P\+OT\& \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::best (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Return the best informative of a particle. Could be itself. \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_linear_topology_a698c5e141e6704e83d62e53348ba3b31}\label{classeo_linear_topology_a698c5e141e6704e83d62e53348ba3b31}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!best@{best}} \index{best@{best}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{best()}{best()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ P\+OT\& \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::best (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Return the best informative of a particle. Could be itself. \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_linear_topology_a0e7b4b3a67d55827a66c33051145f47b}\label{classeo_linear_topology_a0e7b4b3a67d55827a66c33051145f47b}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!printOn@{printOn}} \index{printOn@{printOn}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::print\+On (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Print the structure of the topology on the standrad output. Implements \mbox{\hyperlink{classeo_topology_a96f44377c7cf60ab8fede4ea0fa568a9}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_linear_topology_a4f847929fb8f1ac179c41151202cbfd4}\label{classeo_linear_topology_a4f847929fb8f1ac179c41151202cbfd4}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!printOn@{printOn}} \index{printOn@{printOn}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+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 standrad output. Reimplemented from \mbox{\hyperlink{classeo_pop_a86429ea46461d7f049157dc0ceebcd34}{eo\+Pop$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_linear_topology_adf373efabc467661358612486b4d338a}\label{classeo_linear_topology_adf373efabc467661358612486b4d338a}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}} \index{retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{retrieveNeighborhoodByIndice()}{retrieveNeighborhoodByIndice()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ unsigned \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::retrieve\+Neighborhood\+By\+Indice (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Retrieve the neighboorhood of a particle. \begin{DoxyReturn}{Returns} \+\_\+indice -\/ The particle indice (in the population) \end{DoxyReturn} \mbox{\Hypertarget{classeo_linear_topology_adf373efabc467661358612486b4d338a}\label{classeo_linear_topology_adf373efabc467661358612486b4d338a}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}} \index{retrieveNeighborhoodByIndice@{retrieveNeighborhoodByIndice}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{retrieveNeighborhoodByIndice()}{retrieveNeighborhoodByIndice()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ unsigned \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::retrieve\+Neighborhood\+By\+Indice (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Retrieve the neighboorhood of a particle. \begin{DoxyReturn}{Returns} \+\_\+indice -\/ The particle indice (in the population) \end{DoxyReturn} \mbox{\Hypertarget{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}\label{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!setup@{setup}} \index{setup@{setup}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+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]}} Build the neighborhoods contained in the topology. \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & -\/ The population used to build the neighborhoods. If it remains several particle (because \+\_\+pop.\+size()neighborhood\+Size !=0), there are inserted in the last neighborhood. So it may be possible to have a bigger neighborhood. \\ \hline \end{DoxyParams} Implements \mbox{\hyperlink{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}\label{classeo_linear_topology_aba7386f3b7df0dfdff9a3a112c976459}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!setup@{setup}} \index{setup@{setup}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+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]}} Build the neighborhoods contained in the topology. \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & -\/ The population used to build the neighborhoods. If it remains several particle (because \+\_\+pop.\+size()neighborhood\+Size !=0), there are inserted in the last neighborhood. So it may be possible to have a bigger neighborhood. \\ \hline \end{DoxyParams} Implements \mbox{\hyperlink{classeo_topology_a74566cef431a2a1d0b68eea010c863a7}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}\label{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{P\+OT \&}]{\+\_\+po, }\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Update the neighborhood\+: update the particle\textquotesingle{}s best fitness and the best particle of the corresponding neighborhood. Implements \mbox{\hyperlink{classeo_topology_af26fb51e143c892a1f8ec360a8230b0c}{eo\+Topology$<$ P\+O\+T $>$}}. \mbox{\Hypertarget{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}\label{classeo_linear_topology_a78efbd86790f8580513b36caeb7c8670}} \index{eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}} \index{updateNeighborhood@{updateNeighborhood}!eoLinearTopology$<$ POT $>$@{eoLinearTopology$<$ POT $>$}} \doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class P\+OT $>$ \\ void \mbox{\hyperlink{classeo_linear_topology}{eo\+Linear\+Topology}}$<$ P\+OT $>$\+::update\+Neighborhood (\begin{DoxyParamCaption}\item[{P\+OT \&}]{\+\_\+po, }\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Update the neighborhood\+: update the particle\textquotesingle{}s best fitness and the best particle of the corresponding neighborhood. 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\+Linear\+Topology.\+h\end{DoxyCompactItemize}