A modified version of the Rastrigin function following the formula: $$f(\mathbf{x}) = \sum_{i=1}^{n} 10\left(1 + \cos(2\pi k_i \mathbf{x}_i)\right) + 2 k_i \mathbf{x}_i^2.$$ The box-constraints are given by \(\mathbf{x}_i \in [0, 1]\) for \(i = 1, \ldots, n\) and \(k\) is a numerical vector. Deb et al. (see references) use, e.g., \(k = (2, 2, 3, 4)\) for \(n = 4\). See the reference for details.

makeModifiedRastriginFunction(dimensions, k = rep(1, dimensions))

Arguments

dimensions

[integer(1)]
Size of corresponding parameter space.

k

[numeric]
Vector of numerical values of length dimensions. Default is rep(1, dimensions)

Value

[smoof_single_objective_function]

References

Kalyanmoy Deb and Amit Saha. Multimodal optimization using a bi- objective evolutionary algorithm. Evolutionary Computation, 20(1):27-62, 2012.