Skip to contents

The OptimizerAsync implements the asynchronous optimization algorithm. The optimization is performed asynchronously on a set of workers.


OptimizerAsync is the abstract base class for all asynchronous optimizers. It provides the basic structure for asynchronous optimization algorithms. The public method $optimize() is the main entry point for the optimization and runs in the main process. The method starts the optimization process by starting the workers and pushing the necessary objects to the workers. Optionally, a set of points can be created, e.g. an initial design, and pushed to the workers. The private method $.optimize() is the actual optimization algorithm that runs on the workers. Usually, the method proposes new points, evaluates them, and updates the archive.

Super class

bbotk::Optimizer -> OptimizerAsync


Inherited methods

Method optimize()

Performs the optimization on a OptimInstanceAsyncSingleCrit or OptimInstanceAsyncMultiCrit until termination. The single evaluations will be written into the ArchiveAsync. The result will be written into the instance object.



Method clone()

The objects of this class are cloneable with this method.


OptimizerAsync$clone(deep = FALSE)



Whether to make a deep clone.