I have a simulation which gives a scalar result depending on the choice of some continuous design variables. I am trying to minimize the output of the simulation. As a first step, I want to study the convexity of the problem. Is there a methodology that allows us to determine whether a black box function (no analytical form) is convex or not ?

I have already found a pair $\{\vec{x}_1, \vec{x}_2\}$ that does not satisfy the midpoint convexity:

\begin{equation} f(\vec{x}_1)+f(\vec{x}_2) \geq 2f\left(\frac{\vec{x}_1+\vec{x}_2}{2}\right) \end{equation}

Is this a sufficient condition to say that the function is nonconvex ? Furthermore, if it is nonconvex how does that affect the choice of the optimizer ?

I have read that evolutionary algorithms could be a good choice for black box optimization. However, I do not have much experience in the field of optimization and I would appreciate it if someone could point me in the right direction.

  • $\begingroup$ Yes. Convexity is defined as "for all points x1, x2, the following is true" and you've just found a pair of points for which it is not true -- so the function is not convex. $\endgroup$ – Wolfgang Bangerth Jan 27 at 17:10
  • $\begingroup$ Does your black box produce deterministic results, i.e., not based on Monte Carlo simulation or subject to random error of whatever source? $\endgroup$ – Mark L. Stone Jan 27 at 17:29
  • $\begingroup$ Yes the black box produces deterministic results. $\endgroup$ – Karl Maroun Jan 27 at 17:53
  • $\begingroup$ What is the dimensionality of the problem? Is anything known about the properties of the function - smooth or not, single maximum (or minimum) or multiple? $\endgroup$ – Maxim Umansky Jan 28 at 5:20
  • $\begingroup$ The dimensionality of the problem is 4. I do not know if the function is smooth or not and I suspect that there might be multiple minima. $\endgroup$ – Karl Maroun Jan 28 at 12:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.