saealib.EnsembleSurrogateManager

class saealib.EnsembleSurrogateManager(managers, weights=None)[source]

Bases: SurrogateManager

Surrogate manager that aggregates scores from multiple sub-managers.

Each sub-manager produces scores, which are rank-normalized to [0, 1] before being aggregated via a weighted average. Rank normalization ensures scores from managers with incompatible scales (e.g., EI vs. raw mean) are made comparable before combining.

Parameters:
  • managers (list[SurrogateManager]) – Sub-managers to aggregate.

  • weights (np.ndarray or None) – Weights for the weighted average. shape: (len(managers),). If None, uniform weights are used.

Methods

__init__

score_candidates

Aggregate rank-normalized scores from all sub-managers.

Method Details

EnsembleSurrogateManager.__init__(managers, weights=None)[source]
Parameters:
EnsembleSurrogateManager.score_candidates(candidates_x, archive, provider=None, ctx=None)[source]

Aggregate rank-normalized scores from all sub-managers.

Returns the predictions from the first sub-manager as representative.

Parameters:
  • candidates_x (np.ndarray)

  • archive (Archive)

  • provider (ComponentProvider | None)

  • ctx (OptimizationContext | None)

Return type:

tuple[np.ndarray, list[SurrogatePrediction]]