Collaborative Filtering Based on Clustering and Simulated Annealing