1

I'm using the scipy dual annealing algorithm to minimize a function and I am thinking about how this algorithm actually works in comparison to standard or generalized simulated annealing. I do not understand the maxiter parameter because the function evaluations are always way higher than the amount of iterations. If anyone knows the pseudocode I would much appreciate it.

I did look up the mentioned papers on the scipy page but these weren't helpful regarding my question.

jared
  • 4,165
  • 1
  • 8
  • 31
ZenDen
  • 11
  • 3
  • The documentation has a link to the source code: https://github.com/scipy/scipy/blob/v1.11.1/scipy/optimize/_dual_annealing.py#L440-L716 – jared Jul 18 '23 at 06:50
  • If maxiter was a limit on function evaluations it would be named `maxfun` instead (and in fact dual_annealing does support `maxfun`.) – hobbs Jul 18 '23 at 06:59
  • @jared Thank you very much. How could I miss that... – ZenDen Jul 18 '23 at 07:02
  • @hobbs Yes I am very aware of that, that is actually my question. Why is the maxfun higher than maxiter? As far as I know in standard simulated annealing there is no distinction between these two. – ZenDen Jul 18 '23 at 07:03
  • 1
    Please provide enough code so others can better understand or reproduce the problem. – Community Jul 18 '23 at 07:15

0 Answers0