Exploration output#

By default, the output of an optimas Exploration is stored in an exploration folder located in the same directory as the main script. This output consists of log files, folders and data generated by libEnsemble and the evaluations/simulations.

Log files#

In every run, the following log files are generated:

  • libE-stats.txt: log indicating the worker, start time, end time, etc. of each evaluation.

  • ensemble.log: log of libEnsemble containing the main events of the run. This includes the commands with which each evaluation was launched.

  • exploration_history_after_sim_<last_simulation_number>.npy: numpy file that contains the history array of the run. This is a structured array that stores the data of each evaluation, including the values of the VaryingParameters, Objectives, analyzed Parameters and other useful diagnostics. The periodicity with which this file is updated can be set with the history_save_period argument of the Exploration.

  • exploration_parameters.json: JSON file containing a serialized version of the VaryingParameters, Objectives and other Parameters of the exploration.

In addition, if the run is aborted for any reason, two additional files will be created:

  • libE_history_at_abort_<sim_count>.npy: numpy file containing the history array when the run was aborted.

  • libE_persis_info_at_abort_<sim_count>.pickle: contains the internal persis_info of libEnsemble when the run was aborted.

Simulation data#

When using a TemplateEvaluator (see Running simulations), an exploration/evaluations directory is also created. Inside this directory, a new folder following the pattern sim<simulation_number> will be created for each simulation. This folder contains the simulation script, a copy of the files specified in sim_files, and the output data of the simulation.

Surrogate model#

Some generators store an internal surrogate model. This is the case, for example, of the AxSingleFidelityGenerator, which stores an AxClient with the surrogate model used for Bayesian optimization.

Generators that have this capability can also save the internal model to file with a certain periodicity (set by the model_save_period attribute). By default, these models will be saved in a exploration/model_history directory.

Example output#

An example of the output structure can be seen below. This case corresponds an optimas run using an AxSingleFidelityGenerator and a TemplateEvaluator, such as in the example Basic optimization with simulations.

/
├── run_optimas.py
├── template_simulation_script.py
└── exploration
    ├── ensemble.log
    ├── libE_stats.txt
    ├── exploration_history_after_sim_99.txt
    ├── exploration_parameters.json
    ├── evaluations
       ├── sim0000
          ├── simulation_script.py
          └── result.txt
       ├── sim0001
          ├── simulation_script.py
          └── result.txt
       ├── sim0002
          ├── simulation_script.py
          └── result.txt
      ...
       └── sim0099
           ├── simulation_script.py
           └── result.txt
    └── model_history
        ├── ax_client_at_eval_5.json
       ...
        └── ax_client_at_eval_100.json