benchmarkfcns.friedman3

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

Computes the value of the Friedman N. 3 benchmark function.

Properties:

  • Global minimum: -π/2

  • Location of global minimum: (x_1, x_2, x_3, x_4) such that x_1 is very small

    and (x_2 * x_3) = 1/(x_2 * x_4)

  • Number of dimensions: 4

  • Recommended domain: x_1 ∈ [0, 100], x_2 ∈ [40π, 560π], x_3 ∈ [0, 1],

    x_4 ∈ [1, 11]

  • Number of local minima: None (it is technically a “valley” function)

  • Number of global minima: Infinite points

  • Convexity: Non-convex

  • Separability: Non-separable

  • Modality: Unimodal

  • Symmetry: Non-symmetric

  • Differentiable: Yes, except at x_1 = 0

Inputs:

  • x: A matrix of size M-by-4.

  • sigma: An optional non-negative scalar that adds Gaussian noise with mean of

    zero and standard deviation of sigma to the function value to create a noisy version of the function. Default is 0 (no noise).

For more information, please visit: benchmarkfcns.info/doc/friedman3fcn

Mathematical Definition

Visualization

friedman3 landscape