Job Shop Scheduling by Simulated Annealing