if (requireNamespace("mlr3learners") &
requireNamespace("DiceKriging") &
requireNamespace("rgenoud") &
requireNamespace("ranger")) {
library(bbotk)
library(paradox)
library(mlr3learners)
fun = function(xs) {
list(y1 = xs$x^2, y2 = (xs$x - 2) ^ 2)
}
domain = ps(x = p_dbl(lower = -10, upper = 10))
codomain = ps(y1 = p_dbl(tags = "minimize"), y2 = p_dbl(tags = "minimize"))
objective = ObjectiveRFun$new(fun = fun, domain = domain, codomain = codomain)
instance = OptimInstanceBatchMultiCrit$new(
objective = objective,
terminator = trm("evals", n_evals = 5))
xdt = generate_design_random(instance$search_space, n = 4)$data
instance$eval_batch(xdt)
learner1 = default_gp()
learner2 = default_rf()
surrogate = srlrn(list(learner1, learner2), archive = instance$archive)
surrogate$update()
surrogate$learner
surrogate$learner[["y1"]]$model
surrogate$learner[["y2"]]$model
}
Run the code above in your browser using DataLab