Abstract
The bbob-biobj test suite was created by combining existing 55 noiseless single-objective test functions. bbob-biobj (and its extension, bbob-biobj-ext) has in total of 92 (= original 55 + additional 37) bi-objective functions. Each benchmark function is provided in dimensions [2, 3, 5, 10, 20, 40] with 15 instances. In this package, all the 92 functions are available. 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[1, 92]
.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 functions and return the objective values.- Args:
trial
: Optuna trial object.
- Returns:
tuple[float, float]
- Args:
evaluate(params: dict[str, float])
: Evaluate the objective functions 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:
tuple[float, 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 = optunahub.load_module("benchmarks/bbob_biobj")
f92 = bbob.Problem(function_id=92, dimension=40, instance_id=15)
study = optuna.create_study(directions=f92.directions)
study.optimize(f92, n_trials=20)
print(study.best_trials)
Reference
Brockhoff, D., Auger, A., Hansen, N., & Tušar, T. (2022). Using well-understood single-objective functions in multiobjective black-box optimization test suites. Evolutionary Computation, 30(2), 165-193.
- Package
- benchmarks/bbob_biobj
- Author
- Optuna team
- License
- MIT License
- Verified Optuna version
- 4.1.0
- Last update
- 2025-01-21