Suppose I solve a constrained optimisation problem using NMaximize
. How confident can I be of the accuracy of the result?
For concreteness, suppose that F,G are (exactly known) functions (say, polynomials with rational coefficients for concreteness), and in answer to NMaximize[ {F[x,y,z], G[x,y,z] > 0}, {x,y,z}]
Mathematica produces something like { .453, {x->.787, y->.342, z-> .235} }
, with no errors or warnings.
Levels of confidence I have in mind are:
The result is provably correct, in the sense that one could in principle use it in a pure mathematics paper (up to some controllable error term, naturally).
The result is certainly correct, in the sense that for it to be false would require a lot of very improbable coincidences, and hence it would be very unlikely to happen (but still it might be false, in principle).
The result might or might not be correct, depending on a number of factors beyond our control, which may conceivably go wrong (e.g. if F has a very sharp maximum somewhere, the domain is highly non-convex, etc.).
Edit: By "correct" answer I mean a global maximum, found with reasonable accuracy. Hence, if the answer is a local maximum (or worse still, not a maximum at all), then I would consider this answer to be wrong. If the answer is roughly correct but has slightly worse precision than claimed, I am not particularly worried about this.