« Back to top page

The blackbox optimization benchmarking largescale (bbob-largescale) test suite

The blackbox optimization benchmarking largescale (bbob-largescale) test suite consists of high-dimensional 24 noiseless single-objective test functions including Sphere, Ellipsoidal, Rastrigin, Rosenbrock, etc. This package is a wrapper of the COCO (COmparing Continuous Optimizers) experiments library.

Abstract

The blackbox optimization benchmarking largescale (bbob-largescale) test suite comprises high-dimensional 24 noiseless single-objective test functions. Each benchmark function is provided in dimensions [20, 40, 80, 160, 320, 640] 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 [1, 24].
  • dimension: Dimension of the benchmark function. It must be in [20, 40, 80, 160, 320, 640].
  • 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]
  • directions: Return the optimization directions.
    • Returns: list[optuna.study.StudyDirection]
  • __call__(trial: optuna.Trial): Evaluate the objective function and return the objective value.
    • Args:
      • trial: Optuna trial object.
    • Returns: float
  • 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 to dimension.
    • Returns: float

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-largescale")
sphere640d = bbob.Problem(function_id=1, dimension=640, instance_id=1)

study = optuna.create_study(directions=sphere640d.directions)
study.optimize(sphere640d, n_trials=20)

print(study.best_trial.params, study.best_trial.value)

Reference

Elhara, O., Varelas, K., Nguyen, D., Tusar, T., Brockhoff, D., Hansen, N., & Auger, A. (2019). COCO: the large scale black-box optimization benchmarking (BBOB-largescale) test suite. arXiv preprint arXiv:1903.06396.

Package
benchmarks/bbob_largescale
Author
Optuna team
License
MIT License
Verified Optuna version
  • 4.1.0
Last update
2025-01-21