simulated annealing algorithm python code