Traveling Salesman Problem (an exhaustive and heuristic solution)