for i in V: for j in V: if j > i: c[i,j] = distance(x[i],y[i],x[j],y[j]) return V,c if __name__ == "__main__": import sys # Parse argument if len(sys.argv) < 2: print("Usage: %s instance" % sys.argv[0]) print("Using randomized example instead") n = 200 seed = 1 random.seed(seed) V,c = make_data(n) else: from read_tsplib import read_tsplib try: V,c,x,y = read_tsplib(sys.argv[1]) except: print("Cannot read TSPLIB file",sys.argv[1]) exit(1) obj,edges = solve_tsp(V,c) print("\nOptimal tour:",edges) print("Optimal cost:",obj)
for (i,j) in x: if model.getVal(x[i, j]) > EPS: edges.append((i, j)) return model.getObjVal(), edges if __name__ == "__main__": import sys if len(sys.argv) < 2: print("Usage: %s instance" % sys.argv[0]) print("using randomly generated TSP instance") n = 200 seed = 1 random.seed(seed) V,c,x,y = make_data(n) else: from read_tsplib import read_tsplib try: V, c, x, y = read_tsplib(sys.argv[1]) except: print("Cannot read TSPLIB file", sys.argv[1]) exit(1) obj, edges = solve_tsp(V, c) print("") print("Optimal tour:", edges) print("Optimal cost:", obj) print("")