5
$\begingroup$

I need to solve a series of single parameter black-box minimization problem. The underlying cost functions are quite simple. They always have the same shape: a global minimum inside a fixed interval (-15000; 15000).

The constraints are :

  • The function is not differentiable;
  • The function is slow to evaluate.

I can solve these problems using a coarse scan followed by a fine scan. But I need between 30 and 50 evaluations. I'm sure that there is a better way to do it, but I can't find how.

Two examples of these cost functions :

enter image description here enter image description here

$\endgroup$
4
  • $\begingroup$ NOMAD $\endgroup$
    – Kuifje
    Jun 11, 2021 at 8:31
  • $\begingroup$ @Kuifje it seems a little too much for this type of problem. I was thinking of something more simple, as I only have 1 parameter to optimize and my function is always convex ... $\endgroup$
    – Kh4zit
    Jun 11, 2021 at 11:56
  • $\begingroup$ @Kh4zit, have you faced with an optimization problem? or you are trying to work with a single equation? $\endgroup$
    – A.Omidi
    Jun 11, 2021 at 16:44
  • $\begingroup$ Fibonacci search performs slightly better than golden search. $\endgroup$ Jun 27, 2021 at 12:22

2 Answers 2

5
$\begingroup$

Given that your function is apparently unimodal (single local minimum, which is global), you might try golden section search. The first four function evaluations result in about a 40% reduction in the initial interval. Each additional function thereafter again reduces the remaining interval by about 40%.

$\endgroup$
1
  • $\begingroup$ That's exactly the type of solution I was looking for. Thank you ! $\endgroup$
    – Kh4zit
    Jun 12, 2021 at 12:14
2
$\begingroup$

I would advise Bayesian Optimization. The benefits imho are that they don’t require a gradient, work for a wide variety of optimization problems and are made for when we are dealing with functions that are hard or slow to evaluate.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.