max_EI: Maximization of the Constrained Expected Improvement criterion

Share:

Description

Given an object of class mkm and a set of tuning parameters, max_EI performs the maximization of the Constrained Expected Improvement criterion and delivers the next point to be visited in an MEGO-like procedure.

Usage

1
2
max_EI(model, lower = rep(0, model@d), upper = rep(1, model@d),
  control = NULL, optimcontrol = NULL)

Arguments

model

An object of class mkm. This model must have a single objective (model@m == 1).

lower

Vector of lower bounds for the variables to be optimized over (default: 0 with length = model@d),

upper

Vector of upper bounds for the variables to be optimized over (default: 1 with length = model@d),

control

An optional list of control parameters, some of them passed to the EI function. One can control:

minimization

logical specifying if EI is used in minimiziation or in maximization (default: TRUE)

plugin

optional scalar, if not provided, the minimum (or maximum) of the current feasible observations. If there isn't any feasible design plugin is set to NA and the algorithm returns the value of the probabilty of constraints be met.

envir

optional enviroment specifying where to assign intermediate values. Default: NULL.

optimcontrol

Optional list of control parameters passed to the GenSA function. Please, note that the values are passed as the control parameter inside the GenSA function (genSA(control = optimcontrol)).

Value

A list with components:

par

The best set of parameters found.

value

The value of expected hypervolume improvement at par.

Vector. The best set of parameters found.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# --------------------------------------------
# Branin-Hoo function (with simple constraint)
# --------------------------------------------
n <- 10
d <- 2
doe <- replicate(d,sample(0:n,n))/n
fun_cost <- DiceKriging::branin
fun_cntr <- function(x) 0.2 - prod(x)
fun <- function(x) return(cbind(fun_cost(x),fun_cntr(x)))
res <- t(apply(doe, 1, fun))
model <- mkm(doe, res, modelcontrol = list(objective = 1, lower=c(0.1,0.1)))
max_EI(model)