module documentation
This module contains various utility functions and classes for the MOArchiving package.
| Class | |
A class to represent a sorted list of nodes, together with additional methods that follow the definition in the paper. |
| Class | |
A class to represent a node in a doubly linked list. |
| Function | add |
Add a new node to the list sorted by z |
| Function | compute |
Computes the area as described in the paper |
| Function | hv3dplus |
Computes the hypervolume indicator in d=3 in linear time |
| Function | hv4dplus |
Compute the hypervolume indicator in d=4 by iteratively computing the hypervolume indicator in d=3 (using hv3d+) |
| Function | hv4dplus |
Compute the hypervolume indicator in d=4 by iteratively computing the one contribution problem in d=3. |
| Function | init |
Initialize the sentinel nodes for the list of nodes given the reference point and the dimensionality |
| Function | lexicographic |
Returns True if a is lexicographically less than b, False otherwise |
| Function | my |
Sort an array of keys in lexicographic order and return the indices. Equivalent to np.lexsort |
| Function | one |
Computes the contribution of adding a new point to the archive in three dimensions |
| Function | remove |
Remove a node from the list sorted by z |
| Function | restart |
Undocumented |
| Function | restart |
Resets the cnext pointers for the y-dimension. |
| Function | setup |
Set up a circular doubly linked list from the given data and reference point |
| Function | setup |
Sets up the closest[0] and closest[1] pointers for the new node |
| Function | strictly |
Return True if a strictly dominates b, False otherwise |
| Function | update |
Undocumented |
| Function | weakly |
Return True if a weakly dominates b, False otherwise |
Compute the hypervolume indicator in d=4 by iteratively computing the hypervolume indicator in d=3 (using hv3d+)
Compute the hypervolume indicator in d=4 by iteratively computing the one contribution problem in d=3.
Initialize the sentinel nodes for the list of nodes given the reference point and the dimensionality
Return True if a strictly dominates b, False otherwise
>>> strictly_dominates([1, 2, 3], [2, 3, 3], n_obj=3) True >>> strictly_dominates([1, 2, 3], [2, 2, 2], n_obj=3) False >>> strictly_dominates([1, 2, 3], [1, 2, 3], n_obj=3) False