benchmarkfcns.zimmerman

benchmarkfcns.zimmerman(arg0: Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]', 'flags.c_contiguous']) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']

Computes the value of the Zimmerman benchmark function. SCORES = zimmerman(X) computes the value of the Zimmerman function at point X. zimmerman accepts a matrix of size M-by-2 and returns a vector SCORES of size M-by-1 in which each row contains the function value for the corresponding row of X. Properties:

  • Global minimum: 0

  • Location of global minimum: (7, 2)

  • Number of dimensions: 2

  • Recommended domain: [0, 100]^2

  • Number of local minima: dependent on the penalty factor Z_p, but can have

    several “pseudo-minima” along the constraint boundaries.

  • Number of global minima: 1

  • Convexity: non-convex

  • Separability: non-separable

  • Modality: multimodal

  • Symmetry: non-symmetric

  • Differentiable: Yes (except potentially at the constraint boundaries, where the

    penalty term can introduce non-differentiability, but the function is usually well-behaved in practice)

Mathematical Definition

Visualization

zimmerman landscape