liveBook · Manning

Constrained expected improvement

As explained in Bayesian Optimization in Action

ConstrainedExpectedImprovement is a BoTorch acquisition-function class that evaluates expected improvement while accounting for constraint feasibility probabilities.

Constrained expected improvement (constrained EI) selects points that promise objective improvement while remaining likely to satisfy constraints. It multiplies regular expected improvement by the probability of feasibility, reducing the priority of attractive but probably infeasible points. section 8.2 section 8.6

Evaluate a candidate point by combining two signals:

  • Compute expected improvement from the GP modeling the objective. section 8.2
  • Use a separate GP for each constraint to obtain the probability that the candidate satisfies its inequality; for a cost constraint, feasibility means cost is at most zero. section 8.2 section 8.3
  • Multiply expected improvement by the feasibility probability, then query the candidate with the largest resulting acquisition score. section 8.2 section 8.4

BoTorch configuration

Train one GP on utility values and another on cost values, combine them in a ModelListGP, and declare the feasible cost bound with ConstrainedExpectedImprovement: best_f=train_utility[train_cost <= 0].max(), objective_index=0, constraints={1: [None, 0]}. Retrain both models after each observation. section 8.4

Manual verification

On a dense grid from −5 to 5, use the cost GP's normal predictive distribution and its CDF at zero to calculate feasibility probabilities. Multiply them by regular EI values and compare the result with BoTorch's constrained EI scores. section 8.3

How Bayesian Optimization in Action covers it

How deep it goes
Derives the feasibility-weighted score, explains GP probability calculations, and implements and manually verifies the policy.
Examples
Uses one-dimensional objective-and-cost functions, grid calculations, and a four-dimensional airplane-design optimization exercise.
What it assumes
Assumes Gaussian-process modeling and regular expected improvement, while teaching probabilistic feasibility from constraint predictions.
What you can do after
Apply it via BoTorch by training objective and constraint GPs, declaring bounds, and selecting feasible-improvement queries.
How it connects
Connects expected improvement, Gaussian processes, probability of feasibility, constrained optimization, and Bayesian optimization.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Bayesian Optimization in Action. The section links point to the parts of the book it draws on.