Sunday, 21 June 2015

na.numerical analysis - Finding the local/global minima of Shubert function

At Jacques' cajoling, I'm turning the comments into an answer.



The two dimensional Shubert function is just the product of the one dimensional one by itself. $f(x,y) = g(x)g(y)$ where $g(x) = sum_{j = 1}^5 j cos( (j+1)x + j)$ is the 1 dimensional Shubert function. Observe that the local maxima are all positive, and the local minima all negative. So the minima for $f(x,y)$ occur at points ${(x,y) : g'(x)= g'(y) = 0, f(x,y) < 0}$. In other words, the minima of $f$ occurs at points where a maximum of $g$ is multiplied against a minimum.



Notice that there are 3 global max/min each of $g$ in the interval (-10,10), and 19 max and 20 min overall. This produces the 760 total local min of $f$ with 18 of them being global. (760 = 2 * 19 * 20, 18 = 2 * 3 * 3)



To find the extrema of the 1-d Shubert function, you evaluate its first derivative, and find that it can be simplified to a degree 6 polynomial in $sin(x)$ and $cos(x)$ by using the angle addition formulae. I have not evaluated the computations myself, so cannot tell you whether the expression has a closed-form algebraic solution.

No comments:

Post a Comment