spotAlgStartOnePlusOneEsJava <- function(io.apdFileName , io.desFileName , io.resFileName){ ## read default problem design source(io.apdFileName,local=TRUE) ## read doe/dace etc settings: print(io.desFileName) des <- read.table(io.desFileName , sep=" " , header = TRUE ); config<-nrow(des); attach(des) for (k in 1:config){ if(des$REPEATS[k]>=1){ for (i in 1:des$REPEATS[k]){ ### 1. Add user defined parameters here: if (exists("SIGMANULL")){ sigma0 <- des$SIGMANULL[k] } if (exists("VARA")){ a <- des$VARA[k] } if (exists("VARG")){ g <- round(des$VARG[k]) } ## End of user defined section. conf <- k if (exists("CONFIG")){ conf <- des$CONFIG[k] } spotStep<-NA if (exists("STEP")){ spotStep <- des$STEP[k] } seed <- des$SEED[k]+i ### 2. The call string has to be modified by the user: callString <- paste("java -jar simpleOnePlusOneES.jar", seed, steps, target, f, n, xp0, sigma0, a, g, px, py, sep = " ") ### End of user defined call string. y <-system(callString, intern= TRUE) res <- NULL res <- list(Y=y, ### 3. User specific parameter values have to be added to the list: SIGMANULL=sigma0, VARA=a, VARG=g, ### End of user specific parameter values. Function=f, MAXITER=steps, DIM=n, TARGET=target, SEED=seed, CONFIG=conf ) if (exists("STEP")){ res=c(res,STEP=spotStep) } res <-data.frame(res) colNames = TRUE if (file.exists(io.resFileName)){ colNames = FALSE } ## quote = false is required for JAVA write.table(res , file = io.resFileName , row.names = FALSE , col.names = colNames , sep = " " , append = !colNames , quote = FALSE ); colNames = FALSE } # end for i } # end if(des$REPEATS[k]>=1) } #end for k detach(des) }This interface can be used to call the (1+1)-ES from SPOT.
SPOT generates designs (parameter settings for the (1+1)-ES. These designs are based on information provided by the user. How these information can be specified is described in the tutorial Performing experiments in the SPOT environment, which can be downloaded from the workshop's web site.