scalarize#
Scalarization methods for reducing multi-output to single-output objectives
Classes
|
Scalarizes a multi-output response using the augmented Chebyshev function. |
|
Scalarizes a multi-output response using a weighted norm |
|
Scalarizes a multi-output response using a weighted sum |
Base scalarization objective, which condenses multiple outputs into a single one |
- class obsidian.objectives.scalarize.Scalar_Chebyshev(weights: list[float], alpha: float = 0.05, augment: bool = True)[source]#
Bases:
Scalarization
Scalarizes a multi-output response using the augmented Chebyshev function.
The augmented Chebyshev function maximizes the minimum scaled-response in conjunction with a weighted sum.
- Parameters:
weights (list[float]) – A list of weights to be applied to the response tensor.
alpha (float, optional) – The scaling factor for the weighted sum. Defaults to
0.05
.augment (bool, optional) – Flag indicating whether to perform augmentation. Defaults to
True
.
- class obsidian.objectives.scalarize.Scalar_WeightedNorm(weights: list[float], norm: int | None = None, neg: bool = False)[source]#
Bases:
Scalarization
Scalarizes a multi-output response using a weighted norm
- Parameters:
weights (list[float]) – A list of weights to be applied to the response tensor.
norm (int or None, optional) – The order of vector norm to be used. If None is provided, the p-norm will be used
neg (bool, optional) – Whether or not to return the negative norm, which is required for maximizing norms based on distance to a target (utopian point).
- class obsidian.objectives.scalarize.Scalar_WeightedSum(weights: list[float])[source]#
Bases:
Scalarization
Scalarizes a multi-output response using a weighted sum
- Parameters:
weights (list[float]) – A list of weights to be applied to the response tensor.