Skip to main content

BBOB Benchmark function implemented in JAX

Project description

BBOB Benchmark set for JAX

| GitHub | PyPI | Documentation | Zenodo

JAX implementation of the BBOB Benchmark functions for black-box optimization, based on the original definitions by Finck et al. (2009) [^1].

First publication: October 17, 2025


Statement of need

This repository provides the original BBOB 24 noise-free, real-parameter, single-objective benchmark functions reimplemented in JAX. Originally written in C, these functions have been translated to JAX to enable automatic differentiation, just-in-time (JIT) compilation, and XLA-accelerated performance; making them ideal for research in optimization, machine learning, and evolutionary algorithms.

BBOB functions 3D overview
3D surface plots of the 24 BBOB benchmark functions.

BBOB functions 2D overview
2D contour plots of the 24 BBOB benchmark functions.

Authorship & Citation

Authors:

Authors affiliation:

  • Delft University of Technology (Bessa Research Group)

Maintainer:

Maintainer affiliation:

  • Delft University of Technology (Bessa Research Group)

If you use bbob-jax in your research or in a scientific publication, it is appreciated that you cite the paper below:

Zenodo (link):

@software{vanderSchelling2025,
  title        = {Black-box optimization benchmarking (bbob) problem
                   set for JAX},
  author       = {van der Schelling, M. P. and Bessa, M A.},
  month        = {nov},
  year         = {2025},
  publisher    = {Zenodo},
  version      = {v1.0.0},
  doi          = {10.5281/zenodo.17426894},
  url          = {https://doi.org/10.5281/zenodo.17426894},
}

Getting started

To install the package, use pip:

pip install bbob-jax

Related Work

This project builds on and complements established benchmarking efforts and tooling in black-box optimization. The resources below are closely related and provide broader context and utilities.

Community Support

If you find any issues, bugs or problems with this package, please use the GitHub issue tracker to report them.

License

Copyright (c) 2025, Martin van der Schelling

All rights reserved.

This project is licensed under the BSD 3-Clause License. See LICENSE for the full license text.

[^1]: Finck, S., Hansen, N., Ros, R., and Auger, A. (2009), Real-parameter black-box optimization benchmarking 2009: Noiseless functions definitions, INRIA.

[^2]: Hansen, N., Auger, A., Ros, R., Mersmann, O., Tušar, T., and Brockhoff, D. (2021), COCO: A Platform for Comparing Continuous Optimizers in a Black-Box Setting. Optimization Methods and Software, 36(1), 114–144. https://doi.org/10.1080/10556788.2020.1808977

[^3]: Lange, R. T. (2022), evosax: JAX-based Evolution Strategies. arXiv preprint arXiv:2212.04180.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bbob_jax-1.0.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bbob_jax-1.0.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file bbob_jax-1.0.0.tar.gz.

File metadata

  • Download URL: bbob_jax-1.0.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for bbob_jax-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0e6ce00cdac0ff9aff565920086ddb6cb4d46115929efc866c7d68c86303178a
MD5 d99df5ec3882846b075ae4b07940ca2c
BLAKE2b-256 d5331c85a1f4fcd8ef6a8ca3f8ce6ba70dfc153cae7306c84aafa7affbcf005e

See more details on using hashes here.

File details

Details for the file bbob_jax-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bbob_jax-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for bbob_jax-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0ab9ddca27b933c8e42a201da8ce9599e1e6d815c751d93115a44962931c216
MD5 6a76a0514d56d54672e6470f8b76fdd7
BLAKE2b-256 bff9e2c3d9288251d6409aa44fdf49f75f27d6d7434ad421d336d2e1f7b4b3cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page