Question

I've created a hill climbing algorithm which randomly generates a solution then copies that solution and mutates it a little to see if it ends up with a better solution. If it does it keeps the new solution and discards the old one.

If I want to add simulated annealing to this algorithm could I just start off with a higher mutation rate and decrease the mutation rate a little each time a new solution is created?

I assume then the mutation rate would act as the simulated annealing algorithm's temperature, is that correct?

Was it helpful?

Solution

The mutation rate would act as a temperature for the annealing but by just chosing the better solution everytime wont be a perfect Simulated Annealing.

You need to select the better choice depending on how much better it is and the mutation rate. (i.e. the deltaE and Temperature) so that you allow Simulated Annealing to get out of local optima. If you keep taking the best choice you might get stuck in a local optimum.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top