\hypertarget{classeo_constricted_velocity}{}\doxysection{eo\+Constricted\+Velocity$<$ P\+OT $>$ Class Template Reference}
\label{classeo_constricted_velocity}\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}


{\ttfamily \#include $<$eo\+Constricted\+Velocity.\+h$>$}



Inheritance diagram for eo\+Constricted\+Velocity$<$ P\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=334pt]{classeo_constricted_velocity__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Constricted\+Velocity$<$ P\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_constricted_velocity__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_afbad598da453612d3501ae4cd958c548}\label{classeo_constricted_velocity_afbad598da453612d3501ae4cd958c548}} 
typedef P\+O\+T\+::\+Particle\+Velocity\+Type {\bfseries Velocity\+Type}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_afbad598da453612d3501ae4cd958c548}\label{classeo_constricted_velocity_afbad598da453612d3501ae4cd958c548}} 
typedef P\+O\+T\+::\+Particle\+Velocity\+Type {\bfseries Velocity\+Type}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_constricted_velocity_a8b0e6c4d47891563b3faeb1e3f11dd25}{eo\+Constricted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, \mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} \&\+\_\+bnds\+Modifier, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
\mbox{\hyperlink{classeo_constricted_velocity_a0bef9dc4b41f968707ea55212a3d1401}{eo\+Constricted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
\mbox{\hyperlink{classeo_constricted_velocity_a1cab8d4d0e4bb2e5af4e51477aebcd65}{eo\+Constricted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
void \mbox{\hyperlink{classeo_constricted_velocity_af5d931c8338d40270c638354da86b18a}{operator()}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\item 
void \mbox{\hyperlink{classeo_constricted_velocity_a32564a70ed86e69b5f9b716a9f42a6f0}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\item 
\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \& \mbox{\hyperlink{classeo_constricted_velocity_a959138865d08916203d695b0c5103dd7}{get\+Topology}} ()
\item 
\mbox{\hyperlink{classeo_constricted_velocity_a8b0e6c4d47891563b3faeb1e3f11dd25}{eo\+Constricted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, \mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} \&\+\_\+bnds\+Modifier, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
\mbox{\hyperlink{classeo_constricted_velocity_a0bef9dc4b41f968707ea55212a3d1401}{eo\+Constricted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
\mbox{\hyperlink{classeo_constricted_velocity_a1cab8d4d0e4bb2e5af4e51477aebcd65}{eo\+Constricted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
void \mbox{\hyperlink{classeo_constricted_velocity_af5d931c8338d40270c638354da86b18a}{operator()}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\item 
void \mbox{\hyperlink{classeo_constricted_velocity_a32564a70ed86e69b5f9b716a9f42a6f0}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\item 
\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \& \mbox{\hyperlink{classeo_constricted_velocity_a959138865d08916203d695b0c5103dd7}{get\+Topology}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_ae2a81a953f79bc32ff4082a887664c38}\label{classeo_constricted_velocity_ae2a81a953f79bc32ff4082a887664c38}} 
\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \& {\bfseries topology}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_ade5b4e1e0a5e3866816fca3e00013a88}\label{classeo_constricted_velocity_ade5b4e1e0a5e3866816fca3e00013a88}} 
const Velocity\+Type \& {\bfseries c1}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_a1b7d54410672d4096b94cfc17e3cff4e}\label{classeo_constricted_velocity_a1b7d54410672d4096b94cfc17e3cff4e}} 
const Velocity\+Type \& {\bfseries c2}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_a45ec9b596a1fbccf53e7bd861360cbca}\label{classeo_constricted_velocity_a45ec9b596a1fbccf53e7bd861360cbca}} 
const Velocity\+Type \& {\bfseries coeff}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_ae79107b5585ca4065c0a61d8429e8164}\label{classeo_constricted_velocity_ae79107b5585ca4065c0a61d8429e8164}} 
\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \& {\bfseries gen}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_ac5a8a490ff0d3d231924d7be39dd31b4}\label{classeo_constricted_velocity_ac5a8a490ff0d3d231924d7be39dd31b4}} 
\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \& {\bfseries bounds}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_a138ef59e532fc49d55036edb3ff4e01c}\label{classeo_constricted_velocity_a138ef59e532fc49d55036edb3ff4e01c}} 
\mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} \& {\bfseries bnds\+Modifier}
\item 
\mbox{\Hypertarget{classeo_constricted_velocity_ac8a33c04e38f92a16ea6da3fa946fbf0}\label{classeo_constricted_velocity_ac8a33c04e38f92a16ea6da3fa946fbf0}} 
\mbox{\hyperlink{classeo_dummy_real_bound_modifier}{eo\+Dummy\+Real\+Bound\+Modifier}} {\bfseries dummy\+Modifier}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class P\+OT$>$\newline
class eo\+Constricted\+Velocity$<$ P\+O\+T $>$}

