Running a Multi Objective Optimization Directly in Python#

This notebook demonstrates how to:

Write a basic Wrapper in Python and launch a multi objective optimization from Python. If you wanted to launch it from command line, you would do a similar thing of defining the Wrapper, and then put in your configuration file the information about where the wrapper is, and use BOA’s CLI tools. See Running an Experiment from Command Line (Python Wrapper) for more information.

1import pathlib
2import shutil
3
4from IPython.display import Code
5
6import boa
7from boa.scripts.moo import Wrapper
[WARNING 08-09 18:59:32] ax.service.utils.with_db_settings_base: Ax currently requires a sqlalchemy version below 2.0. This will be addressed in a future release. Disabling SQL storage in Ax for now, if you would like to use SQL storage please install Ax with mysql extras via `pip install ax-platform[mysql]`.
Hide code cell content
1# Remove old runs to have a clean slate for this example
2old_runs = pathlib.Path().resolve().glob("moo_run*")
3for path in old_runs:
4    shutil.rmtree(path, ignore_errors=True)

Loading the MOO Config File#

1config_path = pathlib.Path().resolve().parent.parent / "boa/scripts/moo.yaml"

Here we can see what the configuration file looks like

1Code(config_path)
# MultiObjective Optimization config
optimization_options:
    objective_options:
        objective_thresholds:
            - branin >= -18.0
            - currin >= -6.0
        objectives:
            - name: branin
              lower_is_better: False
              noise_sd: 0
            - name: currin
              lower_is_better: False
              noise_sd: 0

    experiment:
        name: "moo_run"
    trials: 50

parameters:
    x0:
        type: range
        bounds: [0, 1]
        value_type: float
    x1:
        type: range
        bounds: [0, 1]
        value_type: float
1config = boa.load_jsonlike(config_path)

The Wrapper#

We define our wrapper in wrapper.py and use a synthetic function that stands in for any black box model call

1Code(Wrapper.path())
from pathlib import Path

import torch

from boa.controller import Controller
from boa.metrics.synthetic_funcs import get_synth_func
from boa.utils import torch_device
from boa.wrappers.base_wrapper import BaseWrapper

tkwargs = {
    "device": torch_device(),
}
Problem = get_synth_func("BraninCurrin")

problem = Problem(negate=True).to(**tkwargs)


class Wrapper(BaseWrapper):
    def run_model(self, trial) -> None:
        pass

    def set_trial_status(self, trial) -> None:
        trial.mark_completed()

    def fetch_trial_data(self, trial, metric_properties, metric_name, *args, **kwargs):
        evaluation = problem(torch.tensor([trial.arm.parameters["x0"], trial.arm.parameters["x1"]]))
        a = float(evaluation[0])
        b = float(evaluation[1])
        return {"branin": a, "currin": b}


def main():
    config_path = Path(__file__).resolve().parent / "moo.yaml"
    wrapper = Wrapper(config_path=config_path)
    controller = Controller(wrapper=wrapper)
    controller.initialize_scheduler()
    return controller.run()


if __name__ == "__main__":
    main()

The Setup#

1controller = boa.Controller(config_path=config_path, wrapper=Wrapper)
2
3controller.initialize_scheduler()
[INFO 08-09 18:59:33] ax.service.utils.instantiation: Created search space: SearchSpace(parameters=[RangeParameter(name='x0', parameter_type=FLOAT, range=[0.0, 1.0]), RangeParameter(name='x1', parameter_type=FLOAT, range=[0.0, 1.0])], parameter_constraints=[]).
[INFO 08-09 18:59:33] ax.modelbridge.dispatch_utils: Using Models.MOO since there are more ordered parameters than there are categories for the unordered categorical parameters.
[INFO 08-09 18:59:33] ax.modelbridge.dispatch_utils: Calculating the number of remaining initialization trials based on num_initialization_trials=None max_initialization_trials=None num_tunable_parameters=2 num_trials=None use_batch_trials=False
[INFO 08-09 18:59:33] ax.modelbridge.dispatch_utils: calculated num_initialization_trials=5
[INFO 08-09 18:59:33] ax.modelbridge.dispatch_utils: num_completed_initialization_trials=0 num_remaining_initialization_trials=5
[INFO 08-09 18:59:33] ax.modelbridge.dispatch_utils: Using Bayesian Optimization generation strategy: GenerationStrategy(name='Sobol+MOO', steps=[Sobol for 5 trials, MOO for subsequent trials]). Iterations after 5 will take longer to generate due to model-fitting.
[INFO 08-09 18:59:33] Scheduler: `Scheduler` requires experiment to have immutable search space and optimization config. Setting property immutable_search_space_and_opt_config to `True` on experiment.
(Scheduler(experiment=Experiment(moo_run), generation_strategy=GenerationStrategy(name='Sobol+MOO', steps=[Sobol for 5 trials, MOO for subsequent trials]), options=SchedulerOptions(max_pending_trials=10, trial_type=<TrialType.TRIAL: 0>, batch_size=None, total_trials=None, tolerated_trial_failure_rate=0.5, min_failed_trials_for_failure_rate_check=5, log_filepath=None, logging_level=20, ttl_seconds_for_trials=None, init_seconds_between_polls=1, min_seconds_before_poll=1.0, seconds_between_polls_backoff_factor=1.5, timeout_hours=None, run_trials_in_batches=False, debug_log_run_metadata=False, early_stopping_strategy=None, global_stopping_strategy=None, suppress_storage_errors_after_retries=False)),
 <boa.scripts.moo.Wrapper at 0x7f294d36c3a0>)

Start our Experiment#

The Controller will save our scheduler to JSON after it completes the run so we can reload it at a later time for analysis or to resume our experiment

1scheduler = controller.run()
[INFO 2023-08-09 18:59:33,665 MainProcess] boa: 

##############################################


BOA Experiment Run
Output Experiment Dir: /home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933
Start Time: 20230809T185933
Version: 0.8.8.dev0+gd6e453f.d20230809

