Fully Adapted and Robust Simulated Annealing

We present a simple implementation of simulated annealing that uses a fixed set of parameters on all problems, does not become trapped, eventually matches or exceeds the performance of single standard annealing runs on all problems tested, and offers ample opportunity for run-time optimization. The algorithm starts with a short chain length run, continues with a sequence of runs of successively longer chain lengths, and terminates as desired based on a specified run time. When compared to a similar implementation using repeated runs with a fixed chain length, the robust version was faster to specified costs on 17 out of 21 trials; in 13 of those trials the difference was at least a standard deviation. Further, although not presented, a simple parallel implementation can yield speedups of 10 or more on 16 processors on some problems.