multiREMBO | R Documentation |
REMBO for multi-objective unconstrained problems
multiREMBO(
par,
fn,
lower,
upper,
budget,
...,
critcontrol = list(distance = "euclidean", threshold = 1e-04),
kmcontrol = list(covtype = "matern5_2", covreestim = TRUE, iso = TRUE, formula = ~1),
control = list(Atype = "isotropic", reverse = TRUE, bxsize = NULL, testU = TRUE,
standard = FALSE, maxitOptA = 100, lightreturn = FALSE, warping = "Psi", designtype =
"unif", roll = F, inneroptim = "pso", popsize = 80, gen = 40),
init = NULL
)
par |
vector whose length is used to define the initial DoE or just the low dimension |
fn |
function to be minimized over |
lower, upper |
bounds for optimization |
budget |
total number of calls to the objective function |
... |
additional parameters of fn |
critcontrol |
optional controls for hypervolume computations, see |
kmcontrol |
an optional list of control parameters to be passed to the |
control |
an optional list of control parameters. See "Details" |
init |
optional list with elements |
Options available from control are:
Atype
see selectA
;
reverse
if TRUE
, use the new mapping from the zonotope,
otherwise the original mapping with convex projection;
Amat
matrix defining the random embedding;
bxsize
scalar controling the box size in the low-dimensional space;
testU
with the regular mapping, set to TRUE
to check that points are in U (to avoid non-injectivity);
standard
for using settings of the original REMBO method;
maxitOptA
if Atype
is optimized
, number of optimization iterations;
lightreturn
only returns par
and value
;
warping
either "standard"
for kY, "kX"
or "Psi"
;
designtype
one of "LHS", "maximin" and 'unif',
see designZ
or designU
;
tcheckP
minimal distance to an existing solution, see checkPredict
roll
to alternate between optimization methods;
initdesigns
initial design matrix
inneroptim
optimization method for EI
popsize, gen
population size and number of optimization generations of EI
## Not run:
set.seed(42)
library(GPareto)
library(eaf)
lowd <- 2
highD <- 25
maxEval <- 100
n.grid <- 101
test.grid <- expand.grid(seq(0, 1, length.out = n.grid), seq(0, 1, length.out = n.grid))
response.grid <- t(apply(test.grid, 1, P1))
PFref <- response.grid[is_nondominated(response.grid),]
ii <- c(1,2)
P1_mod <- function(X){
if(is.null(nrow(X))) X <- matrix(X, nrow = 1)
return(P1(X[,c(ii[1], ii[2]), drop = FALSE]))
}
plot(response.grid, pch = '.', xlab = "f1", ylab = "f2")
plotParetoEmp(PFref, col = "red")
sol <- multiREMBO(par = rep(NA, lowd), P1_mod, lower = rep(0, highD),
upper = rep(1, highD), budget = maxEval)
points(sol$values, col = "blue", pch = 20)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.