Skip to content

SimonBlanke/Surfaces

Repository files navigation

Surfaces


A collection and visualization of single objective black-box functions for optimization benchmarking


Visualizations

Objective Function Heatmap Surface Plot
Sphere function

Rastrigin function

Ackley function

Rosenbrock function

Beale function

Himmelblaus function

Hölder Table function

Cross-In-Tray function


Installation

The most recent version of Surfaces is available on PyPi:

pip install surfaces

Example

import numpy as np

from surfaces.mathematical_functions import SphereFunction, AckleyFunction
from surfaces.visualize import plotly_surface


sphere_function = SphereFunction(n_dim=2, metric="score")
ackley_function = AckleyFunction(metric="loss")


step_ = 0.05
min_ = 10
max_ = 10
search_space = {
    "x0": np.arange(-min_, max_, step_),
    "x1": np.arange(-min_, max_, step_),
}

plotly_surface(sphere_function.objective_function, search_space).show()
plotly_surface(ackley_function.objective_function, search_space).show()