I have 80 nodes and I need to find a cycle of length 40 from these, while keeping the distance traveled by the cycle to a minimum. Some nodes cannot directly connect, they're in specific areas and I can only travel from one area to another, not within one area.
I'm just asking in general here, what kind of techniques can I use to get the best (shortest) possible cycle of 40 nodes? So far I've written a basic substitution optimizer and just a greedy DFS. I'm wondering what would be the best approach for me to start on now?