Optimize step

An optimize step generates optimized configurations according to the defined optimization strategy. During this step, Akamas AI is used to generate such optimized configurations.

The optimize step has the following structure:

Optimizer

The optimizer field allows selecting the desired optimizer:

  • AKAMAS identifies the standard AI optimizer used by Akamas

  • SOBOL identifies an optimizer that generates configurations using Sobol sequences

  • RANDOM identifies an optimization that generates configurations using random numbers

Notice that SOBOL and RANDOM optimizers do not perform initialization experiments, hence the field numberOfInitExperiments is ignored.

Refer to page Optimizer Options for more configuration options for the optimizer

Failures

The optimize step is fault-tolerant and tries to relaunch experiments on failure. Nevertheless, the step imposes a limit on the number of failed experiments: if too many experiments fail, then the entire step fails too. By default, at most 30 experiments can fail while Akamas is optimizing systems. An experiment is considered failed when it either failed to run (i.e., there is an error in the workflow) or violated some constraint.

Initializations

The optimize step launches some initialization experiments (by default 10) that do not apply the AI optimizer and are used to find good configurations. By default, the step performs 10 initialization experiments.

Initialization experiments take into account bootstrapped experiments, experiments executed in preset steps, and baseline experiments.

Example

The following snippet shows an optimization step that runs 50 experiments using the SOBOL optimizer:

name: "my_optimize" # name of the step
type: "optimize" # type of the step (optimize)
optimizer: "SOBOL"
numberOfExperiments: 50 # amount of experiments to execute
numberOfTrials: 2 # amount of trials for each experiment

Last updated