I have a problem reaching the correct ground state while performing a Monte Carlo at zero temperature. Some parts of the system get trapped in a local minimum, and for getting the global one (the ground state) it needs to jump a barrier, but since there's no temperature this can't be done... Which would be the correct method to use in these cases? Thanks in advance!


To find the global minima of a function in a configuration space using Monte Carlo methods there are two main approaches simulated annealing and parallel tempering.

Simulated annealing

Simulated annealing is single Markov chain starting at high temperature for global exploration. The system is then evolved via Monte Carlo update whose criteria for acceptance is given by the Metropolis-Hastings condition. After a period (perhaps user defined or until equilibrium is reached) the temperature is then lowered by a small step and the process is repeated. This procedure will eventually localise the exploration and converge on the global minima. The important part to appreciate is that up-hill steps can be accepted via the Metropolis-Hastings criteria.

Parallel tempering

In a parallel tempering experiment we make $N$ replicas of the system, e.g we have $N$ Markov chains each with identical initialisation, however each replica is set at a fixed temperature. For example the first of the replicas $N=1$ may be low temperature, while $N=N_{max}$ is at a high temperature. The independent Markov chains are then updated via the Metropolis-Hastings criteria for a set number of moves (or until equilibrium is reached). The next stage is an exchange step between adjacent Markov chains. This exchange is either accepted or rejected with a 'Metropolis-like' condition. The process is then iterated until a convergence criteria is reached.

Parallel Annealing

A combination of simulated annealing an parallel tempering, it is a hybrid of the two approaches where the temperatures of the independent replicas are allowed to converge slowly together.


The above methods all require a finite temperature and involve reducing the temperature gradually over the course of the experiment. In your case, as I require myself, we need to keep the temperature at a fixed value (I have 298K) but I don't see why it can't be zero. This creates a problem as you say, since you are pretty much always guaranteed of getting trapped in a local minima unless you have a very good initial guess of the configuration.

To combat this I use a different parameter $\chi$ as my 'temperature'. Performing my experiment in this way allows me to compute Metropolis updates at the desired physical temperature but with the criteria for update or exchange given by my new parameter. I am not sure if this method would work for you? It involves thinking about how your parameters depend on temperature and if you can create a new variable that you can use for the purpose of updating the experiment. The benefits of this are obvious - you can still use all the traditional global optimisation procedures listed above without the need to re-think the whole experiment.

However, without knowing the details of your experiment I cannot say for certain that this would work, but I would be surprised if it doesn't!


For spin ice systems it appears in the quoted literature that a slow cooling is employed rather than a re-modelling of the temperature parameter used for updates. You want section three of reference 1 as well as references therein. The second paper discusses basic Monte Carlo performed at different temperatures, they eventually cool the system. It appears to be some sort of 'manual simulated annealing', but it is older than the first. I'm sure if you google spin ice + Monte Carlo + one of the techniques above you will get more recent papers.

ref 1) R. G. Melko, M. J. P Gingra, Monte Carlo Studies of the Dipolar Spin Ice Model, J. Phys. Condens. Matter, 16 (2004)

ref 2) Siddharthan R, Shastry B S, Ramirez A P, Hayashi A, Cava R J and Rosenkranz S 1999 Phys. Rev. Lett. 83


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.