BBOB Functions#
The Black-Box Optimization Benchmarking (BBOB) suite is part of the COCO (Comparing Continuous Optimizers) platform. It is the standard benchmark for comparing continuous optimization algorithms.
What is BBOB?#
BBOB is a carefully designed benchmark suite with:
24 noiseless functions: Covering different optimization challenges
Systematic design: Functions grouped by difficulty characteristics
Standard methodology: Results comparable across publications
Competition use: Used in GECCO BBOB workshops
When you benchmark on BBOB, you can compare your results directly with hundreds of published optimizers.
Function Groups#
BBOB functions are organized into five groups based on their characteristics:
Group |
Characteristics |
Example Functions |
|---|---|---|
Separable |
Variables independent |
Sphere, Ellipsoidal |
Low/Moderate Conditioning |
Manageable condition numbers |
Rosenbrock, Attractive Sector |
High Conditioning |
Ill-conditioned |
Bent Cigar, Sharp Ridge |
Multi-modal (adequate) |
Multiple optima, exploitable structure |
Rastrigin, Schaffer F7 |
Multi-modal (weak) |
Many optima, weak global structure |
Schwefel, Gallagher |
Available BBOB Functions#
Function |
Group |
Properties |
|---|---|---|
|
Separable |
Simplest, baseline |
|
Separable |
Ill-conditioned, separable |
|
Multi-modal |
Highly multimodal, separable |
|
Multi-modal |
Asymmetric Rastrigin |
|
Separable |
Linear function |
|
Low conditioning |
Sector-based optima |
|
Low conditioning |
Discrete steps |
|
Low conditioning |
Classic Rosenbrock |
|
Low conditioning |
Rotated variant |
|
High conditioning |
Rotated, ill-conditioned |
|
High conditioning |
Single sensitive direction |
|
High conditioning |
Narrow ridge |
|
High conditioning |
Sharp narrow ridge |
|
High conditioning |
Variable sensitivities |
|
Multi-modal |
Rotated Rastrigin |
|
Multi-modal |
Rugged landscape |
|
Multi-modal |
Asymmetric, ill-conditioned |
|
Multi-modal |
More ill-conditioned |
|
Multi-modal |
Combined landscape |
|
Multi-modal (weak) |
Deceptive optima |
|
Multi-modal (weak) |
101 random peaks |
|
Multi-modal (weak) |
21 random peaks |
|
Multi-modal (weak) |
Fractal-like |
|
Multi-modal (weak) |
Two funnels |
Usage Example#
from surfaces.test_functions.benchmark.bbob import (
Sphere,
RosenbrockRotated,
RastriginRotated,
Schwefel,
)
# Create functions
sphere = Sphere(n_dim=10)
rosenbrock = RosenbrockRotated(n_dim=10)
rastrigin = RastriginRotated(n_dim=10)
schwefel = Schwefel(n_dim=10)
# Evaluate
for func in [sphere, rosenbrock, rastrigin, schwefel]:
result = func(func.search_space_sample())
print(f"{func.__class__.__name__}: {result:.4f}")
Why Use BBOB?#
Comparable Results#
BBOB has been used in optimization research for over a decade. When you report results on BBOB functions, readers can directly compare with:
Published papers
COCO data archive
Your own previous experiments
Systematic Coverage#
BBOB functions systematically cover different optimization challenges:
Separability
Conditioning
Multi-modality
Global structure
This ensures you test all aspects of your optimizer.
Standard Methodology#
The COCO platform provides standardized:
Performance measures (ERT, success rate)
Visualization tools
Statistical comparisons
BBOB vs Algebraic#
Aspect |
Algebraic |
BBOB |
|---|---|---|
Purpose |
General benchmarking |
Rigorous comparison |
Standardization |
Varies by paper |
COCO standard |
Transformations |
Usually none |
Shifted, rotated |
Comparability |
Limited |
Extensive literature |
Next Steps#
CEC Functions - CEC competition benchmarks
/api_reference/test_functions/bbob - Complete API reference
COCO Platform - Official BBOB implementation