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.

## Function Signature

`def travelling_salesman_problem(self, input: Vector, duration: int = 60) -> Vector: ...`

## Project Links

WbW Homepage User Manual Support WbW