A Simulated Annealing Algorithm for Flexible Job-Shop Scheduling Problem