Added Simmulated Annealing functions