I have a task that is very similar to travelling salesman problem (TSP), but I'm not sure if it's easily mappable to TSP. I'm wondering if this variant has a name and known solvers already, or can be just reduced to TSP somehow.
I have a graph where nodes are (x, y) locations, and edges are smooth, continuous paths connecting those locations. As in normal TSP, the task is to visit every node while covering as little distance as possible.
The difference is that nodes have a particular orientation - and the paths linking them are constrained to pass through the node at this same orientation. You cannot just do a sudden U-turn at a node - you have to keep going the same direction as when you entered - so there is this additional bit of "state" or "momentum" associated with your direction of travel. See below picture for a visualization.
Is this mappable to generic TSP in some simple way that I'm not thinking of right now? Or if not, does this variant have a name of its own?
Edit: It helps to think of the problem as trying to route a train that can never stop through all the cities as efficiently as possible. If this problem has no name, it could be called Travelling Post Office.
In the above, a solution (possibly not the best) starting/ending at node 0 is 0->1->2->3->0->1->7->6->5->0->1->2->4->6->7->1->0
.
Edit - Actually, the above solution does not work if we require that the end orientation matches the start orientation.