\hypertarget{classmoeo_objective_vector_normalizer}{}\doxysection{moeo\+Objective\+Vector\+Normalizer$<$ M\+O\+E\+OT $>$ Class Template Reference} \label{classmoeo_objective_vector_normalizer}\index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} {\ttfamily \#include $<$moeo\+Objective\+Vector\+Normalizer.\+h$>$} \doxysubsection*{Public Types} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a1af64b2ff7ee7ef1c6ea3852c34cc0d0}\label{classmoeo_objective_vector_normalizer_a1af64b2ff7ee7ef1c6ea3852c34cc0d0}} typedef M\+O\+E\+O\+T\+::\+Objective\+Vector {\bfseries Objective\+Vector} \item \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a15abdad7806e321e052bba09c40b1fa4}\label{classmoeo_objective_vector_normalizer_a15abdad7806e321e052bba09c40b1fa4}} typedef M\+O\+E\+O\+T\+::\+Objective\+Vector\+::\+Type {\bfseries Type} \item \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_aac30d6ff104293c88176828dd629ac1a}\label{classmoeo_objective_vector_normalizer_aac30d6ff104293c88176828dd629ac1a}} typedef std\+::vector$<$ std\+::vector$<$ Type $>$ $>$ {\bfseries Scale} \item \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a1e1b01d48b0df8dcee850daaa75bbb59}\label{classmoeo_objective_vector_normalizer_a1e1b01d48b0df8dcee850daaa75bbb59}} typedef \mbox{\hyperlink{classeo_real_interval}{eo\+Real\+Interval}} {\bfseries Bounds} \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classmoeo_objective_vector_normalizer_aa8ca18c479de88ea3cf9a25efcb325c8}{moeo\+Objective\+Vector\+Normalizer}} (Scale \+\_\+scale=\mbox{\hyperlink{classmoeo_objective_vector_normalizer_a9734c96e68f973d86e02096c104cee28}{make\+\_\+dummy\+\_\+scale}}(), Type max\+\_\+param=100) \item \mbox{\hyperlink{classmoeo_objective_vector_normalizer_ab69fec7d5ec904772c8bdd20bb2df1d0}{moeo\+Objective\+Vector\+Normalizer}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop, Type max\+\_\+param=100) \item \mbox{\hyperlink{classmoeo_objective_vector_normalizer_abb3a6989e5d18ed4e5542b1bd2fa94b1}{moeo\+Objective\+Vector\+Normalizer}} (std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{Bounds}} $>$ \&\+\_\+boundaries, Type max\+\_\+param=100) \item \mbox{\hyperlink{classmoeo_objective_vector_normalizer_af6728a78de3eb4da2d13dd11adfcc124}{moeo\+Objective\+Vector\+Normalizer}} (\mbox{\hyperlink{classeo_real_interval}{Bounds}} \&\+\_\+bounds, Type max\+\_\+param=100) \item \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a4c123a07e4d4a7604f959e1593744df0}{moeo\+Objective\+Vector\+Normalizer}} (const Objective\+Vector \&\+\_\+best, const Objective\+Vector \&\+\_\+worst, Type max\+\_\+param=100) \item virtual Objective\+Vector \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a2ad862e43f9d217b9c2b2f9c40ac7186}{operator()}} (const Objective\+Vector \&\+\_\+vec) \item std\+::vector$<$ Objective\+Vector $>$ \mbox{\hyperlink{classmoeo_objective_vector_normalizer_af37a2de991ad5277b136ae553d8eef7e}{operator()}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&pop) \item void \mbox{\hyperlink{classmoeo_objective_vector_normalizer_af8e8e173275eb643f9be7649073afc99}{update\+\_\+by\+\_\+pop}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ pop) \item void \mbox{\hyperlink{classmoeo_objective_vector_normalizer_aa7a61b892b996510a03ab21992ed0e10}{update\+\_\+by\+\_\+min\+\_\+max}} (const Objective\+Vector \&\+\_\+min, const Objective\+Vector \&\+\_\+max) \item void \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a5186b854499b9bddbc3945de042e1b79}{update\+\_\+by\+\_\+bounds}} (const std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{Bounds}} $>$ \&boundaries) \item void \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a0c88d5423a31ff645b93ccb36a1f2001}{update\+\_\+by\+\_\+bounds}} (const \mbox{\hyperlink{classeo_real_interval}{Bounds}} \&bounds) \item void \mbox{\hyperlink{classmoeo_objective_vector_normalizer_aba7f0d13ccf5599e8346f13038e6b084}{update\+\_\+scale}} (Scale \+\_\+scale) \item void \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a7430f029299b9a4695acb0dd404f0938}{change\+\_\+max}} (Type \+\_\+max) \end{DoxyCompactItemize} \doxysubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer_ad92f76d650a0c3fde3d9a8ff2cdd8fdf}{make\+\_\+scale\+\_\+from\+\_\+pop}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop, Type max\+\_\+param=100) \item static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a0e354bc1edce18cb1215b6cbc63f17a9}{make\+\_\+scale\+\_\+from\+\_\+bounds}} (const std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{Bounds}} $>$ \&\+\_\+boundaries, Type max=100) \item static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a1ad06a878f1d346af8646a4afb72bee4}{make\+\_\+scale\+\_\+from\+\_\+bounds}} (const \mbox{\hyperlink{classeo_real_interval}{Bounds}} \&bounds, Type max=100) \item static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a20f65b37565dc750f37b5262ea3d940e}{make\+\_\+scale\+\_\+from\+\_\+minmax}} (const Objective\+Vector \&best, const Objective\+Vector \&worst, Type max=100) \item static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a9734c96e68f973d86e02096c104cee28}{make\+\_\+dummy\+\_\+scale}} () \item static std\+::vector$<$ Objective\+Vector $>$ \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a4923c2c17985b703e4bb552607716fbf}{normalize}} (const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&pop, Type \&max) \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \subsubsection*{template$<$class M\+O\+E\+OT$>$\newline class moeo\+Objective\+Vector\+Normalizer$<$ M\+O\+E\+O\+T $>$} class to normalize each dimension of objective\+Vectors \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_aa8ca18c479de88ea3cf9a25efcb325c8}\label{classmoeo_objective_vector_normalizer_aa8ca18c479de88ea3cf9a25efcb325c8}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}} \index{moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{moeoObjectiveVectorNormalizer()}{moeoObjectiveVectorNormalizer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}} (\begin{DoxyParamCaption}\item[{Scale}]{\+\_\+scale = {\ttfamily \mbox{\hyperlink{classmoeo_objective_vector_normalizer_a9734c96e68f973d86e02096c104cee28}{make\+\_\+dummy\+\_\+scale}}()}, }\item[{Type}]{max\+\_\+param = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} constructor with a supplied scale, usefull if you tweak your scale \begin{DoxyParams}{Parameters} {\em \+\_\+scale} & the scale for noramlzation \\ \hline {\em max\+\_\+param} & the returned values will be between 0 and max \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_ab69fec7d5ec904772c8bdd20bb2df1d0}\label{classmoeo_objective_vector_normalizer_ab69fec7d5ec904772c8bdd20bb2df1d0}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}} \index{moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{moeoObjectiveVectorNormalizer()}{moeoObjectiveVectorNormalizer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+pop, }\item[{Type}]{max\+\_\+param = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} constructor to create a normalizer from a given population \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & the population to analyse to create the scale \\ \hline {\em max\+\_\+param} & the returned values will be between 0 and max \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_abb3a6989e5d18ed4e5542b1bd2fa94b1}\label{classmoeo_objective_vector_normalizer_abb3a6989e5d18ed4e5542b1bd2fa94b1}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}} \index{moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{moeoObjectiveVectorNormalizer()}{moeoObjectiveVectorNormalizer()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}} (\begin{DoxyParamCaption}\item[{std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{Bounds}} $>$ \&}]{\+\_\+boundaries, }\item[{Type}]{max\+\_\+param = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} constructor to create a normalizer with given boundaries \begin{DoxyParams}{Parameters} {\em \+\_\+boundaries} & the supplied vectors should have their values between thos boundaries \\ \hline {\em max\+\_\+param} & the returned values will be between 0 and max \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_af6728a78de3eb4da2d13dd11adfcc124}\label{classmoeo_objective_vector_normalizer_af6728a78de3eb4da2d13dd11adfcc124}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}} \index{moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{moeoObjectiveVectorNormalizer()}{moeoObjectiveVectorNormalizer()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_interval}{Bounds}} \&}]{\+\_\+bounds, }\item[{Type}]{max\+\_\+param = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} constructor to create a normalizer from bounds \begin{DoxyParams}{Parameters} {\em \+\_\+bounds} & the supplied vectors should have their value in those bounds \\ \hline {\em max\+\_\+param} & the returned values will be between 0 and max \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a4c123a07e4d4a7604f959e1593744df0}\label{classmoeo_objective_vector_normalizer_a4c123a07e4d4a7604f959e1593744df0}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}} \index{moeoObjectiveVectorNormalizer@{moeoObjectiveVectorNormalizer}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{moeoObjectiveVectorNormalizer()}{moeoObjectiveVectorNormalizer()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}} (\begin{DoxyParamCaption}\item[{const Objective\+Vector \&}]{\+\_\+best, }\item[{const Objective\+Vector \&}]{\+\_\+worst, }\item[{Type}]{max\+\_\+param = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} constructor to create a normalizer from a worst vector and a best vector \begin{DoxyParams}{Parameters} {\em \+\_\+worst} & the worst possible vector \\ \hline {\em \+\_\+best} & the best possible vector \\ \hline {\em max\+\_\+param} & the maximum value for returned objectives \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a7430f029299b9a4695acb0dd404f0938}\label{classmoeo_objective_vector_normalizer_a7430f029299b9a4695acb0dd404f0938}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!change\_max@{change\_max}} \index{change\_max@{change\_max}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{change\_max()}{change\_max()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ void \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::change\+\_\+max (\begin{DoxyParamCaption}\item[{Type}]{\+\_\+max }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} change the maximum returned by the normalizer (if the scale is adapted) \begin{DoxyParams}{Parameters} {\em \+\_\+max} & the maximum returned \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a9734c96e68f973d86e02096c104cee28}\label{classmoeo_objective_vector_normalizer_a9734c96e68f973d86e02096c104cee28}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!make\_dummy\_scale@{make\_dummy\_scale}} \index{make\_dummy\_scale@{make\_dummy\_scale}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{make\_dummy\_scale()}{make\_dummy\_scale()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::make\+\_\+dummy\+\_\+scale (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} create a default scale that does nothing when applied \begin{DoxyReturn}{Returns} a dummy scale \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a1ad06a878f1d346af8646a4afb72bee4}\label{classmoeo_objective_vector_normalizer_a1ad06a878f1d346af8646a4afb72bee4}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!make\_scale\_from\_bounds@{make\_scale\_from\_bounds}} \index{make\_scale\_from\_bounds@{make\_scale\_from\_bounds}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{make\_scale\_from\_bounds()}{make\_scale\_from\_bounds()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::make\+\_\+scale\+\_\+from\+\_\+bounds (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_real_interval}{Bounds}} \&}]{bounds, }\item[{Type}]{max = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} create a scale from bounds \begin{DoxyParams}{Parameters} {\em bounds} & the bounds (the same for each dimension) \\ \hline {\em max} & the maximum for returned values \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} a scale \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a0e354bc1edce18cb1215b6cbc63f17a9}\label{classmoeo_objective_vector_normalizer_a0e354bc1edce18cb1215b6cbc63f17a9}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!make\_scale\_from\_bounds@{make\_scale\_from\_bounds}} \index{make\_scale\_from\_bounds@{make\_scale\_from\_bounds}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{make\_scale\_from\_bounds()}{make\_scale\_from\_bounds()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::make\+\_\+scale\+\_\+from\+\_\+bounds (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{Bounds}} $>$ \&}]{\+\_\+boundaries, }\item[{Type}]{max = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} create a scale from bounds \begin{DoxyParams}{Parameters} {\em \+\_\+boundaries} & the boundaries \\ \hline {\em max} & the maximum for returned values \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} a scale \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a20f65b37565dc750f37b5262ea3d940e}\label{classmoeo_objective_vector_normalizer_a20f65b37565dc750f37b5262ea3d940e}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!make\_scale\_from\_minmax@{make\_scale\_from\_minmax}} \index{make\_scale\_from\_minmax@{make\_scale\_from\_minmax}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{make\_scale\_from\_minmax()}{make\_scale\_from\_minmax()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::make\+\_\+scale\+\_\+from\+\_\+minmax (\begin{DoxyParamCaption}\item[{const Objective\+Vector \&}]{best, }\item[{const Objective\+Vector \&}]{worst, }\item[{Type}]{max = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} create a scale from a point with minimums in each dimension, and a point with ther max in each dimension \begin{DoxyParams}{Parameters} {\em best} & the point with all mins \\ \hline {\em worst} & the point with all maxs \\ \hline {\em max} & the maximum for returned values \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} a scale \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_ad92f76d650a0c3fde3d9a8ff2cdd8fdf}\label{classmoeo_objective_vector_normalizer_ad92f76d650a0c3fde3d9a8ff2cdd8fdf}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!make\_scale\_from\_pop@{make\_scale\_from\_pop}} \index{make\_scale\_from\_pop@{make\_scale\_from\_pop}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{make\_scale\_from\_pop()}{make\_scale\_from\_pop()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ static Scale \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::make\+\_\+scale\+\_\+from\+\_\+pop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+pop, }\item[{Type}]{max\+\_\+param = {\ttfamily 100} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Creates a scale which can be used in conjonction with a normalizer \begin{DoxyParams}{Parameters} {\em \+\_\+pop} & the population to analyse \\ \hline {\em max\+\_\+param} & worst vector is set to it \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} a scale to use with the normalizer \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a4923c2c17985b703e4bb552607716fbf}\label{classmoeo_objective_vector_normalizer_a4923c2c17985b703e4bb552607716fbf}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!normalize@{normalize}} \index{normalize@{normalize}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{normalize()}{normalize()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ static std\+::vector$<$Objective\+Vector$>$ \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::normalize (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&}]{pop, }\item[{Type \&}]{max }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} fast(to use, not in complexity) function to normalize a population \begin{DoxyParams}{Parameters} {\em pop} & the population to normalize \\ \hline {\em max} & the returned values will be between 0 and max \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} a vector of normalized Objective vectors $<$ max \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_af37a2de991ad5277b136ae553d8eef7e}\label{classmoeo_objective_vector_normalizer_af37a2de991ad5277b136ae553d8eef7e}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!operator()@{operator()}} \index{operator()@{operator()}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ std\+::vector$<$Objective\+Vector$>$ \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&}]{pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} normalize a population \begin{DoxyParams}{Parameters} {\em pop} & the population to normalize \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} a vector of normalized Objective vectors \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a2ad862e43f9d217b9c2b2f9c40ac7186}\label{classmoeo_objective_vector_normalizer_a2ad862e43f9d217b9c2b2f9c40ac7186}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!operator()@{operator()}} \index{operator()@{operator()}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ virtual Objective\+Vector \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{const Objective\+Vector \&}]{\+\_\+vec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} main fonction, normalize a vector. All objective returned vectors will be between 0 and max previously supplied, be carefull about a possible rounding error. \begin{DoxyParams}{Parameters} {\em \+\_\+vec} & the vector \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} the normalized vector \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a0c88d5423a31ff645b93ccb36a1f2001}\label{classmoeo_objective_vector_normalizer_a0c88d5423a31ff645b93ccb36a1f2001}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!update\_by\_bounds@{update\_by\_bounds}} \index{update\_by\_bounds@{update\_by\_bounds}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{update\_by\_bounds()}{update\_by\_bounds()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ void \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::update\+\_\+by\+\_\+bounds (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classeo_real_interval}{Bounds}} \&}]{bounds }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} change the scale according to bounds,them same is used in each dimension \begin{DoxyParams}{Parameters} {\em bounds} & bounds corresponding to the bounds in each dimension \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_a5186b854499b9bddbc3945de042e1b79}\label{classmoeo_objective_vector_normalizer_a5186b854499b9bddbc3945de042e1b79}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!update\_by\_bounds@{update\_by\_bounds}} \index{update\_by\_bounds@{update\_by\_bounds}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{update\_by\_bounds()}{update\_by\_bounds()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ void \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::update\+\_\+by\+\_\+bounds (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{Bounds}} $>$ \&}]{boundaries }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} change the scale according to given boundaries \begin{DoxyParams}{Parameters} {\em boundaries} & a vector of bounds corresponding to the bounds in each dimension \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_aa7a61b892b996510a03ab21992ed0e10}\label{classmoeo_objective_vector_normalizer_aa7a61b892b996510a03ab21992ed0e10}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!update\_by\_min\_max@{update\_by\_min\_max}} \index{update\_by\_min\_max@{update\_by\_min\_max}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{update\_by\_min\_max()}{update\_by\_min\_max()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ void \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::update\+\_\+by\+\_\+min\+\_\+max (\begin{DoxyParamCaption}\item[{const Objective\+Vector \&}]{\+\_\+min, }\item[{const Objective\+Vector \&}]{\+\_\+max }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} change the scale with the worst point and the best point \begin{DoxyParams}{Parameters} {\em \+\_\+max} & the worst point \\ \hline {\em \+\_\+min} & the best point \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_af8e8e173275eb643f9be7649073afc99}\label{classmoeo_objective_vector_normalizer_af8e8e173275eb643f9be7649073afc99}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!update\_by\_pop@{update\_by\_pop}} \index{update\_by\_pop@{update\_by\_pop}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{update\_by\_pop()}{update\_by\_pop()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ void \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::update\+\_\+by\+\_\+pop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$}]{pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Change the scale according to a new pop. Should be called everytime pop is updated \begin{DoxyParams}{Parameters} {\em pop} & population to analyse \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_objective_vector_normalizer_aba7f0d13ccf5599e8346f13038e6b084}\label{classmoeo_objective_vector_normalizer_aba7f0d13ccf5599e8346f13038e6b084}} \index{moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}!update\_scale@{update\_scale}} \index{update\_scale@{update\_scale}!moeoObjectiveVectorNormalizer$<$ MOEOT $>$@{moeoObjectiveVectorNormalizer$<$ MOEOT $>$}} \doxysubsubsection{\texorpdfstring{update\_scale()}{update\_scale()}} {\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\ void \mbox{\hyperlink{classmoeo_objective_vector_normalizer}{moeo\+Objective\+Vector\+Normalizer}}$<$ M\+O\+E\+OT $>$\+::update\+\_\+scale (\begin{DoxyParamCaption}\item[{Scale}]{\+\_\+scale }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} updates the scale \begin{DoxyParams}{Parameters} {\em \+\_\+scale} & the new scale \\ \hline \end{DoxyParams} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item moeo/src/utils/moeo\+Objective\+Vector\+Normalizer.\+h\end{DoxyCompactItemize}