Effective meta-heuristic algorithm for solving a multi-criteria job-shop scheduling problem with maintenance activities