lecture14: Randomized algorithms: simulated annealing