I am studying a kind of nonlinear mathematical optimization problems where the objective functions are guaranteed to be nonnegative. In addition, the objective function is non-analytical; in fact, it is in the form of a C routine. The C routine needs to be treated as a blackbox as I don't access to its source.

As a total beginner in the operation research field and due to the vast literature in the field of mathematical optimization, I would like to ask which category of optimization problems I should look at to solve my problem? Is there any field like "nonnegative programming"?

  • $\begingroup$ Nonnegativity generally doesn't help in numerical optimization, because any well-posed minimization problem can be made nonnegative simply by adding a constant. So let's forget about that and look at the other characteristics of your problem. In particular, if you can't evaluate the derivatives of the objective function, you'll have to resort to derivative-free optimization. $\endgroup$
    – user856
    Jul 9, 2018 at 5:53
  • $\begingroup$ How would you add a constant to make an objective function nonnegative? Most of the time you have prior knowledge of the function's minimum, so it is is unclear what constant you mean to add? $\endgroup$
    – zell
    Jul 9, 2018 at 6:13
  • $\begingroup$ What else do you know about the objective? Is it continuous, at least? Convex? $\endgroup$ Jul 9, 2018 at 7:50
  • $\begingroup$ @Rodrigo de Azevedo Not a lot. It is a black-box, floating-point program. $\endgroup$
    – zell
    Jul 9, 2018 at 7:58
  • $\begingroup$ What I'm trying to say is that from an optimization perspective, nonnegative functions don't look much different from arbitrary bounded-from-below functions. Consider the functions $f(x)=(x-1)^2+1$ and $g(x)=(x-1)^2-1$. Only the former is nonnegative, but I can make them both nonnegative by adding any sufficiently large constant, say $1000$, and it doesn't change the location of the minimum. $\endgroup$
    – user856
    Jul 9, 2018 at 8:33


You must log in to answer this question.

Browse other questions tagged .