A discrete PSO method for generalized TSP problem