saealib.ProbabilityOfFeasibility

class saealib.ProbabilityOfFeasibility(obj_idx=0, reference=None)[source]

Bases: AcquisitionFunction

Probability of Feasibility (PoF) acquisition function.

Estimates the probability that a candidate satisfies a constraint g(x) <= 0, using a surrogate model that predicts the constraint value.

PoF(x) = Phi((0 - mu(x)) / sigma(x))

Typically used in combination with another acquisition function (e.g., EI * PoF) to handle black-box constraints.

Requires a surrogate that provides uncertainty estimates (std).

Parameters:
  • obj_idx (int) – Index of the predicted constraint to evaluate. Default: 0.

  • reference (Any)

Methods

__init__

compute_reference

Return fixed reference if set, otherwise None.

score

Compute Probability of Feasibility scores.

Method Details

ProbabilityOfFeasibility.__init__(obj_idx=0, reference=None)[source]
Parameters:
  • obj_idx (int)

  • reference (Any)

ProbabilityOfFeasibility.compute_reference(archive)[source]

Return fixed reference if set, otherwise None.

Parameters:

archive (Archive)

Return type:

Any

ProbabilityOfFeasibility.score(prediction, reference=None)[source]

Compute Probability of Feasibility scores.

Parameters:
  • prediction (SurrogatePrediction) – Surrogate predictions of constraint values. Must have std (has_uncertainty == True).

  • reference (Any) – Not used. Accepted for interface compatibility.

Returns:

PoF scores in [0, 1]. shape: (n_samples,) Higher scores indicate a higher probability of feasibility.

Return type:

np.ndarray

Raises:

TypeError – If prediction does not contain uncertainty estimates.