VMPF: Variance Minimization of the Predicted Front

Share:

Description

Executes nsteps iterations of the VMPF algorithm to an object of class mkm. At each step, a multi-objective kriging model is re-estimated (including covariance parameters re-estimation).

Usage

1
2
VMPF(model, fun, nsteps, lower = rep(0, model@d), upper = rep(1, model@d),
  quiet = TRUE, control = NULL, modelcontrol = 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 that controlls the optimization algorithm. One can control:

popsize

(default: 200);

generations

(default: 30);

cdist

(default: 1/model@d);

mprob

(default: 15);

mdist

(defult: 20).

modelcontrol

An optional list of control parameters to the mkm function (default: object@control).

Details

The infill point is sampled from the most uncertain design of a predicted Pareto set. This set is predicted using nsga-2 algorithm and the mean value of the mkm predictor.

Value

an updated object of class mkm.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# ----------------
# The Nowacki Beam
# ----------------
n <- 20
d <- 2
nsteps <- 2 # value has been set to 2 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 <- VMPF(model, fun, nsteps, quiet = FALSE)
plot(nowacki_beam_tps$set)
points(ps(model@response[which(model@feasible),model@objective])$set, col = 'green', pch = 19)