The package randomsearch optimizes a given smoof function. Use makeSingleObjectiveFunction() to wrap any function into a smoof function. It can make use of parallel resources through prallelMap. randomsearch has three internal operating modes:

  • fast.parallel is the default and used if only max.evals is defined as termination criterion. max.execbudget and target.fun.value have to be NULL.
  • slow.parallel is used if max.execbudget or target.fun.value have been set and parallelStart has been called without defined level or with level = randomsearch.feval. In this mode par.jobs (defaults to parallelGetOptions()$settings$cpus) instances are started. Each instance conducts a randomsearch until the termination criterion is met. The instances communicate using a shared folder (par.dir = ~/.randomsearch/).
  • normal is used if no parallel mode is started and if max.execbudget or target.fun.value have been set. Note, that this introduces an overhead to fast.parallel even without parallelization because the termination criterion is checked after each evaluation.