With the exception of special cases, this problem is NP-hard. One interesting case is that minimizing a convex or concave function over a simplex can be solved in polynomial time. In other special cases it is also possible to linearise the problem through reformulations. In the general case however this would be solved by relaxing the objective and using branch and bound to find the global optimum.
It is interesting to note that there are two parts to NP-hardness in optimisation: (i) finding a solution, and (ii) verifying the solution. Because verifying the solution cannot be done in polynomial time, even if we have a solution it is still NP-hard to prove that it is globally optimal.
We see this a lot in practice as well. In global optimisation finding a solution is the easy part - the difficult part is to prove/disprove that it is globally optimal.