Added simulated annealing