Optimization on unit sphere?

You forgot the square root on the right-hand side. But with this approach you have the problem of picking a sign, and of constraining \sum_k^{n-1} x_k^2 \le 1; see also Interior-Point Newton tries points outside of the constraint set

The change of variables x = y / \Vert y \Vert_2 does this automatically, since \nabla_y f(y / \Vert y \Vert_2) \perp y.

You have already lost convexity (unless f is constant) because the feasible set is non-convex.

However, if your f(x) has a unique local (= global) optimum on the unit sphere, then f(y / \Vert y \Vert_2) has a unique line of optima y = \alpha x, i.e. a unique value of x = y / \Vert y \Vert_2. Local optimization will find an arbitrary y on that line, but will give the same x.

PS. As an aside, I would try hard to get a gradient of your function, if possible, so that you can use a better algorithm than DE.

4 Likes