323 lines
30 KiB
TeX
323 lines
30 KiB
TeX
\hypertarget{classeo_constricted_variable_weight_velocity}{}\doxysection{eo\+Constricted\+Variable\+Weight\+Velocity$<$ P\+OT $>$ Class Template Reference}
|
|
\label{classeo_constricted_variable_weight_velocity}\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
|
|
|
|
{\ttfamily \#include $<$eo\+Constricted\+Variable\+Weight\+Velocity.\+h$>$}
|
|
|
|
|
|
|
|
Inheritance diagram for eo\+Constricted\+Variable\+Weight\+Velocity$<$ P\+OT $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=334pt]{classeo_constricted_variable_weight_velocity__inherit__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
|
|
|
|
Collaboration diagram for eo\+Constricted\+Variable\+Weight\+Velocity$<$ P\+OT $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{classeo_constricted_variable_weight_velocity__coll__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsection*{Public Types}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_ab4e3d17c01f96f33a328f5748675fb2b}\label{classeo_constricted_variable_weight_velocity_ab4e3d17c01f96f33a328f5748675fb2b}}
|
|
typedef P\+O\+T\+::\+Particle\+Velocity\+Type {\bfseries Velocity\+Type}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_ab4e3d17c01f96f33a328f5748675fb2b}\label{classeo_constricted_variable_weight_velocity_ab4e3d17c01f96f33a328f5748675fb2b}}
|
|
typedef P\+O\+T\+::\+Particle\+Velocity\+Type {\bfseries Velocity\+Type}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity_a9d62a80a2608da618dbe3b6ed64df87c}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, \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_constricted_variable_weight_velocity_a8f00d339d58dbecb02c97cad85b5b5d1}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, \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_constricted_variable_weight_velocity_a4e923acdc003247c6cc1a9732c8708f3}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, \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_constricted_variable_weight_velocity_a21385fa595fe01442d9452113268f7a4}{operator()}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
|
|
\item
|
|
void \mbox{\hyperlink{classeo_constricted_variable_weight_velocity_abbf7fb28e7b4a65e33d6154c3e996889}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
|
|
\item
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity_a9d62a80a2608da618dbe3b6ed64df87c}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, \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_constricted_variable_weight_velocity_a8f00d339d58dbecb02c97cad85b5b5d1}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, \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_constricted_variable_weight_velocity_a4e923acdc003247c6cc1a9732c8708f3}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&\+\_\+topology, const Velocity\+Type \&\+\_\+coeff, \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_constricted_variable_weight_velocity_a21385fa595fe01442d9452113268f7a4}{operator()}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
|
|
\item
|
|
void \mbox{\hyperlink{classeo_constricted_variable_weight_velocity_abbf7fb28e7b4a65e33d6154c3e996889}{update\+Neighborhood}} (P\+OT \&\+\_\+po, unsigned \+\_\+indice)
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsection*{Protected Attributes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_ae6f353f7c6e0158ec4b9597d3b491c2e}\label{classeo_constricted_variable_weight_velocity_ae6f353f7c6e0158ec4b9597d3b491c2e}}
|
|
\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \& {\bfseries topology}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_abb108b5e979716e59e772c1bbb695a59}\label{classeo_constricted_variable_weight_velocity_abb108b5e979716e59e772c1bbb695a59}}
|
|
const Velocity\+Type \& {\bfseries coeff}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_af3adac63cb5fb865b65c07fc7d828428}\label{classeo_constricted_variable_weight_velocity_af3adac63cb5fb865b65c07fc7d828428}}
|
|
\mbox{\hyperlink{classeo_weight_updater}{eo\+Weight\+Updater}}$<$ Velocity\+Type $>$ \& {\bfseries weight\+Updater}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_a9472a21a39aa7395c739f267558b9336}\label{classeo_constricted_variable_weight_velocity_a9472a21a39aa7395c739f267558b9336}}
|
|
const Velocity\+Type \& {\bfseries c1}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_aca45f253d9314b7deb188b9d38e55718}\label{classeo_constricted_variable_weight_velocity_aca45f253d9314b7deb188b9d38e55718}}
|
|
const Velocity\+Type \& {\bfseries c2}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_a75f9db8db1fabbcd4a48a619a1178085}\label{classeo_constricted_variable_weight_velocity_a75f9db8db1fabbcd4a48a619a1178085}}
|
|
\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \& {\bfseries bounds}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_a71dc36ca172a763c4c2c6ad6852c6753}\label{classeo_constricted_variable_weight_velocity_a71dc36ca172a763c4c2c6ad6852c6753}}
|
|
\mbox{\hyperlink{classeo_real_bound_modifier}{eo\+Real\+Bound\+Modifier}} \& {\bfseries bnds\+Modifier}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_a2da35bab03a96a465967e2346cfd0b86}\label{classeo_constricted_variable_weight_velocity_a2da35bab03a96a465967e2346cfd0b86}}
|
|
Velocity\+Type {\bfseries weight}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_a962a42594cbfb1aa7718d39bc474699f}\label{classeo_constricted_variable_weight_velocity_a962a42594cbfb1aa7718d39bc474699f}}
|
|
\mbox{\hyperlink{classeo_rng}{eo\+Rng}} \& {\bfseries gen}
|
|
\item
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_af4ccc1e7def74d83a990873234337eef}\label{classeo_constricted_variable_weight_velocity_af4ccc1e7def74d83a990873234337eef}}
|
|
\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\+Variable\+Weight\+Velocity$<$ P\+O\+T $>$}
|
|
|
|
Inertia variable + constriction velocity for particle swarm optimization. Derivated from abstract \mbox{\hyperlink{classeo_velocity}{eo\+Velocity}}, At step t\+: v(t+1)= K $\ast$ ( 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 and K is fixed (ci given and Ri chosen at random in \mbox{[}0;1\mbox{]}).
|
|
|
|
\doxysubsection{Constructor \& Destructor Documentation}
|
|
\mbox{\Hypertarget{classeo_constricted_variable_weight_velocity_a9d62a80a2608da618dbe3b6ed64df87c}\label{classeo_constricted_variable_weight_velocity_a9d62a80a2608da618dbe3b6ed64df87c}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}}
|
|
\index{eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoConstrictedVariableWeightVelocity()}{eoConstrictedVariableWeightVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology, }\item[{const Velocity\+Type \&}]{\+\_\+coeff, }\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 \+\_\+coeff} & -\/ The constriction coefficient \\
|
|
\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_constricted_variable_weight_velocity_a8f00d339d58dbecb02c97cad85b5b5d1}\label{classeo_constricted_variable_weight_velocity_a8f00d339d58dbecb02c97cad85b5b5d1}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}}
|
|
\index{eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoConstrictedVariableWeightVelocity()}{eoConstrictedVariableWeightVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology, }\item[{const Velocity\+Type \&}]{\+\_\+coeff, }\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 \+\_\+coeff} & -\/ The constriction coefficient \\
|
|
\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_constricted_variable_weight_velocity_a4e923acdc003247c6cc1a9732c8708f3}\label{classeo_constricted_variable_weight_velocity_a4e923acdc003247c6cc1a9732c8708f3}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}}
|
|
\index{eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoConstrictedVariableWeightVelocity()}{eoConstrictedVariableWeightVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology, }\item[{const Velocity\+Type \&}]{\+\_\+coeff, }\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$\ast$ \\
|
|
\hline
|
|
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
|
|
\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_constricted_variable_weight_velocity_a9d62a80a2608da618dbe3b6ed64df87c}\label{classeo_constricted_variable_weight_velocity_a9d62a80a2608da618dbe3b6ed64df87c}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}}
|
|
\index{eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoConstrictedVariableWeightVelocity()}{eoConstrictedVariableWeightVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology, }\item[{const Velocity\+Type \&}]{\+\_\+coeff, }\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 \+\_\+coeff} & -\/ The constriction coefficient \\
|
|
\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_constricted_variable_weight_velocity_a8f00d339d58dbecb02c97cad85b5b5d1}\label{classeo_constricted_variable_weight_velocity_a8f00d339d58dbecb02c97cad85b5b5d1}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}}
|
|
\index{eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoConstrictedVariableWeightVelocity()}{eoConstrictedVariableWeightVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology, }\item[{const Velocity\+Type \&}]{\+\_\+coeff, }\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 \+\_\+coeff} & -\/ The constriction coefficient \\
|
|
\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_constricted_variable_weight_velocity_a4e923acdc003247c6cc1a9732c8708f3}\label{classeo_constricted_variable_weight_velocity_a4e923acdc003247c6cc1a9732c8708f3}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}}
|
|
\index{eoConstrictedVariableWeightVelocity@{eoConstrictedVariableWeightVelocity}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoConstrictedVariableWeightVelocity()}{eoConstrictedVariableWeightVelocity()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}}$<$ P\+OT $>$\+::\mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+Velocity}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_topology}{eo\+Topology}}$<$ P\+OT $>$ \&}]{\+\_\+topology, }\item[{const Velocity\+Type \&}]{\+\_\+coeff, }\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$\ast$ \\
|
|
\hline
|
|
{\em \+\_\+coeff} & -\/ The constriction coefficient \\
|
|
\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_constricted_variable_weight_velocity_a21385fa595fe01442d9452113268f7a4}\label{classeo_constricted_variable_weight_velocity_a21385fa595fe01442d9452113268f7a4}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!operator()@{operator()}}
|
|
\index{operator()@{operator()}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
void \mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+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_constricted_variable_weight_velocity_a21385fa595fe01442d9452113268f7a4}\label{classeo_constricted_variable_weight_velocity_a21385fa595fe01442d9452113268f7a4}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!operator()@{operator()}}
|
|
\index{operator()@{operator()}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
void \mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+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_constricted_variable_weight_velocity_abbf7fb28e7b4a65e33d6154c3e996889}\label{classeo_constricted_variable_weight_velocity_abbf7fb28e7b4a65e33d6154c3e996889}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}}
|
|
\index{updateNeighborhood@{updateNeighborhood}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
void \mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+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_constricted_variable_weight_velocity_abbf7fb28e7b4a65e33d6154c3e996889}\label{classeo_constricted_variable_weight_velocity_abbf7fb28e7b4a65e33d6154c3e996889}}
|
|
\index{eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}!updateNeighborhood@{updateNeighborhood}}
|
|
\index{updateNeighborhood@{updateNeighborhood}!eoConstrictedVariableWeightVelocity$<$ POT $>$@{eoConstrictedVariableWeightVelocity$<$ POT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{updateNeighborhood()}{updateNeighborhood()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily template$<$class P\+OT $>$ \\
|
|
void \mbox{\hyperlink{classeo_constricted_variable_weight_velocity}{eo\+Constricted\+Variable\+Weight\+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\+Constricted\+Variable\+Weight\+Velocity.\+h\end{DoxyCompactItemize}
|