My Computer Forum

My Computer Forum (http://mycomputerforum.com/)
-   Algorithms (http://mycomputerforum.com/algorithms/)
-   -   Simulated annealing (http://mycomputerforum.com/algorithms/2482-simulated-annealing.html)

milin May 31st, 2008 11:11 AM

Simulated annealing
 
I am doing my Ph.D and it's about simulated annealing. Now, if any of you has any knowledge regarding the problem, I would be more than thankful for the help. My problem is that the all the pseudo codes describing the algorithm state that the loop in which random configurations are generated stops when the system finds it equilibrium at a certain temperature. Now, my question is - what is the condition to test when the system is in it's equilibrium? Thanks!

CRGreathouse May 31st, 2008 05:40 PM

Re: Simulated annealing
 
I'm a little conflicted in answering this. If it's for your Ph.D project, there's no reason to think I should be able to contribute meaningfully -- I don't have {a Ph.D, a master's, a bachelor's, an undergraduate minor} in any computer-related field! But perhaps I can at least get you to think around the right lines.

The parameters of the problem itself set both the cooling schedule and the stopping time. If you need a very good solution, you cool slowly and wait for a very good solution to appear. (You should also save a relatively large number of restart points.) If a reasonable one will do instead, you cool more rapidly. If you know how good the solution needs to be, but not how long it will take, I suppose an adaptive cooling schedule should be possible.

milin June 1st, 2008 03:55 AM

Re: Simulated annealing
 
The cooling is not a problem. The problem is this: at a given temperature the algorithm should generate small differences and calculate the energy difference and accept the new configuration or discard it according to the conditions mentioned in the description of the algorithm. But, it should do this only until the system reaches it's equilibrium at that temperature. After that, it should calculate the new temperature and repeat the process. The problem is I don't know how am I supposed to know when the system is at it's equilibrium point at a certain temperature. For now, I counted the number of bad configurations that were generated, and when the percentage of the bad ones over the total ones goes over 99%, then I suppose it has reached the equilibrium. But I have a bad feeling about this that it's not correct..

CRGreathouse June 2nd, 2008 11:46 AM

Re: Simulated annealing
 
You don't even need to wait for equilibrium, you can cool at every step. Obviously the cooling needs to be slow if you're doing that.

milin June 2nd, 2008 12:14 PM

Re: Simulated annealing
 
I thought of that as well, but my mentor said that it's supposed to calm it self on a temperature to go on. I find this curious because bad configurations are accepted with a probability close to 1 in the beginning, so I don't see how should it became calm then - it would only get worse!!!

TheNerd389 October 17th, 2008 05:08 PM

Re: Simulated annealing
 
If I'm not mistaken, these algorithms are meant to go from an initial, poor solution to a final, relatively accurate one by means of testing the bad solution and making minor adjustments until it falls within acceptable limits of the parameters provided.

The issue you should be concerned with should probably not be in getting an accurate first guess, but rather choosing which changes to make to the initial state to reach your target parameters the quickest.

I may be mistaken, though, and I'm not afraid to admit that much. If this is not the case with your problem, I am quite interested in this issue, and would appreciate any information on this problem. I frequently study metallurgy, and the crystal structures of metal in particular.


All times are GMT -8. The time now is 09:59 PM.

Copyright © 2019 My Computer Forum Forum. All rights reserved.