##############################################
[INFO 08-09 18:59:33] Scheduler: Running trials [0]...
[INFO 08-09 18:59:34] Scheduler: Running trials [1]...
[INFO 08-09 18:59:35] Scheduler: Running trials [2]...
[INFO 08-09 18:59:36] Scheduler: Running trials [3]...
[INFO 08-09 18:59:37] Scheduler: Running trials [4]...
[INFO 08-09 18:59:38] Scheduler: Generated all trials that can be generated currently. Model requires more data to generate more trials.
[INFO 08-09 18:59:38] Scheduler: Retrieved COMPLETED trials: 0 - 4.
[INFO 08-09 18:59:38] Scheduler: Fetching data for trials: 0 - 4.
[ERROR 2023-08-09 18:59:38,789 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 18:59:38,802 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 18:59:38,824 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 18:59:38,905 MainProcess] boa: Trials so far: 5
Running trials: 
Will Produce next trials from generation step: Sobol
Best trial so far: {}
[INFO 08-09 18:59:39] Scheduler: Running trials [5]...
[INFO 08-09 18:59:40] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:40] Scheduler: Running trials [6]...
[INFO 08-09 18:59:40] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:41] Scheduler: Running trials [7]...
[INFO 08-09 18:59:41] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:41] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 18:59:41] Scheduler: Retrieved COMPLETED trials: 5 - 7.
[INFO 08-09 18:59:41] Scheduler: Fetching data for trials: 5 - 7.
[ERROR 2023-08-09 18:59:41,817 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 18:59:41,832 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 18:59:41,852 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 18:59:41,920 MainProcess] boa: Trials so far: 8
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045}}
[INFO 08-09 18:59:41] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:42] Scheduler: Running trials [8]...
[INFO 08-09 18:59:42] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:43] Scheduler: Running trials [9]...
[INFO 08-09 18:59:44] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:45] Scheduler: Running trials [10]...
[INFO 08-09 18:59:46] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:46] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 18:59:46] Scheduler: Retrieved COMPLETED trials: 8 - 10.
[INFO 08-09 18:59:46] Scheduler: Fetching data for trials: 8 - 10.
[ERROR 2023-08-09 18:59:46,905 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 18:59:46,926 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 18:59:46,947 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 18:59:47,028 MainProcess] boa: Trials so far: 11
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045}}
[INFO 08-09 18:59:47] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:48] Scheduler: Running trials [11]...
[INFO 08-09 18:59:49] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:50] Scheduler: Running trials [12]...
[INFO 08-09 18:59:51] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:52] Scheduler: Running trials [13]...
[INFO 08-09 18:59:53] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:53] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 18:59:53] Scheduler: Retrieved COMPLETED trials: 11 - 13.
[INFO 08-09 18:59:53] Scheduler: Fetching data for trials: 11 - 13.
[ERROR 2023-08-09 18:59:53,464 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 18:59:53,490 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 18:59:53,512 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 18:59:53,628 MainProcess] boa: Trials so far: 14
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 13: {'branin': -3.6411819458007812, 'currin': -4.167500019073486}}
[INFO 08-09 18:59:53] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:54] Scheduler: Running trials [14]...
[INFO 08-09 18:59:55] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:56] Scheduler: Running trials [15]...
[INFO 08-09 18:59:58] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 18:59:59] Scheduler: Running trials [16]...
[INFO 08-09 19:00:00] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:00] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:00] Scheduler: Retrieved COMPLETED trials: 14 - 16.
[INFO 08-09 19:00:00] Scheduler: Fetching data for trials: 14 - 16.
[ERROR 2023-08-09 19:00:00,365 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:00,395 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:00,417 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:00,522 MainProcess] boa: Trials so far: 17
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 13: {'branin': -3.6411819458007812, 'currin': -4.167500019073486},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954}}
[INFO 08-09 19:00:00] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:01] Scheduler: Running trials [17]...
[INFO 08-09 19:00:02] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:04] Scheduler: Running trials [18]...
[INFO 08-09 19:00:05] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:06] Scheduler: Running trials [19]...
[INFO 08-09 19:00:07] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:07] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:07] Scheduler: Retrieved COMPLETED trials: 17 - 19.
[INFO 08-09 19:00:07] Scheduler: Fetching data for trials: 17 - 19.
[ERROR 2023-08-09 19:00:07,518 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:07,554 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:07,576 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:07,714 MainProcess] boa: Trials so far: 20
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 13: {'branin': -3.6411819458007812, 'currin': -4.167500019073486},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812}}
[INFO 08-09 19:00:07] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:08] Scheduler: Running trials [20]...
[INFO 08-09 19:00:09] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:11] Scheduler: Running trials [21]...
[INFO 08-09 19:00:12] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:13] Scheduler: Running trials [22]...
[INFO 08-09 19:00:14] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:14] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:14] Scheduler: Retrieved COMPLETED trials: 20 - 22.
[INFO 08-09 19:00:14] Scheduler: Fetching data for trials: 20 - 22.
[ERROR 2023-08-09 19:00:14,520 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:14,560 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:14,584 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:14,769 MainProcess] boa: Trials so far: 23
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625}}
[INFO 08-09 19:00:14] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:16] Scheduler: Running trials [23]...
[INFO 08-09 19:00:17] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:18] Scheduler: Running trials [24]...
[INFO 08-09 19:00:19] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:20] Scheduler: Running trials [25]...
[INFO 08-09 19:00:21] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:21] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:21] Scheduler: Retrieved COMPLETED trials: 23 - 25.
[INFO 08-09 19:00:21] Scheduler: Fetching data for trials: 23 - 25.
[ERROR 2023-08-09 19:00:21,768 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:21,813 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:21,836 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:22,009 MainProcess] boa: Trials so far: 26
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547}}
[INFO 08-09 19:00:22] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:23] Scheduler: Running trials [26]...
[INFO 08-09 19:00:24] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:26] Scheduler: Running trials [27]...
[INFO 08-09 19:00:27] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:28] Scheduler: Running trials [28]...
[INFO 08-09 19:00:28] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:28] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:28] Scheduler: Retrieved COMPLETED trials: 26 - 28.
[INFO 08-09 19:00:28] Scheduler: Fetching data for trials: 26 - 28.
[ERROR 2023-08-09 19:00:28,791 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:28,842 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:29,026 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:29,187 MainProcess] boa: Trials so far: 29
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781}}
[INFO 08-09 19:00:29] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:30] Scheduler: Running trials [29]...
[INFO 08-09 19:00:31] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:34] Scheduler: Running trials [30]...
[INFO 08-09 19:00:35] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:37] Scheduler: Running trials [31]...
[INFO 08-09 19:00:38] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:38] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:38] Scheduler: Retrieved COMPLETED trials: 29 - 31.
[INFO 08-09 19:00:38] Scheduler: Fetching data for trials: 29 - 31.
[ERROR 2023-08-09 19:00:38,421 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:38,477 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:38,503 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:38,672 MainProcess] boa: Trials so far: 32
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213}}
[INFO 08-09 19:00:38] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:40] Scheduler: Running trials [32]...
[INFO 08-09 19:00:41] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:43] Scheduler: Running trials [33]...
[INFO 08-09 19:00:44] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:46] Scheduler: Running trials [34]...
[INFO 08-09 19:00:47] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:47] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:47] Scheduler: Retrieved COMPLETED trials: 32 - 34.
[INFO 08-09 19:00:47] Scheduler: Fetching data for trials: 32 - 34.
[ERROR 2023-08-09 19:00:47,288 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:47,349 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:47,376 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:47,567 MainProcess] boa: Trials so far: 35
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
 32: {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
 33: {'branin': -9.316916465759277, 'currin': -2.376455068588257},
 34: {'branin': -6.522439479827881, 'currin': -2.9225077629089355}}
