Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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("")