You can also use nodeCurves.ShortestWalk
from Lunchbox package which works pretty well (I supose that using dijkstra’s algorithm). See this link where something similar was also discussed.
@Dimitar_Venkov if I am not mistaken, the Traveking Salesman Problem finds the shortest path that goes through all points just once, rather than finding the shortest path from one point to another wihtin a given network of connected egdes.