crit_SMS | R Documentation |
Computes a slightly modified infill Criterion of the SMS-EGO. To avoid numerical instabilities, an additional penalty is added to the new point if it is too close to an existing observation.
crit_SMS(x, model, paretoFront = NULL, critcontrol = NULL, type = "UK")
x |
a vector representing the input for which one wishes to calculate the criterion, |
model |
a list of objects of class |
paretoFront |
(optional) matrix corresponding to the Pareto front of size |
critcontrol |
list with arguments:
Options for the |
type |
" |
Value of the criterion.
W. Ponweiser, T. Wagner, D. Biermann, M. Vincze (2008), Multiobjective Optimization on a Limited Budget of Evaluations Using Model-Assisted S-Metric Selection,
Parallel Problem Solving from Nature, pp. 784-794. Springer, Berlin.
T. Wagner, M. Emmerich, A. Deutz, W. Ponweiser (2010), On expected-improvement criteria for model-based multi-objective optimization.
Parallel Problem Solving from Nature, pp. 718-727. Springer, Berlin.
crit_EHI
, crit_SUR
, crit_EMI
.
#--------------------------------------------------------------------------- # SMS-EGO surface associated with the "P1" problem at a 15 points design #--------------------------------------------------------------------------- set.seed(25468) library(DiceDesign) n_var <- 2 f_name <- "P1" n.grid <- 26 test.grid <- expand.grid(seq(0, 1, length.out = n.grid), seq(0, 1, length.out = n.grid)) n_appr <- 15 design.grid <- round(maximinESE_LHS(lhsDesign(n_appr, n_var, seed = 42)$design)$design, 1) response.grid <- t(apply(design.grid, 1, f_name)) PF <- t(nondominated_points(t(response.grid))) mf1 <- km(~., design = design.grid, response = response.grid[,1]) mf2 <- km(~., design = design.grid, response = response.grid[,2]) model <- list(mf1, mf2) critcontrol <- list(refPoint = c(300, 0), currentHV = dominated_hypervolume(t(PF), c(300, 0))) SMSEGO_grid <- apply(test.grid, 1, crit_SMS, model = model, paretoFront = PF, critcontrol = critcontrol) filled.contour(seq(0, 1, length.out = n.grid), seq(0, 1, length.out = n.grid), matrix(pmax(0, SMSEGO_grid), nrow = n.grid), nlevels = 50, main = "SMS-EGO criterion (positive part)", xlab = expression(x[1]), ylab = expression(x[2]), color = terrain.colors, plot.axes = {axis(1); axis(2); points(design.grid[,1],design.grid[,2], pch = 21, bg = "white") } )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.