tsp with cache & path