You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A collection and visualization of singleobjective black-box functions for optimization benchmarking
8
+
A collection of single-objective black-box functions for optimization benchmarking
9
9
</H2>
10
10
11
+
<br>
12
+
13
+
## Introduction
14
+
15
+
**Surfaces** is a Python library designed for researchers and practitioners in optimization and machine learning. It provides a comprehensive collection of benchmark functions to evaluate and compare optimization algorithms under standardized conditions.
16
+
17
+
### Key Features
18
+
19
+
-**Mathematical Test Functions**: 24 test functions covering 1D, 2D, and N-dimensional optimization landscapes
20
+
-**Machine Learning Test Functions**: Real-world ML benchmarks using scikit-learn models with hyperparameter optimization
21
+
-**Standardized Interface**: Consistent API across all functions for easy algorithm evaluation
22
+
-**Flexible Configuration**: Support for different metrics (loss/score), dimensionalities, and evaluation modes
23
+
-**Optimization Research**: Ideal for testing metaheuristics, gradient-free methods, and hyperparameter optimization algorithms
24
+
25
+
### Use Cases
26
+
27
+
-**Algorithm Development**: Test new optimization algorithms against established benchmarks
28
+
-**Performance Comparison**: Compare different optimizers on standardized problem sets
29
+
-**Research Publications**: Use well-known test functions with consistent implementations
30
+
-**Educational Purposes**: Learn optimization concepts with visual and mathematical examples
31
+
-**Hyperparameter Tuning**: Benchmark autoML and hyperparameter optimization methods
32
+
11
33
12
34
<br>
13
35
@@ -63,54 +85,6 @@
63
85
</tr>
64
86
</table>
65
87
66
-
### Machine Learning Functions
67
-
68
-
Surfaces also provides powerful visualizations for machine learning test functions, showing hyperparameter interactions and dataset-specific performance patterns.
##Search Data Collection for Machine Learning Functions
131
+
### Common Interface
177
132
178
-
Surfaces includes a powerful search data collection system for machine learning test functions that enables fast evaluation and benchmarking of optimization algorithms. This feature pre-computes and stores evaluation results across parameter grids, providing instant lookups instead of expensive ML model training.
133
+
All test functions provide:
179
134
180
-
### Key Benefits
135
+
-`objective_function(parameters)` - Evaluate the function
136
+
-`search_space()` - Get parameter bounds/ranges
137
+
- Constructor parameters:
138
+
-`metric="loss"` or `"score"` - Optimization direction
139
+
-`sleep=0` - Add artificial delays for benchmarking
140
+
-`n_dim=N` (for N-dimensional functions) - Set dimensionality
181
141
182
-
-** Fast evaluations**: 100-1000x speedup for ML function evaluations
183
-
-** Timing data included**: Original evaluation times preserved for realistic benchmarking
0 commit comments