Solving TSP with Time Windows with Constraints