@flow could you suggest a few good open source implementations of these algorithms?
While looking at literature, I found several techniques for protein structure minimization starting from steepest descent, L-BGFS, conjugate gradient, monte carlo replica exchange, simulated annealing, genetic algorithms etc. But I did not understand properly which technique is good for which purpose i.e. what is the advantage of simulated annealing vs. steepest descent followed by L-BGFS etc?
3 answers
Usually you'll find that molecular dynamics programs use some combination of these. Steepest descent and conjugate gradient basically traverse "down" the sides of energy well, but they aren't very good as traversing rugged landscapes and can easily get caught in local minima. Simulated annealing and monte carlo gibbs sampling allow, with some probability generally associated with a "temperature" for bigger jumps across an energy landscape, allowing for more even sampling. Both of these give you opportunities to sample less energetically favourable conformations than you currently are in, especially if subsequent moves produce lower energetic minima.
A common approach would be to do simulated annealing coupled with steepest decent or conjugate gradient in tandem.
I have found that L-BFGS followed by steepest descent consistently works very well. As mentioned earlier, steepest descent on its own will often get stuck in local minima. However, I have found that L-BFGS on its own will converge too quickly. So the combination of the two has been very successful for me.
I have also tried simulated annealing followed by steepest descent and this seems to work very well too.
In such context, stochastic tunneling or evolutionary algorithms work much better
Log in to answer this question.