The solution to a TSP (the path) is an ordered list of vertices, that start and end at the origin, visiting each vertex. There are two possible cases.
If you have allowed a vertex to be visited twice, then in your variation, you are allowing `sub-tours'. (Case 2)
You will have variables X_nt which will be 1. (Edge variables connecting node n to node t).
If you have no subtours: Case 1, you can stop once you come back to the origin node.
It looks like you are allowing sub-tours (multiple cycles, case 2 above). If so, you have to visit all edges that are part of the TSP solution, whose value is 1. (Modify your code to follow any one edge out of each node to its terminal node, one edge at a time.)
Let starting n = origin node
For node n:
Find an unvisited edge E whose value is 1.
Mark edge as visited
Get the target T of the edge
Add Edge E to the path
If all the edges whose value is 1 are visited, stop
Else, Set N to be T and repeat
Hope that helps.