Arnaud Liefooghe arnaud.liefooghe at univ-lille1.fr
Jeu 27 Juin 11:29:33 CEST 2013

```Hi Johann,

> I've seen that the class moeoHypervolumeBinaryMetric is designed to compute
> the hypervolume based only on the "rho" method (compute a reference point
> based on the range around the pop), but that it does not permits to use an
> explicit reference point (as in other HV-related operators).

Just to clarify: the moeoHypervolumeBinaryMetric is an object to
compare two objective vectors with respect to the hypervolume. It is
supposed to be used within the fitness assignment strategy from IBEA.
To compare two *sets* of objective vectors, we use
moeoHypervolumeDifferenceMetric.

I guess we just followed the paper of Zitzler et al. 2004 on IBEA.
This is the reason why only a "rho-based" approach has been implemented.
We were probably to lazy to think about something else... ;)

> Unfortunately, I have, in my application, homogeneous populations (all
> individuals having the same objectives values). This leads to a problem when
> computing the range, that I solved by adding an epsilon to the computed
> range (which thus cannot be null). And this leads to a problem with the
> normalization of the HV (dividing by epsilon is not always a good idea when
> using floats).
>
> My question is:
>
> Should we consider that the correct answer to homogeneous pop is to use a
> static reference point (the user being responsible for choosing it wisely)?
> OR
> Should we try to generalize the normalization so that it can handle
> correctly floating point errors? Incidentally, what is the range of the
> normalized hyper-volume: is it [-1,1]? I already get values greater than 1
> with the current codeā¦

I guess I would go like for the moeoHypervolumeDifferenceMetric class:
- Having a Boolean variable (set to true by default) so that the user
can chose to normalize or not.
- Provide two constructors: 1 with a reference point as argument, the
other with a rho.

What do you think?

Cheers,
Arnaud

_______________________________________________