HEGO: Efficient Global Optimization Algorithm based on the Hypervolume criteria

Description

Executes nsteps iterations of the HEGO method to an object of class mkm. At each step, a kriging model is re-estimated (including covariance parameters re-estimation) based on the initial design points plus the points visited during all previous iterations; then a new point is obtained by maximizing the Expected Hypervolume Improvement criterion (EHVI).

Usage

1
2
HEGO(model, fun, nsteps, lower = rep(0, model@d), upper = rep(1, model@d),
  quiet = TRUE, control = NULL, optimcontrol = NULL)

Arguments

model

An object of class mkm.

fun

The multi-objective and constraint cost function to be optimized. This function must return a vector with the size of model@m + model@j where model@m are the number of objectives and model@j the number of the constraints,

nsteps

An integer representing the desired number of iterations,

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),

quiet

Logical indicating the verbosity of the routine,

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

updated mkm model

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# ----------------
# The Nowacki Beam
# ----------------
n <- 20
d <- 2
nsteps <- 1 # value has been set to 1 to save compliation time, change this value to 40.
fun <- nowacki_beam
doe <- replicate(d,sample(0:n,n))/n
res <- t(apply(doe, 1, fun))
model <- mkm(doe, res, modelcontrol = list(objective = 1:2, lower = rep(0.1,d)))
model <- HEGO(model, fun, nsteps, quiet = FALSE)
plot(nowacki_beam_tps$set)
points(ps(model@response[which(model@feasible),model@objective])$set, col = 'green', pch = 19)