GLNS: An effective large neighborhood search heuristic for the Generalized Traveling Salesman Problem