model: list of objects of class km, one for each objective functions,
lower: vector of lower bounds for the variables,
upper: vector of upper bounds for the variables,
CPS: optional matrix containing points from Conditional Pareto Set Simulations (in the variable space), see details
nsim: optional number of conditional simulations to perform if CPS is not provided,
simpoints: (optional) If CPS is NULL, either a number of simulation points, or a matrix where conditional simulations are to be performed. In the first case, then simulation points are taken as a maximin LHS design using lhsDesign.
...: further arguments to be passed to kde. In particular, if the input dimension is greater than three, a matrix eval.points can be given (else it is taken as the simulation points).
Returns
An object of class kde accounting for the estimated density of Pareto optimal points.
Details
This function estimates the density of Pareto optimal points in the variable space given by the surrogate models. Based on conditional simulations of the objectives at simulation points, Conditional Pareto Set (CPS) simulations are obtained, out of which a density is fitted.
This function relies on the ks-package package for the kernel density estimation.
Examples
## Not run:#---------------------------------------------------------------------------# Example of estimation of the density of Pareto optimal points#---------------------------------------------------------------------------set.seed(42)n_var <-2fname <- P1
lower <- rep(0, n_var)upper <- rep(1, n_var)res1 <- easyGParetoptim(fn = fname, lower = lower, upper = upper, budget =15,control=list(method ="EHI", inneroptim ="pso", maxit =20))estDens <- ParetoSetDensity(res1$model, lower = lower, upper = upper)# graphicspar(mfrow = c(1,2))plot(estDens, display ="persp", xlab ="X1", ylab ="X2")plot(estDens, display ="filled.contour2", main ="Estimated density of Pareto optimal point")points(res1$model[[1]]@X[,1], res1$model[[2]]@X[,2], col="blue")points(estDens$x[,1], estDens$x[,2], pch =20, col = rgb(0,0,0,0.15))par(mfrow = c(1,1))## End(Not run)