benchmarkfcns.katsuura¶
- benchmarkfcns.katsuura(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 Katsuura benchmark function. SCORES = katsuura(X) computes the value of the Katsuura function at point X. katsuura 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: (0, 0, …, 0)
Number of dimensions: n
Recommended domain: [-100, 100]^n
Number of local minima: many (highly rugged)
Number of global minima: 1
Convexity: non-convex
Separability: non-separable
Modality: multimodal
Differentiability: non-differentiable (fractal-like)
Mathematical Definition
\[f(\mathbf{x}) = \frac{10}{n^2} \prod_{i=1}^n \left(1 + i \sum_{j=1}^{32} \frac{|2^j x_i - \text{round}(2^j x_i)|}{2^j}\right)^{10/n^{1.2}} - \frac{10}{n^2}\]
Visualization