## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 5)

## ----setup--------------------------------------------------------------------
library(paretoinfer)

## ----problem------------------------------------------------------------------
means <- rbind(A1 = c(0.15, 0.70), A2 = c(0.40, 0.40), A3 = c(0.70, 0.15),
               A4 = c(0.42, 0.43), A5 = c(0.60, 0.60), A6 = c(0.30, 0.80))
simulate <- function(alternative, n) {
  mu <- means[alternative, ]
  data.frame(y1 = runif(n, mu[1] - 0.1, mu[1] + 0.1),
             y2 = runif(n, mu[2] - 0.1, mu[2] + 0.1))
}

## ----run----------------------------------------------------------------------
design <- pareto_design(alternatives = rownames(means), objectives = c("y1", "y2"),
                        bounds = c(0, 1), alpha = 0.05, epsilon = 0.05,
                        max_evaluations = 3000)
design
set.seed(1)
state <- pareto_run(design, simulate, batch = 5, initial = 5)
state

## ----sets---------------------------------------------------------------------
sets <- plausible_pareto_set(state)
sets$table

## ----plot---------------------------------------------------------------------
autoplot(state)

## ----manual-------------------------------------------------------------------
state <- initialize_pareto(design)
set.seed(2)
for (k in design$alternatives) {
  ev <- simulate(k, 5); ev$alternative <- k
  state <- update_objectives(state, ev)
}
choose_next_evaluation(state, n = 3)

## ----report-------------------------------------------------------------------
pareto_report(state)
glance(state)

