Another frequently used function for benchmarking optimization algorithms is Himmelblau's function, depicted in the following diagram:
![](https://static.packt-cdn.com/products/9781838557744/graphics/assets/6218e35b-1755-4596-aca6-313b7ec19d32.png)
Himmelblau's function
Source: https://commons.wikimedia.org/wiki/File:Himmelblau_function.svg.
Image by Morn the Gorn. Released to the public domain.
Source: https://commons.wikimedia.org/wiki/File:Himmelblau_function.svg.
Image by Morn the Gorn. Released to the public domain.
The function can be mathematically expressed as follows:
![](https://static.packt-cdn.com/products/9781838557744/graphics/assets/36181c20-8e7f-48f4-8293-56b12c69e317.png)
It is usually evaluated on the search space bounded by [-5, 5] in each dimension.
Although this function seems simpler in comparison to the Eggholder function, it draws interest as it is multi-modal, in other words, it has more than one global minimum. To be exact, the function has four global minima evaluating to 0, which can be found in the following locations:
- x=3.0, y=2.0
- x=−2.805118, y=3.131312
- x=−3.779310, y=−3.283186
- x=3.584458, y=−1.848126
These locations...