After #13, we will have three HV variants (the third one is currently named differently, but this will change):
hypervolume (for MOArchive and CMOArchive)
hypervolume_plus (for MOArchive and CMOArchive), based on, but not completely equal to the one defined here
hypervolume_plus_constr (for CMOArchive), based on, but not completely equal to the one defined here
None of them uses normalization of objectives and for all of them, larger values are better.
We do want to add normalized variants for all three. I see two options now, but of course, there might be others (feel free to expand and comment on these).
1st Option
If, when the archive is created, the ideal point is specified in addition to the reference point, the all solutions are normalized so that the ideal point equals $(0, ..., 0)$ and the reference point equals $(1, ..., 1)$. The names of HV properties don't change, they just return normalized values.
We would need to decide how to handle this under the hood:
- A: Keep only the normalized f-values. In this case, we would need to decide whether (and how) the user has access to the original values.
- B: Keep only the original values and take care of the normalization when the hypervolume is computed.
- C: Keep the original and normalized values (not sure yet exactly what this would entail).
2nd Option
If, when the archive is created, the ideal point is specified in addition to the reference point, we can access both the normalized and non-normalized HV values:
hypervolume
hypervolume_plus
hypervolume_plus_constr
norm_hypervolume
norm_hypervolume_plus
norm_hypervolume_plus_constr
Not sure what this means under the hood yet ...
After #13, we will have three HV variants (the third one is currently named differently, but this will change):
hypervolume(for MOArchive and CMOArchive)hypervolume_plus(for MOArchive and CMOArchive), based on, but not completely equal to the one defined herehypervolume_plus_constr(for CMOArchive), based on, but not completely equal to the one defined hereNone of them uses normalization of objectives and for all of them, larger values are better.
We do want to add normalized variants for all three. I see two options now, but of course, there might be others (feel free to expand and comment on these).
1st Option
If, when the archive is created, the ideal point is specified in addition to the reference point, the all solutions are normalized so that the ideal point equals$(0, ..., 0)$ and the reference point equals $(1, ..., 1)$ . The names of HV properties don't change, they just return normalized values.
We would need to decide how to handle this under the hood:
2nd Option
If, when the archive is created, the ideal point is specified in addition to the reference point, we can access both the normalized and non-normalized HV values:
hypervolumehypervolume_plushypervolume_plus_constrnorm_hypervolumenorm_hypervolume_plusnorm_hypervolume_plus_constrNot sure what this means under the hood yet ...