R Hartmann6¶
This notebook is an example of a single objective R model optimization using a Hartmann6 function. The Hartmann6 function is a synthetic function that is often used as a stand in for a model that is expensive to evaluate. The function has 6 dimensions and is defined on the unit hypercube.
See the folder r_hartmann for the R script and the configuration file.
1# This notebook uses hidden cells to import and display things so
2# that it can be ran regullary to make sure the documentation
3# is up to date and not broken (as opposed to a markdown file
4# that would have an exmaple written once and get out of date
5# as the code base changes)
6
7# These hidden cells are only responsible for rerunning
8# the documentation to ensure it is correct.
9# the actual relavent part of the documentation
10# are the non hidden parts
Configuration File¶
config.yaml
# This is jinja2 templating, which is a way to dynamically generate text files supported by BOA
{% set n_trials = 10 %}
objective:
# This is the metric(s) we are trying to optimize
# This exact number will be used in our run_model.R script later
metrics:
- name: Hartmann6
parameters:
# Parameters can be 3 types: range, fixed, or choice
# with fixed being inferred if it is a single value (i.e. x1: 3)
# Parameters can be of type int, float, str, or bool
# and are inferred if not specified
{% for i in range(6) %}
x{{ i }}:
type: range
bounds: [0, 1]
value_type: float
{% endfor %}
n_trials: {{ n_trials }}
script_options:
# This tells BOA what script from any language to run to evaluate the model
run_model: Rscript run_model.R
# This tells BOA what to name the experiment, which then is used for the output directory
exp_name: {{ config_dir_name }}_{{ n_trials }}_trials
Run Model Wrapper Script¶
run_model.R
# load in any libraries and modules we need
library(jsonlite)
source("./hartmann6.R")
trial_dir <- commandArgs(trailingOnly=TRUE)[1]
data <- read_json(path=file.path(trial_dir, "parameters.json"))
X <- c(data$x1, data$x2, data$x3, data$x4, data$x5, data$x6)
res <- hartmann6(X)
write(toJSON(list(Hartmann6=res)), file.path(trial_dir, "output.json"))
We also use a function called hartman6 which is a 6 dimensional version of the synthetic hartman function as the stand in for our model function. The code is below. You would substitute this for any call your model, be it local call to your own R model, a system call to a fortran model wrapped in your R script, or perhaps a some code that launches an HPC job and collects the results.
hartmann6.R
1Code(hartmann6_script)
hartmann6 <- function(X) {
out <- tryCatch(
{
alpha <- c(1.0, 1.2, 3.0, 3.2)
A <- c(10, 3, 17, 3.5, 1.7, 8,
0.05, 10, 17, 0.1, 8, 14,
3, 3.5, 1.7, 10, 17, 8,
17, 8, 0.05, 10, 0.1, 14)
A <- matrix(A, 4, 6, byrow=TRUE)
P <- 10^(-4) * c(1312, 1696, 5569, 124, 8283, 5886,
2329, 4135, 8307, 3736, 1004, 9991,
2348, 1451, 3522, 2883, 3047, 6650,
4047, 8828, 8732, 5743, 1091, 381)
P <- matrix(P, 4, 6, byrow=TRUE)
Xmat <- matrix(rep(X,times=4), 4, 6, byrow=TRUE)
inner_sum <- rowSums(A[,1:6]*(Xmat-P[,1:6])^2)
outer_sum <- sum(alpha * exp(-inner_sum))
y <- -outer_sum
return(y)
},
error=function(cond) {
return(NA)
}
)
return(out)
}
Running our script¶
To run our script we just need to pass the config file to BOA’s CLI
python -m boa --config-file path/to/config.yaml
or
python -m boa -c path/to/config.yaml
[WARNING 07-19 00:00:20] 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]`.
[INFO 07-19 00:00:21] 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]), RangeParameter(name='x2', parameter_type=FLOAT, range=[0.0, 1.0]), RangeParameter(name='x3', parameter_type=FLOAT, range=[0.0, 1.0]), RangeParameter(name='x4', parameter_type=FLOAT, range=[0.0, 1.0]), RangeParameter(name='x5', parameter_type=FLOAT, range=[0.0, 1.0])], parameter_constraints=[]).
[INFO 07-19 00:00:21] ax.modelbridge.dispatch_utils: Using Models.BOTORCH_MODULAR since there are more ordered parameters than there are categories for the unordered categorical parameters.
[INFO 07-19 00:00:21] ax.modelbridge.dispatch_utils: Calculating the number of remaining initialization trials based on num_initialization_trials=None max_initialization_trials=None num_tunable_parameters=6 num_trials=None use_batch_trials=False
[INFO 07-19 00:00:21] ax.modelbridge.dispatch_utils: calculated num_initialization_trials=12
[INFO 07-19 00:00:21] ax.modelbridge.dispatch_utils: num_completed_initialization_trials=0 num_remaining_initialization_trials=12
[INFO 07-19 00:00:21] ax.modelbridge.dispatch_utils: `verbose`, `disable_progbar`, and `jit_compile` are not yet supported when using `choose_generation_strategy` with ModularBoTorchModel, dropping these arguments.
[INFO 07-19 00:00:21] ax.modelbridge.dispatch_utils: Using Bayesian Optimization generation strategy: GenerationStrategy(name='Sobol+BoTorch', steps=[Sobol for 12 trials, BoTorch for subsequent trials]). Iterations after 12 will take longer to generate due to model-fitting.
[INFO 07-19 00:00:21] Scheduler: `Scheduler` requires experiment to have immutable search space and optimization config. Setting property immutable_search_space_and_opt_config to `True` on experiment.
[INFO 2024-07-19 00:00:21,939 MainProcess MainThread {controller.py:165}] boa:
##############################################
BOA Experiment Run
Output Experiment Dir: [/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021
Scheduler File Path: [/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/scheduler.json
Optimization CSV File Path: [/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/optimization.csv
Start Time: 20240719T000021
Version: 0.10.3
##############################################
[INFO 07-19 00:00:21] Scheduler: Running trials [0]...
[INFO 2024-07-19 00:00:21,950 MainProcess ThreadPoolExecutor-0_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:21,951 MainProcess ThreadPoolExecutor-0_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.9032732844352722, 'x1': 0.3560396730899811, 'x2': 0.7576886415481567, 'x3': 0.9128256440162659, 'x4': 0.11482647061347961, 'x5': 0.5482272505760193, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000000')}
[INFO 2024-07-19 00:00:21,952 MainProcess ThreadPoolExecutor-0_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:22,171 MainProcess Thread-1 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:22,172 MainProcess Thread-1 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:22,172 MainProcess Thread-1 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:22] Scheduler: Running trials [1]...
[INFO 2024-07-19 00:00:22,966 MainProcess ThreadPoolExecutor-1_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:22,967 MainProcess ThreadPoolExecutor-1_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.854246499016881, 'x1': 0.5184197537600994, 'x2': 0.14613603800535202, 'x3': 0.14987223502248526, 'x4': 0.18188524898141623, 'x5': 0.8865956394001842, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000001')}
[INFO 2024-07-19 00:00:22,968 MainProcess ThreadPoolExecutor-1_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:23,182 MainProcess Thread-2 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:23,183 MainProcess Thread-2 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:23,184 MainProcess Thread-2 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:23] Scheduler: Running trials [2]...
[INFO 2024-07-19 00:00:23,984 MainProcess ThreadPoolExecutor-2_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:23,986 MainProcess ThreadPoolExecutor-2_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.41494885832071304, 'x1': 0.011895587667822838, 'x2': 0.9882627325132489, 'x3': 0.9105896493420005, 'x4': 0.5222449786961079, 'x5': 0.7510547814890742, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000002')}
[INFO 2024-07-19 00:00:23,988 MainProcess ThreadPoolExecutor-2_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[INFO 07-19 00:00:24] Scheduler: Running trials [3]...
[INFO 2024-07-19 00:00:24,006 MainProcess ThreadPoolExecutor-3_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:24,008 MainProcess ThreadPoolExecutor-3_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.5736603513360023, 'x1': 0.996555557474494, 'x2': 0.3181045660749078, 'x3': 0.6811538711190224, 'x4': 0.9016213584691286, 'x5': 0.05251041613519192, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000003')}
[INFO 2024-07-19 00:00:24,009 MainProcess ThreadPoolExecutor-3_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:24,330 MainProcess Thread-3 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:24,332 MainProcess Thread-3 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:24,333 MainProcess Thread-3 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[WARNING 2024-07-19 00:00:24,349 MainProcess Thread-4 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:24,350 MainProcess Thread-4 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:24,351 MainProcess Thread-4 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:25] Scheduler: Running trials [4]...
[INFO 2024-07-19 00:00:25,029 MainProcess ThreadPoolExecutor-4_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:25,030 MainProcess ThreadPoolExecutor-4_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.3875725194811821, 'x1': 0.8711359277367592, 'x2': 0.7330827713012695, 'x3': 0.01534092053771019, 'x4': 0.5516365552321076, 'x5': 0.8559236144647002, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000004')}
[INFO 2024-07-19 00:00:25,032 MainProcess ThreadPoolExecutor-4_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:25,241 MainProcess Thread-5 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:25,243 MainProcess Thread-5 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:25,243 MainProcess Thread-5 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:26] Scheduler: Running trials [5]...
[INFO 2024-07-19 00:00:26,049 MainProcess ThreadPoolExecutor-5_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:26,051 MainProcess ThreadPoolExecutor-5_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.4592818897217512, 'x1': 0.24493459146469831, 'x2': 0.6669416623190045, 'x3': 0.3981299428269267, 'x4': 0.27334567345678806, 'x5': 0.6785546028986573, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000005')}
[INFO 2024-07-19 00:00:26,052 MainProcess ThreadPoolExecutor-5_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:26,269 MainProcess Thread-6 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:26,271 MainProcess Thread-6 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:26,272 MainProcess Thread-6 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:27] Scheduler: Running trials [6]...
[INFO 2024-07-19 00:00:27,070 MainProcess ThreadPoolExecutor-6_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:27,071 MainProcess ThreadPoolExecutor-6_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.19557658024132252, 'x1': 0.6704946346580982, 'x2': 0.9953924398869276, 'x3': 0.5075124306604266, 'x4': 0.9142646007239819, 'x5': 0.42315620370209217, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000006')}
[INFO 2024-07-19 00:00:27,073 MainProcess ThreadPoolExecutor-6_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:27,284 MainProcess Thread-7 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:27,286 MainProcess Thread-7 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:27,287 MainProcess Thread-7 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:28] Scheduler: Running trials [7]...
[INFO 2024-07-19 00:00:28,092 MainProcess ThreadPoolExecutor-7_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:28,094 MainProcess ThreadPoolExecutor-7_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.6694422103464603, 'x1': 0.31654251739382744, 'x2': 0.6450996855273843, 'x3': 0.2176592769101262, 'x4': 0.7300544213503599, 'x5': 0.8657377110794187, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000007')}
[INFO 2024-07-19 00:00:28,096 MainProcess ThreadPoolExecutor-7_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:28,309 MainProcess Thread-8 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:28,311 MainProcess Thread-8 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:28,312 MainProcess Thread-8 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:29] Scheduler: Running trials [8]...
[INFO 2024-07-19 00:00:29,117 MainProcess ThreadPoolExecutor-8_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:29,119 MainProcess ThreadPoolExecutor-8_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.43597420398145914, 'x1': 0.5737567245960236, 'x2': 0.882708003744483, 'x3': 0.7419975334778428, 'x4': 0.15325918421149254, 'x5': 0.5892078848555684, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000008')}
[INFO 2024-07-19 00:00:29,120 MainProcess ThreadPoolExecutor-8_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:29,331 MainProcess Thread-9 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:29,333 MainProcess Thread-9 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:29,335 MainProcess Thread-9 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:30] Scheduler: Running trials [9]...
[INFO 2024-07-19 00:00:30,141 MainProcess ThreadPoolExecutor-9_0 {script_wrapper.py:322}] boa: Rscript run_model.R
[INFO 2024-07-19 00:00:30,143 MainProcess ThreadPoolExecutor-9_0 {script_wrapper.py:328}] boa: {'config_path': PosixPath('[/path/to/your/dir/]/config.yaml'), 'config_dir': PosixPath('[/path/to/your/dir/]'), 'config_dir_name': 'r_hartmann', 'config_file_name': 'config.yaml', 'x0': 0.09823163691908121, 'x1': 0.36571370903402567, 'x2': 0.08217941038310528, 'x3': 0.5884728906676173, 'x4': 0.7809600085020065, 'x5': 0.9487242279574275, 'trial_dir': PosixPath('[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/000009')}
[INFO 2024-07-19 00:00:30,145 MainProcess ThreadPoolExecutor-9_0 {script_wrapper.py:330}] boa: Rscript run_model.R
[WARNING 2024-07-19 00:00:30,358 MainProcess Thread-10 (subprocess_output) {script_wrapper.py:368}] boa: Warning message:
[WARNING 2024-07-19 00:00:30,360 MainProcess Thread-10 (subprocess_output) {script_wrapper.py:368}] boa: In matrix(rep(X, times = 4), 4, 6, byrow = TRUE) :
[WARNING 2024-07-19 00:00:30,361 MainProcess Thread-10 (subprocess_output) {script_wrapper.py:368}] boa: data length [20] is not a sub-multiple or multiple of the number of columns [6]
[INFO 07-19 00:00:31] Scheduler: Retrieved COMPLETED trials: 0 - 9.
[INFO 07-19 00:00:31] Scheduler: Fetching data for trials: 0 - 9.
[WARNING 07-19 00:00:31] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.
[INFO 2024-07-19 00:00:31,252 MainProcess MainThread {storage.py:303}] boa: Saved optimization parametrization and objective to `[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/optimization.csv`.
[INFO 2024-07-19 00:00:31,278 MainProcess MainThread {storage.py:63}] boa: Saved JSON-serialized state of optimization to `[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/scheduler.json`.
Boa version: 0.10.3
[INFO 2024-07-19 00:00:31,294 MainProcess MainThread {scheduler.py:86}] boa: Trials so far: 10
Currently running trials: []
Will Produce next trials from generation step: Sobol
Best trial so far: {5: {'Hartmann6': -0.9144}}
[WARNING 07-19 00:00:31] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.
[INFO 2024-07-19 00:00:31,313 MainProcess MainThread {storage.py:303}] boa: Saved optimization parametrization and objective to `[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/optimization.csv`.
[INFO 2024-07-19 00:00:31,337 MainProcess MainThread {storage.py:63}] boa: Saved JSON-serialized state of optimization to `[/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/scheduler.json`.
Boa version: 0.10.3
[INFO 2024-07-19 00:00:31,352 MainProcess MainThread {scheduler.py:86}] boa: Trials so far: 10
Currently running trials: []
Will Produce next trials from generation step: Sobol
Best trial so far: {5: {'Hartmann6': -0.9144}}
[WARNING 07-19 00:00:31] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.
[INFO 2024-07-19 00:00:31,383 MainProcess MainThread {controller.py:188}] boa:
##############################################
Trials Completed!
BOA Experiment Run
Output Experiment Dir: [/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021
Scheduler File Path: [/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/scheduler.json
Optimization CSV File Path: [/path/to/your/dir/]/r_hartmann_10_trials_20240719T000021/optimization.csv
Start Time: 20240719T000021
Version: 0.10.3
End Time: 20240719T000031
Total Run Time: 9.415138006210327
trial_index arm_name trial_status ... x3 x4 x5
0 0 0_0 COMPLETED ... 0.912826 0.114826 0.548227
1 1 1_0 COMPLETED ... 0.149872 0.181885 0.886596
2 2 2_0 COMPLETED ... 0.910590 0.522245 0.751055
3 3 3_0 COMPLETED ... 0.681154 0.901621 0.052510
4 4 4_0 COMPLETED ... 0.015341 0.551637 0.855924
5 5 5_0 COMPLETED ... 0.398130 0.273346 0.678555
6 6 6_0 COMPLETED ... 0.507512 0.914265 0.423156
7 7 7_0 COMPLETED ... 0.217659 0.730054 0.865738
8 8 8_0 COMPLETED ... 0.741998 0.153259 0.589208
9 9 9_0 COMPLETED ... 0.588473 0.780960 0.948724
[10 rows x 11 columns]
##############################################