crit_EMI function

Expected Maximin Improvement with m objectives

Expected Maximin Improvement with m objectives

Expected Maximin Improvement with respect to the current Pareto front with Sample Average Approximation. The semi-analytical formula is used in the bi-objective scale if the Pareto front is in [-2,2]^2, for numerical stability reasons. To avoid numerical instabilities, the new point is penalized if it is too close to an existing observation.

crit_EMI( x, model, paretoFront = NULL, critcontrol = list(nb.samp = 50, seed = 42), type = "UK" )

Arguments

  • x: a vector representing the input for which one wishes to calculate EMI,

  • model: list of objects of class km, one for each objective functions,

  • paretoFront: (optional) matrix corresponding to the Pareto front of size [n.pareto x n.obj], or any reference set of observations,

  • critcontrol: optional list with arguments (for more than 2 objectives only):

    • nb.samp number of random samples from the posterior distribution, default to 50, increasing gives more reliable results at the cost of longer computation time;
    • seed seed used for the random samples.

    Options for the checkPredict function: threshold (1e-4) and distance (covdist) are used to avoid numerical issues occuring when adding points too close to the existing ones.

  • type: "SK" or "UK" (by default), depending whether uncertainty related to trend estimation has to be taken into account.

Returns

The Expected Maximin Improvement at x.

Details

It is recommanded to scale objectives, e.g. to [0,1]. If the Pareto front does not belong to [-2,2]^2, then SAA is used.

Examples

#--------------------------------------------------------------------------- # Expected Maximin Improvement surface associated with the "P1" problem at a 15 points design #--------------------------------------------------------------------------- set.seed(25468) library(DiceDesign) n_var <- 2 f_name <- "P1" n.grid <- 21 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)) Front_Pareto <- t(nondominated_points(t(response.grid))) mf1 <- km(~., design = design.grid, response = response.grid[,1]) mf2 <- km(~., design = design.grid, response = response.grid[,2]) EMI_grid <- apply(test.grid, 1, crit_EMI, model = list(mf1, mf2), paretoFront = Front_Pareto, critcontrol = list(nb_samp = 20)) filled.contour(seq(0, 1, length.out = n.grid), seq(0, 1, length.out = n.grid), nlevels = 50, matrix(EMI_grid, nrow = n.grid), main = "Expected Maximin Improvement", 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") } )

References

J. D. Svenson & T. J. Santner (2010), Multiobjective Optimization of Expensive Black-Box Functions via Expected Maximin Improvement, Technical Report.

J. D. Svenson (2011), Computer Experiments: Multiobjective Optimization and Sensitivity Analysis, Ohio State University, PhD thesis.

See Also

EI from package DiceOptim, crit_EHI, crit_SUR, crit_SMS.

  • Maintainer: Mickael Binois
  • License: GPL-3
  • Last published: 2024-01-26