Pareto¶
Multi-objective Pareto front analysis.
trade_study.extract_front(scores, directions, weights=None)
¶
Extract Pareto-optimal indices from a score matrix.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scores
|
NDArray[floating[Any]]
|
Array of shape (n_trials, n_objectives). |
required |
directions
|
list[Direction]
|
Optimization direction for each objective. |
required |
weights
|
list[float] | None
|
Optional per-objective weights. Larger weight increases the importance of that objective during non-dominated sorting. |
None
|
Returns:
| Type | Description |
|---|---|
NDArray[intp]
|
Integer array of row indices on the Pareto front. |
Source code in src/trade_study/_pareto.py
trade_study.pareto_rank(scores, directions, weights=None)
¶
Assign Pareto rank to each trial (0 = front, 1 = next layer, ...).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scores
|
NDArray[floating[Any]]
|
Array of shape (n_trials, n_objectives). |
required |
directions
|
list[Direction]
|
Optimization direction for each objective. |
required |
weights
|
list[float] | None
|
Optional per-objective weights. |
None
|
Returns:
| Type | Description |
|---|---|
NDArray[intp]
|
Integer array of ranks, shape (n_trials,). |
Source code in src/trade_study/_pareto.py
trade_study.hypervolume(front, ref_point, directions=None, weights=None)
¶
Compute hypervolume indicator for a Pareto front.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
front
|
NDArray[floating[Any]]
|
Array of shape (n_points, n_objectives) on the front. |
required |
ref_point
|
NDArray[floating[Any]]
|
Reference point (should dominate all front points after direction normalization). |
required |
directions
|
list[Direction] | None
|
If provided, flips maximize objectives before computing. |
None
|
weights
|
list[float] | None
|
Optional per-objective weights applied after direction flip. |
None
|
Returns:
| Type | Description |
|---|---|
float
|
Hypervolume value. |
Source code in src/trade_study/_pareto.py
trade_study.igd_plus(front, reference, directions=None, weights=None)
¶
Compute IGD+ indicator.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
front
|
NDArray[floating[Any]]
|
Obtained Pareto front. |
required |
reference
|
NDArray[floating[Any]]
|
Reference Pareto front. |
required |
directions
|
list[Direction] | None
|
Optimization directions. |
None
|
weights
|
list[float] | None
|
Optional per-objective weights applied after direction flip. |
None
|
Returns:
| Type | Description |
|---|---|
float
|
IGD+ value (lower is better). |