3.3. Factories and Classes

A factory object (BaseFactory) defines a set of other classes that are required to define one of the following:

  • a data source
  • an optimizer
  • a parameterization
  • a notifier

Each factory returns the classes that are required. Both these and the factory class must be written by the plugin writer. In turn, the former may depend on other classes that also need to be written.

Below we provide links to well documented code examples of factories and their associated classes.

Factories for different BDSS Categories
BDSS category factory classes defined by factory other classes example
data source BaseDataSourceFactory BaseDataSource, BaseDataSourceModel   Gaussian
parameterization BaseMCOParameterFactory BaseMCOParameter   Ranged
optimizer BaseMCOFactory BaseMCO, BaseMCOModel, BaseMCOCommunicator BaseOptimizerEngine, IOptimizer Nevergrad

In the following topics we go into these in more detail.