Constricted velocity performer for particle swarm optimization. Derivated from abstract \mbox{\hyperlink{classeo_velocity}{eo\+Velocity}}, At step t+1 \+: v(t+1)= C $\ast$ \mbox{[} v(t) + c1$\ast$r1 $\ast$ (xbest(t)-\/x(t)) + c2$\ast$r2 $\ast$ (gbest(t) -\/ x(t)) \mbox{]} C is fixed for all the particles and all the generations. Default C = 2 $\ast$ k / abs(2 -\/ P -\/ sqrt (P$\ast$(P-\/4))) (ci and C given;P=c1$\ast$r1 + c2$\ast$r2 ; Ri chosen at random $\ast$ in \mbox{[}0;1\mbox{]}) 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_constricted_velocity_a8b0e6c4d47891563b3faeb1e3f11dd25}\label{classeo_constricted_velocity_a8b0e6c4d47891563b3faeb1e3f11dd25}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!eoConstrictedVelocity@{eoConstrictedVelocity}}
\index{eoConstrictedVelocity@{eoConstrictedVelocity}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoConstrictedVelocity()}{eoConstrictedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{const Velocity\+Type \&}]{\+\_\+coeff,  }\item[{const Velocity\+Type \&}]{\+\_\+c1,  }\item[{const Velocity\+Type \&}]{\+\_\+c2,  }\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{\mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} \&}]{\+\_\+bnds\+Modifier,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+gen = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Full constructor\+: Bounds and bound modifier required 
\begin{DoxyParams}{Parameters}
{\em \+\_\+topology} & -\/ The topology to get the global/local/other best \\
\hline
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
\hline
{\em \+\_\+c1} & -\/ The first learning factor used for the particle\textquotesingle{}s best. Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+c2} & -\/ The second learning factor used for the local/global best(s). Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+bounds} & -\/ An \mbox{\hyperlink{classeo_real_base_vector_bounds}{eo\+Real\+Base\+Vector\+Bounds}}\+: real bounds for real velocities. If the velocities are not real, they won\textquotesingle{}t be bounded by default. Should have a eo\+Bounds ? \\
\hline
{\em \+\_\+bnds\+Modifier} & -\/ An \mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} used to modify the bounds (for real bounds only). \\
\hline
{\em \+\_\+gen} & -\/ The eo random generator, default=rng \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_constricted_velocity_a0bef9dc4b41f968707ea55212a3d1401}\label{classeo_constricted_velocity_a0bef9dc4b41f968707ea55212a3d1401}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!eoConstrictedVelocity@{eoConstrictedVelocity}}
\index{eoConstrictedVelocity@{eoConstrictedVelocity}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoConstrictedVelocity()}{eoConstrictedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{const Velocity\+Type \&}]{\+\_\+coeff,  }\item[{const Velocity\+Type \&}]{\+\_\+c1,  }\item[{const Velocity\+Type \&}]{\+\_\+c2,  }\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+gen = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor\+: No bound updater required $<$-\/$>$ fixed bounds 
\begin{DoxyParams}{Parameters}
{\em \+\_\+topology} & -\/ The topology to get the global/local/other best \\
\hline
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
\hline
{\em \+\_\+c1} & -\/ The first learning factor used for the particle\textquotesingle{}s best. Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+c2} & -\/ The second learning factor used for the local/global best(s). Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+bounds} & -\/ An \mbox{\hyperlink{classeo_real_base_vector_bounds}{eo\+Real\+Base\+Vector\+Bounds}}\+: real bounds for real velocities. If the velocities are not real, they won\textquotesingle{}t be bounded by default. Should have a eo\+Bounds ? \\
\hline
{\em \+\_\+gen} & -\/ The eo random generator, default=rng \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_constricted_velocity_a1cab8d4d0e4bb2e5af4e51477aebcd65}\label{classeo_constricted_velocity_a1cab8d4d0e4bb2e5af4e51477aebcd65}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!eoConstrictedVelocity@{eoConstrictedVelocity}}
\index{eoConstrictedVelocity@{eoConstrictedVelocity}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoConstrictedVelocity()}{eoConstrictedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{const Velocity\+Type \&}]{\+\_\+coeff,  }\item[{const Velocity\+Type \&}]{\+\_\+c1,  }\item[{const Velocity\+Type \&}]{\+\_\+c2,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+gen = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor\+: Neither bounds nor bound updater required $<$-\/$>$ free velocity 
\begin{DoxyParams}{Parameters}
{\em \+\_\+topology} & -\/ The topology to get the global/local/other best \\
\hline
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
\hline
{\em \+\_\+c1} & -\/ The first learning factor used for the particle\textquotesingle{}s best. Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+c2} & -\/ The second learning factor used for the local/global best(s). Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+gen} & -\/ The eo random generator, default=rng \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_constricted_velocity_a8b0e6c4d47891563b3faeb1e3f11dd25}\label{classeo_constricted_velocity_a8b0e6c4d47891563b3faeb1e3f11dd25}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!eoConstrictedVelocity@{eoConstrictedVelocity}}
\index{eoConstrictedVelocity@{eoConstrictedVelocity}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoConstrictedVelocity()}{eoConstrictedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{const Velocity\+Type \&}]{\+\_\+coeff,  }\item[{const Velocity\+Type \&}]{\+\_\+c1,  }\item[{const Velocity\+Type \&}]{\+\_\+c2,  }\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{\mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} \&}]{\+\_\+bnds\+Modifier,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+gen = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Full constructor\+: Bounds and bound modifier required 
\begin{DoxyParams}{Parameters}
{\em \+\_\+topology} & -\/ The topology to get the global/local/other best \\
\hline
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
\hline
{\em \+\_\+c1} & -\/ The first learning factor used for the particle\textquotesingle{}s best. Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+c2} & -\/ The second learning factor used for the local/global best(s). Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+bounds} & -\/ An \mbox{\hyperlink{classeo_real_base_vector_bounds}{eo\+Real\+Base\+Vector\+Bounds}}\+: real bounds for real velocities. If the velocities are not real, they won\textquotesingle{}t be bounded by default. Should have a eo\+Bounds ? \\
\hline
{\em \+\_\+bnds\+Modifier} & -\/ An \mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} used to modify the bounds (for real bounds only). \\
\hline
{\em \+\_\+gen} & -\/ The eo random generator, default=rng \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_constricted_velocity_a0bef9dc4b41f968707ea55212a3d1401}\label{classeo_constricted_velocity_a0bef9dc4b41f968707ea55212a3d1401}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!eoConstrictedVelocity@{eoConstrictedVelocity}}
\index{eoConstrictedVelocity@{eoConstrictedVelocity}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoConstrictedVelocity()}{eoConstrictedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{const Velocity\+Type \&}]{\+\_\+coeff,  }\item[{const Velocity\+Type \&}]{\+\_\+c1,  }\item[{const Velocity\+Type \&}]{\+\_\+c2,  }\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+gen = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor\+: No bound updater required $<$-\/$>$ fixed bounds 
\begin{DoxyParams}{Parameters}
{\em \+\_\+topology} & -\/ The topology to get the global/local/other best \\
\hline
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
\hline
{\em \+\_\+c1} & -\/ The first learning factor used for the particle\textquotesingle{}s best. Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+c2} & -\/ The second learning factor used for the local/global best(s). Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+bounds} & -\/ An \mbox{\hyperlink{classeo_real_base_vector_bounds}{eo\+Real\+Base\+Vector\+Bounds}}\+: real bounds for real velocities. If the velocities are not real, they won\textquotesingle{}t be bounded by default. Should have a eo\+Bounds ? \\
\hline
{\em \+\_\+gen} & -\/ The eo random generator, default=rng \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_constricted_velocity_a1cab8d4d0e4bb2e5af4e51477aebcd65}\label{classeo_constricted_velocity_a1cab8d4d0e4bb2e5af4e51477aebcd65}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!eoConstrictedVelocity@{eoConstrictedVelocity}}
\index{eoConstrictedVelocity@{eoConstrictedVelocity}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoConstrictedVelocity()}{eoConstrictedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{const Velocity\+Type \&}]{\+\_\+coeff,  }\item[{const Velocity\+Type \&}]{\+\_\+c1,  }\item[{const Velocity\+Type \&}]{\+\_\+c2,  }\item[{\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&}]{\+\_\+gen = {\ttfamily rng} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor\+: Neither bounds nor bound updater required $<$-\/$>$ free velocity 
\begin{DoxyParams}{Parameters}
{\em \+\_\+topology} & -\/ The topology to get the global/local/other best \\
\hline
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
\hline
{\em \+\_\+c1} & -\/ The first learning factor used for the particle\textquotesingle{}s best. Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+c2} & -\/ The second learning factor used for the local/global best(s). Type must be P\+O\+T\+::\+Particle\+Velocity\+Type \\
\hline
{\em \+\_\+gen} & -\/ The eo random generator, default=rng \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classeo_constricted_velocity_a959138865d08916203d695b0c5103dd7}\label{classeo_constricted_velocity_a959138865d08916203d695b0c5103dd7}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!getTopology@{getTopology}}
\index{getTopology@{getTopology}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{getTopology()}{getTopology()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$P\+OT$>$\& \mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::get\+Topology (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

eo\+Topology$<$\+P\+O\+T$>$ get\+Topology\begin{DoxyReturn}{Returns}
topology 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classeo_velocity}{eo\+Velocity$<$ P\+O\+T $>$}}.

\mbox{\Hypertarget{classeo_constricted_velocity_a959138865d08916203d695b0c5103dd7}\label{classeo_constricted_velocity_a959138865d08916203d695b0c5103dd7}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!getTopology@{getTopology}}
\index{getTopology@{getTopology}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{getTopology()}{getTopology()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$P\+OT$>$\& \mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::get\+Topology (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

eo\+Topology$<$\+P\+O\+T$>$ get\+Topology\begin{DoxyReturn}{Returns}
topology 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classeo_velocity}{eo\+Velocity$<$ P\+O\+T $>$}}.

\mbox{\Hypertarget{classeo_constricted_velocity_af5d931c8338d40270c638354da86b18a}\label{classeo_constricted_velocity_af5d931c8338d40270c638354da86b18a}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{P\+OT \&}]{\+\_\+po,  }\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Evaluate the new velocities of the given particle. Need an indice to identify the particle into the topology. Steps are \+:
\begin{DoxyItemize}
\item evaluate r1 and r2, the customed learning factors
\item adjust the size of the bounds (even if dummy)
\item modify the bounds with the bounds modifier (use the dummy modifier if there\textquotesingle{}s no modifier provided) 
\begin{DoxyParams}{Parameters}
{\em \+\_\+po} & -\/ A particle \\
\hline
{\em \+\_\+indice} & -\/ The indice (into the topology) of the given particle \\
\hline
\end{DoxyParams}

\end{DoxyItemize}

Implements \mbox{\hyperlink{classeo_b_f_aa03c40b95210569b826df79a2237a0d0}{eo\+B\+F$<$ P\+O\+T \&, unsigned, void $>$}}.

\mbox{\Hypertarget{classeo_constricted_velocity_af5d931c8338d40270c638354da86b18a}\label{classeo_constricted_velocity_af5d931c8338d40270c638354da86b18a}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ P\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{P\+OT \&}]{\+\_\+po,  }\item[{unsigned}]{\+\_\+indice }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Evaluate the new velocities of the given particle. Need an indice to identify the particle into the topology. Steps are \+:
\begin{DoxyItemize}
\item evaluate r1 and r2, the customed learning factors
\item adjust the size of the bounds (even if dummy)
\item modify the bounds with the bounds modifier (use the dummy modifier if there\textquotesingle{}s no modifier provided) 
\begin{DoxyParams}{Parameters}
{\em \+\_\+po} & -\/ A particle \\
\hline
{\em \+\_\+indice} & -\/ The indice (into the topology) of the given particle \\
\hline
\end{DoxyParams}

\end{DoxyItemize}

Implements \mbox{\hyperlink{classeo_b_f_aa03c40b95210569b826df79a2237a0d0}{eo\+B\+F$<$ P\+O\+T \&, unsigned, void $>$}}.

\mbox{\Hypertarget{classeo_constricted_velocity_a32564a70ed86e69b5f9b716a9f42a6f0}\label{classeo_constricted_velocity_a32564a70ed86e69b5f9b716a9f42a6f0}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}}
\index{updateNeighborhood@{updateNeighborhood}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ 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 of a particle. 

Reimplemented from \mbox{\hyperlink{classeo_velocity_a5e2310d90e8bc72782f4c865706b4549}{eo\+Velocity$<$ P\+O\+T $>$}}.

\mbox{\Hypertarget{classeo_constricted_velocity_a32564a70ed86e69b5f9b716a9f42a6f0}\label{classeo_constricted_velocity_a32564a70ed86e69b5f9b716a9f42a6f0}} 
\index{eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}}
\index{updateNeighborhood@{updateNeighborhood}!eoConstrictedVelocity$<$ POT $>$@{eoConstrictedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_constricted_velocity}{eo\+Constricted\+Velocity}}$<$ 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 of a particle. 

Reimplemented from \mbox{\hyperlink{classeo_velocity_a5e2310d90e8bc72782f4c865706b4549}{eo\+Velocity$<$ P\+O\+T $>$}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
deprecated/eo/src/eo\+Constricted\+Velocity.\+h\end{DoxyCompactItemize}
