deephyper.skopt.moo.MoQuadraticFunction#

class deephyper.skopt.moo.MoQuadraticFunction(n_objectives: int = 1, weight=None, weight_sampling_periode: int = 1, utopia_point=None, random_state=None, alpha: float = 10.0)[source]#

Bases: MoScalarFunction

This scalarizing function quadratically combines the individual objective values (after automatically scaling them in [0, 1]). It can be interpreted a smoother version of MoChebyshevFunction.

Parameters:
  • n_objectives (int, optional) – Number of objective functions. Defaults to 1.

  • weight (float or 1-D array, optional) – Array of weights for each objective function. Defaults to None.

  • weight_sampling_periode (int, optional) – Sampling periode for the weight vector. Defaults to 5.

  • utopia_point (float or 1-D array, optional) – Array of reference values for each objective function. Defaults to None.

  • random_state (int, optional) – Random seed. Defaults to None.

  • penalty (float, optional) – Value of smoothness parameter. Larger values make it less smooth. Defaults to 10.0.

Methods

normalize

Compute normalization constants based on the history of evaluated objective values.

scalarize

Convert the input array (or scalar) into a scalar value.

update_weight

normalize(yi)#

Compute normalization constants based on the history of evaluated objective values.

Parameters:

yi (array) – Array of evaluated objective values.

Raises:

ValueError – Raised if yi is not a list of scalars each of length _n_objectives.

scalarize(y)#

Convert the input array (or scalar) into a scalar value.

Parameters:

yi (scalar or 1-D array) – The input array or scalar to be scalarized.

Returns:

The converted scalar value.

Return type:

float