Abstract
The blackbox optimization benchmarking noisy (bbob-noisy) test suite comprises 30 noisy test functions. Each benchmark function is provided in dimensions [2, 3, 5, 10, 20, 40] with 15 instances. Please refer to the paper for details about each benchmark function.
APIs
class Problem(function_id: int, dimension: int, instance_id: int = 1)
function_id
: ID of the bbob benchmark function to use. It must be in the range of[101, 130]
.dimension
: Dimension of the benchmark function. It must be in[2, 3, 5, 10, 20, 40]
.instance_id
: ID of the instance of the benchmark function. It must be in the range of[1, 15]
.
Methods and Properties
search_space
: Return the search space.- Returns:
dict[str, optuna.distributions.BaseDistribution]
- Returns:
directions
: Return the optimization directions.- Returns:
list[optuna.study.StudyDirection]
- Returns:
__call__(trial: optuna.Trial)
: Evaluate the objective function and return the objective value.- Args:
trial
: Optuna trial object.
- Returns:
float
- Args:
evaluate(params: dict[str, float])
: Evaluate the objective function given a dictionary of parameters.- Args:
params
: Decision variable like{"x0": x1_value, "x1": x1_value, ..., "xn": xn_value}
. The number of parameters must be equal todimension
.
- Returns:
float
- Args:
The properties defined by cocoex.Problem are also available such as number_of_objectives
.
Installation
Please install the coco-experiment package.
pip install -U coco-experiment
Example
import optuna
import optunahub
bbob_noisy = optunahub.load_module("benchmarks/bbob_noisy")
sphere2d_gaussian = bbob_noisy.Problem(function_id=101, dimension=2, instance_id=1)
study = optuna.create_study(directions=sphere2d_gaussian.directions)
study.optimize(sphere2d_gaussian, n_trials=20)
print(study.best_trial.params, study.best_trial.value)
Reference
Nikolaus Hansen, Steffen Finck, Raymond Ros, Anne Auger. Real-Parameter Black-Box Optimization Benchmarking 2009: Noisy Functions Definitions. [Research Report] RR-6869, INRIA. 2009. ⟨inria-00369466⟩
- Package
- benchmarks/bbob_noisy
- Author
- Optuna team
- License
- MIT License
- Verified Optuna version
- 4.1.0
- Last update
- 2025-01-21