1
$\begingroup$

I am using a simulated annealing algorithm to optimize a cost function. Given the fact that simulated annealing is a stochastic algorithm and will not give the same results each time you run it, I was wondering whether it is reasonable to run it multiple times and take an average of the results.

If not, what would increase my chances of finding the global minimum? From what I have read adaptive simulated annealing is a good way.

Thanks for your time.

$\endgroup$
  • 1
    $\begingroup$ Regardless of the algorithm used, I would take the best result because it cannot be any worse than the average and likely is better. As far as SA is concerned, one way to frame the question is in terms of computational effort: would it be better to expend a given amount of computing resources on a single SA run with a very slow cooling schedule or on multiple faster SA runs with fast cooling schedules? $\endgroup$ – whuber Jun 26 '14 at 18:07
1
$\begingroup$

It's a reasonable approach. We do it all the time in my lab. The average (and deviation) is useful for checking the variation of the stochastic process. However, as mentioned, I would take the best result for the final presentation (along with the other results in a table). Try it with different initial parameters as well. Make sure to also record the number of times you call your objective each run. For example, if you have 10 runs with 100 function calls, the total cost of your optimization is 1000, not 100. If it took 1000 to get that result, then that is the cost of optimization.

In terms of finding the best result, you may consider trying different GO algorithms as well (GA, DIRECT, EGO etc.). Different algorithms work better on different problems. This a result from the "no free lunch theorem". Therefore, don't assume SA will work best for your particular application.

$\endgroup$
  • $\begingroup$ That makes sense. Based on which metrics can I identify the "best result"? Would those be the residual sum of squares, or the autocorrelation function of the residuals? $\endgroup$ – sigma Jun 26 '14 at 22:58

Your Answer

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

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