benchmarkfcns.michalewicz

benchmarkfcns.michalewicz(x: Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]', 'flags.c_contiguous'], m: SupportsFloat | SupportsIndex = 10) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']

Computes the value of the Michalewicz benchmark function. SCORES = michalewicz(X) computes the value of the Michalewicz function at point X. michalewicz 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. SCORES = michalewicz(X, m=M) computes the function with the given value of M for its ‘m’ parameter. Properties:

  • Global minimum: -1.8013 (for n=2), -4.687658 (for n=5), -9.66015 (for n=10)

  • Location of global minimum: depends on n

  • Number of dimensions: n

  • Recommended domain: [0, π]^n

  • Number of local minima: n!

  • Number of global minima: 1

  • Convexity: non-convex

  • Separability: separable

  • Modality: multimodal

Mathematical Definition

Visualization

michalewicz landscape