benchmarkfcns.penholder

benchmarkfcns.penholder(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 Pen Holder function. SCORES = penholder(X) computes the value of the function at point X. penholder accepts a matrix of size M-by-2 and returns a vector SCORES of size M-by-1. Properties:

  • Global minimum: -0.963535

  • Location of global minimum: (+/- 9.64617, +/- 9.64617)

  • Number of dimensions: 2

  • Recommended domain: [-11, 11]^2

  • Modality: Multimodal

Mathematical Definition

\[f(x_1, x_2) = -\exp\left( -\left| \cos(x_1)\cos(x_2)\exp\left( \left| 1 - \frac{\sqrt{x_1^2 + x_2^2}}{\pi} \right| \right) \right|^{-1} \right)\]

Visualization