benchmarkfcns.levy

benchmarkfcns.levy(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 Levy benchmark function. SCORES = levy(X) computes the value of the Levy function at point X. levy accepts a matrix of size M-by-N 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: (1, 1, …, 1)

  • Number of dimensions: n

  • Recommended domain: [-10, 10]^n

  • Number of local minima: many

  • Number of global minima: 1

  • Convexity: non-convex

  • Separability: non-separable

  • Modality: multimodal

Mathematical Definition

\[\begin{split}w_i = 1 + \frac{x_i - 1}{4}, \quad \text{for } i=1, \dots, n \\\end{split}\]

f(mathbf{x}) = sin^2(pi w_1) + sum_{i=1}^{n-1} (w_i - 1)^2 [1 + 10sin^2(pi w_i + 1)] + (w_n - 1)^2 [1 + sin^2(2pi w_n)]

Visualization