In mlrMBO you can parallelize the tuning on two different levels to speed up computation:

  • mlrMBO.fevalMultiple evaluations of the target function.

  • mlrMBO.propose.pointsOptimization of the infill criteria if multiple are used (e.g. ParEGO and ParallelLCB)

Internally the evaluation of the target function is realized with the R package parallelMap. See the mlrMBO tutorial and the Github project pages of parallelMap for instructions on how to set up parallelization. The different levels of parallelization can be specified in parallelStart*. Details for the levels mentioned above are given below:

  • Evaluation of the objective function can be parallelized in cases multiple points are to be evaluated at once. These are: evaluation of the initial design, multiple proposed points per iteration and evaluation of the target function in exampleRun. (Level: mlrMBO.feval)

  • Model fitting / point proposal - in some cases where independent, expensive operations are performed. (Level: mlrMBO.propose.points)

Details regarding the latter:

single-objective MBO with LCB multi-point

Parallel optimization of LCBs for the lambda-values.

Multi-objective MBO with ParEGO

Parallel optimization of scalarization functions.