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.
With my Colleague Yang, we wrote it. Maxiter is the maximum number of the global iterations (which includes the global search process which embeds local searches). This is not the same thing as the maximum number of objective function calls. If you want to limit the number of objective function calls, use maxfun. If you want to make sure it runs longer than the default maximum number of iteration (which is by default 500 and automatically adapted to the parameters dimension space), then use maxiter. I hope this helps. Sylvain