-
Notifications
You must be signed in to change notification settings - Fork 0
Michalewicz
Description [view source]
The Michalewicz function is a commonly used benchmark for testing optimization algorithms due to its steep valleys and ridges, which create a challenging search space. It is defined mathematically as:
The Michalewicz.ndim) is 2.
Here is a link to an interactive Desmos version: https://www.desmos.com/3d/lwyzddlti0
Michalewicz().visualize()
- Multimodality: The function has a large number of local minima, making it challenging for optimization algorithms to find the global minimum.
-
Global minimum: The location of the global minimum varies with the dimensionality (d) and the parameter (m). For instance, in 2 dimensions with
$(m = 10)$ , the global minimum is approximately$f(x^*=<2.20, 1.57>) = -1.8013$ . -
Search space: Typically, the function is evaluated over the bounded region
$0 \leq x_i \leq \pi$ for each dimension, which is also the default value.
The Michalewicz function is useful for evaluating the performance of optimization algorithms in terms of their ability to handle non-separable, highly nonlinear, and multimodal search spaces. Its complex landscape, with steep ridges and valleys, poses a significant challenge for many optimization techniques, especially those that rely on smooth, unimodal, or separable assumptions. Algorithms that can effectively navigate the Michalewicz function's terrain are likely to perform well on a variety of real-world optimization problems.
The function was introduced by Zbigniew Michalewicz, a well-known researcher in the field of evolutionary computation in the following book :
Zbigniew, M. (1996). Genetic algorithms+ data structures= evolution programs. Computational statistics, 24, 372-373.