A tabu search approach for job shop scheduling in flexible manufacturing systems