optimCEGO {CEGO} R Documentation

## Combinatorial Efficient Global Optimization

### Description

Model-based optimization for combinatorial or mixed problems. Based on measures of distance or dissimilarity.

### Usage

```optimCEGO(x = NULL, fun, control = list())
```

### Arguments

 `x` Optional initial design as a list. If NULL (default), `creationFunction` (in `control` list) is used to create initial design. If `x` has less individuals than specified by `control\$evalInit`, `creationFunction` will fill up the design. `fun` target function to be minimized `control` (list), with the options of optimization and model building approaches employed: `evalInit` Number of initial evaluations (i.e., size of the initial design), integer, default is `2` `vectorized` Boolean. Defines whether target function is vectorized (takes a list of solutions as argument) or not (takes single solution as argument). Default: FALSE `verbosity` Level of text output during run. Defaults to 0, no output. `plotting` Plot optimization progress during run (TRUE) or not (FALSE). Default is FALSE. `targetY` optimal value to be found, stopping criterion, default is `-Inf` `budget` maximum number of target function evaluations, default is `100` `creationRetries` When a model does not predict an actually improving solution, a random exploration step is performed. `creationRetries` solutions are created randomly. For each, distance to all known solutions is calculated. The minimum distance is recorded for each random solution. The random solution with maximal minimum distance is chosen doe be evaluated in the next iteration. `model` Model to be used as a surrogate of the target function. Default is "K" (Kriging). Also available are: "LM" (linear, distance-based model), "RBFN" Radial Basis Function Network. `modelSettings` List of settings for `model` building, passed on as the `control` argument to the model training functions `modelKriging`, `modelLinear`, `modelRBFN`. `infill` This parameter specifies a function to be used for the infill criterion (e.g., the default is expected improvement `infillExpectedImprovement`). To use no specific infill criterion this has to be set to `NA`, in which case the prediction of the surrogate model is used. Infill criteria are only used with models that may provide some error estimate with predictions. `optimizer` Optimizer that finds the minimum of the surrogate model. Default is `optimEA`, an Evolutionary Algorithm. `optimizerSettings` List of settings (`control`) for the `optimizer` function. `initialDesign` Design function that generates the initial design. Default is `designMaxMinDist`, which creates a design that maximizes the minimum distance between points. `initialDesignSettings` List of settings (`control`) for the `initialDesign` function. `creationFunction` Function to create individuals/solutions in search space. Default is a function that creates random permutations of length 6 `distanceFunction` distanceFunction a suitable distance function of type f(x1,x2), returning a scalar distance value, preferably between 0 and 1. Maximum distances larger 1 are not a problem, but may yield scaling bias when different measures are compared. Should be non-negative and symmetric. With the setting `control\$model="K"` this can also be a list of different fitness functions. Default is Hamming distance for permutations: distancePermutationHamming.

### Value

a list:

`xbest`

best solution found

`ybest`

fitness of the best solution

`x`

history of all evaluated solutions

`y`

corresponding target function values f(x)

`fit`

model-fit created in the last iteration

`fpred`

prediction function created in the last iteration

`count`

number of performed target function evaluations

`message`

message string, giving information on termination reason

`convergence`

error/status code: `-1` for termination due to failed model building, `0` for termination due to depleted budget, `1` if attained objective value is equal to or below target (`control\$targetY`)

### References

Zaefferer, Martin; Stork, Joerg; Friese, Martina; Fischbach, Andreas; Naujoks, Boris; Bartz-Beielstein, Thomas. (2014). Efficient global optimization for combinatorial problems. In Proceedings of the 2014 conference on Genetic and evolutionary computation (GECCO '14). ACM, New York, NY, USA, 871-878. DOI=10.1145/2576768.2598282

Zaefferer, Martin; Stork, Joerg; Bartz-Beielstein, Thomas. (2014). Distance Measures for Permutations in Combinatorial Efficient Global Optimization. In Parallel Problem Solving from Nature - PPSN XIII (p. 373-383). Springer International Publishing.

`modelKriging`, `modelLinear`, `modelRBFN`, `buildModel`, `optimEA`

### Examples

```seed <- 0
#distance
dF <- distancePermutationHamming
#mutation
mF <- mutationPermutationSwap
#recombination
rF <-  recombinationPermutationCycleCrossover
#creation
cF <- function()sample(5)
#objective function
lF <- landscapeGeneratorUNI(1:5,dF)
#start optimization
set.seed(seed)
res1 <- optimCEGO(,lF,list(
creationFunction=cF,
distanceFunction=dF,
optimizerSettings=list(budget=100,popsize=10,
mutationFunction=mF,recombinationFunction=rF),
evalInit=5,budget=15,targetY=0,verbosity=1,model=modelKriging,
vectorized=TRUE)) ##target function is "vectorized", expects list as input
set.seed(seed)
res2 <- optimCEGO(,lF,list(
creationFunction=cF,
distanceFunction=dF,
optimizerSettings=list(budget=100,popsize=10,
mutationFunction=mF,recombinationFunction=rF),
evalInit=5,budget=15,targetY=0,verbosity=1,model=modelRBFN,
vectorized=TRUE)) ##target function is "vectorized", expects list as input
res1\$xbest
res2\$xbest

```

[Package CEGO version 2.4.2 Index]