Epsilon isn't a problem, as TSP is NP-complete even for integer weights.
Your solution needs some modification for case where we have multiple optimal cycles (as you will find edges that are included in at least one cycle).
I don't think there is anything wrong with optimization been reducible to decision - it's quite common method both in theory and in practice.