imporve simulated annealing