smac.multi_objective

Interfaces

class smac.multi_objective.AbstractMultiObjectiveAlgorithm[source]

Bases: ABC

A general interface for multi-objective optimizer, depending on different strategies.

abstract __call__(values)[source]

Transform a multi-objective loss to a single loss.

Parameters:

values (list[float]) – Normalized values in the range [0, 1].

Returns:

cost – Combined cost.

Return type:

float

property meta: dict[str, Any]

Returns the meta data of the created object.

update_on_iteration_start()[source]

Update the internal state on start of each SMBO iteration.

Return type:

None

class smac.multi_objective.MeanAggregationStrategy(scenario, objective_weights=None)[source]

Bases: AbstractMultiObjectiveAlgorithm

A class to mean-aggregate multi-objective costs to a single cost.

Parameters:
  • scenario (Scenario) –

  • objective_weights (list[float] | None, defaults to None) – Weights for an weighted average. Must be of the same length as the number of objectives.

__call__(values)[source]

Transform a multi-objective loss to a single loss.

Parameters:

values (list[float]) – Normalized values in the range [0, 1].

Returns:

cost – Combined cost.

Return type:

float

property meta: dict[str, Any]

Returns the meta data of the created object.

class smac.multi_objective.ParEGO(scenario, rho=0.05, seed=None)[source]

Bases: AbstractMultiObjectiveAlgorithm

ParEGO implementation based on https://www.cs.bham.ac.uk/~jdk/UKCI-2015.pdf.

Parameters:
  • scenario (Scenario) –

  • rho (float, defaults to 0.05) – A small positive value.

  • seed (int | None, defaults to None) –

__call__(values)[source]

Transform a multi-objective loss to a single loss.

Parameters:

values (list[float]) – Normalized values in the range [0, 1].

Returns:

cost – Combined cost.

Return type:

float

property meta: dict[str, Any]

Returns the meta data of the created object.

update_on_iteration_start()[source]

Update the internal state on start of each SMBO iteration.

Return type:

None

Modules

smac.multi_objective.abstract_multi_objective_algorithm

smac.multi_objective.aggregation_strategy

smac.multi_objective.parego