Simulated annealing algorithms: an overview | Synapse