A Discrete State Transition Algorithm for Generalized Traveling Salesman Problem