Configuration#

Example Configurations#

Single Objective Optimization#

# Single objective optimization config
optimization_options:
    objective_options:
        objectives:
            # List all of your metrics here,
            # only list 1 metric for a single objective optimization
            - name: rmse
              boa_metric: RootMeanSquaredError
        # List all outcome constraints here
        outcome_constraints: []
    # Here we explicitly define a generation strategy
    # for our trials.
    # This can always be done, but if left off,
    # Will be autoselected.
    # Here we say we want for first 5 trials
    # To be a random sobol survey,
    # and then the rest be Gaussian process expected improvement
    generation_strategy:
        steps:
            # Other options are possible, see Ax GenerationStrategy
            # for more information
            - model: SOBOL
              num_trials: 5
            - model: GPEI
              num_trials: -1
    # experiment options we wish to use
    # we specify an experiment name, which we can
    # also use to name our experiment running and output directory
    experiment:
        name: "test_experiment"
    # Scheduler options we wish to use
    # Here we specify a total of 10 trials will be ran.
    scheduler:
        total_trials: 10

# optimization parameters
parameters:
    x1:
        type: range
        bounds: [0, 1]

    x2:
        type: range
        bounds: [0, 1]

    x3:
        type: range
        bounds: [0, 1]

    x4:
        type: range
        bounds: [0, 1]

    x5:
        type: fixed
        values: .5

# optimization parameter constraints
parameter_constraints:
    - x2 + x1 => >.1
    - x2 + x1 + .6*x1 <= .6

# non optimization model options
# anything can go here
model_options:
    model_specific_options:
        - 1
        - 2
        - 3

Multi Objective Optimization#

# MultiObjective Optimization config
optimization_options:
    objective_options:
        objectives:
            # List all of your metrics here,
            # only list multiple objectives for a multi objective optimization
            - name: rmse
              boa_metric: RootMeanSquaredError
            - name: r2
              boa_metric: R2
        outcome_constraints: []
        objective_thresholds: []
    experiment:
        name: "test_experiment"
    scheduler:
        total_trials: 10

parameters:
    x1:
        type: range
        bounds: [0, 1]

    x2:
        type: range
        bounds: [0, 1]

    x3:
        type: range
        bounds: [0, 1]

    x4:
        type: range
        bounds: [0, 1]

    x5:
        type: fixed
        values: .5

parameter_constraints:
    - x2 + x1 => >.1
    - x2 + x1 + .6*x1 <= .6

model_options:
    model_specific_options:
        - 1
        - 2
        - 3