\hypertarget{classmoeo_hyper_volume_difference_metric}{}\doxysection{moeo\+Hyper\+Volume\+Difference\+Metric$<$ Objective\+Vector $>$ Class Template Reference} \label{classmoeo_hyper_volume_difference_metric}\index{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}} {\ttfamily \#include $<$moeo\+Hyper\+Volume\+Difference\+Metric.\+h$>$} Inheritance diagram for moeo\+Hyper\+Volume\+Difference\+Metric$<$ Objective\+Vector $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classmoeo_hyper_volume_difference_metric__inherit__graph} \end{center} \end{figure} Collaboration diagram for moeo\+Hyper\+Volume\+Difference\+Metric$<$ Objective\+Vector $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classmoeo_hyper_volume_difference_metric__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric_a4dc58cdfcfc9c9d58ddcf90c6b0889c4}{moeo\+Hyper\+Volume\+Difference\+Metric}} (bool \+\_\+normalize=true, double \+\_\+rho=1.\+1) \item \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric_a471d6c36d437be7827c5e53a3d351104}{moeo\+Hyper\+Volume\+Difference\+Metric}} (bool \+\_\+normalize, \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} \&\+\_\+ref\+\_\+point) \item virtual double \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric_ae4af21e242dd4b69eadd89955cdb1fcd}{operator()}} (const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&\+\_\+set1, const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&\+\_\+set2) \item std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{eo\+Real\+Interval}} $>$ \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric_af70ae39369e72e574cbe4a024c1e1fac}{get\+Bounds}} () \item void \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric_aaa7bcfff3e5d0084ade56a1f851301de}{setup}} (const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&\+\_\+set1, const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&\+\_\+set2) \end{DoxyCompactItemize} \doxysubsection*{Static Protected Member Functions} \begin{DoxyCompactItemize} \item static double \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric_af21dd6049e49b6857ef79eacb2adb43a}{tiny}} () \end{DoxyCompactItemize} \doxysubsection*{Protected Attributes} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_a66053fe0475d096a61dacbf0a41198c7}\label{classmoeo_hyper_volume_difference_metric_a66053fe0475d096a61dacbf0a41198c7}} bool {\bfseries normalize} \item \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_a96b5f27cde7e8a3903290ef7bbcafdbe}\label{classmoeo_hyper_volume_difference_metric_a96b5f27cde7e8a3903290ef7bbcafdbe}} double {\bfseries rho} \item \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_aacc5fb7560ffa3194fe8507ce9a86875}\label{classmoeo_hyper_volume_difference_metric_aacc5fb7560ffa3194fe8507ce9a86875}} std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{eo\+Real\+Interval}} $>$ {\bfseries bounds} \item \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_a1d614462f4aba2602d2900dae2c40ba4}\label{classmoeo_hyper_volume_difference_metric_a1d614462f4aba2602d2900dae2c40ba4}} \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} {\bfseries ref\+\_\+point} \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Detailed Description} \subsubsection*{template$<$class Objective\+Vector$>$\newline class moeo\+Hyper\+Volume\+Difference\+Metric$<$ Objective\+Vector $>$} The contribution metric evaluates the proportion of non-\/dominated solutions given by a Pareto set relatively to another Pareto set (Meunier, Talbi, Reininger\+: \textquotesingle{}A multiobjective genetic algorithm for radio network optimization\textquotesingle{}, in Proc. of the 2000 Congress on Evolutionary Computation, I\+E\+EE Press, pp. 317-\/324) \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_a4dc58cdfcfc9c9d58ddcf90c6b0889c4}\label{classmoeo_hyper_volume_difference_metric_a4dc58cdfcfc9c9d58ddcf90c6b0889c4}} \index{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}!moeoHyperVolumeDifferenceMetric@{moeoHyperVolumeDifferenceMetric}} \index{moeoHyperVolumeDifferenceMetric@{moeoHyperVolumeDifferenceMetric}!moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}} \doxysubsubsection{\texorpdfstring{moeoHyperVolumeDifferenceMetric()}{moeoHyperVolumeDifferenceMetric()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class Objective\+Vector $>$ \\ \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}}$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$\+::\mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}} (\begin{DoxyParamCaption}\item[{bool}]{\+\_\+normalize = {\ttfamily true}, }\item[{double}]{\+\_\+rho = {\ttfamily 1.1} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Constructor with a coefficient (rho) \begin{DoxyParams}{Parameters} {\em \+\_\+normalize} & allow to normalize data (default true) \\ \hline {\em \+\_\+rho} & coefficient to determine the reference point. \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_a471d6c36d437be7827c5e53a3d351104}\label{classmoeo_hyper_volume_difference_metric_a471d6c36d437be7827c5e53a3d351104}} \index{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}!moeoHyperVolumeDifferenceMetric@{moeoHyperVolumeDifferenceMetric}} \index{moeoHyperVolumeDifferenceMetric@{moeoHyperVolumeDifferenceMetric}!moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}} \doxysubsubsection{\texorpdfstring{moeoHyperVolumeDifferenceMetric()}{moeoHyperVolumeDifferenceMetric()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class Objective\+Vector $>$ \\ \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}}$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$\+::\mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}} (\begin{DoxyParamCaption}\item[{bool}]{\+\_\+normalize, }\item[{\mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} \&}]{\+\_\+ref\+\_\+point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Constructor with a reference point \begin{DoxyParams}{Parameters} {\em \+\_\+normalize} & allow to normalize data (default true) \\ \hline {\em \+\_\+ref\+\_\+point} & the reference point \\ \hline \end{DoxyParams} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_af70ae39369e72e574cbe4a024c1e1fac}\label{classmoeo_hyper_volume_difference_metric_af70ae39369e72e574cbe4a024c1e1fac}} \index{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}!getBounds@{getBounds}} \index{getBounds@{getBounds}!moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}} \doxysubsubsection{\texorpdfstring{getBounds()}{getBounds()}} {\footnotesize\ttfamily template$<$class Objective\+Vector $>$ \\ std\+::vector$<$ \mbox{\hyperlink{classeo_real_interval}{eo\+Real\+Interval}} $>$ \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}}$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$\+::get\+Bounds (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} getter on bounds \begin{DoxyReturn}{Returns} bounds \end{DoxyReturn} \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_ae4af21e242dd4b69eadd89955cdb1fcd}\label{classmoeo_hyper_volume_difference_metric_ae4af21e242dd4b69eadd89955cdb1fcd}} \index{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}!operator()@{operator()}} \index{operator()@{operator()}!moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}} \doxysubsubsection{\texorpdfstring{operator()()}{operator()()}} {\footnotesize\ttfamily template$<$class Objective\+Vector $>$ \\ virtual double \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}}$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$\+::operator() (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&}]{\+\_\+set1, }\item[{const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&}]{\+\_\+set2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} calculates and returns the Hyper\+Volume value of a pareto front \begin{DoxyParams}{Parameters} {\em \+\_\+set1} & the vector contains all objective Vector of the first pareto front \\ \hline {\em \+\_\+set2} & the vector contains all objective Vector of the second pareto front \\ \hline \end{DoxyParams} Implements \mbox{\hyperlink{classeo_b_f_aa03c40b95210569b826df79a2237a0d0}{eo\+B\+F$<$ const std\+::vector$<$ Objective\+Vector $>$ \&, const std\+::vector$<$ Objective\+Vector $>$ \&, double $>$}}. Reimplemented in \mbox{\hyperlink{classmoeo_dual_hyper_volume_difference_metric_afd0587696eb8bf13c8f7fdb975c67640}{moeo\+Dual\+Hyper\+Volume\+Difference\+Metric$<$ typename M\+O\+E\+O\+T\+::\+Objective\+Vector $>$}}, and \mbox{\hyperlink{classmoeo_dual_hyper_volume_difference_metric_afd0587696eb8bf13c8f7fdb975c67640}{moeo\+Dual\+Hyper\+Volume\+Difference\+Metric$<$ Objective\+Vector $>$}}. \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_aaa7bcfff3e5d0084ade56a1f851301de}\label{classmoeo_hyper_volume_difference_metric_aaa7bcfff3e5d0084ade56a1f851301de}} \index{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}!setup@{setup}} \index{setup@{setup}!moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}} \doxysubsubsection{\texorpdfstring{setup()}{setup()}} {\footnotesize\ttfamily template$<$class Objective\+Vector $>$ \\ void \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}}$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$\+::setup (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&}]{\+\_\+set1, }\item[{const std\+::vector$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$ \&}]{\+\_\+set2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} method calculate bounds for the normalization \begin{DoxyParams}{Parameters} {\em \+\_\+set1} & the vector contains all objective Vector of the first pareto front \\ \hline {\em \+\_\+set2} & the vector contains all objective Vector of the second pareto front \\ \hline \end{DoxyParams} \mbox{\Hypertarget{classmoeo_hyper_volume_difference_metric_af21dd6049e49b6857ef79eacb2adb43a}\label{classmoeo_hyper_volume_difference_metric_af21dd6049e49b6857ef79eacb2adb43a}} \index{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}!tiny@{tiny}} \index{tiny@{tiny}!moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$@{moeoHyperVolumeDifferenceMetric$<$ ObjectiveVector $>$}} \doxysubsubsection{\texorpdfstring{tiny()}{tiny()}} {\footnotesize\ttfamily template$<$class Objective\+Vector $>$ \\ static double \mbox{\hyperlink{classmoeo_hyper_volume_difference_metric}{moeo\+Hyper\+Volume\+Difference\+Metric}}$<$ \mbox{\hyperlink{classmoeo_real_objective_vector}{Objective\+Vector}} $>$\+::tiny (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [protected]}} Returns a very small value that can be used to avoid extreme cases (where the min bound == the max bound) The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item moeo/src/metric/moeo\+Hyper\+Volume\+Difference\+Metric.\+h\end{DoxyCompactItemize}