I am interested in learning about what methods are currently considered to be the "best" for approximately solving large instances of the Traveling Salesman Problem (TSP) in practice. However, as I began writing a question concerning this I was prompted that

The question you're asking appears subjective and is likely to be closed.

I understand why this is a dangerous question to ask. There are many heuristics and meta-heuristics that have been published claiming to efficiently find near-optimal solutions to TSPs, each with their own benefits and drawbacks, and no method is necessarily clearly the best.

However, this is precisely why I'm interested in asking this question: there are so many different methods that exist that it is hard for someone not experienced in the field to truly compare them. Certainly some methods are more highly cited then others, but these methods may have been supplanted more recently by better methods which are less well known.

While the question has no definitive answer, it is not merely a matter of opinion. There are various empirical and theoretical results that can be referenced to justify a particular answer. Even if there is no one definitive answer, I can imagine that answers to the question could be given that would be constructive and helpful to myself and others with an interest in the subject.

Would asking this question be considered on topic in this community? If not, would there be a way of modifying or changing the question to make it more on topic? (For instance, asking for some very good methods for solving the TSP rather than "the best"?)


2 Answers 2


Don't ask for what's considered to be best. What's "considered" is a matter of an opinion. Questions that call for opinion usually aren't a good fit here.

Don't ask for the best approach. What's best is often a matter of opinion. Often, there are multiple ways you might judge a candidate solution: how fast is it in practice, how good are the theoretical bounds on its complexity, how easy is it to implement, how good are the solutions, how good are the worst-case approximation bounds, how good an approximation does it tend to give on instances of some particular type in practice, and so on. If you ask for the "best" solution you're not giving any indication of what criteria you will use to evaluate solutions. Instead, identify your requirements or what criteria you will use to evaluate solutions.

I'm not sure you should ask for an overview of an entire field or line of research. That's probably too much to expect from a single answer here. Instead, do some research and reading on your own. Asking someone to summarize all known algorithms or all points in the tradeoff space seems like too much. Asking about a single point in the tradeoff space feels reasonable to me.

Do do research, and summarize what you have found in the question. The CSTheory.SE faq has some helpful advice:

You should only post questions you're actually seriously thinking about. Users are expected to do their part and try to answer their question by themselves before posting them on cstheory and asking for help from others. Search to see if your question is already answered somewhere else (e.g. Wikipedia) before asking a question. Try to make your question interesting for others by providing some background knowledge. Remember, questions should be based on knowledge sharing, not on shirking. Shirking goes against the spirit of the site.

You could start by doing your own literature search, then summarize the key elements you've found during that search in your quesiton. Google Scholar is helpful. See also https://academia.stackexchange.com/q/102411/705, https://crypto.stackexchange.com/q/8316/351, and http://www.davidketcheson.info/2011/10/27/searching-scientific-literature.html for some tips on how to go about that.


Such a question would be

  • too broad and/or
  • opinion-based,

depending on how well you can define "best". In either case, it'd also be a list question.

What you want is a literature survey. Stack Exchange is a poor platform for such.

That said, asking for a solution for a specific problem with certain well-defined properties can be a good question, especially if you include your research/attempts (what failed, and why?).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .