Sequential identification of approximately Pareto-optimal alternatives when the objectives are noisy.
Given a finite set of K alternatives evaluated on m objectives through noisy (and possibly correlated) simulation, an alternative can look dominated purely by sampling error. paretoinfer maintains simultaneous anytime-valid confidence sequences for every objective of every alternative (from seqbench) and reports, at any time, three sets:
- the estimated frontier (a point estimate),
- the plausible Pareto set: alternatives that cannot yet be certified as
epsilon-dominated, with the subset certified optimal, and - the certified dominated alternatives, each with the alternative that dominates it.
With probability at least 1 - alpha, every certificate ever issued is true, under optional stopping and adaptive choice of what to evaluate next. The package also proposes the next alternative to evaluate, concentrating effort on the ambiguous comparisons, and records an auditable result contract.
Installation
# install.packages("pak")
pak::pak("castlaboratory/paretoinfer")Example
library(paretoinfer)
library(dplyr)
means <- tribble(
~alternative, ~y1, ~y2,
"A1", 0.2, 0.7,
"A2", 0.5, 0.4,
"A3", 0.7, 0.2,
"A4", 0.6, 0.6
)
simulate <- function(alternative, n, h = 0.1) {
mu <- means |> filter(alternative == .env$alternative)
tibble(y1 = runif(n, mu$y1 - h, mu$y1 + h),
y2 = runif(n, mu$y2 - h, mu$y2 + h))
}
set.seed(1)
state <- pareto_design(alternatives = means$alternative, objectives = c("y1", "y2"),
bounds = c(0, 1), alpha = 0.05, epsilon = 0.05,
max_evaluations = 2000) |>
pareto_run(simulate, batch = 5)
state
plausible_pareto_set(state)
autoplot(state) # simultaneous confidence boxes and the estimated frontierStep by step, for evaluations that come from elsewhere:
design <- state$design
state <- initialize_pareto(design) |>
update_objectives(evaluations) # data frame: alternative, y1, y2[, cost]
choose_next_evaluation(state)
pareto_report(state)Related software
paretoinfer does not do multi-objective optimisation over a continuous space; for that see BoTorch, GPareto, rmoo or moocore. It targets the finite-alternative identification problem (Pareto set identification in bandits: Auer et al. 2016; Kone, Kaufmann and Richert 2024; multi-objective ranking and selection) with anytime-valid guarantees, and shares its sequential core with seqbench.
References
Auer, P., Chiang, C.-K., Ortner, R. and Drugan, M. (2016). Pareto front identification from stochastic bandit feedback. AISTATS 2016, 939–947.
Kone, C., Kaufmann, E. and Richert, L. (2024). Adaptive algorithms for relaxed Pareto set identification. AISTATS 2024.
Waudby-Smith, I. and Ramdas, A. (2024). Estimating means of bounded random variables by betting. Journal of the Royal Statistical Society: Series B, 86(1), 1–27.