A genetic algorithm for job-shop scheduling problems using job-based order crossover | Synapse