Many people have studied this problem. The easiest (and most expensive solution) is to simply try all possibilities. The problem with this is that for N cities you have (N-1) factorial possibilities. This means that for only 10 cities there are over 180 thousand combinations to try (since the start city is defined, there can be permutations on the remaining nine). We only count half since each route has an equal route in reverse with the same length or cost.