A variable neighbourhood search algorithm for the flexible job-shop scheduling problem | Synapse