Seol mar théacs é seo: The traveling salesman problem and its variations