\hypertarget{classeo_variable_inertia_weighted_velocity}{}\doxysection{eo\+Variable\+Inertia\+Weighted\+Velocity$<$ P\+OT $>$ Class Template Reference}
\label{classeo_variable_inertia_weighted_velocity}\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}


{\ttfamily \#include $<$eo\+Variable\+Inertia\+Weighted\+Velocity.\+h$>$}



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


Collaboration diagram for eo\+Variable\+Inertia\+Weighted\+Velocity$<$ P\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_variable_inertia_weighted_velocity__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a25be9b8526253bb64ea160d415c3ff0d}\label{classeo_variable_inertia_weighted_velocity_a25be9b8526253bb64ea160d415c3ff0d}} 
typedef P\+O\+T\+::\+Particle\+Velocity\+Type {\bfseries Velocity\+Type}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a25be9b8526253bb64ea160d415c3ff0d}\label{classeo_variable_inertia_weighted_velocity_a25be9b8526253bb64ea160d415c3ff0d}} 
typedef P\+O\+T\+::\+Particle\+Velocity\+Type {\bfseries Velocity\+Type}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity_a2c18908fccfd53d8b10a777e516d7705}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&\+\_\+weight\+Updater, 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_variable_inertia_weighted_velocity_a37d4effaf5dd1714efefd1e40c227b6a}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&\+\_\+weight\+Updater, 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_variable_inertia_weighted_velocity_aaf16206c2607af263f4df170144f5065}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&\+\_\+weight\+Updater, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity_a4e7593c9ced62791ed949de5f0fbed9e}{operator()}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\item 
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity_adf70e0b2c6a331f58407ecff369cb459}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\item 
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity_a2c18908fccfd53d8b10a777e516d7705}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&\+\_\+weight\+Updater, 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_variable_inertia_weighted_velocity_a37d4effaf5dd1714efefd1e40c227b6a}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&\+\_\+weight\+Updater, 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_variable_inertia_weighted_velocity_aaf16206c2607af263f4df170144f5065}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&\+\_\+weight\+Updater, const Velocity\+Type \&\+\_\+c1, const Velocity\+Type \&\+\_\+c2, \mbox{\hyperlink{classeo_rng}{eo\+Rng}} \&\+\_\+gen=rng)
\item 
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity_a4e7593c9ced62791ed949de5f0fbed9e}{operator()}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\item 
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity_adf70e0b2c6a331f58407ecff369cb459}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a2bcf03722fa6144c7fb8d1c583f6bbdc}\label{classeo_variable_inertia_weighted_velocity_a2bcf03722fa6144c7fb8d1c583f6bbdc}} 
\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \& {\bfseries topology}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a48e1a6d2b324cb8ff10e8ae041d902d1}\label{classeo_variable_inertia_weighted_velocity_a48e1a6d2b324cb8ff10e8ae041d902d1}} 
\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \& {\bfseries weight\+Updater}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a9e957206869631a92c271e5e872e517c}\label{classeo_variable_inertia_weighted_velocity_a9e957206869631a92c271e5e872e517c}} 
const Velocity\+Type \& {\bfseries c1}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a4ee3d26f5b1aefcc36f17faba43a3bdb}\label{classeo_variable_inertia_weighted_velocity_a4ee3d26f5b1aefcc36f17faba43a3bdb}} 
const Velocity\+Type \& {\bfseries c2}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_adc7c59637337978190f0d94282986280}\label{classeo_variable_inertia_weighted_velocity_adc7c59637337978190f0d94282986280}} 
\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \& {\bfseries bounds}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a1ed555abe075c7df1d9226a8b1c3a67d}\label{classeo_variable_inertia_weighted_velocity_a1ed555abe075c7df1d9226a8b1c3a67d}} 
\mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} \& {\bfseries bnds\+Modifier}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_aa1c87f6aef3f810581d4e28b785761d5}\label{classeo_variable_inertia_weighted_velocity_aa1c87f6aef3f810581d4e28b785761d5}} 
Velocity\+Type {\bfseries weight}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a6b4baa00c4b9add77141da2cb2208b19}\label{classeo_variable_inertia_weighted_velocity_a6b4baa00c4b9add77141da2cb2208b19}} 
\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \& {\bfseries gen}
\item 
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a03e17a14312da4c6e287cd7efe09c51d}\label{classeo_variable_inertia_weighted_velocity_a03e17a14312da4c6e287cd7efe09c51d}} 
\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\+Variable\+Inertia\+Weighted\+Velocity$<$ P\+O\+T $>$}

