Optimization using Simulated Annealing (SA)