CPF function

Conditional Pareto Front simulations

Conditional Pareto Front simulations

Compute (on a regular grid) the empirical attainment function from conditional simulations of Gaussian processes corresponding to two objectives. This is used to estimate the Vorob'ev expectation of the attained set and the Vorob'ev deviation.

CPF( fun1sims, fun2sims, response, paretoFront = NULL, f1lim = NULL, f2lim = NULL, refPoint = NULL, n.grid = 100, compute.VorobExp = TRUE, compute.VorobDev = TRUE )

Arguments

  • fun1sims: numeric matrix containing the conditional simulations of the first output (one sample in each row),
  • fun2sims: numeric matrix containing the conditional simulations of the second output (one sample in each row),
  • response: a matrix containing the value of the two objective functions, one output per row,
  • paretoFront: optional matrix corresponding to the Pareto front of the observations. It is estimated from response if not provided,
  • f1lim: optional vector (see details),
  • f2lim: optional vector (see details),
  • refPoint: optional vector (see details),
  • n.grid: integer determining the grid resolution,
  • compute.VorobExp: optional boolean indicating whether the Vorob'ev Expectation should be computed. Default is TRUE,
  • compute.VorobDev: optional boolean indicating whether the Vorob'ev deviation should be computed. Default is TRUE.

Returns

A list which is given the S3 class "CPF".

  • x, y: locations of grid lines at which the values of the attainment are computed,
  • values: numeric matrix containing the values of the attainment on the grid,
  • PF: matrix corresponding to the Pareto front of the observations,
  • responses: matrix containing the value of the two objective functions, one objective per column,
  • fun1sims, fun2sims: conditional simulations of the first/second output,
  • VE: Vorob'ev expectation, computed if compute.VorobExp = TRUE (default),
  • beta_star: Vorob'ev threshold, computed if compute.VorobExp = TRUE (default),
  • VD: Vorov'ev deviation, computed if compute.VorobDev = TRUE (default),

Details

Works with two objectives. The user can provide locations of grid lines for computation of the attainement function with vectors f1lim and f2lim, in the form of regularly spaced points. It is possible to provide only refPoint as a reference for hypervolume computations. When missing, values are determined from the axis-wise extrema of the simulations.

Examples

library(DiceDesign) set.seed(42) nvar <- 2 fname <- "P1" # Test function # Initial design nappr <- 10 design.grid <- maximinESE_LHS(lhsDesign(nappr, nvar, seed = 42)$design)$design response.grid <- t(apply(design.grid, 1, fname)) # kriging models: matern5_2 covariance structure, linear trend, no nugget effect mf1 <- km(~., design = design.grid, response = response.grid[,1]) mf2 <- km(~., design = design.grid, response = response.grid[,2]) # Conditional simulations generation with random sampling points nsim <- 40 npointssim <- 150 # increase for better results Simu_f1 <- matrix(0, nrow = nsim, ncol = npointssim) Simu_f2 <- matrix(0, nrow = nsim, ncol = npointssim) design.sim <- array(0, dim = c(npointssim, nvar, nsim)) for(i in 1:nsim){ design.sim[,,i] <- matrix(runif(nvar*npointssim), nrow = npointssim, ncol = nvar) Simu_f1[i,] <- simulate(mf1, nsim = 1, newdata = design.sim[,,i], cond = TRUE, checkNames = FALSE, nugget.sim = 10^-8) Simu_f2[i,] <- simulate(mf2, nsim = 1, newdata = design.sim[,,i], cond = TRUE, checkNames = FALSE, nugget.sim = 10^-8) } # Attainment and Voreb'ev expectation + deviation estimation CPF1 <- CPF(Simu_f1, Simu_f2, response.grid) # Details about the Vorob'ev threshold and Vorob'ev deviation summary(CPF1) # Graphics plot(CPF1)

References

M. Binois, D. Ginsbourger and O. Roustant (2015), Quantifying Uncertainty on Pareto Fronts with Gaussian process conditional simulations, European Journal of Operational Research, 243(2), 386-394.

C. Chevalier (2013), Fast uncertainty reduction strategies relying on Gaussian process models, University of Bern, PhD thesis.

I. Molchanov (2005), Theory of random sets, Springer.

See Also

Methods coef, summary and plot can be used to get the coefficients from a CPF object, to obtain a summary or to display the attainment function (with the Vorob'ev expectation if compute.VorobExp is TRUE).

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