When you want to run a human-in-the-loop MBO run you need to initialize it first.

```
initSMBO(
par.set,
design,
learner = NULL,
control,
minimize = rep(TRUE, control$n.objectives),
noisy = FALSE,
show.info = getOption("mlrMBO.show.info", TRUE)
)
```

## Arguments

- par.set
[`ParamSet`

]

See `mbo`

.

- design
[`data.frame`

]

Initial design as data frame.
If the y-values are not already present in design, mbo will evaluate the points.
If the parameters have corresponding trafo functions, the design must not be transformed before it is passed!
Functions to generate designs are available in `ParamHelpers`

: `generateDesign`

, `generateGridDesign`

, `generateRandomDesign`

.
Default is `NULL`

, which means `generateDesign`

is called and a design of size 4 times number of all parameters is created
The points are drawn via `maximinLHS`

to maximize the minimal distance between design points.

- learner
[`Learner`

]

Regression learner from mlr, which is used as a surrogate to model our fitness function.
If `NULL`

(default), the default learner is determined as described here: mbo_default_learner.

- control
[`MBOControl`

]

Control object for mbo.

- minimize
[`logical`

]

Should objective values of the target functions be minimized? One value par objective.
Default is `TRUE`

for every objective.

- noisy
[`logical(1)`

]

Is the target function noisy?
Default is `FALSE`

.

- show.info
[`logical(1)`

]

Verbose output on console?
Default is `TRUE`

.