I am trying to use a simulated annealing algorithm to tune the weights of a neural network. I was going to use pybrain's optimization.StochasticHillClimber class to implement simulated annealing, but I realize that Stochastic Hill Climbing and Simulated Annealing may be different algorithms.

From the code of the StochasticHillClimber class, it looks like it does not decrease the Temperature T variable each iteration. Is this the only difference between stochastic hill climbing and simulated annealing?

  • $\begingroup$ OMSCS CS7641? :) I thought the same thing, it seems like the difference is in the temperature dropping. Scipy has an implementation of simulated annealing, but it was removed in 0.16.0 $\endgroup$ – hankd Mar 11 '16 at 5:05

The difference between simulated annealing and stochastic hill climbing is just that the Temperature T each iteration in simulated annealing decreases, whereas in pybrain's current (version 0.3) optimization.StochasticHillClimber implementation, the Temperature stays constant.

In simulated annealing, as the temperature value drops, the algorithm is less likely to choose a new value if it is further from maximizing or minimizing the fitness function than the current value.

| cite | improve this answer | |

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.