This tool finds approximate solutions to travelling salesman problems, the goal of which is to identify the shortest route connecting a set of locations. The tool uses an algorithm that applies a 2-opt heuristic and a 3-opt heuristic as a fall-back if the initial approach takes too long. The user must specify the names of the input points vector (input
) and output lines vector file (output
), as well as the duration, in seconds, over which the algorithm is allowed to search for improved solutions (duration
). The tool works in parallel to find more optimal solutions.
def travelling_salesman_problem(self, input: Vector, duration: int = 60) -> Vector: ...