syne_tune.optimizer.schedulers.multiobjective.non_dominated_priority module
- syne_tune.optimizer.schedulers.multiobjective.non_dominated_priority.pareto_efficient(X)[source]
Evaluates for each allocation in the provided array whether it is Pareto efficient. The costs are assumed to be improved by lowering them (eg lower is better).
- Return type:
ndarray
Parameters
- X: np.ndarray [N, D]
The allocations to check where N is the number of allocations and D the number of costs per allocation.
Returns
- np.ndarray [N]
A boolean array, indicating for each allocation whether it is Pareto efficient.
- syne_tune.optimizer.schedulers.multiobjective.non_dominated_priority.compute_epsilon_net(X, dim=None)[source]
Outputs an order of the items in the provided array such that the items are spaced well. This means that after choosing a seed item, the next item is chosen to be the farthest from the seed item. The third item is then chosen to maximize the distance to the existing points and so on.
This algorithm is taken from “Nearest-Neighbor Searching and Metric Space Dimensions” (Clarkson, 2005, p.17).
- Return type:
ndarray
Parameters
- X: np.ndarray [N, D]
The items to sparsify where N is the number of items and D their dimensionality.
- dim: Optional[int], default: None
The index of the dimension which to use to choose the seed item. If
None
, an item is chosen at random, otherwise the item with the lowest value in the specified dimension is used.
Returns
- np.ndarray [N]
A list of item indices, defining a sparsified order of the items.
- syne_tune.optimizer.schedulers.multiobjective.non_dominated_priority.nondominated_sort(X, dim=None, max_items=None, flatten=True)[source]
Performs a multi-objective sort by iteratively computing the Pareto front and sparsifying the items within the Pareto front. This is a non-dominated sort leveraging an epsilon-net.
- Return type:
Union
[List
[int
],List
[List
[int
]]]
Parameters
- X: np.ndarray [N, D]
The multi-dimensional items to sort.
- dim: Optional[int], default: None
The feature (metric) to prefer when ranking items within the Pareto front. If
None
, items are chosen randomly.- max_items: Optional[int], default: None
The maximum number of items that should be returned. When this is
None
, all items are sorted.- flatten: bool, default: True
Whether to flatten the resulting array.
Returns
- Union[List[int], List[List[int]]]
The indices of the sorted items, either globally or within each of the Pareto front depending on the value of
flatten
.