Turbomachinery design by a swarm-based optimization method coupled with a CFD solver