| mlr_loop_functions_parego | R Documentation | 
Loop function for multi-objective Bayesian Optimization via ParEGO. Normally used inside an OptimizerMbo.
In each iteration after the initial design, the observed objective function values are normalized and q candidates are
obtained by scalarizing these values via the augmented Tchebycheff function, updating the surrogate with respect to
these scalarized values and optimizing the acquisition function.
bayesopt_parego(
  instance,
  surrogate,
  acq_function,
  acq_optimizer,
  init_design_size = NULL,
  q = 1L,
  s = 100L,
  rho = 0.05,
  random_interleave_iter = 0L
)
instance | 
 (bbotk::OptimInstanceBatchMultiCrit)  | 
surrogate | 
 (SurrogateLearner)  | 
acq_function | 
 (AcqFunction)  | 
acq_optimizer | 
 (AcqOptimizer)  | 
init_design_size | 
 (  | 
q | 
 (  | 
s | 
 (  | 
rho | 
 (  | 
random_interleave_iter | 
 (  | 
invisible(instance)
The original instance is modified in-place and returned invisible.
 The acq_function$surrogate, even if already populated, will always be overwritten by the surrogate.
 The acq_optimizer$acq_function, even if already populated, will always be overwritten by acq_function.
 The surrogate$archive, even if already populated, will always be overwritten by the bbotk::ArchiveBatch of the bbotk::OptimInstanceBatchMultiCrit.
 The scalarizations of the objective function values are stored as the y_scal column in the
bbotk::ArchiveBatch of the bbotk::OptimInstanceBatchMultiCrit.
To make use of parallel evaluations in the case of 'q > 1, the objective function of the bbotk::OptimInstanceBatchMultiCrit must be implemented accordingly.
Knowles, Joshua (2006). “ParEGO: A Hybrid Algorithm With On-Line Landscape Approximation for Expensive Multiobjective Optimization Problems.” IEEE Transactions on Evolutionary Computation, 10(1), 50–66.
Other Loop Function: 
loop_function,
mlr_loop_functions,
mlr_loop_functions_ego,
mlr_loop_functions_emo,
mlr_loop_functions_mpcl,
mlr_loop_functions_smsego
if (requireNamespace("mlr3learners") &
    requireNamespace("DiceKriging") &
    requireNamespace("rgenoud")) {
  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))
  surrogate = default_surrogate(instance, n_learner = 1)
  acq_function = acqf("ei")
  acq_optimizer = acqo(
    optimizer = opt("random_search", batch_size = 100),
    terminator = trm("evals", n_evals = 100))
  optimizer = opt("mbo",
    loop_function = bayesopt_parego,
    surrogate = surrogate,
    acq_function = acq_function,
    acq_optimizer = acq_optimizer)
  optimizer$optimize(instance)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.