A general variable neighborhood search algorithm for the k-traveling salesman problem