Learn R Programming

KrigInv (version 1.1)

ranjan_optim: Ranjan et al.'s Expected Improvement criterion

Description

Evaluation of Ranjan's Expected Improvement criterion. To be used in optimization routines, like in max.infill.criterion

Usage

ranjan_optim(x, T, method.param, model, type="UK")

Arguments

x
the input vector at which one wants to evaluate the criterion
T
the targeted (scalar) output value
method.param
the (scalar) tolerance around the target T
model
An object of class km (Kriging model).
type
Kriging type (string): "SK" or "UK" (default)

Value

  • Ranjan EI criterion

References

Bect J., Ginsbourger D., Li L., Picheny V., Vazquez E. (2010), Sequential design of computer experiments for the estimation of a probability of failure, accepted with minor revisions to the Journal of Statistics and Computing, http://arxiv.org/abs/1009.5177 Ranjan, P., Bingham, D., Michailidis, G.: Sequential experiment design for contour estimation from complex computer codes. Technometrics 50(4), 527-541 (2008)

See Also

EGI, max_infill_criterion

Examples

Run this code
#####################################################################
#a 9-point full factorial initial design
design.fact <- expand.grid(seq(0,1,length=3), seq(0,1,length=3))

design.fact <- data.frame(design.fact)
names(design.fact) <- c ( "x1","x2")
testfun <- camelback2			#our test function

#the response
response <- testfun(design.fact)

#the initial km model
model <- km(formula=~., design = design.fact, response = response, 
covtype="matern5_2")

#the integration points
n.grid <- 30
x.grid <- y.grid <- seq(0,1,length=n.grid)
design.grid <- expand.grid(x.grid, y.grid)

#evaluate criterion on the grid
T <- 0
ranjan.EI.grid <- apply(design.grid, 1, ranjan_optim, T=T, 
method.param=0.1, model=model)
z.grid <- matrix(ranjan.EI.grid, n.grid, n.grid)

#plots: contour of the criterion, doe points and new point
contour(x.grid,y.grid,z.grid,25)
points(design.fact, col="black", pch=20, lwd=4)

i.best <- which.max(ranjan.EI.grid)
points(design.grid[i.best,], col="blue", pch=20, lwd=4)

#plots: contour of the actual function at threshold
testfun.grid <- testfun(design.grid)
z.grid.2 <- matrix(testfun.grid, n.grid, n.grid)
contour(x.grid,y.grid,z.grid.2,levels=T,col="blue",add=TRUE)
title("Contour lines of Ranjan criterion (black) and of f(x)=T (blue)")
#####################################################################

Run the code above in your browser using DataLab