A nondominated solution balances competing objectives: improving one objective requires sacrificing at least one other. Such solutions reveal the meaningful trade-offs in multiobjective optimization. section 11.2 section 11.5
Formally, a point is nondominated when no considered point matches or exceeds it on every objective while improving at least one. A point is dominated when another point has higher values for all objectives. Nondominated points are also called Pareto optimal, Pareto efficient, or noninferior. section 11.2
Two competing objectives
For two objectives f1(x) and f2(x), x = -5 is nondominated because moving toward higher f1 values reduces f2. By contrast, x = -1.9 is dominated when both objective values are lower than those at x = -5. In practice, many nondominated points may form several regions rather than a single optimum. section 11.2
Nondominated solutions support multiobjective analysis by:
- Tracing the Pareto frontier, the boundary beyond which no considered point lies. section 11.5
- Showing which objective trade-offs remain available to a decision-maker. section 11.2
- Supporting hypervolume measurement, where larger dominated volume indicates better optimization performance. section 11.5
- Guiding Expected Hypervolume Improvement, which favors queries likely to extend the Pareto frontier. section 11.3
from botorch.acquisition.multi_objective
.analytic import #1
ExpectedHypervolumeImprovement #1
from botorch.utils.multi_objective.box_decompositions
.non_dominated import #1
FastNondominatedPartitioning #1
from botorch.models.model_list_gp_regression import ModelListGP
policy = ExpectedHypervolumeImprovement(
model=ModelListGP(model1, model2), #2
ref_point=ref_point, #3
partitioning=FastNondominatedPartitioning
(ref_point, train_y) #4
)
Inspect a BoTorch construction that combines separate Gaussian-process models with nondominated partitioning for EHVI. section 11.3

