Optimised simulated annealing for Ising spin glasses ?
We present several efficient implementations of the simulated annealing algorithm for Ising spin glasses on sparse graphs. In particular, we provide a generic code for any choice of couplings, an optimised code for bipartite graphs, and highly optimised implementations using multi-spin coding for graphs with small maximum degree and discrete couplings with a finite range. The latter codes achieve up to 50 spin flips per nanosecond on modern Intel CPUs. We also compare the performance of the codes to that of the special purpose D-Wave devices built for solving such Ising spin glass problems. Program title: SimAn v1.0 Catalogue identifier: AEVZ_v1_0 Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEVZ_v1_0.html Program obtainable from: CPC Program Library, Queens University, Belfast, N. Ireland Licensing provisions: GNU General Public License, version 3 No. of lines in distributed program, including test data, etc.: 14999 No. of bytes in distributed program, including test data, etc.: 26594 Distribution format: tar.gz Programming language: C++, OpenMP for parallelization. Computer: Any PC. Operating system: Linux/OS X/UNIX. Has the code been vectorised or parallelized?: Parallelized using OpenMP. RAM: Variable, from a few megabytes. Classification: 4.13, 6.5, 23. Nature of problem: Ising spin glass ground states on sparse graphs. Solution method: Simulated annealing. Running time: From milliseconds to seconds.
optimisation simulated annealing spin glasses