Recently, the best way for solving such kind of NP-complete problem as
Traveling Salesman Problem (TSP), is to use Meta-heuristics such as Simulated Annealing (SA), Genetic Algorithms (GA), and other heuristic algorithms, or a combination of them. In my opinion, the main difference of the algorithms is efficiency (speed), not effectiveness (quality) of the solutions. So if speed is not your major concern (e.g not many cities), anyone of them will do the job very well. Some special cases of the TSP are not NP-hard problem, and therefore can be solved by an simple exact method.
The most effective and simple algorithm was done by LK back in 1973:
Lin, S. and Kernighan, B.W. An effective heuristic for the traveling-salesman problem. Oper. Res. 21 (1973)
Some C/C++ source code are listed in the following links:
http://www.lalena.com/ai/tsp/
http://www.netlib.org/c/numcomp-free-c
Traveling Salesman Problem (TSP), is to use Meta-heuristics such as Simulated Annealing (SA), Genetic Algorithms (GA), and other heuristic algorithms, or a combination of them. In my opinion, the main difference of the algorithms is efficiency (speed), not effectiveness (quality) of the solutions. So if speed is not your major concern (e.g not many cities), anyone of them will do the job very well. Some special cases of the TSP are not NP-hard problem, and therefore can be solved by an simple exact method.
The most effective and simple algorithm was done by LK back in 1973:
Lin, S. and Kernighan, B.W. An effective heuristic for the traveling-salesman problem. Oper. Res. 21 (1973)
Some C/C++ source code are listed in the following links:
http://www.lalena.com/ai/tsp/
http://www.netlib.org/c/numcomp-free-c