[INFO 08-09 19:00:47] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:49] Scheduler: Running trials [35]...
[INFO 08-09 19:00:50] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:52] Scheduler: Running trials [36]...
[INFO 08-09 19:00:53] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:55] Scheduler: Running trials [37]...
[INFO 08-09 19:00:56] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:56] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:00:56] Scheduler: Retrieved COMPLETED trials: 35 - 37.
[INFO 08-09 19:00:56] Scheduler: Fetching data for trials: 35 - 37.
[ERROR 2023-08-09 19:00:56,230 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:00:56,294 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:00:56,321 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:00:56,489 MainProcess] boa: Trials so far: 38
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
 32: {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
 33: {'branin': -9.316916465759277, 'currin': -2.376455068588257},
 34: {'branin': -6.522439479827881, 'currin': -2.9225077629089355},
 35: {'branin': -5.298116683959961, 'currin': -3.2214713096618652},
 36: {'branin': -2.1045546531677246, 'currin': -4.351060390472412}}
[INFO 08-09 19:00:56] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:00:58] Scheduler: Running trials [38]...
[INFO 08-09 19:00:59] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:01] Scheduler: Running trials [39]...
[INFO 08-09 19:01:02] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:03] Scheduler: Running trials [40]...
[INFO 08-09 19:01:04] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:04] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:01:04] Scheduler: Retrieved COMPLETED trials: 38 - 40.
[INFO 08-09 19:01:04] Scheduler: Fetching data for trials: 38 - 40.
[ERROR 2023-08-09 19:01:04,759 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:01:04,829 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:01:04,856 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:01:05,074 MainProcess] boa: Trials so far: 41
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
 32: {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
 33: {'branin': -9.316916465759277, 'currin': -2.376455068588257},
 34: {'branin': -6.522439479827881, 'currin': -2.9225077629089355},
 35: {'branin': -5.298116683959961, 'currin': -3.2214713096618652},
 36: {'branin': -2.1045546531677246, 'currin': -4.351060390472412},
 38: {'branin': -2.8586301803588867, 'currin': -4.043128490447998},
 39: {'branin': -0.6008186340332031, 'currin': -5.2616400718688965}}
[INFO 08-09 19:01:05] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:06] Scheduler: Running trials [41]...
[INFO 08-09 19:01:07] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:09] Scheduler: Running trials [42]...
[INFO 08-09 19:01:10] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:11] Scheduler: Running trials [43]...
[INFO 08-09 19:01:12] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:12] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:01:12] Scheduler: Retrieved COMPLETED trials: 41 - 43.
[INFO 08-09 19:01:12] Scheduler: Fetching data for trials: 41 - 43.
[ERROR 2023-08-09 19:01:12,727 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:01:12,801 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:01:12,828 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:01:13,021 MainProcess] boa: Trials so far: 44
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
 32: {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
 33: {'branin': -9.316916465759277, 'currin': -2.376455068588257},
 34: {'branin': -6.522439479827881, 'currin': -2.9225077629089355},
 35: {'branin': -5.298116683959961, 'currin': -3.2214713096618652},
 36: {'branin': -2.1045546531677246, 'currin': -4.351060390472412},
 38: {'branin': -2.8586301803588867, 'currin': -4.043128490447998},
 39: {'branin': -0.6008186340332031, 'currin': -5.2616400718688965},
 41: {'branin': -7.871457576751709, 'currin': -2.6428561210632324},
 42: {'branin': -3.6176652908325195, 'currin': -3.7639071941375732},
 43: {'branin': -1.5360136032104492, 'currin': -4.618332386016846}}
[INFO 08-09 19:01:13] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:14] Scheduler: Running trials [44]...
[INFO 08-09 19:01:15] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:17] Scheduler: Running trials [45]...
[INFO 08-09 19:01:18] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:20] Scheduler: Running trials [46]...
[INFO 08-09 19:01:21] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:21] Scheduler: Generated all trials that can be generated currently. Max parallelism currently reached.
[INFO 08-09 19:01:21] Scheduler: Retrieved COMPLETED trials: 44 - 46.
[INFO 08-09 19:01:21] Scheduler: Fetching data for trials: 44 - 46.
[ERROR 2023-08-09 19:01:21,213 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:01:21,295 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:01:21,323 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:01:21,552 MainProcess] boa: Trials so far: 47
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
 32: {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
 33: {'branin': -9.316916465759277, 'currin': -2.376455068588257},
 34: {'branin': -6.522439479827881, 'currin': -2.9225077629089355},
 35: {'branin': -5.298116683959961, 'currin': -3.2214713096618652},
 36: {'branin': -2.1045546531677246, 'currin': -4.351060390472412},
 38: {'branin': -2.8586301803588867, 'currin': -4.043128490447998},
 39: {'branin': -0.6008186340332031, 'currin': -5.2616400718688965},
 41: {'branin': -7.871457576751709, 'currin': -2.6428561210632324},
 42: {'branin': -3.6176652908325195, 'currin': -3.7639071941375732},
 43: {'branin': -1.5360136032104492, 'currin': -4.618332386016846},
 44: {'branin': -0.40439414978027344, 'currin': -5.61297607421875},
 45: {'branin': -4.3650641441345215, 'currin': -3.507798910140991},
 46: {'branin': -1.0427875518798828, 'currin': -4.899118900299072}}
