Multi-objective Tools¶
-
chocolate.mo.
argsortNondominated
(losses, k, first_front_only=False)[source]¶ Sort input in Pareto-equal groups.
Sort the first k losses into different nondomination levels using the “Fast Nondominated Sorting Approach” proposed by Deb et al., see [Deb2002]. This algorithm has a time complexity of \(O(MN^2)\), where \(M\) is the number of objectives and \(N\) the number of losses.
Parameters: - losses – A list of losses to select from.
- k – The number of elements to select.
- first_front_only – If
True
sort only the first front and exit.
Returns: A list of Pareto fronts (lists) containing the losses index.
[Deb2002] Deb, Pratab, Agarwal, and Meyarivan, “A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II”, 2002.
-
chocolate.mo.
hypervolume_indicator
(front, **kargs)[source]¶ Indicator function using the hypervolume value.
Computes the contribution of each of the front candidates to the front hypervolume. The hypervolume indicator assumes minimization.
Parameters: - front – A list of Pareto equal candidate solutions.
- ref – The origin from which to compute the hypervolume (optional). If not given, ref is set to the maximum value in each dimension + 1.
Returns: The index of the least contributing candidate.