def main(): cities, distance = tsm.read_file() permutations = tsm.get_permutations(cities[:10]) best = -1 for p in permutations: dist = tsm.distance_permutation(p, cities, distance) best = dist if best == -1 else best best = dist if dist < best else best print best
def main(): cities, distance = tsm.read_file() random_cities = random_permutation( cities[:10] ) best_cities = random_cities best_distance = tsm.distance_permutation( random_cities, cities, distance ) not_optimum = True while not_optimum: temp_distance, temp_cities = check_neighbours( cities, distance, best_distance, best_cities ) if temp_distance == None: not_optimum = False else: best_distance, best_cities = temp_distance, temp_cities print best_distance , best_cities
def check_neighbours( cities, distance, best_distance, permutation ): neighbours = generate_neighbours( permutation ) for n in neighbours: d = tsm.distance_permutation( n, cities, distance) if d < best_distance: return d, n return None, None