[INFO 08-09 19:01:21] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:23] Scheduler: Running trials [47]...
[INFO 08-09 19:01:23] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:24] Scheduler: Running trials [48]...
[INFO 08-09 19:01:25] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 08-09 19:01:26] Scheduler: Running trials [49]...
[INFO 08-09 19:01:27] Scheduler: Retrieved COMPLETED trials: 47 - 49.
[INFO 08-09 19:01:27] Scheduler: Fetching data for trials: 47 - 49.
[ERROR 2023-08-09 19:01:27,648 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:01:27,732 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:01:27,761 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 2023-08-09 19:01:27,966 MainProcess] boa: Trials so far: 50
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
 32: {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
 33: {'branin': -9.316916465759277, 'currin': -2.376455068588257},
 34: {'branin': -6.522439479827881, 'currin': -2.9225077629089355},
 35: {'branin': -5.298116683959961, 'currin': -3.2214713096618652},
 36: {'branin': -2.1045546531677246, 'currin': -4.351060390472412},
 38: {'branin': -2.8586301803588867, 'currin': -4.043128490447998},
 39: {'branin': -0.6008186340332031, 'currin': -5.2616400718688965},
 41: {'branin': -7.871457576751709, 'currin': -2.6428561210632324},
 42: {'branin': -3.6176652908325195, 'currin': -3.7639071941375732},
 43: {'branin': -1.5360136032104492, 'currin': -4.618332386016846},
 44: {'branin': -0.40439414978027344, 'currin': -5.61297607421875},
 45: {'branin': -4.3650641441345215, 'currin': -3.507798910140991},
 46: {'branin': -1.0427875518798828, 'currin': -4.899118900299072},
 47: {'branin': -6.203330039978027, 'currin': -2.995047092437744},
 48: {'branin': -5.59043025970459, 'currin': -3.14430570602417},
 49: {'branin': -2.6651358604431152, 'currin': -4.118593692779541}}
