Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maint: Hypervolume (pyhv.py) module rewrite #484

Merged
merged 37 commits into from
Feb 12, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
1ef9ffa
DEV: First attempt to implement the Hypervolume Indicator from the paper
Jan 28, 2020
189f5e7
Merge branch 'master' into maint/pyhv-rewrite
Jan 28, 2020
fa9d3aa
MAINT: string representation of the VectorLinkedList
Jan 29, 2020
b4e1daf
MAINT: Node.pop method moved to the class
Jan 30, 2020
a00d5d9
TST: ported tests to pytest
Jan 30, 2020
8944689
TST: moved test file to the root folder
Jan 30, 2020
81399b7
Merge branch 'maint/pyhv-rewrite' of git://github.com/enthought/never…
jrapin Jan 31, 2020
cffd0a1
Update typing
jrapin Jan 31, 2020
c22e01b
FIX: default node prev and next
Jan 31, 2020
b92457a
FIX: default node prev and next
Jan 31, 2020
13a87cf
DEV: added length of multilist in i-th index
Feb 3, 2020
499e414
MAINT: undefined reference fixed
Feb 3, 2020
5587248
DEV: front_size is equivalent to self.multilist.chain_length(dimensio…
Feb 3, 2020
1625177
MAINT: fixed refernces that can possibly be undefined
Feb 3, 2020
fdade40
MAINT: node's prev and next fix, including mypy typing
Feb 3, 2020
74429ed
TST: Test fixes
Feb 3, 2020
1db801a
TST: integration test moved to the test file
Feb 3, 2020
39afe74
TST: Tests for Node and VectorList structures
Feb 3, 2020
58be6ff
Merge branch 'master' into maint/pyhv-rewrite
Feb 3, 2020
f1acdb6
MAINT: removed refernce to old _HyperVolume in core
Feb 3, 2020
f35a907
MAINT: moved the VectorLinkedList methods to that class, from the Hyp…
Feb 3, 2020
33d6093
STY: minor typos fix
Feb 3, 2020
eec464f
TST: Test updates for VectorLinkedList
Feb 4, 2020
a617603
MAINT: mypy updates
Feb 4, 2020
aca1ef7
MAINT: changing type List[float] to ndarray in bounds
Feb 4, 2020
3edfca6
MAINT: mypy changes to type of compute() arguments
Feb 4, 2020
fa72612
FIX: np.array type (should've been np.ndarray)
Feb 4, 2020
4c955fe
Merge branch 'master' into maint/pyhv-rewrite
Feb 4, 2020
7d29aaa
Merge branch 'master' into maint/pyhv-rewrite
Feb 5, 2020
e3f9fd4
MAINT: remove bounds from the recursive_hypervolume list of arguments…
Feb 5, 2020
8d42854
MAINT: removed dimension argument from the plane hypervolume
Feb 5, 2020
8c1c2f6
MAINT: chain_length suggestion
Feb 5, 2020
73ed35c
MAINT: docstring added and attribute `coordinate` renamed
Feb 6, 2020
9487e71
MAINT: removed old code
Feb 6, 2020
563f20e
Merge branch 'master' into maint/pyhv-rewrite
Feb 10, 2020
3b93968
DOC: Removed LGPL comment in README
Feb 10, 2020
68f4c82
LICENCE: Added MIT Licence headers to new files
Feb 10, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,3 @@ as well as pieces of advice on how to choose the proper optimizer for your probl
## License

`nevergrad` is released under the MIT license. See [LICENSE](LICENSE) for additional details about it.
LGPL code is however also included in the multiobjective subpackage.
165 changes: 0 additions & 165 deletions nevergrad/functions/multiobjective/LGPL_LICENSE

This file was deleted.

5 changes: 2 additions & 3 deletions nevergrad/functions/multiobjective/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
from typing import Tuple, Any, Callable, List, Dict
import numpy as np
from nevergrad.common.typetools import ArrayLike
from .pyhv import _HyperVolume

from .hypervolume import HypervolumeIndicator

ArgsKwargs = Tuple[Tuple[Any, ...], Dict[str, Any]]

Expand Down Expand Up @@ -37,7 +36,7 @@ class MultiobjectiveFunction:
def __init__(self, multiobjective_function: Callable[..., ArrayLike], upper_bounds: ArrayLike) -> None:
self.multiobjective_function = multiobjective_function
self._upper_bounds = np.array(upper_bounds, copy=False)
self._hypervolume: Any = _HyperVolume(self._upper_bounds) # type: ignore
self._hypervolume: Any = HypervolumeIndicator(self._upper_bounds) # type: ignore
self._points: List[Tuple[ArgsKwargs, np.ndarray]] = []
self._best_volume = -float("Inf")

Expand Down
Loading