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