Abstract
The travelling salesman problem (TSP) is a problem in combinatorial optimization studied in operations research and theoretical computer science. Given a list of cities and their pairwise distances, the task is to find a shortest possible tour that visits each city exactly once (Aarts & Laarhoven, 1985; Beale & Jackson, 1990; Bout & Miller, 1988; Cichock & Unbehaun, 1993; Lin, 1965; Zurada, 1992). The problem was first formulated as a mathematical problem in 1930 and is one of the most intensively studied problems in optimization. It is used as a benchmark for many optimization methods. Even though the problem is computationally difficult, a large number of heuristics and exact methods are known, so that some instances with tens of thousands of cities can be solved (Beale & Jackson, 1990; Freeman & Skapura, 1991; Lin, 1965). The TSP has several applications even in its purest formulation, such as planning, logistics, and the manufacture of microchips. Slightly modified, it appears as a sub-problem in many areas, such as DNA sequencing. In these applications, the concept city represents, for example, customers, soldering points, or DNA fragments, and the concept distance represents travelling times or cost, or a similarity measure between DNA fragments (Beale & Jackson, 1990; Cichock & Unbehaun, 1993; Freeman & Skapura, 1991; Zurada, 1992). In many applications, additional constraints such as limited resources or time windows make the problem considerably harder. In the theory of computational complexity, the decision version of TSP belongs to the class of NP-complete problems (Aarts & Laarhoven, 1985; Abe et al., 1992; Burke, 1994; Freeman & Skapura, 1991; Hopfield & Tank, 1985). Thus, it is assumed that there is no efficient algorithm for solving TSPs. In other words, it is likely that the worst case running time for any algorithm for TSP increases exponentially with the number of cities, so even some instances with only hundreds of cities will take many CPU years to solve exactly. The travelling salesman problem is regarded as difficult to solve. If there is a way to break this problem into smaller component problems, the components will be at least as complex as the original one. This is what computer scientists call NP-hard problems (Aarts & Laarhoven, 1985; Abe et al., 1992; Freeman & Skapura, 1991).
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have