Inertia variable weight based velocity for particle swarm optimization. Derivated from abstract \mbox{\hyperlink{classeo_velocity}{eo\+Velocity}}, At step t\+: v(t+1)= w$\ast$v(t) + c1$\ast$r1$\ast$ ( xbest(t)-\/x(t) ) + c2$\ast$r2$\ast$ ( gbest(t) -\/ x(t) ) w is updated each time the velocity performer is called. (ci given and Ri chosen at random in \mbox{[}0;1\mbox{]}). 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_a2c18908fccfd53d8b10a777e516d7705}\label{classeo_variable_inertia_weighted_velocity_a2c18908fccfd53d8b10a777e516d7705}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}}
\index{eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoVariableInertiaWeightedVelocity()}{eoVariableInertiaWeightedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&}]{\+\_\+weight\+Updater,  }\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 \+\_\+weight\+Updater} & -\/ An \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}} used to update the inertia weight \\
\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_variable_inertia_weighted_velocity_a37d4effaf5dd1714efefd1e40c227b6a}\label{classeo_variable_inertia_weighted_velocity_a37d4effaf5dd1714efefd1e40c227b6a}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}}
\index{eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoVariableInertiaWeightedVelocity()}{eoVariableInertiaWeightedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&}]{\+\_\+weight\+Updater,  }\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 \+\_\+weight\+Updater} & -\/ An \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}} used to update the inertia weight \\
\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_variable_inertia_weighted_velocity_aaf16206c2607af263f4df170144f5065}\label{classeo_variable_inertia_weighted_velocity_aaf16206c2607af263f4df170144f5065}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}}
\index{eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoVariableInertiaWeightedVelocity()}{eoVariableInertiaWeightedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&}]{\+\_\+weight\+Updater,  }\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 \+\_\+weight\+Updater} & -\/ An \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}} used to update the inertia weight \\
\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_variable_inertia_weighted_velocity_a2c18908fccfd53d8b10a777e516d7705}\label{classeo_variable_inertia_weighted_velocity_a2c18908fccfd53d8b10a777e516d7705}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}}
\index{eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoVariableInertiaWeightedVelocity()}{eoVariableInertiaWeightedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&}]{\+\_\+weight\+Updater,  }\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 \+\_\+weight\+Updater} & -\/ An \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}} used to update the inertia weight \\
\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_variable_inertia_weighted_velocity_a37d4effaf5dd1714efefd1e40c227b6a}\label{classeo_variable_inertia_weighted_velocity_a37d4effaf5dd1714efefd1e40c227b6a}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}}
\index{eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoVariableInertiaWeightedVelocity()}{eoVariableInertiaWeightedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&}]{\+\_\+weight\+Updater,  }\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 \+\_\+weight\+Updater} & -\/ An \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}} used to update the inertia weight \\
\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_variable_inertia_weighted_velocity_aaf16206c2607af263f4df170144f5065}\label{classeo_variable_inertia_weighted_velocity_aaf16206c2607af263f4df170144f5065}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}}
\index{eoVariableInertiaWeightedVelocity@{eoVariableInertiaWeightedVelocity}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{eoVariableInertiaWeightedVelocity()}{eoVariableInertiaWeightedVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology,  }\item[{\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \&}]{\+\_\+weight\+Updater,  }\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 \+\_\+weight\+Updater} & -\/ An \mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}} used to update the inertia weight \\
\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_variable_inertia_weighted_velocity_a4e7593c9ced62791ed949de5f0fbed9e}\label{classeo_variable_inertia_weighted_velocity_a4e7593c9ced62791ed949de5f0fbed9e}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+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 update the weight with the weight\+Updater (use the dummy updater if there\textquotesingle{}s no updater provided)
\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_variable_inertia_weighted_velocity_a4e7593c9ced62791ed949de5f0fbed9e}\label{classeo_variable_inertia_weighted_velocity_a4e7593c9ced62791ed949de5f0fbed9e}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+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 update the weight with the weight\+Updater (use the dummy updater if there\textquotesingle{}s no updater provided)
\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_variable_inertia_weighted_velocity_adf70e0b2c6a331f58407ecff369cb459}\label{classeo_variable_inertia_weighted_velocity_adf70e0b2c6a331f58407ecff369cb459}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}}
\index{updateNeighborhood@{updateNeighborhood}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+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. 

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

\mbox{\Hypertarget{classeo_variable_inertia_weighted_velocity_adf70e0b2c6a331f58407ecff369cb459}\label{classeo_variable_inertia_weighted_velocity_adf70e0b2c6a331f58407ecff369cb459}} 
\index{eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}}
\index{updateNeighborhood@{updateNeighborhood}!eoVariableInertiaWeightedVelocity$<$ POT $>$@{eoVariableInertiaWeightedVelocity$<$ POT $>$}}
\doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
void \mbox{\hyperlink{classeo_variable_inertia_weighted_velocity}{eo\+Variable\+Inertia\+Weighted\+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. 

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\+Variable\+Inertia\+Weighted\+Velocity.\+h\end{DoxyCompactItemize}
