max_EHVI: Maximization of the Expected Hypervolume Improvement criterion

Description

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

Usage

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

Arguments

model

An object of class mkm.

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 crit_EHI function. One can control:

minimization

logical indicating if the EHVI is minimizing all objectives (TRUE, by default) or maximizing all objectives (FALSE). Mixed optimization is not currently accepted, if the user needs it, the cost functions should be modified prior Kriging modeling (i.e. inverting or mutilpying the optut by -1).

paretoFront

object of class ps containing the actual Pareto set. If not provided a Pareto set is built based on the current feasible observations (model@response[model@feasible,]).

nb.samp

number of random samples from the posterior distribution (with more than two objectives), default to 50, increasing gives more reliable results at the cost of longer computation time

seed

seed used for the random samples (with more than two objectives);

refPoint

reference point for Hypervolume Expected Improvement. If not provided, it is set to the maximum or minimum of each objective.

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.

Examples

1
2
3
4
5
6
7
8
9
# ------------------------
# The Nowacki Beam
# ------------------------
n <- 20
d <- 2
doe <- replicate(d,sample(0:n,n))/n
res <- t(apply(doe, 1, nowacki_beam, box = data.frame(b = c(10, 50), h = c(50, 250))))
model <- mkm(doe, res, modelcontrol = list(objective = 1:2, lower=c(0.1,0.1)))
max_EHVI(model)