PSOa population-based optimization algorithm that can find optimal solutions without requiring gradients