[ERROR 2023-08-09 19:01:27,968 MainProcess] boa: Object <boa.scripts.moo.Wrapper object at 0x7f294d36c3a0> passed to `object_to_json` (of type <class 'boa.scripts.moo.Wrapper'>, module: boa.scripts.moo) is not registered with a corresponding encoder in ENCODER_REGISTRY.
[INFO 2023-08-09 19:01:28,052 MainProcess] boa: Saved JSON-serialized state of optimization to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/scheduler.json`.
Boa version: 0.8.8.dev0+gd6e453f.d20230809
[INFO 2023-08-09 19:01:28,081 MainProcess] boa: Saved optimization parametrization and objective to `/home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933/optimization.csv`.
[INFO 08-09 19:01:28] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
[INFO 2023-08-09 19:01:28,118 MainProcess] boa: Trials so far: 50
Running trials: 
Will Produce next trials from generation step: MOO
Best trial so far: {7: {'branin': -17.508296966552734, 'currin': -1.180408000946045},
 11: {'branin': -4.745694637298584, 'currin': -3.382941722869873},
 12: {'branin': -10.067112922668457, 'currin': -2.247755289077759},
 14: {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
 15: {'branin': -7.180412769317627, 'currin': -2.781391143798828},
 16: {'branin': -11.806434631347656, 'currin': -1.968353509902954},
 17: {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
 18: {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
 20: {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
 21: {'branin': -5.891499996185303, 'currin': -3.069143056869507},
 22: {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
 23: {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
 25: {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
 26: {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
 27: {'branin': -1.279770851135254, 'currin': -4.7588210105896},
 28: {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
 29: {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
 30: {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
 31: {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
 32: {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
 33: {'branin': -9.316916465759277, 'currin': -2.376455068588257},
 34: {'branin': -6.522439479827881, 'currin': -2.9225077629089355},
 35: {'branin': -5.298116683959961, 'currin': -3.2214713096618652},
 36: {'branin': -2.1045546531677246, 'currin': -4.351060390472412},
 38: {'branin': -2.8586301803588867, 'currin': -4.043128490447998},
 39: {'branin': -0.6008186340332031, 'currin': -5.2616400718688965},
 41: {'branin': -7.871457576751709, 'currin': -2.6428561210632324},
 42: {'branin': -3.6176652908325195, 'currin': -3.7639071941375732},
 43: {'branin': -1.5360136032104492, 'currin': -4.618332386016846},
 44: {'branin': -0.40439414978027344, 'currin': -5.61297607421875},
 45: {'branin': -4.3650641441345215, 'currin': -3.507798910140991},
 46: {'branin': -1.0427875518798828, 'currin': -4.899118900299072},
 47: {'branin': -6.203330039978027, 'currin': -2.995047092437744},
 48: {'branin': -5.59043025970459, 'currin': -3.14430570602417},
 49: {'branin': -2.6651358604431152, 'currin': -4.118593692779541}}
[INFO 2023-08-09 19:01:28,151 MainProcess] boa: 

##############################################

Trials Completed!
BOA Experiment Run
Output Experiment Dir: /home/docs/checkouts/readthedocs.org/user_builds/pyboa/checkouts/0.8.7/docs/examples/moo_run_20230809T185933
Start Time: 20230809T185933
Version: 0.8.8.dev0+gd6e453f.d20230809
End Time: 20230809T190128
Total Run Time: 114.45357728004456

    trial_index arm_name trial_status generation_method      branin  \
0             0      0_0    COMPLETED             Sobol  -28.989222   
1             1      1_0    COMPLETED             Sobol  -35.192238   
2             2      2_0    COMPLETED             Sobol  -60.681313   
3             3      3_0    COMPLETED             Sobol  -94.234596   
4             4      4_0    COMPLETED             Sobol -194.851837   
5             5      5_0    COMPLETED               MOO -308.129059   
6             6      6_0    COMPLETED               MOO  -10.960894   
7             7      7_0    COMPLETED               MOO  -17.508297   
8             8      8_0    COMPLETED               MOO  -42.091705   
9             9      9_0    COMPLETED               MOO  -72.214096   
10           10     10_0    COMPLETED               MOO  -26.984507   
11           11     11_0    COMPLETED               MOO   -4.745695   
12           12     12_0    COMPLETED               MOO  -10.067113   
13           13     13_0    COMPLETED               MOO   -3.641182   
14           14     14_0    COMPLETED               MOO  -13.624521   
15           15     15_0    COMPLETED               MOO   -7.180413   
16           16     16_0    COMPLETED               MOO  -11.806435   
17           17     17_0    COMPLETED               MOO   -1.808062   
18           18     18_0    COMPLETED               MOO   -8.583932   
19           19     19_0    COMPLETED               MOO  -58.506554   
20           20     20_0    COMPLETED               MOO   -3.253641   
21           21     21_0    COMPLETED               MOO   -5.891500   
22           22     22_0    COMPLETED               MOO   -0.870420   
23           23     23_0    COMPLETED               MOO  -15.530866   
24           24     24_0    COMPLETED               MOO -145.872208   
25           25     25_0    COMPLETED               MOO   -2.476798   
26           26     26_0    COMPLETED               MOO   -3.989310   
27           27     27_0    COMPLETED               MOO   -1.279771   
28           28     28_0    COMPLETED               MOO   -0.537457   
29           29     29_0    COMPLETED               MOO  -14.569209   
30           30     30_0    COMPLETED               MOO  -12.705889   
31           31     31_0    COMPLETED               MOO  -16.510954   
32           32     32_0    COMPLETED               MOO  -10.927223   
33           33     33_0    COMPLETED               MOO   -9.316916   
34           34     34_0    COMPLETED               MOO   -6.522439   
35           35     35_0    COMPLETED               MOO   -5.298117   
36           36     36_0    COMPLETED               MOO   -2.104555   
37           37     37_0    COMPLETED               MOO  -35.575047   
38           38     38_0    COMPLETED               MOO   -2.858630   
39           39     39_0    COMPLETED               MOO   -0.600819   
40           40     40_0    COMPLETED               MOO  -32.135201   
41           41     41_0    COMPLETED               MOO   -7.871458   
42           42     42_0    COMPLETED               MOO   -3.617665   
43           43     43_0    COMPLETED               MOO   -1.536014   
44           44     44_0    COMPLETED               MOO   -0.404394   
45           45     45_0    COMPLETED               MOO   -4.365064   
46           46     46_0    COMPLETED               MOO   -1.042788   
47           47     47_0    COMPLETED               MOO   -6.203330   
48           48     48_0    COMPLETED               MOO   -5.590430   
49           49     49_0    COMPLETED               MOO   -2.665136   

       currin  is_feasible        x0        x1  
0   -7.292576        False  0.441160  0.544831  
1   -7.210213        False  0.608383  0.477067  
2   -5.603604        False  0.279026  0.934830  
3   -5.528978        False  0.635224  0.714342  
4   -4.337658        False  0.704171  0.964813  
5   -3.000000        False  0.000000  0.000000  
6  -10.179487        False  1.000000  0.000000  
7   -1.180408         True  0.000000  1.000000  
8   -1.413868        False  0.000000  0.784543  
9   -1.640656        False  0.000000  0.631624  
10  -1.285073        False  0.000000  0.894068  
11  -3.382942         True  0.058224  1.000000  
12  -2.247755         True  0.026530  1.000000  
13  -4.167500         True  0.085927  1.000000  
14  -1.698781         True  0.012718  1.000000  
15  -2.781391         True  0.040692  1.000000  
16  -1.968354         True  0.019433  1.000000  
17  -4.510494         True  0.090569  0.932912  
18  -2.508125         True  0.033320  1.000000  
19 -13.164115        False  0.323142  0.000000  
20  -3.895394         True  0.071686  0.965250  
21  -3.069143         True  0.048813  1.000000  
22  -5.050674         True  0.106507  0.886335  
23  -1.435694         True  0.006245  1.000000  
24  -4.005316        False  1.000000  1.000000  
25  -4.195019         True  0.080358  0.948049  
26  -3.634660         True  0.064955  0.985218  
27  -4.758821         True  0.096643  0.905352  
28  -5.420479         True  0.118305  0.853514  
29  -1.566143         True  0.009447  1.000000  
30  -1.832462         True  0.016035  1.000000  
31  -1.307097         True  0.003097  1.000000  
32  -2.106589         True  0.022923  1.000000  
33  -2.376455         True  0.029861  1.000000  
34  -2.922508         True  0.044622  1.000000  
35  -3.221471         True  0.053298  1.000000  
36  -4.351060         True  0.084383  0.933835  
37  -5.837549        False  1.000000  0.586817  
38  -4.043128         True  0.075894  0.956721  
39  -5.261640         True  0.110302  0.855604  
40  -7.491528        False  0.842554  0.390764  
41  -2.642856         True  0.036919  1.000000  
42  -3.763907         True  0.068397  0.976585  
43  -4.618332         True  0.091995  0.913264  
44  -5.612976         True  0.121878  0.826253  
45  -3.507799         True  0.061631  0.993753  
46  -4.899119         True  0.100107  0.889953  
47  -2.995047         True  0.046681  1.000000  
48  -3.144306         True  0.051008  1.000000  
49  -4.118594         True  0.078003  0.951642  

##############################################

Get the Best Trial#

best_fitted_trials uses the data to do a fitting from all trials and with the noise levels you provided (or if no noise levels was provided, it assumed an unknown level of noise and inferred the noise level from the trial runs)

1trial = scheduler.best_fitted_trials()
2trial
[INFO 08-09 19:01:28] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
{7: {'params': {'x0': 0.0, 'x1': 1.0},
  'means': {'branin': -17.505834512529077, 'currin': -1.1801211273849628},
  'cov_matrix': {'branin': {'branin': 0.0003150450615375449, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 2.9796388557598316e-06}}},
 11: {'params': {'x0': 0.05822414258120452, 'x1': 1.0},
  'means': {'branin': -4.74574832119891, 'currin': -3.383152884969995},
  'cov_matrix': {'branin': {'branin': 0.0002275630859715038, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.395872412036318e-06}}},
 12: {'params': {'x0': 0.02652971967743398, 'x1': 1.0},
  'means': {'branin': -10.066909199657495, 'currin': -2.2477015354127317},
  'cov_matrix': {'branin': {'branin': 0.0001105736588682587, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.208694268620901e-07}}},
 14: {'params': {'x0': 0.01271819029103163, 'x1': 1.0},
  'means': {'branin': -13.624784566418306, 'currin': -1.6988984697698584},
  'cov_matrix': {'branin': {'branin': 0.00011263394747710192, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.0165283612412204e-06}}},
 15: {'params': {'x0': 0.04069187188400342, 'x1': 1.0},
  'means': {'branin': -7.180421133747167, 'currin': -2.7813472487871995},
  'cov_matrix': {'branin': {'branin': 0.00010820085727370596, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 8.69808943695875e-07}}},
 16: {'params': {'x0': 0.0194330335104261, 'x1': 1.0},
  'means': {'branin': -11.80593218417307, 'currin': -1.9683398208307161},
  'cov_matrix': {'branin': {'branin': 0.00011039640117169742, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.28224380928477e-07}}},
 17: {'params': {'x0': 0.09056946372334733, 'x1': 0.9329120772814209},
  'means': {'branin': -1.8079551299449772, 'currin': -4.510809972966268},
  'cov_matrix': {'branin': {'branin': 0.00035307657008311127, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.9196483026075283e-06}}},
 18: {'params': {'x0': 0.033319703464788124, 'x1': 1.0},
  'means': {'branin': -8.583961698748096, 'currin': -2.508085126960429},
  'cov_matrix': {'branin': {'branin': 0.00011225116389528797, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.294560931215646e-07}}},
 20: {'params': {'x0': 0.07168574900750513, 'x1': 0.9652497101585309},
  'means': {'branin': -3.2542837954804806, 'currin': -3.8952477661635534},
  'cov_matrix': {'branin': {'branin': 0.00017829016900948534, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.1910137119073798e-06}}},
 21: {'params': {'x0': 0.04881261414192447, 'x1': 1.0},
  'means': {'branin': -5.891585295620441, 'currin': -3.0691033798799356},
  'cov_matrix': {'branin': {'branin': 8.828081728572529e-05, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 7.60350184985468e-07}}},
 22: {'params': {'x0': 0.10650693335751665, 'x1': 0.886335481310917},
  'means': {'branin': -0.8709316972844121, 'currin': -5.050878161924928},
  'cov_matrix': {'branin': {'branin': 0.0003436219945755106, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 2.319833358039045e-06}}},
 23: {'params': {'x0': 0.006244686263334478, 'x1': 1.0},
  'means': {'branin': -15.532453424923032, 'currin': -1.4358681143246095},
  'cov_matrix': {'branin': {'branin': 0.00012284992917839337, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.0225302369378158e-06}}},
 25: {'params': {'x0': 0.08035800103474322, 'x1': 0.9480494891863682},
  'means': {'branin': -2.476093225203755, 'currin': -4.195155841453511},
  'cov_matrix': {'branin': {'branin': 0.00014948308642437176, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.0078772162430566e-06}}},
 26: {'params': {'x0': 0.06495538121825399, 'x1': 0.9852176970851503},
  'means': {'branin': -3.988977409635517, 'currin': -3.6346757212869965},
  'cov_matrix': {'branin': {'branin': 0.00017558541783320596, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.093202505950186e-06}}},
 27: {'params': {'x0': 0.09664313790084653, 'x1': 0.9053516387187329},
  'means': {'branin': -1.2788158631052475, 'currin': -4.758877663037239},
  'cov_matrix': {'branin': {'branin': 0.00020298606051408425, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.269081965040518e-06}}},
 28: {'params': {'x0': 0.11830532385171338, 'x1': 0.8535142662281873},
  'means': {'branin': -0.5366070523305879, 'currin': -5.421362307221791},
  'cov_matrix': {'branin': {'branin': 0.0004029693221782592, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 3.519814498566761e-06}}},
 29: {'params': {'x0': 0.00944728038928123, 'x1': 1.0},
  'means': {'branin': -14.570278783886138, 'currin': -1.5663200494962823},
  'cov_matrix': {'branin': {'branin': 0.000120887470140975, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.032240814806263e-06}}},
 30: {'params': {'x0': 0.016034967890989914, 'x1': 1.0},
  'means': {'branin': -12.705578196933553, 'currin': -1.8325063652898566},
  'cov_matrix': {'branin': {'branin': 0.0001092627990464424, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.6594452946689e-07}}},
 31: {'params': {'x0': 0.003096738452682272, 'x1': 1.0},
  'means': {'branin': -16.511807374024354, 'currin': -1.30714109602489},
  'cov_matrix': {'branin': {'branin': 0.00013163144044868566, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.3182450509486315e-06}}},
 32: {'params': {'x0': 0.02292333454010122, 'x1': 1.0},
  'means': {'branin': -10.926817142065472, 'currin': -2.1065431553504377},
  'cov_matrix': {'branin': {'branin': 0.00011132784730693532, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.172388307394084e-07}}},
 33: {'params': {'x0': 0.029861270497109176, 'x1': 1.0},
  'means': {'branin': -9.316866378221027, 'currin': -2.3764070911338906},
  'cov_matrix': {'branin': {'branin': 0.00011039332778800953, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.269698084283152e-07}}},
 34: {'params': {'x0': 0.04462216205989457, 'x1': 1.0},
  'means': {'branin': -6.5224503332009665, 'currin': -2.92245616168689},
  'cov_matrix': {'branin': {'branin': 9.467339575244581e-05, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 7.99710383631828e-07}}},
 35: {'params': {'x0': 0.05329818024244168, 'x1': 1.0},
  'means': {'branin': -5.298301444433902, 'currin': -3.2215018609150303},
  'cov_matrix': {'branin': {'branin': 0.00010560795772257417, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 8.607369485089472e-07}}},
 36: {'params': {'x0': 0.0843828817394624, 'x1': 0.9338347564288549},
  'means': {'branin': -2.1049518799402716, 'currin': -4.350984770286717},
  'cov_matrix': {'branin': {'branin': 0.00024850583352040156, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.2751331451035046e-06}}},
 38: {'params': {'x0': 0.07589400561612691, 'x1': 0.9567207118392003},
  'means': {'branin': -2.8587378071044274, 'currin': -4.043128253754904},
  'cov_matrix': {'branin': {'branin': 0.00013178172766612796, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.902646662907832e-07}}},
 39: {'params': {'x0': 0.11030203126068233, 'x1': 0.8556041949974715},
  'means': {'branin': -0.6006477826269396, 'currin': -5.26088075078132},
  'cov_matrix': {'branin': {'branin': 0.0004048984040500271, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 3.4028475402649535e-06}}},
 41: {'params': {'x0': 0.03691865220764037, 'x1': 1.0},
  'means': {'branin': -7.871489787551603, 'currin': -2.6428184736008156},
  'cov_matrix': {'branin': {'branin': 0.00011367601618580517, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.156733111574406e-07}}},
 42: {'params': {'x0': 0.06839665039677736, 'x1': 0.9765853938504023},
  'means': {'branin': -3.6174960320509957, 'currin': -3.7639080207785467},
  'cov_matrix': {'branin': {'branin': 0.00017102910218384616, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.125404001082088e-06}}},
 43: {'params': {'x0': 0.09199522685897912, 'x1': 0.9132640195452175},
  'means': {'branin': -1.53660916152368, 'currin': -4.618224252660215},
  'cov_matrix': {'branin': {'branin': 0.00023755246532422572, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.4119199320352307e-06}}},
 44: {'params': {'x0': 0.12187774810347876, 'x1': 0.8262532577464271},
  'means': {'branin': -0.4051414687735537, 'currin': -5.61268682655713},
  'cov_matrix': {'branin': {'branin': 0.00042096208878856785, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 4.202969874365567e-06}}},
 45: {'params': {'x0': 0.06163103172767276, 'x1': 0.9937533097279961},
  'means': {'branin': -4.364572611650637, 'currin': -3.507918446325588},
  'cov_matrix': {'branin': {'branin': 0.00015353785769502045, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.1118858572083878e-06}}},
 46: {'params': {'x0': 0.1001071532973822, 'x1': 0.8899534663288654},
  'means': {'branin': -1.0430874556581173, 'currin': -4.898978809686378},
  'cov_matrix': {'branin': {'branin': 0.00026898721174184757, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 1.6215432204847958e-06}}},
 47: {'params': {'x0': 0.04668062599482302, 'x1': 1.0},
  'means': {'branin': -6.203371153592309, 'currin': -2.9949965968207826},
  'cov_matrix': {'branin': {'branin': 8.927306715028872e-05, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 7.707938232840011e-07}}},
 48: {'params': {'x0': 0.05100780289675336, 'x1': 1.0},
  'means': {'branin': -5.590572670262841, 'currin': -3.144290445841845},
  'cov_matrix': {'branin': {'branin': 9.298109683629115e-05, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 7.826956455218376e-07}}},
 49: {'params': {'x0': 0.07800293968645686, 'x1': 0.9516419266543672},
  'means': {'branin': -2.6651829098343125, 'currin': -4.118612181628746},
  'cov_matrix': {'branin': {'branin': 0.0001268744619297993, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 9.864536358545445e-07}}}}

if you need the exact points of the best trial, maybe because you need the trial number of the best trial to plot results, or for any other reason, best_raw_trails does not do any fitting

1trial = scheduler.best_raw_trials()
2trial
[INFO 08-09 19:01:28] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.
{7: {'params': {'x0': 0.0, 'x1': 1.0},
  'means': {'branin': -17.508296966552734, 'currin': -1.180408000946045},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 11: {'params': {'x0': 0.05822414258120452, 'x1': 1.0},
  'means': {'branin': -4.745694637298584, 'currin': -3.382941722869873},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 12: {'params': {'x0': 0.02652971967743398, 'x1': 1.0},
  'means': {'branin': -10.067112922668457, 'currin': -2.247755289077759},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 14: {'params': {'x0': 0.01271819029103163, 'x1': 1.0},
  'means': {'branin': -13.624521255493164, 'currin': -1.6987805366516113},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 15: {'params': {'x0': 0.04069187188400342, 'x1': 1.0},
  'means': {'branin': -7.180412769317627, 'currin': -2.781391143798828},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 16: {'params': {'x0': 0.0194330335104261, 'x1': 1.0},
  'means': {'branin': -11.806434631347656, 'currin': -1.968353509902954},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 17: {'params': {'x0': 0.09056946372334733, 'x1': 0.9329120772814209},
  'means': {'branin': -1.8080615997314453, 'currin': -4.510494232177734},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 18: {'params': {'x0': 0.033319703464788124, 'x1': 1.0},
  'means': {'branin': -8.583931922912598, 'currin': -2.5081253051757812},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 20: {'params': {'x0': 0.07168574900750513, 'x1': 0.9652497101585309},
  'means': {'branin': -3.253640651702881, 'currin': -3.8953936100006104},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 21: {'params': {'x0': 0.04881261414192447, 'x1': 1.0},
  'means': {'branin': -5.891499996185303, 'currin': -3.069143056869507},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 22: {'params': {'x0': 0.10650693335751665, 'x1': 0.886335481310917},
  'means': {'branin': -0.8704195022583008, 'currin': -5.0506744384765625},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 23: {'params': {'x0': 0.006244686263334478, 'x1': 1.0},
  'means': {'branin': -15.530865669250488, 'currin': -1.4356940984725952},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 25: {'params': {'x0': 0.08035800103474322, 'x1': 0.9480494891863682},
  'means': {'branin': -2.4767980575561523, 'currin': -4.195018768310547},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 26: {'params': {'x0': 0.06495538121825399, 'x1': 0.9852176970851503},
  'means': {'branin': -3.9893102645874023, 'currin': -3.634659767150879},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 27: {'params': {'x0': 0.09664313790084653, 'x1': 0.9053516387187329},
  'means': {'branin': -1.279770851135254, 'currin': -4.7588210105896},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 28: {'params': {'x0': 0.11830532385171338, 'x1': 0.8535142662281873},
  'means': {'branin': -0.5374574661254883, 'currin': -5.420478820800781},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 29: {'params': {'x0': 0.00944728038928123, 'x1': 1.0},
  'means': {'branin': -14.569209098815918, 'currin': -1.5661427974700928},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 30: {'params': {'x0': 0.016034967890989914, 'x1': 1.0},
  'means': {'branin': -12.705888748168945, 'currin': -1.8324615955352783},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 31: {'params': {'x0': 0.003096738452682272, 'x1': 1.0},
  'means': {'branin': -16.510953903198242, 'currin': -1.3070967197418213},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 32: {'params': {'x0': 0.02292333454010122, 'x1': 1.0},
  'means': {'branin': -10.927223205566406, 'currin': -2.1065893173217773},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 33: {'params': {'x0': 0.029861270497109176, 'x1': 1.0},
  'means': {'branin': -9.316916465759277, 'currin': -2.376455068588257},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 34: {'params': {'x0': 0.04462216205989457, 'x1': 1.0},
  'means': {'branin': -6.522439479827881, 'currin': -2.9225077629089355},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 35: {'params': {'x0': 0.05329818024244168, 'x1': 1.0},
  'means': {'branin': -5.298116683959961, 'currin': -3.2214713096618652},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 36: {'params': {'x0': 0.0843828817394624, 'x1': 0.9338347564288549},
  'means': {'branin': -2.1045546531677246, 'currin': -4.351060390472412},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 38: {'params': {'x0': 0.07589400561612691, 'x1': 0.9567207118392003},
  'means': {'branin': -2.8586301803588867, 'currin': -4.043128490447998},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 39: {'params': {'x0': 0.11030203126068233, 'x1': 0.8556041949974715},
  'means': {'branin': -0.6008186340332031, 'currin': -5.2616400718688965},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 41: {'params': {'x0': 0.03691865220764037, 'x1': 1.0},
  'means': {'branin': -7.871457576751709, 'currin': -2.6428561210632324},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 42: {'params': {'x0': 0.06839665039677736, 'x1': 0.9765853938504023},
  'means': {'branin': -3.6176652908325195, 'currin': -3.7639071941375732},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 43: {'params': {'x0': 0.09199522685897912, 'x1': 0.9132640195452175},
  'means': {'branin': -1.5360136032104492, 'currin': -4.618332386016846},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 44: {'params': {'x0': 0.12187774810347876, 'x1': 0.8262532577464271},
  'means': {'branin': -0.40439414978027344, 'currin': -5.61297607421875},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 45: {'params': {'x0': 0.06163103172767276, 'x1': 0.9937533097279961},
  'means': {'branin': -4.3650641441345215, 'currin': -3.507798910140991},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 46: {'params': {'x0': 0.1001071532973822, 'x1': 0.8899534663288654},
  'means': {'branin': -1.0427875518798828, 'currin': -4.899118900299072},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 47: {'params': {'x0': 0.04668062599482302, 'x1': 1.0},
  'means': {'branin': -6.203330039978027, 'currin': -2.995047092437744},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 48: {'params': {'x0': 0.05100780289675336, 'x1': 1.0},
  'means': {'branin': -5.59043025970459, 'currin': -3.14430570602417},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}},
 49: {'params': {'x0': 0.07800293968645686, 'x1': 0.9516419266543672},
  'means': {'branin': -2.6651358604431152, 'currin': -4.118593692779541},
  'cov_matrix': {'branin': {'branin': 0.0, 'currin': 0.0},
   'currin': {'branin': 0.0, 'currin': 0.0}}}}

Output All Trials#

1boa.scheduler_to_df(scheduler)
trial_index arm_name trial_status generation_method branin currin is_feasible x0 x1
0 0 0_0 COMPLETED Sobol -28.989222 -7.292576 False 0.441160 0.544831
1 1 1_0 COMPLETED Sobol -35.192238 -7.210213 False 0.608383 0.477067
2 2 2_0 COMPLETED Sobol -60.681313 -5.603604 False 0.279026 0.934830
3 3 3_0 COMPLETED Sobol -94.234596 -5.528978 False 0.635224 0.714342
4 4 4_0 COMPLETED Sobol -194.851837 -4.337658 False 0.704171 0.964813
5 5 5_0 COMPLETED MOO -308.129059 -3.000000 False 0.000000 0.000000
6 6 6_0 COMPLETED MOO -10.960894 -10.179487 False 1.000000 0.000000
7 7 7_0 COMPLETED MOO -17.508297 -1.180408 True 0.000000 1.000000
8 8 8_0 COMPLETED MOO -42.091705 -1.413868 False 0.000000 0.784543
9 9 9_0 COMPLETED MOO -72.214096 -1.640656 False 0.000000 0.631624
10 10 10_0 COMPLETED MOO -26.984507 -1.285073 False 0.000000 0.894068
11 11 11_0 COMPLETED MOO -4.745695 -3.382942 True 0.058224 1.000000
12 12 12_0 COMPLETED MOO -10.067113 -2.247755 True 0.026530 1.000000
13 13 13_0 COMPLETED MOO -3.641182 -4.167500 True 0.085927 1.000000
14 14 14_0 COMPLETED MOO -13.624521 -1.698781 True 0.012718 1.000000
15 15 15_0 COMPLETED MOO -7.180413 -2.781391 True 0.040692 1.000000
16 16 16_0 COMPLETED MOO -11.806435 -1.968354 True 0.019433 1.000000
17 17 17_0 COMPLETED MOO -1.808062 -4.510494 True 0.090569 0.932912
18 18 18_0 COMPLETED MOO -8.583932 -2.508125 True 0.033320 1.000000
19 19 19_0 COMPLETED MOO -58.506554 -13.164115 False 0.323142 0.000000
20 20 20_0 COMPLETED MOO -3.253641 -3.895394 True 0.071686 0.965250
21 21 21_0 COMPLETED MOO -5.891500 -3.069143 True 0.048813 1.000000
22 22 22_0 COMPLETED MOO -0.870420 -5.050674 True 0.106507 0.886335
23 23 23_0 COMPLETED MOO -15.530866 -1.435694 True 0.006245 1.000000
24 24 24_0 COMPLETED MOO -145.872208 -4.005316 False 1.000000 1.000000
25 25 25_0 COMPLETED MOO -2.476798 -4.195019 True 0.080358 0.948049
26 26 26_0 COMPLETED MOO -3.989310 -3.634660 True 0.064955 0.985218
27 27 27_0 COMPLETED MOO -1.279771 -4.758821 True 0.096643 0.905352
28 28 28_0 COMPLETED MOO -0.537457 -5.420479 True 0.118305 0.853514
29 29 29_0 COMPLETED MOO -14.569209 -1.566143 True 0.009447 1.000000
30 30 30_0 COMPLETED MOO -12.705889 -1.832462 True 0.016035 1.000000
31 31 31_0 COMPLETED MOO -16.510954 -1.307097 True 0.003097 1.000000
32 32 32_0 COMPLETED MOO -10.927223 -2.106589 True 0.022923 1.000000
33 33 33_0 COMPLETED MOO -9.316916 -2.376455 True 0.029861 1.000000
34 34 34_0 COMPLETED MOO -6.522439 -2.922508 True 0.044622 1.000000
35 35 35_0 COMPLETED MOO -5.298117 -3.221471 True 0.053298 1.000000
36 36 36_0 COMPLETED MOO -2.104555 -4.351060 True 0.084383 0.933835
37 37 37_0 COMPLETED MOO -35.575047 -5.837549 False 1.000000 0.586817
38 38 38_0 COMPLETED MOO -2.858630 -4.043128 True 0.075894 0.956721
39 39 39_0 COMPLETED MOO -0.600819 -5.261640 True 0.110302 0.855604
40 40 40_0 COMPLETED MOO -32.135201 -7.491528 False 0.842554 0.390764
41 41 41_0 COMPLETED MOO -7.871458 -2.642856 True 0.036919 1.000000
42 42 42_0 COMPLETED MOO -3.617665 -3.763907 True 0.068397 0.976585
43 43 43_0 COMPLETED MOO -1.536014 -4.618332 True 0.091995 0.913264
44 44 44_0 COMPLETED MOO -0.404394 -5.612976 True 0.121878 0.826253
45 45 45_0 COMPLETED MOO -4.365064 -3.507799 True 0.061631 0.993753
46 46 46_0 COMPLETED MOO -1.042788 -4.899119 True 0.100107 0.889953
47 47 47_0 COMPLETED MOO -6.203330 -2.995047 True 0.046681 1.000000
48 48 48_0 COMPLETED MOO -5.590430 -3.144306 True 0.051008 1.000000
49 49 49_0 COMPLETED MOO -2.665136 -4.118594 True 0.078003 0.951642