These are my initial parameters. As a reminder, also here are the default values for the function
Default: easyGParetoptim <- function (fn, ..., cheapfn = NULL, budget, lower, upper, par=NULL, value=NULL, noise.var=NULL,
control=list(method="SMS", trace=1, inneroptim="pso", maxit=100, seed=42), ncores = 1){}
budget = 100
lower = c(65,0.1)
upper = c(90,0.8)
par=NULL
value=NULL
noise.var=NULL
control=list(method="EMI", trace=1, inneroptim="genoud", maxit=1000)
if (is.null(control$method)) control$method <- "SMS"
if (is.null(control$trace)) control$trace <- 2
if (is.null(control$inneroptim)) control$inneroptim <- "pso"
if (is.null(control$maxit)) control$maxit <- 100
if (is.null(control$seed)) control$seed <- 42
if (is.null(control$refPoint)) control$refPoint <- NULL
if (is.null(control$distance)) control$distance <- "euclidean"
if (is.null(control$threshold)) control$threshold <- 1e-5
fn <- match.fun(fn)
d <- length(lower)
if (length(lower) != length(upper)) {
cat("Bound values lower and upper are not consistent. Both should be vectors of size d.")
return(NULL)
}
if (!is.null(par)) {
design.init <- data.frame(x=par) #, ncol=d, byrow=TRUE)
temp <- dim(design.init)
if (temp[2] != d) {
cat("Bound values (lower and upper) and initial DOE (par) are not consistent. \n
lower and upper should be vectors of size d and \n
par either a matrix with d columns or a data frame of d variables.")
return(NULL)
}
n.init <- temp[1]
} else {
n.init <- max(4*d, round(budget/3))
design.init <- data.frame(x=lower + (upper-lower)*DiceDesign::maximinESE_LHS(DiceDesign::lhsDesign(n.init, d, seed=control$seed)$design)$design)
}
> design.init
x.1 x.2
1 76.0696149 0.7520375
2 0.2557608 65.7280784
3 77.3340059 0.6126351
4 0.7398423 84.4342816
5 69.5949453 0.2773338
6 0.6285544 72.5977526
7 79.3049338 0.1493053
8 0.1248087 73.4183675
9 66.5796924 0.5959640
10 0.6830319 80.3900229
11 73.7310628 0.4823795
12 0.5123566 70.8080097
13 69.1522000 0.4302356
14 0.3092646 74.5609400
15 74.4982630 0.1315125
16 0.7790235 71.8889383
17 88.5575520 0.1847647
18 0.4735411 79.7223573
19 65.4108017 0.4688411
20 0.5393849 85.4675627
21 67.8367963 0.1901771
22 0.3303910 84.8791331
23 84.1389482 0.7066988
24 0.5742660 81.9111539
25 84.7424132 0.2106277
26 0.5467893 89.6698700
27 74.9198954 0.2440800
28 0.5890101 77.1533511
29 87.3886594 0.7786323
30 0.4221897 75.4763149
31 71.0771012 0.5658727
32 0.6995055 75.7199320
33 68.2537388 0.7323445
if (!is.null(par) && !is.null(value)) {
obs.init <- as.matrix(value)
if (nrow(obs.init) != n.init) {
cat("Initial DOE (par) and objective (value) are not consistent.")
return(NULL)
}
} else {
obs.init <- apply(design.init, 1, fn)
}