\hypertarget{classeo_vector_particle}{}\doxysection{eo\+Vector\+Particle$<$ FitT, Position\+Type, Velocity\+Type $>$ Class Template Reference} \label{classeo_vector_particle}\index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} {\ttfamily \#include $<$eo\+Vector\+Particle.\+h$>$} Inheritance diagram for eo\+Vector\+Particle$<$ FitT, Position\+Type, Velocity\+Type $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_vector_particle__inherit__graph} \end{center} \end{figure} Collaboration diagram for eo\+Vector\+Particle$<$ FitT, Position\+Type, Velocity\+Type $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_vector_particle__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_vector_particle_a9412418df7ef01115a36d5c2c5754a07}\label{classeo_vector_particle_a9412418df7ef01115a36d5c2c5754a07}} typedef Position\+Type {\bfseries Atom\+Type} \item \mbox{\Hypertarget{classeo_vector_particle_ae58377e4ccc597f6cc84cb7bc01594df}\label{classeo_vector_particle_ae58377e4ccc597f6cc84cb7bc01594df}} typedef Velocity\+Type {\bfseries Particle\+Velocity\+Type} \item \mbox{\Hypertarget{classeo_vector_particle_a9412418df7ef01115a36d5c2c5754a07}\label{classeo_vector_particle_a9412418df7ef01115a36d5c2c5754a07}} typedef Position\+Type {\bfseries Atom\+Type} \item \mbox{\Hypertarget{classeo_vector_particle_ae58377e4ccc597f6cc84cb7bc01594df}\label{classeo_vector_particle_ae58377e4ccc597f6cc84cb7bc01594df}} typedef Velocity\+Type {\bfseries Particle\+Velocity\+Type} \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classeo_vector_particle_a1f7b87dcc1672e2342f2a3b6365a1015}{eo\+Vector\+Particle}} (unsigned \+\_\+size=0, Position\+Type \+\_\+position=Position\+Type(), Velocity\+Type \+\_\+velocity=Velocity\+Type(), Position\+Type \+\_\+best\+Positions=Position\+Type()) \item \mbox{\Hypertarget{classeo_vector_particle_a231f376f2c33499e0bcf582fe1911b3b}\label{classeo_vector_particle_a231f376f2c33499e0bcf582fe1911b3b}} void {\bfseries position} (const std\+::vector$<$ Position\+Type $>$ \&\+\_\+v) \item void \mbox{\hyperlink{classeo_vector_particle_a121368b9c30257f81db4e831d05c5376}{resize}} (unsigned \+\_\+size) \item void \mbox{\hyperlink{classeo_vector_particle_a5303ac285f96950f0974dab6f9da4b34}{resize\+Best\+Positions}} (unsigned \+\_\+size) \item void \mbox{\hyperlink{classeo_vector_particle_a74da94fc81a141e0b8337bcc7d3d7700}{resize\+Velocities}} (unsigned \+\_\+size) \item \mbox{\Hypertarget{classeo_vector_particle_a4504e63096baa25138121f844a31325b}\label{classeo_vector_particle_a4504e63096baa25138121f844a31325b}} bool \mbox{\hyperlink{classeo_vector_particle_a4504e63096baa25138121f844a31325b}{operator$<$}} (const \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$ \&\+\_\+eo) const \begin{DoxyCompactList}\small\item\em to avoid conflicts between EA and P\+SO \end{DoxyCompactList}\item virtual void \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{print\+On}} (std\+::ostream \&os) const \item \mbox{\hyperlink{classeo_vector_particle_a1f7b87dcc1672e2342f2a3b6365a1015}{eo\+Vector\+Particle}} (unsigned \+\_\+size=0, Position\+Type \+\_\+position=Position\+Type(), Velocity\+Type \+\_\+velocity=Velocity\+Type(), Position\+Type \+\_\+best\+Positions=Position\+Type()) \item \mbox{\Hypertarget{classeo_vector_particle_a231f376f2c33499e0bcf582fe1911b3b}\label{classeo_vector_particle_a231f376f2c33499e0bcf582fe1911b3b}} void {\bfseries position} (const std\+::vector$<$ Position\+Type $>$ \&\+\_\+v) \item void \mbox{\hyperlink{classeo_vector_particle_a121368b9c30257f81db4e831d05c5376}{resize}} (unsigned \+\_\+size) \item void \mbox{\hyperlink{classeo_vector_particle_a5303ac285f96950f0974dab6f9da4b34}{resize\+Best\+Positions}} (unsigned \+\_\+size) \item void \mbox{\hyperlink{classeo_vector_particle_a74da94fc81a141e0b8337bcc7d3d7700}{resize\+Velocities}} (unsigned \+\_\+size) \item \mbox{\Hypertarget{classeo_vector_particle_a4504e63096baa25138121f844a31325b}\label{classeo_vector_particle_a4504e63096baa25138121f844a31325b}} bool \mbox{\hyperlink{classeo_vector_particle_a4504e63096baa25138121f844a31325b}{operator$<$}} (const \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$ \&\+\_\+eo) const \begin{DoxyCompactList}\small\item\em to avoid conflicts between EA and P\+SO \end{DoxyCompactList}\item virtual void \mbox{\hyperlink{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}{print\+On}} (std\+::ostream \&os) const \end{DoxyCompactItemize} \doxysubsection*{Public Attributes} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classeo_vector_particle_aa0c4a494dfc91738d8462ca343a9f0c4}\label{classeo_vector_particle_aa0c4a494dfc91738d8462ca343a9f0c4}} std\+::vector$<$ Position\+Type $>$ {\bfseries best\+Positions} \item \mbox{\Hypertarget{classeo_vector_particle_adf8b0a22a4aa543d85ac8de6ec5e0119}\label{classeo_vector_particle_adf8b0a22a4aa543d85ac8de6ec5e0119}} std\+::vector$<$ Particle\+Velocity\+Type $>$ {\bfseries velocities} \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class FitT, class Position\+Type, class Velocity\+Type$>$\newline class eo\+Vector\+Particle$<$ Fit\+T, Position\+Type, Velocity\+Type $>$} Main class for particle representation of particle swarm optimization. The positions, velocities and the best positions associated to the particle are stored as vectors. Inheriting from \mbox{\hyperlink{class_p_o}{PO}} and std\+::vector, tree templates arguments are required\+: the fitness type (which is also the type of the particle\textquotesingle{}s best fitness), the position type and the velocity type. \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classeo_vector_particle_a1f7b87dcc1672e2342f2a3b6365a1015}\label{classeo_vector_particle_a1f7b87dcc1672e2342f2a3b6365a1015}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!eoVectorParticle@{eoVectorParticle}} \index{eoVectorParticle@{eoVectorParticle}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{eoVectorParticle()}{eoVectorParticle()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::\mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size = {\ttfamily 0}, }\item[{Position\+Type}]{\+\_\+position = {\ttfamily PositionType~()}, }\item[{Velocity\+Type}]{\+\_\+velocity = {\ttfamily VelocityType~()}, }\item[{Position\+Type}]{\+\_\+best\+Positions = {\ttfamily PositionType~()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Default constructor. \begin{DoxyParams}{Parameters} {\em \+\_\+size} & Length of the tree vectors (we expect the same size), default is 0 \\ \hline {\em \+\_\+position} & \\ \hline {\em \+\_\+velocity} & \\ \hline {\em \+\_\+best\+Positions} & \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_vector_particle_a1f7b87dcc1672e2342f2a3b6365a1015}\label{classeo_vector_particle_a1f7b87dcc1672e2342f2a3b6365a1015}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!eoVectorParticle@{eoVectorParticle}} \index{eoVectorParticle@{eoVectorParticle}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{eoVectorParticle()}{eoVectorParticle()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::\mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}} (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size = {\ttfamily 0}, }\item[{Position\+Type}]{\+\_\+position = {\ttfamily PositionType~()}, }\item[{Velocity\+Type}]{\+\_\+velocity = {\ttfamily VelocityType~()}, }\item[{Position\+Type}]{\+\_\+best\+Positions = {\ttfamily PositionType~()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Default constructor. \begin{DoxyParams}{Parameters} {\em \+\_\+size} & Length of the tree vectors (we expect the same size), default is 0 \\ \hline {\em \+\_\+position} & \\ \hline {\em \+\_\+velocity} & \\ \hline {\em \+\_\+best\+Positions} & \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}\label{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!printOn@{printOn}} \index{printOn@{printOn}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ virtual void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Print-\/on a vector-\/particle Reimplemented from \mbox{\hyperlink{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}{P\+O$<$ Fit\+T $>$}}. \mbox{\Hypertarget{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}\label{classeo_vector_particle_a12e7b867a2e894285c064a127cec7054}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!printOn@{printOn}} \index{printOn@{printOn}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{printOn()}{printOn()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ virtual void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} Print-\/on a vector-\/particle Reimplemented from \mbox{\hyperlink{class_p_o_a5bd1f1a689831ff9ec892305d4cf34f6}{P\+O$<$ Fit\+T $>$}}. \mbox{\Hypertarget{classeo_vector_particle_a121368b9c30257f81db4e831d05c5376}\label{classeo_vector_particle_a121368b9c30257f81db4e831d05c5376}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!resize@{resize}} \index{resize@{resize}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{resize()}{resize()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::resize (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Resize the tree vectors of the particle\+: positions, velocities and best\+Positions \begin{DoxyParams}{Parameters} {\em \+\_\+size} & The new size for positions, velocities and best\+Positions \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_vector_particle_a121368b9c30257f81db4e831d05c5376}\label{classeo_vector_particle_a121368b9c30257f81db4e831d05c5376}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!resize@{resize}} \index{resize@{resize}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{resize()}{resize()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::resize (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Resize the tree vectors of the particle\+: positions, velocities and best\+Positions \begin{DoxyParams}{Parameters} {\em \+\_\+size} & The new size for positions, velocities and best\+Positions \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_vector_particle_a5303ac285f96950f0974dab6f9da4b34}\label{classeo_vector_particle_a5303ac285f96950f0974dab6f9da4b34}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!resizeBestPositions@{resizeBestPositions}} \index{resizeBestPositions@{resizeBestPositions}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{resizeBestPositions()}{resizeBestPositions()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::resize\+Best\+Positions (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Resize the best positions. \begin{DoxyParams}{Parameters} {\em \+\_\+size} & The new size for the best positions. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_vector_particle_a5303ac285f96950f0974dab6f9da4b34}\label{classeo_vector_particle_a5303ac285f96950f0974dab6f9da4b34}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!resizeBestPositions@{resizeBestPositions}} \index{resizeBestPositions@{resizeBestPositions}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{resizeBestPositions()}{resizeBestPositions()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::resize\+Best\+Positions (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Resize the best positions. \begin{DoxyParams}{Parameters} {\em \+\_\+size} & The new size for the best positions. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_vector_particle_a74da94fc81a141e0b8337bcc7d3d7700}\label{classeo_vector_particle_a74da94fc81a141e0b8337bcc7d3d7700}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!resizeVelocities@{resizeVelocities}} \index{resizeVelocities@{resizeVelocities}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{resizeVelocities()}{resizeVelocities()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::resize\+Velocities (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Resize the velocities. \begin{DoxyParams}{Parameters} {\em \+\_\+size} & The new size for the velocities. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classeo_vector_particle_a74da94fc81a141e0b8337bcc7d3d7700}\label{classeo_vector_particle_a74da94fc81a141e0b8337bcc7d3d7700}} \index{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}!resizeVelocities@{resizeVelocities}} \index{resizeVelocities@{resizeVelocities}!eoVectorParticle$<$ FitT, PositionType, VelocityType $>$@{eoVectorParticle$<$ FitT, PositionType, VelocityType $>$}} \doxysubsubsection{\texorpdfstring{resizeVelocities()}{resizeVelocities()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class FitT , class Position\+Type , class Velocity\+Type $>$ \\ void \mbox{\hyperlink{classeo_vector_particle}{eo\+Vector\+Particle}}$<$ \mbox{\hyperlink{classeo_scalar_fitness}{FitT}}, Position\+Type, Velocity\+Type $>$\+::resize\+Velocities (\begin{DoxyParamCaption}\item[{unsigned}]{\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Resize the velocities. \begin{DoxyParams}{Parameters} {\em \+\_\+size} & The new size for the velocities. \\ \hline \end{DoxyParams} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item deprecated/eo/src/eo\+Vector\+Particle.\+h\end{DoxyCompactItemize}