deephyper.skopt.moo.MoPBIFunction

deephyper.skopt.moo.MoPBIFunction#

class deephyper.skopt.moo.MoPBIFunction(n_objectives: int = 1, weight=None, weight_sampling_periode: int = 1, utopia_point=None, random_state=None, penalty: float = 5.0)[source]#

Bases: MoScalarFunction

This scalarizing function computes the projection of the objective vector along a reference vector and adds a penalty term to minimize deviations from the projected point to the attainable objective set. See https://doi.org/10.1109/TEVC.2007.892759

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 penalty parameter. Defaults to 100.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